Browse Source

1、新增商城

2、新增自营
master
梁欣 1 year ago
parent
commit
25b8d0104f
  1. 5
      pages.json
  2. 338
      pages/article/category.vue
  3. 387
      pages/article/list.vue
  4. 2
      pages/contract/template/list.vue
  5. 362
      pages/coop/config.vue
  6. 17
      pages/fadada/type_1.vue
  7. 138
      pages/fadada/type_2.vue
  8. 338
      pages/goods/category.vue
  9. 388
      pages/goods/list.vue
  10. 2
      pages/product/product-category/list.vue
  11. 2
      pages_plugs/system/role/list.vue
  12. 4
      pages_template/components/dialog/dialog-basic.vue
  13. 2
      pages_template/components/table/table-easy.vue
  14. 2
      pages_template/components/table/table-expand.vue
  15. 2
      pages_template/kong/list.vue

5
pages.json

@ -9,6 +9,11 @@
{ "path": "pages/contract/template/list"},
{ "path": "pages/fadada/type_1"},
{ "path": "pages/fadada/type_2"},
{ "path": "pages/article/category"},
{ "path": "pages/article/list"},
{ "path": "pages/goods/category"},
{ "path": "pages/goods/list"},
{ "path": "pages/coop/config"},
{
"path": "pages/login/index",
"style": {

338
pages/article/category.vue

@ -0,0 +1,338 @@
<template>
<view class="page-body">
<!-- 页面内容开始 -->
<!-- 表格搜索组件开始 -->
<vk-data-table-query v-model="queryForm1.formData" :columns="queryForm1.columns"
@search="search"></vk-data-table-query>
<!-- 表格搜索组件结束 -->
<!-- 自定义按钮区域开始 -->
<view>
<el-row>
<el-button type="success" size="small" icon="el-icon-circle-plus-outline" @click="addBtn">添加</el-button>
<!-- 批量操作 -->
<el-dropdown v-if="table1.multipleSelection" :split-button="false" trigger="click" @command="batchBtn">
<!-- <el-button type="danger" size="small" style="margin-left: 20rpx;"
:disabled="table1.multipleSelection.length === 0">
批量操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> -->
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item :command="1">批量操作1</el-dropdown-item>
<el-dropdown-item :command="2">批量操作2</el-dropdown-item> -->
</el-dropdown-menu>
</el-dropdown>
</el-row>
</view>
<!-- 自定义按钮区域结束 -->
<!-- 表格组件开始 -->
<vk-data-table ref="table1" :action="table1.action" :columns="table1.columns" :query-form-param="queryForm1"
:right-btns="['detail_auto','update','delete']" :default-expand-all="false" @update="updateBtn"
@delete="deleteBtn" @current-change="currentChange" @selection-change="selectionChange"></vk-data-table>
<!-- 表格组件结束 -->
<!-- 添加或编辑的弹窗开始 -->
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="60%" mode="form"
:close-on-click-modal="false">
<vk-data-form v-model="form1.data" :rules="form1.props.rules" :action="form1.props.action"
:form-type="form1.props.formType" :columns='form1.props.columns' label-width="120px"
@success="form1.props.show = false;refresh();"></vk-data-form>
</vk-data-dialog>
<!-- 添加或编辑的弹窗结束 -->
<!-- 页面内容结束 -->
</view>
</template>
<script>
var that; //
var vk = uni.vk; // vk
var originalForms = {}; //
export default {
data() {
//
return {
//
loading: false,
// init
data: {
},
// -----------------------------------------------------------
table1: {
//
action: "admin/article/category/sys/list",
//
columns: [
// {
// key: "_id",
// title: "id",
// type: "text",
// width: 220
// },
{
key: "name",
title: "名称",
type: "text",
width: 220,
align: "left",
},
// {
// key: "parent_id",
// title: "id",
// type: "text",
// width: 220,
// },
{
key: "remark",
title: "备注",
type: "text",
align: "left",
width: 220
},
{
key: "sort",
title: "排序",
type: "number",
align: "left",
width: 80,
},
{
key: "_add_time",
title: "添加时间",
type: "time",
align: "left",
width: 160,
sortable: "custom"
},
{
key: "_add_time",
title: "距离现在",
type: "dateDiff",
align: "left",
width: 120
},
],
//
multipleSelection: [],
//
selectItem: ""
},
// -----------------------------------------------------------
// -----------------------------------------------------------
//
queryForm1: {
//
formData: {
},
// fieldName:,key
columns: [
// {
// key: "name",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "remark",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "_add_time",
// title: "",
// type: "datetimerange",
// width: 400,
// mode: "[]"
// },
]
},
form1: {
//
data: {
sort: 0
},
//
props: {
//
action: "",
//
columns: [{
key: "name",
title: "名称",
type: "text",
placeholder: "请输入分类名称"
},
// {
// key: "icon",
// title: "",
// type: "icon",
// placeholder: ""
// },
// {
// key: "parent_id",
// title: "",
// type: "tree-select",
// placeholder: "",
// action: "admin/spot/category/sys/getTree",
// props: {
// list: "rows",
// value: "_id",
// label: "name",
// children: "children"
// },
// },
{
key: "remark",
title: "备注",
type: "textarea",
maxlength: "99",
showWordLimit: true,
autosize: {
minRows: 2,
maxRows: 10
},
},
{
key: "sort",
title: "排序",
type: "number",
precision: 0,
placeholder: "请输入排序值",
},
],
//
rules: {
sort: [{
type: 'number',
message: '排序值必须为数字'
}],
name:[
{ required:true, message:'分类名称不能为空', trigger:'blur' },
],
},
// add update
formType: "",
//
show: false
}
},
//
formDatas: {},
// -----------------------------------------------------------
};
},
// - ()
onLoad(options = {}) {
that = this;
vk = that.vk;
that.options = options;
that.init(options);
},
// -
onReady() {},
// - () ()
onShow() {},
// - ()
onHide() {},
//
methods: {
//
init(options) {
originalForms["form1"] = vk.pubfn.copyObject(that.form1);
},
//
pageTo(path) {
vk.navigateTo(path);
},
//
resetForm() {
vk.pubfn.resetForm(originalForms, that);
},
//
search() {
that.$refs.table1.search();
},
//
refresh() {
that.$refs.table1.refresh();
},
//
getCurrentRow() {
return that.$refs.table1.getCurrentRow();
},
// -
currentChange(val) {
that.table1.selectItem = val;
},
//
selectionChange(list) {
that.table1.multipleSelection = list;
},
//
addBtn() {
that.resetForm();
that.form1.props.action = 'admin/article/category/sys/add';
that.form1.props.formType = 'add';
that.form1.props.title = '添加';
that.form1.props.show = true;
},
//
updateBtn({
item
}) {
that.form1.props.action = 'admin/article/category/sys/update';
that.form1.props.formType = 'update';
that.form1.props.title = '编辑';
that.form1.props.show = true;
that.form1.data = item;
},
//
deleteBtn({
item,
deleteFn
}) {
deleteFn({
action: "admin/article/category/sys/delete",
data: {
_id: item._id
},
});
},
// -
batchBtn(index) {
switch (index) {
case 1:
vk.toast("批量操作按钮1");
break;
case 2:
vk.toast("批量操作按钮2");
break;
default:
break;
}
}
},
//
watch: {
},
//
filters: {
},
//
computed: {
}
};
</script>
<style lang="scss" scoped>
.page-body {}
</style>

387
pages/article/list.vue

@ -0,0 +1,387 @@
<template>
<view class="page-body">
<!-- 页面内容开始 -->
<!-- 表格搜索组件开始 -->
<vk-data-table-query v-model="queryForm1.formData" :columns="queryForm1.columns"
@search="search"></vk-data-table-query>
<!-- 表格搜索组件结束 -->
<!-- 自定义按钮区域开始 -->
<view>
<el-row>
<el-button type="success" size="small" icon="el-icon-circle-plus-outline" @click="addBtn">添加
</el-button>
<!-- 批量操作 -->
<el-dropdown v-if="table1.multipleSelection" :split-button="false" trigger="click" @command="batchBtn">
<!-- <el-button type="danger" size="small" style="margin-left: 20rpx;"
:disabled="table1.multipleSelection.length === 0">
批量操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> -->
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item :command="1">批量操作1</el-dropdown-item>
<el-dropdown-item :command="2">批量操作2</el-dropdown-item> -->
</el-dropdown-menu>
</el-dropdown>
</el-row>
</view>
<!-- 自定义按钮区域结束 -->
<!-- 表格组件开始 -->
<vk-data-table ref="table1" :action="table1.action" :columns="table1.columns" :query-form-param="queryForm1"
:right-btns="['detail_auto','update','delete']" :default-expand-all="false" @update="updateBtn"
@delete="deleteBtn" @current-change="currentChange"
@selection-change="selectionChange"></vk-data-table>
<!-- 表格组件结束 -->
<!-- 添加或编辑的弹窗开始 -->
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="60%" mode="form"
:close-on-click-modal="false">
<vk-data-form v-model="form1.data" :rules="form1.props.rules" :action="form1.props.action"
:form-type="form1.props.formType" :columns='form1.props.columns' label-width="120px"
@success="form1.props.show = false;refresh();"></vk-data-form>
</vk-data-dialog>
<!-- 添加或编辑的弹窗结束 -->
<!-- 页面内容结束 -->
</view>
</template>
<script>
var that; //
var vk = uni.vk; // vk
var originalForms = {}; //
export default {
data() {
//
return {
//
loading: false,
// init
data: {},
// -----------------------------------------------------------
table1: {
//
action: "admin/article/list/sys/list",
//
columns: [
// {
// key: "_id",
// title: "id",
// type: "text",
// width: 220
// },
{
key: "name",
title: "名称",
type: "text",
width: 220,
align: "left",
},
{
key: "amount",
title: "金额",
type: "text",
width: 220,
align: "left",
formatter: (val, row, column, index) => {
return val === 0 ? '免费' : `${val}`
}
},
{
key: "category.name",
title: "分类",
type: "text",
width: 220,
},
{
key: "content",
title: "内容",
type: "html",
},
{
key: "files",
title: "附件",
type: "file",
},
{
key: "remark",
title: "备注",
type: "text",
align: "left",
width: 220
},
{
key: "viewNum",
title: "浏览量",
type: "text",
align: "left",
width: 220
},
{
key: "downloadNum",
title: "下载量",
type: "text",
align: "left",
width: 220
},
{
key: "sort",
title: "排序",
type: "number",
align: "left",
width: 80,
},
{
key: "_add_time",
title: "添加时间",
type: "time",
align: "left",
width: 160,
sortable: "custom"
},
{
key: "_add_time",
title: "距离现在",
type: "dateDiff",
align: "left",
width: 120
},
],
//
multipleSelection: [],
//
selectItem: ""
},
// -----------------------------------------------------------
// -----------------------------------------------------------
//
queryForm1: {
//
formData: {},
// fieldName:,key
columns: [
// {
// key: "name",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "remark",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "_add_time",
// title: "",
// type: "datetimerange",
// width: 400,
// mode: "[]"
// },
]
},
form1: {
//
data: {
sort: 0,
amount: 0,
},
//
props: {
//
action: "",
//
columns: [
{
key: "name",
title: "名称",
type: "text",
placeholder: "请输入名称"
},
// {
// key: "icon",
// title: "",
// type: "icon",
// placeholder: ""
// },
{
key: "parentId",
title: "分类",
type: "tree-select",
placeholder: "请选择分类",
action: "admin/article/category/sys/list",
props: {
list: "rows",
value: "_id",
label: "name",
children: "children"
},
},
{
key: "content",
title: "内容",
type: "editor",
placeholder: "请输入内容"
},
{
key: "amount",
title: "金额",
type: "text",
placeholder: "请输入内容",
},
{
key: "files",
title: "附件",
type: "file",
},
{
key: "remark",
title: "备注",
type: "textarea",
maxlength: "99",
showWordLimit: true,
autosize: {
minRows: 2,
maxRows: 10
},
},
{
key: "sort",
title: "排序",
type: "number",
precision: 0,
placeholder: "请输入排序值",
},
],
//
rules: {
sort: [{
type: 'number',
message: '排序值必须为数字'
}],
name: [
{required: true, message: '分类名称不能为空', trigger: 'blur'},
],
},
// add update
formType: "",
//
show: false
}
},
//
formDatas: {},
// -----------------------------------------------------------
};
},
// - ()
onLoad(options = {}) {
that = this;
vk = that.vk;
that.options = options;
that.init(options);
},
// -
onReady() {
},
// - () ()
onShow() {
},
// - ()
onHide() {
},
//
methods: {
//
init(options) {
originalForms["form1"] = vk.pubfn.copyObject(that.form1);
},
//
pageTo(path) {
vk.navigateTo(path);
},
//
resetForm() {
vk.pubfn.resetForm(originalForms, that);
},
//
search() {
that.$refs.table1.search();
},
//
refresh() {
that.$refs.table1.refresh();
},
//
getCurrentRow() {
return that.$refs.table1.getCurrentRow();
},
// -
currentChange(val) {
that.table1.selectItem = val;
},
//
selectionChange(list) {
that.table1.multipleSelection = list;
},
//
addBtn() {
that.resetForm();
that.form1.props.action = 'admin/article/list/sys/add';
that.form1.props.formType = 'add';
that.form1.props.title = '添加';
that.form1.props.show = true;
},
//
updateBtn({
item
}) {
that.form1.props.action = 'admin/article/list/sys/update';
that.form1.props.formType = 'update';
that.form1.props.title = '编辑';
that.form1.props.show = true;
that.form1.data = item;
},
//
deleteBtn({
item,
deleteFn
}) {
deleteFn({
action: "admin/article/list/sys/delete",
data: {
_id: item._id
},
});
},
// -
batchBtn(index) {
switch (index) {
case 1:
vk.toast("批量操作按钮1");
break;
case 2:
vk.toast("批量操作按钮2");
break;
default:
break;
}
}
},
//
watch: {},
//
filters: {},
//
computed: {}
};
</script>
<style lang="scss" scoped>
.page-body {
}
</style>

2
pages/contract/template/list.vue

@ -33,7 +33,7 @@
<!-- 表格组件结束 -->
<!-- 添加或编辑的弹窗开始 -->
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="500px" mode="form"
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="60%" mode="form"
:close-on-click-modal="false">
<vk-data-form v-model="form1.data" :rules="form1.props.rules" :action="form1.props.action"
:form-type="form1.props.formType" :columns='form1.props.columns' label-width="120px"

362
pages/coop/config.vue

@ -0,0 +1,362 @@
<template>
<view class="page-body">
<!-- 页面内容开始 -->
<!-- 表格搜索组件开始 -->
<vk-data-table-query v-model="queryForm1.formData" :columns="queryForm1.columns"
@search="search"></vk-data-table-query>
<!-- 表格搜索组件结束 -->
<!-- 自定义按钮区域开始 -->
<view>
<el-row>
<el-button type="success" size="small" icon="el-icon-circle-plus-outline" @click="addBtn">添加
</el-button>
<!-- 批量操作 -->
<el-dropdown v-if="table1.multipleSelection" :split-button="false" trigger="click" @command="batchBtn">
<!-- <el-button type="danger" size="small" style="margin-left: 20rpx;"
:disabled="table1.multipleSelection.length === 0">
批量操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> -->
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item :command="1">批量操作1</el-dropdown-item>
<el-dropdown-item :command="2">批量操作2</el-dropdown-item> -->
</el-dropdown-menu>
</el-dropdown>
</el-row>
</view>
<!-- 自定义按钮区域结束 -->
<!-- 表格组件开始 -->
<vk-data-table ref="table1" :action="table1.action" :columns="table1.columns" :query-form-param="queryForm1"
:right-btns="['detail_auto','update','delete']" :default-expand-all="false" @update="updateBtn"
@delete="deleteBtn" @current-change="currentChange"
@selection-change="selectionChange"></vk-data-table>
<!-- 表格组件结束 -->
<!-- 添加或编辑的弹窗开始 -->
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="60%" mode="form"
:close-on-click-modal="false">
<vk-data-form v-model="form1.data" :rules="form1.props.rules" :action="form1.props.action"
:form-type="form1.props.formType" :columns='form1.props.columns' label-width="120px"
@success="form1.props.show = false;refresh();"></vk-data-form>
</vk-data-dialog>
<!-- 添加或编辑的弹窗结束 -->
<!-- 页面内容结束 -->
</view>
</template>
<script>
var that; //
var vk = uni.vk; // vk
var originalForms = {}; //
export default {
data() {
//
return {
//
loading: false,
// init
data: {},
// -----------------------------------------------------------
table1: {
//
action: "admin/coopExplore/config/sys/list",
//
columns: [
{
key: "name",
title: "名称",
type: "text",
width: 220,
align: "left",
},
{
key: "type",
title: "服务类型",
type: "html",
width: 220,
align: "left",
formatter: (val, row, column, index) => {
return `<div>${row.type === 0 ? '供应商实力考察' : '产品检测'}</div>`;
}
},
{
key: "remark",
title: "备注",
type: "text",
align: "left",
width: 220
},
{
key: "sort",
title: "排序",
type: "number",
align: "left",
width: 80,
},
{
key: "_add_time",
title: "添加时间",
type: "time",
align: "left",
width: 160,
sortable: "custom"
},
{
key: "_add_time",
title: "距离现在",
type: "dateDiff",
align: "left",
width: 120
},
],
//
multipleSelection: [],
//
selectItem: ""
},
// -----------------------------------------------------------
// -----------------------------------------------------------
//
queryForm1: {
//
formData: {},
// fieldName:,key
columns: [
// {
// key: "name",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "remark",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "_add_time",
// title: "",
// type: "datetimerange",
// width: 400,
// mode: "[]"
// },
]
},
form1: {
//
data: {
sort: 0
},
//
props: {
//
action: "",
//
columns: [
{
key: "name",
title: "名称",
type: "text",
placeholder: "请输入分类名称"
},
{
key: "type",
title: "服务类型",
type: "select",
placeholder: "请选择服务类型",
data: [
{
value: 0,
label: "供应商实力考察"
},
{
value: 1,
label: "产品检测"
}
]
},
{
key: "remark",
title: "备注",
type: "textarea",
maxlength: "99",
showWordLimit: true,
autosize: {
minRows: 2,
maxRows: 10
},
},
{
key: "sort",
title: "排序",
type: "number",
precision: 0,
placeholder: "请输入排序值",
},
{
key: "contents", title: "项目内容", type: "array<object>", itemWidth: 260,
showAdd: true,
showClear: true,
// ,
defaultValue: {
label: ""
},
rightBtns: ['copy', 'delete'],
//
columns: [
{
key: "title", title: "项目名称", type: "text", placeholder: "输入项目名称",
rules: [
{required: true, message: "该项不能为空", trigger: ["change", "blur"]},
]
},
{
key: "amount", title: "价格", type: "text", placeholder: "输入价格",
rules: [
{required: true, message: "该项不能为空", trigger: ["change", "blur"]},
]
},
{
key: "code", title: "业务编号", type: "text", placeholder: "输入业务编号",
rules: [
{required: true, message: "该项不能为空", trigger: ["change", "blur"]},
]
},
]
},
],
//
rules: {
sort: [{
type: 'number',
message: '排序值必须为数字'
}],
name: [
{required: true, message: '分类名称不能为空', trigger: 'blur'},
],
},
// add update
formType: "",
//
show: false
}
},
//
formDatas: {},
// -----------------------------------------------------------
};
},
// - ()
onLoad(options = {}) {
that = this;
vk = that.vk;
that.options = options;
that.init(options);
},
// -
onReady() {
},
// - () ()
onShow() {
},
// - ()
onHide() {
},
//
methods: {
//
init(options) {
originalForms["form1"] = vk.pubfn.copyObject(that.form1);
},
//
pageTo(path) {
vk.navigateTo(path);
},
//
resetForm() {
vk.pubfn.resetForm(originalForms, that);
},
//
search() {
that.$refs.table1.search();
},
//
refresh() {
that.$refs.table1.refresh();
},
//
getCurrentRow() {
return that.$refs.table1.getCurrentRow();
},
// -
currentChange(val) {
that.table1.selectItem = val;
},
//
selectionChange(list) {
that.table1.multipleSelection = list;
},
//
addBtn() {
that.resetForm();
that.form1.props.action = 'admin/coopExplore/config/sys/add';
that.form1.props.formType = 'add';
that.form1.props.title = '添加';
that.form1.props.show = true;
},
//
updateBtn({
item
}) {
that.form1.props.action = 'admin/coopExplore/config/sys/update';
that.form1.props.formType = 'update';
that.form1.props.title = '编辑';
that.form1.props.show = true;
that.form1.data = item;
},
//
deleteBtn({
item,
deleteFn
}) {
deleteFn({
action: "admin/coopExplore/config/sys/delete",
data: {
_id: item._id
},
});
},
// -
batchBtn(index) {
switch (index) {
case 1:
vk.toast("批量操作按钮1");
break;
case 2:
vk.toast("批量操作按钮2");
break;
default:
break;
}
}
},
//
watch: {},
//
filters: {},
//
computed: {}
};
</script>
<style lang="scss" scoped>
.page-body {
}
</style>

17
pages/fadada/type_1.vue

@ -27,7 +27,7 @@ export default {
//
formData: {
dcloud_appid: "",
type: 2
type: 1
//allow_login_background : true,
},
// fieldName:,key
@ -39,26 +39,21 @@ export default {
},
table1: {
//
action: "admin/fadada/sys/getList",
action: "admin/system/user/sys/getList",
//
columns: [
{key: "user.mobile", title: "手机号", type: "text", width: 120, defaultValue: ""},
{key: "mobile", title: "手机号", type: "text", width: 120, defaultValue: ""},
// {
// key: "", title: "", type: "text", width: 120, formatter: (val, row, column, index) => {
// return parseInt(row.type) === 1 ? '' : ''
// }
// },
{
key: "mobile", title: "个人/企业信息", type: "html", defaultValue: "",
key: "mobile", title: "个人信息", type: "html", defaultValue: "",
formatter: (val, row, column, index) => {
let str
if (parseInt(row.type) === 1) {
str = `<view>${row.person.personName}</view>`
str += `<view>${row.person.mobile}</view>`
} else {
str = `<view>${row.company.companyName}</view>`
str += `<view>${row.manager.personName}/${row.manager.mobile}</view>`
}
str = `<view>${row.person.personName}</view>`
// str += `<view>${row.person.mobile}</view>`
return str;
}
},

138
pages/fadada/type_2.vue

@ -14,7 +14,37 @@
:selection="true"
:row-no="true"
:pagination="true"
></vk-data-table>
>
<template v-slot:action="{ row, column, index }">
<el-button size="mini" @click.native="doShowInfo(row)">详情</el-button>
<template v-if="row.authStatus === 0">
<el-button type="success" size="mini" @click.native="changeStatus(row._id, 1)">通过</el-button>
<el-button type="danger" size="mini" @click.native="refuse(row._id)">拒绝</el-button>
</template>
</template>
<template v-slot:isCoop="{ row, column, index }">
<el-switch v-model="row.isCoop" size="mini" @change="changeIsCoop(row._id)" :active-value="1"
:inactive-value="0"/>
</template>
</vk-data-table>
<vk-data-dialog
v-model="showInfo"
:title="title"
width="60%"
top="14vh"
center
:close-on-click-modal="true"
>
<vk-data-detail-table
:data="info"
:columns="infoColumns"
size="medium"
label-width="150px"
></vk-data-detail-table>
<template v-slot:footer>
<el-button @click="showInfo = false">关闭</el-button>
</template>
</vk-data-dialog>
</div>
</template>
@ -23,6 +53,38 @@ export default {
name: "index",
data() {
return {
showInfo: false,
info: null,
title: '',
infoColumns: [
{key: "company.companyName", title: "企业名称", type: "text"},
{key: "company.organization", title: "统一社会信用代码", type: "text"},
{key: "company.companyName", title: "公司所在地", type: "text"},
{key: "company.companyName", title: "详细地址", type: "text"},
{key: "company.mailAddress", title: "有效通信地址", type: "text"},
{key: "company.contactEmail", title: "有效邮箱地址", type: "text"},
{key: "company.companyAccount", title: "对公账号", type: "text"},
{key: "company.companyBankName", title: "开户行", type: "text"},
{key: "company.personAccount", title: "个人账号", type: "text"},
{key: "company.personBankName", title: "个人开户行", type: "text"},
{key: "company.accountName", title: "户名", type: "text"},
{key: "company.personBankName", title: "个人开户行", type: "text"},
{key: "company.organizationPath", title: "营业执照", type: "image"},
{key: "company.businessType", title: "经营类目", type: "text"},
{key: "company.invoiceInfo", title: "上开票资料", type: "image"},
{key: "company.taxType", title: "纳税人类型", type: "text"},
{key: "company.taxImage", title: "纳税人资格", type: "image"},
{key: "manager.personName", title: "代理人类型", type: "text"},
{
key: "manager.certType", title: "证件类型", type: "html", formatter: (val, row, column, index) => {
return `<div>${row.certType === 0 ? '身份证' : '护照'}</div>`;
}
},
{key: "manager.idCard", title: "代理人证件号", type: "text"},
{key: "manager.mobile", title: "代理人电话", type: "text"},
{key: "manager.headPhotoPath", title: "身份证正面", type: "image"},
{key: "manager.backgroundIdCardPath", title: "身份证反面", type: "image"},
],
queryForm1: {
//
formData: {
@ -39,30 +101,33 @@ export default {
},
table1: {
//
action: "admin/fadada/sys/getList",
action: "admin/system/user/sys/getList",
//
columns: [
{key: "user.mobile", title: "手机号", type: "text", width: 120, defaultValue: ""},
// {key: "user.mobile", title: "", type: "text", width: 120, defaultValue: ""},
{key: "company.companyName", title: "企业名称", type: "text"},
{key: "company.organization", title: "统一社会信用代码", type: "text"},
{key: "company.mailAddress", title: "有效通信地址", type: "text"},
{
key: "", title: "认证类型", type: "text", width: 120, formatter: (val, row, column, index) => {
return parseInt(row.type) === 1 ? '个人' : '企业'
key: "", title: "代理人", type: "html", formatter: (val, row, column, index) => {
let str
str = `<view>${row.manager.personName}</view>`
// str += `<view>${row.person.mobile}</view>`
return str;
}
},
// {
// key: "mobile", title: "/", type: "html", defaultValue: "",
// formatter: (val, row, column, index) => {
// let str
// if (parseInt(row.type) === 1) {
// str = `<view>${row.person.personName}</view>`
// str += `<view>${row.person.mobile}</view>`
// } else {
// str = `<view>${row.company.companyName}</view>`
// str += `<view>${row.manager.personName}/${row.manager.mobile}</view>`
// }
// return str;
// }
// },
{key: "authenticationSubmitTime", title: "认证时间", type: "time", width: 160, sortable: "custom"},
{key: "authTime", title: "认证时间", type: "time", width: 160, sortable: "custom"},
{
key: "authStatus", title: "认证状态", type: "tag", data: [
{value: 0, label: "未认证", tagType: "warning"},
{value: 1, label: "已认证", tagType: "success"},
{value: 2, label: "认证失败", tagType: "danger"},
]
},
{key: "isCoop", title: "是否合作/联营单位", type: "html"},
{
key: "action", title: "操作", type: "html"
},
],
//
multipleSelection: [],
@ -75,6 +140,39 @@ export default {
search() {
this.$refs.table1.query();
},
async refuse(id) {
const {action, value} = await this.$prompt('拒绝理由', {
showInput: true
});
if (action === 'confirm') {
this.changeStatus(id, 2, value)
}
},
changeStatus(id, authStatus, refuseReason = null) {
vk.callFunction({
url: 'admin/system/user/sys/changeStatus',
data: {
id, authStatus, refuseReason
}
}).then(() => {
this.$refs.table1.refresh()
})
},
doShowInfo(info) {
this.info = info
this.title = '详情'
this.showInfo = true
},
changeIsCoop(id) {
vk.callFunction({
url: 'admin/system/user/sys/changeCoop',
data: {
id
}
}).then(() => {
this.$refs.table1.refresh()
})
},
}
}
</script>

338
pages/goods/category.vue

@ -0,0 +1,338 @@
<template>
<view class="page-body">
<!-- 页面内容开始 -->
<!-- 表格搜索组件开始 -->
<vk-data-table-query v-model="queryForm1.formData" :columns="queryForm1.columns"
@search="search"></vk-data-table-query>
<!-- 表格搜索组件结束 -->
<!-- 自定义按钮区域开始 -->
<view>
<el-row>
<el-button type="success" size="small" icon="el-icon-circle-plus-outline" @click="addBtn">添加</el-button>
<!-- 批量操作 -->
<el-dropdown v-if="table1.multipleSelection" :split-button="false" trigger="click" @command="batchBtn">
<!-- <el-button type="danger" size="small" style="margin-left: 20rpx;"
:disabled="table1.multipleSelection.length === 0">
批量操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> -->
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item :command="1">批量操作1</el-dropdown-item>
<el-dropdown-item :command="2">批量操作2</el-dropdown-item> -->
</el-dropdown-menu>
</el-dropdown>
</el-row>
</view>
<!-- 自定义按钮区域结束 -->
<!-- 表格组件开始 -->
<vk-data-table ref="table1" :action="table1.action" :columns="table1.columns" :query-form-param="queryForm1"
:right-btns="['detail_auto','update','delete']" :default-expand-all="false" @update="updateBtn"
@delete="deleteBtn" @current-change="currentChange" @selection-change="selectionChange"></vk-data-table>
<!-- 表格组件结束 -->
<!-- 添加或编辑的弹窗开始 -->
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="60%" mode="form"
:close-on-click-modal="false">
<vk-data-form v-model="form1.data" :rules="form1.props.rules" :action="form1.props.action"
:form-type="form1.props.formType" :columns='form1.props.columns' label-width="120px"
@success="form1.props.show = false;refresh();"></vk-data-form>
</vk-data-dialog>
<!-- 添加或编辑的弹窗结束 -->
<!-- 页面内容结束 -->
</view>
</template>
<script>
var that; //
var vk = uni.vk; // vk
var originalForms = {}; //
export default {
data() {
//
return {
//
loading: false,
// init
data: {
},
// -----------------------------------------------------------
table1: {
//
action: "admin/goods/category/sys/list",
//
columns: [
// {
// key: "_id",
// title: "id",
// type: "text",
// width: 220
// },
{
key: "name",
title: "名称",
type: "text",
width: 220,
align: "left",
},
// {
// key: "parent_id",
// title: "id",
// type: "text",
// width: 220,
// },
{
key: "remark",
title: "备注",
type: "text",
align: "left",
width: 220
},
{
key: "sort",
title: "排序",
type: "number",
align: "left",
width: 80,
},
{
key: "_add_time",
title: "添加时间",
type: "time",
align: "left",
width: 160,
sortable: "custom"
},
{
key: "_add_time",
title: "距离现在",
type: "dateDiff",
align: "left",
width: 120
},
],
//
multipleSelection: [],
//
selectItem: ""
},
// -----------------------------------------------------------
// -----------------------------------------------------------
//
queryForm1: {
//
formData: {
},
// fieldName:,key
columns: [
// {
// key: "name",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "remark",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "_add_time",
// title: "",
// type: "datetimerange",
// width: 400,
// mode: "[]"
// },
]
},
form1: {
//
data: {
sort: 0
},
//
props: {
//
action: "",
//
columns: [{
key: "name",
title: "名称",
type: "text",
placeholder: "请输入分类名称"
},
// {
// key: "icon",
// title: "",
// type: "icon",
// placeholder: ""
// },
// {
// key: "parent_id",
// title: "",
// type: "tree-select",
// placeholder: "",
// action: "admin/spot/category/sys/getTree",
// props: {
// list: "rows",
// value: "_id",
// label: "name",
// children: "children"
// },
// },
{
key: "remark",
title: "备注",
type: "textarea",
maxlength: "99",
showWordLimit: true,
autosize: {
minRows: 2,
maxRows: 10
},
},
{
key: "sort",
title: "排序",
type: "number",
precision: 0,
placeholder: "请输入排序值",
},
],
//
rules: {
sort: [{
type: 'number',
message: '排序值必须为数字'
}],
name:[
{ required:true, message:'分类名称不能为空', trigger:'blur' },
],
},
// add update
formType: "",
//
show: false
}
},
//
formDatas: {},
// -----------------------------------------------------------
};
},
// - ()
onLoad(options = {}) {
that = this;
vk = that.vk;
that.options = options;
that.init(options);
},
// -
onReady() {},
// - () ()
onShow() {},
// - ()
onHide() {},
//
methods: {
//
init(options) {
originalForms["form1"] = vk.pubfn.copyObject(that.form1);
},
//
pageTo(path) {
vk.navigateTo(path);
},
//
resetForm() {
vk.pubfn.resetForm(originalForms, that);
},
//
search() {
that.$refs.table1.search();
},
//
refresh() {
that.$refs.table1.refresh();
},
//
getCurrentRow() {
return that.$refs.table1.getCurrentRow();
},
// -
currentChange(val) {
that.table1.selectItem = val;
},
//
selectionChange(list) {
that.table1.multipleSelection = list;
},
//
addBtn() {
that.resetForm();
that.form1.props.action = 'admin/goods/category/sys/add';
that.form1.props.formType = 'add';
that.form1.props.title = '添加';
that.form1.props.show = true;
},
//
updateBtn({
item
}) {
that.form1.props.action = 'admin/goods/category/sys/update';
that.form1.props.formType = 'update';
that.form1.props.title = '编辑';
that.form1.props.show = true;
that.form1.data = item;
},
//
deleteBtn({
item,
deleteFn
}) {
deleteFn({
action: "admin/goods/category/sys/delete",
data: {
_id: item._id
},
});
},
// -
batchBtn(index) {
switch (index) {
case 1:
vk.toast("批量操作按钮1");
break;
case 2:
vk.toast("批量操作按钮2");
break;
default:
break;
}
}
},
//
watch: {
},
//
filters: {
},
//
computed: {
}
};
</script>
<style lang="scss" scoped>
.page-body {}
</style>

388
pages/goods/list.vue

@ -0,0 +1,388 @@
<template>
<view class="page-body">
<!-- 页面内容开始 -->
<!-- 表格搜索组件开始 -->
<vk-data-table-query v-model="queryForm1.formData" :columns="queryForm1.columns"
@search="search"></vk-data-table-query>
<!-- 表格搜索组件结束 -->
<!-- 自定义按钮区域开始 -->
<view>
<el-row>
<el-button type="success" size="small" icon="el-icon-circle-plus-outline" @click="addBtn">添加
</el-button>
<!-- 批量操作 -->
<el-dropdown v-if="table1.multipleSelection" :split-button="false" trigger="click" @command="batchBtn">
<!-- <el-button type="danger" size="small" style="margin-left: 20rpx;"
:disabled="table1.multipleSelection.length === 0">
批量操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> -->
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item :command="1">批量操作1</el-dropdown-item>
<el-dropdown-item :command="2">批量操作2</el-dropdown-item> -->
</el-dropdown-menu>
</el-dropdown>
</el-row>
</view>
<!-- 自定义按钮区域结束 -->
<!-- 表格组件开始 -->
<vk-data-table ref="table1" :action="table1.action" :columns="table1.columns" :query-form-param="queryForm1"
:right-btns="['detail_auto','update','delete']" :default-expand-all="false" @update="updateBtn"
@delete="deleteBtn" @current-change="currentChange"
@selection-change="selectionChange"></vk-data-table>
<!-- 表格组件结束 -->
<!-- 添加或编辑的弹窗开始 -->
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="60%" mode="form"
:close-on-click-modal="false">
<vk-data-form v-model="form1.data" :rules="form1.props.rules" :action="form1.props.action"
:form-type="form1.props.formType" :columns='form1.props.columns' label-width="120px"
@success="form1.props.show = false;refresh();"></vk-data-form>
</vk-data-dialog>
<!-- 添加或编辑的弹窗结束 -->
<!-- 页面内容结束 -->
</view>
</template>
<script>
var that; //
var vk = uni.vk; // vk
var originalForms = {}; //
export default {
data() {
//
return {
//
loading: false,
// init
data: {},
// -----------------------------------------------------------
table1: {
//
action: "admin/goods/list/sys/list",
//
columns: [
// {
// key: "_id",
// title: "id",
// type: "text",
// width: 220
// },
{
key: "name",
title: "名称",
type: "text",
width: 220,
align: "left",
},
{
key: "cover",
title: "封面",
type: "text",
width: 220,
align: "left",
},
{
key: "desc",
title: "简介",
type: "text",
width: 220,
align: "left",
},
{
key: "amount",
title: "零售价",
type: "text",
width: 220,
align: "left",
},
{
key: "category.name",
title: "分类",
type: "text",
width: 220,
},
{
key: "address",
title: "地区",
type: "text",
width: 220,
},
{
key: "remark",
title: "备注",
type: "text",
align: "left",
width: 220
},
{
key: "viewNum",
title: "浏览量",
type: "text",
align: "left",
width: 220
},
{
key: "sort",
title: "排序",
type: "number",
align: "left",
width: 80,
},
{
key: "_add_time",
title: "添加时间",
type: "time",
align: "left",
width: 160,
sortable: "custom"
},
{
key: "_add_time",
title: "距离现在",
type: "dateDiff",
align: "left",
width: 120
},
],
//
multipleSelection: [],
//
selectItem: ""
},
// -----------------------------------------------------------
// -----------------------------------------------------------
//
queryForm1: {
//
formData: {},
// fieldName:,key
columns: [
// {
// key: "name",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "remark",
// title: "",
// type: "text",
// width: 160,
// mode: "%%"
// },
// {
// key: "_add_time",
// title: "",
// type: "datetimerange",
// width: 400,
// mode: "[]"
// },
]
},
form1: {
//
data: {
sort: 0,
amount: 0,
},
//
props: {
//
action: "",
//
columns: [
{
key: "name",
title: "名称",
type: "text",
placeholder: "请输入名称"
},
{
key: "desc",
title: "简介",
type: "text",
placeholder: "请输入简介"
},
{
key: "cover",
title: "封面",
type: "image",
limit: 1
},
{
key: "album",
title: "相册",
type: "image",
},
{
key: "parentId",
title: "分类",
type: "tree-select",
placeholder: "请选择分类",
action: "admin/goods/category/sys/list",
props: {
list: "rows",
value: "_id",
label: "name",
children: "children"
},
},
{
key: "content",
title: "内容",
type: "editor",
placeholder: "请输入内容"
},
{
key: "amount",
title: "零售价",
type: "text",
placeholder: "请输入零售价",
},
{
key: "address",
title: "所属地区",
type: "address",
placeholder: "请输入零售价",
},
{
key: "sort",
title: "排序",
type: "number",
precision: 0,
placeholder: "请输入排序值",
},
],
//
rules: {
sort: [{
type: 'number',
message: '排序值必须为数字'
}],
name: [
{required: true, message: '分类名称不能为空', trigger: 'blur'},
],
},
// add update
formType: "",
//
show: false
}
},
//
formDatas: {},
// -----------------------------------------------------------
};
},
// - ()
onLoad(options = {}) {
that = this;
vk = that.vk;
that.options = options;
that.init(options);
},
// -
onReady() {
},
// - () ()
onShow() {
},
// - ()
onHide() {
},
//
methods: {
//
init(options) {
originalForms["form1"] = vk.pubfn.copyObject(that.form1);
},
//
pageTo(path) {
vk.navigateTo(path);
},
//
resetForm() {
vk.pubfn.resetForm(originalForms, that);
},
//
search() {
that.$refs.table1.search();
},
//
refresh() {
that.$refs.table1.refresh();
},
//
getCurrentRow() {
return that.$refs.table1.getCurrentRow();
},
// -
currentChange(val) {
that.table1.selectItem = val;
},
//
selectionChange(list) {
that.table1.multipleSelection = list;
},
//
addBtn() {
that.resetForm();
that.form1.props.action = 'admin/goods/list/sys/add';
that.form1.props.formType = 'add';
that.form1.props.title = '添加';
that.form1.props.show = true;
},
//
updateBtn({
item
}) {
that.form1.props.action = 'admin/goods/list/sys/update';
that.form1.props.formType = 'update';
that.form1.props.title = '编辑';
that.form1.props.show = true;
that.form1.data = item;
},
//
deleteBtn({
item,
deleteFn
}) {
deleteFn({
action: "admin/goods/list/sys/delete",
data: {
_id: item._id
},
});
},
// -
batchBtn(index) {
switch (index) {
case 1:
vk.toast("批量操作按钮1");
break;
case 2:
vk.toast("批量操作按钮2");
break;
default:
break;
}
}
},
//
watch: {},
//
filters: {},
//
computed: {}
};
</script>
<style lang="scss" scoped>
.page-body {
}
</style>

2
pages/product/product-category/list.vue

@ -33,7 +33,7 @@
<!-- 表格组件结束 -->
<!-- 添加或编辑的弹窗开始 -->
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="500px" mode="form"
<vk-data-dialog v-model="form1.props.show" :title="form1.props.title" width="60%" mode="form"
:close-on-click-modal="false">
<vk-data-form v-model="form1.data" :rules="form1.props.rules" :action="form1.props.action"
:form-type="form1.props.formType" :columns='form1.props.columns' label-width="120px"

2
pages_plugs/system/role/list.vue

@ -38,7 +38,7 @@
<vk-data-dialog
v-model="form1.props.show"
:title="form1.props.title"
width="500px"
width="60%"
mode="form"
>
<vk-data-form

4
pages_template/components/dialog/dialog-basic.vue

@ -14,7 +14,7 @@
<vk-data-dialog
v-model="dialog.show1"
title="标题1"
width="500px"
width="60%"
top="14vh"
center
:close-on-click-modal="true"
@ -29,7 +29,7 @@
<vk-data-dialog
v-model="dialog.show2"
title="标题2"
width="500px"
width="60%"
top="14vh"
:close-on-click-modal="true"
>

2
pages_template/components/table/table-easy.vue

@ -54,7 +54,7 @@
<vk-data-dialog
v-model="form1.props.show"
:title="form1.props.title"
width="500px"
width="60%"
mode="form"
:close-on-click-modal="false"
>

2
pages_template/components/table/table-expand.vue

@ -59,7 +59,7 @@
<vk-data-dialog
v-model="form1.props.show"
:title="form1.props.title"
width="500px"
width="60%"
mode="form"
:close-on-click-modal="false"
>

2
pages_template/kong/list.vue

@ -51,7 +51,7 @@
<vk-data-dialog
v-model="form1.props.show"
:title="form1.props.title"
width="500px"
width="60%"
mode="form"
:close-on-click-modal="false"
>

Loading…
Cancel
Save