3da4e6abfeea3b1df13438a9e6fc1701.json 13 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\\statistics.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\division\\agent\\statistics.vue","mtime":1761614939011},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"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:DQppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOw0KaW1wb3J0IHsgZGl2aXNpb25TdGF0aXN0aWNzIH0gZnJvbSAnQC9hcGkvYWdlbnQnOw0KaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0AvdXRpbHMvdmFsaWRhdGUnOw0KaW1wb3J0IHRpbWVPcHRpb25zIGZyb20gJ0AvbGlicy90aW1lT3B0aW9ucyc7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ2FnZW50X2V4dHJhJywNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgZ3JpZDogew0KICAgICAgICB4bDogNywNCiAgICAgICAgbGc6IDcsDQogICAgICAgIG1kOiAxMiwNCiAgICAgICAgc206IDI0LA0KICAgICAgICB4czogMjQsDQogICAgICB9LA0KICAgICAgdG90YWw6IDAsDQogICAgICB0b3RhbDI6IDAsDQogICAgICBzdGF0dXNMaXN0OiBbDQogICAgICAgIHsNCiAgICAgICAgICBzdGF0dXNfbmFtZTogJ+S6i+S4mumDqCcsDQogICAgICAgICAgaWQ6ICcxJywNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHN0YXR1c19uYW1lOiAn5Luj55CG5ZWGJywNCiAgICAgICAgICBpZDogJzInLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgc3RhdHVzX25hbWU6ICflkZjlt6UnLA0KICAgICAgICAgIGlkOiAnMycsDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgdXNlckxpc3RzOiBbXSwNCiAgICAgIGZvcm1JbmxpbmU6IHsNCiAgICAgICAgdWlkOiAwLA0KICAgICAgICBwcm9wb3J0aW9uOiAwLA0KICAgICAgICBpbWFnZTogJycsDQogICAgICB9LA0KICAgICAgdGltZVZhbDogW10sDQoNCiAgICAgIEZyb21EYXRhOiBudWxsLA0KICAgICAgbG9hZGluZzogZmFsc2UsDQogICAgICBjdXJyZW50OiAwLA0KICAgICAgZm9ybVZhbGlkYXRlOiB7DQogICAgICAgIHBhZ2U6IDEsDQogICAgICAgIGxpbWl0OiAxNSwNCiAgICAgICAgdGltZTogJycsDQogICAgICAgIHR5cGU6ICcxJywNCiAgICAgICAgc29ydDogJycsIC8vIOaOkuW6j+Wtl+autQ0KICAgICAgICBvcmRlcjogJycsIC8vIOaOkuW6j+aWueW8jw0KICAgICAgfSwNCiAgICAgIHN0YWZmTW9kYWw6IGZhbHNlLA0KICAgICAgY2xlcmtSZXFEYXRhOiB7DQogICAgICAgIHVpZDogMCwNCiAgICAgICAgcGFnZTogMSwNCiAgICAgICAgbGltaXQ6IDE1LA0KICAgICAgfSwNCiAgICAgIGNsZXJrTGlzdHM6IFtdLA0KICAgICAgcGlja2VyT3B0aW9uczogdGltZU9wdGlvbnMsDQogICAgfTsNCiAgfSwNCiAgZmlsdGVyczogew0KICAgIGZvcm1hdERhdGUodGltZSkgew0KICAgICAgaWYgKHRpbWUgIT09IDApIHsNCiAgICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lICogMTAwMCk7DQogICAgICAgIHJldHVybiBmb3JtYXREYXRlKGRhdGUsICd5eXl5LU1NLWRkIGhoOm1tJyk7DQogICAgICB9DQogICAgfSwNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICAuLi5tYXBTdGF0ZSgnbWVkaWEnLCBbJ2lzTW9iaWxlJ10pLA0KICAgIGxhYmVsV2lkdGgoKSB7DQogICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/IHVuZGVmaW5lZCA6ICc3MHB4JzsNCiAgICB9LA0KICAgIGxhYmVsUG9zaXRpb24oKSB7DQogICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/ICd0b3AnIDogJ3JpZ2h0JzsNCiAgICB9LA0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIHRoaXMuZ2V0TGlzdCgpOw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgLy8g5YW35L2T5pel5pyfDQogICAgb25jaGFuZ2VUaW1lKGUpIHsNCiAgICAgIHRoaXMudGltZVZhbCA9IGUgfHwgW107DQogICAgICB0aGlzLmdldExpc3QoKTsNCiAgICB9LA0KICAgIHVzZXJTZWFyY2hzKCkgew0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUucGFnZSA9IDE7DQogICAgICB0aGlzLmdldExpc3QoKTsNCiAgICB9LA0KICAgIC8vIOWIl+ihqA0KICAgIGdldExpc3QoKSB7DQogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOw0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUudGltZSA9IHRoaXMudGltZVZhbFswXSA/ICh0aGlzLnRpbWVWYWwgPyB0aGlzLnRpbWVWYWwuam9pbignLScpIDogJycpIDogJyc7DQogICAgICBkaXZpc2lvblN0YXRpc3RpY3ModGhpcy5mb3JtVmFsaWRhdGUpDQogICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHsNCiAgICAgICAgICBsZXQgZGF0YSA9IHJlcy5kYXRhOw0KICAgICAgICAgIHRoaXMudXNlckxpc3RzID0gZGF0YS5saXN0Ow0KICAgICAgICAgIHRoaXMudG90YWwgPSBkYXRhLmNvdW50Ow0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgcGFnZUNoYW5nZShpbmRleCkgew0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUucGFnZSA9IGluZGV4Ow0KICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgfSwNCiAgICAvLyDmt7vliqDmjpLluo/mlrnms5UNCiAgICBoYW5kbGVTb3J0Q2hhbmdlKHsgcHJvcCwgb3JkZXIgfSkgew0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuc29ydCA9IHByb3A7DQogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5vcmRlciA9IG9yZGVyID09PSAnYXNjZW5kaW5nJyA/ICdhc2MnIDogJ2Rlc2MnOw0KICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["statistics.vue"],"names":[],"mappings":";AAuIA;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;;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;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":"statistics.vue","sourceRoot":"src/pages/division/agent","sourcesContent":["<template>\r\n <div>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\" :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-date-picker\r\n clearable\r\n v-model=\"timeVal\"\r\n type=\"daterange\"\r\n @change=\"onchangeTime\"\r\n format=\"yyyy/MM/dd\"\r\n value-format=\"yyyy/MM/dd\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n :picker-options=\"pickerOptions\"\r\n style=\"width: 250px\"\r\n class=\"mr20\"\r\n ></el-date-picker>\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\" :body-style=\"{ padding: '0 20px 20px' }\">\r\n <el-row class=\"ivu-mt box-wrapper\">\r\n <el-col :xs=\"24\" :sm=\"24\" ref=\"rightBox\">\r\n <el-tabs v-model=\"formValidate.type\" @tab-click=\"userSearchs\">\r\n <el-tab-pane\r\n v-for=\"(item, index) in statusList\"\r\n :key=\"index\"\r\n :label=\"item.status_name\"\r\n :name=\"item.id\"\r\n ></el-tab-pane>\r\n </el-tabs>\r\n <el-table\r\n :data=\"userLists\"\r\n ref=\"table\"\r\n v-loading=\"loading\"\r\n highlight-current-row\r\n no-formValidate-text=\"暂无数据\"\r\n no-filtered-formValidate-text=\"暂无筛选结果\"\r\n @sort-change=\"handleSortChange\"\r\n >\r\n <el-table-column label=\"用户UID\" width=\"150\">\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 <div v-text=\"scope.row.name\"></div>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <!-- <el-table-column\r\n v-if=\"formValidate.type == 1\"\r\n label=\"代理商数量\"\r\n min-width=\"150\"\r\n sortable=\"custom\"\r\n :sort-orders=\"['ascending', 'descending']\"\r\n prop=\"agent_sum\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.agent_sum }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n v-if=\"formValidate.type == 1 || formValidate.type == 2\"\r\n label=\"员工数量\"\r\n min-width=\"150\"\r\n sortable=\"custom\"\r\n :sort-orders=\"['ascending', 'descending']\"\r\n prop=\"staff_sum\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.staff_sum }}</span>\r\n </template>\r\n </el-table-column> -->\r\n <el-table-column\r\n label=\"订单数\"\r\n min-width=\"150\"\r\n sortable=\"custom\"\r\n :sort-orders=\"['ascending', 'descending']\"\r\n prop=\"order_sum\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.order_sum }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n label=\"订单金额\"\r\n min-width=\"150\"\r\n sortable=\"custom\"\r\n :sort-orders=\"['ascending', 'descending']\"\r\n prop=\"order_sum_price\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.order_sum_price }}</span>\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 </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { divisionStatistics } from '@/api/agent';\r\nimport { formatDate } from '@/utils/validate';\r\nimport timeOptions from '@/libs/timeOptions';\r\n\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 statusList: [\r\n {\r\n status_name: '事业部',\r\n id: '1',\r\n },\r\n {\r\n status_name: '代理商',\r\n id: '2',\r\n },\r\n {\r\n status_name: '员工',\r\n id: '3',\r\n },\r\n ],\r\n userLists: [],\r\n formInline: {\r\n uid: 0,\r\n proportion: 0,\r\n image: '',\r\n },\r\n timeVal: [],\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 time: '',\r\n type: '1',\r\n sort: '', // 排序字段\r\n order: '', // 排序方式\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 pickerOptions: timeOptions,\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 : '70px';\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 // 具体日期\r\n onchangeTime(e) {\r\n this.timeVal = e || [];\r\n this.getList();\r\n },\r\n userSearchs() {\r\n this.formValidate.page = 1;\r\n this.getList();\r\n },\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n this.formValidate.time = this.timeVal[0] ? (this.timeVal ? this.timeVal.join('-') : '') : '';\r\n divisionStatistics(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 pageChange(index) {\r\n this.formValidate.page = index;\r\n this.getList();\r\n },\r\n // 添加排序方法\r\n handleSortChange({ prop, order }) {\r\n this.formValidate.sort = prop;\r\n this.formValidate.order = order === 'ascending' ? 'asc' : 'desc';\r\n this.getList();\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep .el-tabs__item {\r\n height: 54px;\r\n line-height: 54px;\r\n}\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"]}]}