b888adcfb58529ed2afaa7ca18d2615b.json 16 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\division\\agent\\index.vue?vue&type=style&index=0&id=c8262b2c&lang=scss&scoped=true","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\division\\agent\\index.vue","mtime":1761614939011},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\css-loader\\index.js","mtime":1761614929364},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1761614937403},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\postcss-loader\\src\\index.js","mtime":1761614935133},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1761614936391},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQouaXZ1LWZvcm0taXRlbSB7DQogIG1hcmdpbi1ib3R0b206IDA7DQp9DQoucGljQm94IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIC51cExvYWQgew0KICAgIHdpZHRoOiA1OHB4Ow0KICAgIGhlaWdodDogNThweDsNCiAgICBsaW5lLWhlaWdodDogNThweDsNCiAgICBib3JkZXI6IDFweCBkb3R0ZWQgcmdiYSgwLCAwLCAwLCAwLjEpOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDIpOw0KICB9DQogIC5waWN0cnVlIHsNCiAgICB3aWR0aDogNjBweDsNCiAgICBoZWlnaHQ6IDYwcHg7DQogICAgYm9yZGVyOiAxcHggZG90dGVkIHJnYmEoMCwgMCwgMCwgMC4xKTsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQoNCiAgICBpbWcgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICBoZWlnaHQ6IDEwMCU7DQogICAgfQ0KICB9DQp9DQo6OnYtZGVlcCAuaXZ1LW1lbnUtdmVydGljYWwgLml2dS1tZW51LWl0ZW0tZ3JvdXAtdGl0bGUgew0KICBkaXNwbGF5OiBub25lOw0KfQ0KOjp2LWRlZXAgLml2dS1tZW51LXZlcnRpY2FsLml2dS1tZW51LWxpZ2h0OmFmdGVyIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCi5sZWZ0LXdyYXBwZXIgew0KICBoZWlnaHQ6IDkwNHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KLm1lbnUtaXRlbSB7DQogIHotaW5kZXg6IDUwOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGRpc3BsYXk6IGZsZXg7DQogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgd29yZC1icmVhazogYnJlYWstYWxsOw0KICAmOmhvdmVyIC5pY29uLWJveCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogIH0NCn0NCi5pY29uLWJveCB7DQogIHotaW5kZXg6IDM7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDIwcHg7DQogIHRvcDogNTAlOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoucmlnaHQtbWVudSB7DQogIHotaW5kZXg6IDEwOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAtMTA2cHg7DQogIHRvcDogLTExcHg7DQogIHdpZHRoOiBhdXRvOw0KICBtaW4td2lkdGg6IDEyMXB4Ow0KfQ0KLnRhYkJveF9pbWcgew0KICB3aWR0aDogMzZweDsNCiAgaGVpZ2h0OiAzNnB4Ow0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgaW1nIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogIH0NCn0NCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAoUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/pages/division/agent","sourcesContent":["<template>\r\n <div>\r\n <el-card :bordered=\"false\" shadow=\"never\" :body-style=\"{ padding: 0 }\">\r\n <div class=\"padding-add\">\r\n <el-form\r\n ref=\"formValidate\"\r\n :model=\"formValidate\"\r\n :label-width=\"labelWidth\"\r\n :label-position=\"labelPosition\"\r\n @submit.native.prevent\r\n inline\r\n >\r\n <el-form-item label=\"搜索:\">\r\n <el-input\r\n clearable\r\n placeholder=\"请输入姓名、UID\"\r\n v-model=\"formValidate.keyword\"\r\n class=\"form_content_width\"\r\n />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" v-db-click @click=\"userSearchs\">查询</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </el-card>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt mt16\">\r\n <el-row class=\"ivu-mt box-wrapper\">\r\n <el-col :xs=\"24\" :sm=\"24\" ref=\"rightBox\">\r\n <el-row>\r\n <el-col v-bind=\"grid\">\r\n <el-button type=\"primary\" v-db-click @click=\"groupAdd('0')\" class=\"mr20\">添加代理商</el-button>\r\n </el-col>\r\n </el-row>\r\n <el-table\r\n :data=\"userLists\"\r\n ref=\"table\"\r\n class=\"mt14\"\r\n v-loading=\"loading\"\r\n highlight-current-row\r\n no-formValidate-text=\"暂无数据\"\r\n no-filtered-formValidate-text=\"暂无筛选结果\"\r\n >\r\n <el-table-column label=\"用户UID\" width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.uid }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"头像\" min-width=\"90\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"scope.row.avatar\" />\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"名称\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"acea-row\">\r\n <div v-text=\"scope.row.division_name\" class=\"ml10\"></div>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"分销比例\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span> {{ scope.row.division_percent }}%</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"员工数量\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.agent_count }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"截止时间\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.division_end_time }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"状态\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <el-switch\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"scope.row.division_status\"\r\n :value=\"scope.row.division_status\"\r\n @change=\"onchangeIsShow(scope.row)\"\r\n size=\"large\"\r\n >\r\n </el-switch>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"220\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"staffAdd(scope.row.uid)\">添加员工</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"jump(scope.row.uid)\">查看员工</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"groupAdd(scope.row.uid)\">编辑</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"del(scope.row, '删除代理商', scope.$index, 2)\">删除</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"acea-row row-right page\">\r\n <pagination\r\n v-if=\"total\"\r\n :total=\"total\"\r\n :page.sync=\"formValidate.page\"\r\n :limit.sync=\"formValidate.limit\"\r\n @pagination=\"getList\"\r\n />\r\n </div>\r\n </el-col>\r\n </el-row>\r\n </el-card>\r\n <el-dialog :visible.sync=\"staffModal\" title=\"员工列表\" class=\"order_box\" width=\"1000px\">\r\n <el-table\r\n :data=\"clerkLists\"\r\n ref=\"table\"\r\n class=\"mt20\"\r\n v-loading=\"loading\"\r\n highlight-current-row\r\n no-formValidate-text=\"暂无数据\"\r\n no-filtered-formValidate-text=\"暂无筛选结果\"\r\n >\r\n <el-table-column label=\"用户UID\" width=\"120\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.uid }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"头像\" min-width=\"120\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"scope.row.avatar\" />\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"姓名\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"acea-row\">\r\n <i class=\"el-icon-male mr10\" v-show=\"scope.row.sex === '男'\" style=\"color: #2db7f5; font-size: 15px\"></i>\r\n <i\r\n class=\"el-icon-female mr10\"\r\n v-show=\"scope.row.sex === '女'\"\r\n style=\"color: #ed4014; font-size: 15px\"\r\n ></i>\r\n <div v-text=\"scope.row.nickname\" class=\"\"></div>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"分销比例\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span> {{ scope.row.division_percent }}%</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" width=\"120\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"del(scope.row, '删除员工', scope.$index, 3)\">删除</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"acea-row row-right page\">\r\n <pagination\r\n v-if=\"total2\"\r\n :total=\"total2\"\r\n :page.sync=\"clerkReqData.page\"\r\n :limit.sync=\"clerkReqData.limit\"\r\n @pagination=\"getClerkList\"\r\n />\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { regionList, agentFrom, isShowApi, clerkList, staffAddFrom } from '@/api/agent';\r\nimport { formatDate } from '@/utils/validate';\r\nexport default {\r\n name: 'agent_extra',\r\n data() {\r\n return {\r\n grid: {\r\n xl: 7,\r\n lg: 7,\r\n md: 12,\r\n sm: 24,\r\n xs: 24,\r\n },\r\n total: 0,\r\n total2: 0,\r\n userLists: [],\r\n formInline: {\r\n uid: 0,\r\n proportion: 0,\r\n image: '',\r\n },\r\n FromData: null,\r\n loading: false,\r\n current: 0,\r\n formValidate: {\r\n page: 1,\r\n limit: 15,\r\n keyword: '',\r\n },\r\n staffModal: false,\r\n clerkReqData: {\r\n uid: 0,\r\n page: 1,\r\n limit: 15,\r\n },\r\n clerkLists: [],\r\n };\r\n },\r\n filters: {\r\n formatDate(time) {\r\n if (time !== 0) {\r\n let date = new Date(time * 1000);\r\n return formatDate(date, 'yyyy-MM-dd hh:mm');\r\n }\r\n },\r\n },\r\n computed: {\r\n ...mapState('media', ['isMobile']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : '50px';\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'right';\r\n },\r\n },\r\n mounted() {\r\n this.getList();\r\n },\r\n methods: {\r\n userSearchs() {\r\n this.formValidate.page = 1;\r\n this.getList();\r\n },\r\n jump(uid) {\r\n this.clerkReqData.uid = uid;\r\n this.getClerkList();\r\n },\r\n getClerkList() {\r\n this.clerkReqData.division_type = 3;\r\n clerkList(this.clerkReqData).then((res) => {\r\n this.clerkLists = res.data.list;\r\n this.total2 = res.data.count;\r\n this.staffModal = true;\r\n });\r\n },\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n this.formValidate.division_type = 2;\r\n regionList(this.formValidate)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.userLists = data.list;\r\n this.total = data.count;\r\n this.loading = false;\r\n })\r\n .catch((res) => {\r\n this.loading = false;\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 添加表单\r\n groupAdd(id) {\r\n this.$modalForm(agentFrom(id))\r\n .then((res) => {\r\n this.getList();\r\n })\r\n .catch((err) => {});\r\n },\r\n //添加员工表单\r\n staffAdd(id) {\r\n this.$modalForm(staffAddFrom(id))\r\n .then((res) => {\r\n this.getList();\r\n })\r\n .catch((err) => {});\r\n },\r\n // 修改是否显示\r\n onchangeIsShow(row) {\r\n let data = {\r\n id: row.uid,\r\n status: row.division_status,\r\n };\r\n isShowApi(data)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 编辑\r\n edit(row) {},\r\n // 删除\r\n del(row, tit, num, type) {\r\n let delfromData = {\r\n title: tit,\r\n method: 'DELETE',\r\n uid: row.uid,\r\n url: `agent/division/del/${type}/${row.uid}`,\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n if (type == 2) {\r\n this.userLists.splice(num, 1);\r\n } else {\r\n this.clerkLists.splice(num, 1);\r\n }\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ivu-form-item {\r\n margin-bottom: 0;\r\n}\r\n.picBox {\r\n display: inline-block;\r\n cursor: pointer;\r\n .upLoad {\r\n width: 58px;\r\n height: 58px;\r\n line-height: 58px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n border-radius: 4px;\r\n background: rgba(0, 0, 0, 0.02);\r\n }\r\n .pictrue {\r\n width: 60px;\r\n height: 60px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n margin-right: 10px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n}\r\n::v-deep .ivu-menu-vertical .ivu-menu-item-group-title {\r\n display: none;\r\n}\r\n::v-deep .ivu-menu-vertical.ivu-menu-light:after {\r\n display: none;\r\n}\r\n.left-wrapper {\r\n height: 904px;\r\n background: #fff;\r\n border-right: 1px solid #f2f2f2;\r\n}\r\n.menu-item {\r\n z-index: 50;\r\n position: relative;\r\n display: flex;\r\n justify-content: space-between;\r\n word-break: break-all;\r\n &:hover .icon-box {\r\n display: block;\r\n }\r\n}\r\n.icon-box {\r\n z-index: 3;\r\n position: absolute;\r\n right: 20px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n display: none;\r\n}\r\n.right-menu {\r\n z-index: 10;\r\n position: absolute;\r\n right: -106px;\r\n top: -11px;\r\n width: auto;\r\n min-width: 121px;\r\n}\r\n.tabBox_img {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n</style>\r\n"]}]}