| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storeBargain\\statistics.vue?vue&type=style&index=0&id=4ec98544&lang=scss&scoped=true","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storeBargain\\statistics.vue","mtime":1761614939035},{"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:DQouY2wgew0KICBtYXJnaW4tcmlnaHQ6IDIwcHg7DQp9DQouY29kZS1yb3ctYmcgew0KICBkaXNwbGF5OiBmbGV4Ow0KICBmbGV4LXdyYXA6IG5vd3JhcDsNCn0NCi5jb2RlLXJvdy1iZyAuaXZ1LW10IHsNCiAgd2lkdGg6IDEwMCU7DQogIG1hcmdpbjogMCA1cHg7DQp9DQouZWNoLWJveCB7DQogIG1hcmdpbi10b3A6IDEwcHg7DQp9DQouY2hhbmdlLXN0eWxlIHsNCiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgYm9yZGVyLXJhZGl1czogMTVweDsNCiAgcGFkZGluZzogMHB4IDEwcHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCn0NCi50YWJsZS1oZWFkIHsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KLnJldHVybiB7DQogIG1hcmdpbi1ib3R0b206IDZweDsNCn0NCjo6di1kZWVwIC5pdnUtdGFicy1uYXYtc2Nyb2xsIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgcGFkZGluZy10b3A6IDVweDsNCn0NCi50YWJCb3hfaW1nIHsNCiAgd2lkdGg6IDM2cHg7DQogIGhlaWdodDogMzZweDsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQoNCiAgaW1nIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogIH0NCn0NCg=="},{"version":3,"sources":["statistics.vue"],"names":[],"mappings":";AA4VA;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;;AAEA;AACA;AACA;AACA;AACA","file":"statistics.vue","sourceRoot":"src/pages/marketing/storeBargain","sourcesContent":["<template>\r\n <div>\r\n <pages-header\r\n ref=\"pageHeader\"\r\n :title=\"$route.meta.title\"\r\n :backUrl=\"$routeProStr + '/marketing/store_bargain/index'\"\r\n ></pages-header>\r\n <cards-data :cardLists=\"cardLists\" v-if=\"cardLists.length\" class=\"ivu-mt-16\"></cards-data>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\">\r\n <el-form\r\n ref=\"pagination\"\r\n :model=\"pagination\"\r\n :label-width=\"labelWidth\"\r\n label-position=\"right\"\r\n @submit.native.prevent\r\n inline\r\n >\r\n <el-form-item v-if=\"type == 1\" label=\"订单状态:\" label-for=\"status\">\r\n <el-select\r\n v-model=\"pagination.status\"\r\n placeholder=\"请选择订单状态\"\r\n clearable\r\n @change=\"searchList\"\r\n class=\"form_content_width\"\r\n >\r\n <el-option value=\"1\" label=\"待发货\"></el-option>\r\n <el-option value=\"2\" label=\"待收货\"></el-option>\r\n <el-option value=\"3\" label=\"待评价\"></el-option>\r\n <el-option value=\"4\" label=\"交易完成\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"订单搜索:\" label-for=\"title\">\r\n <el-input\r\n v-model=\"pagination.real_name\"\r\n :placeholder=\"type == 1 ? '请输入用户姓名|订单号|UID' : '请输入用户UID'\"\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=\"searchList\">查询</el-button>\r\n </el-form-item>\r\n </el-form>\r\n <el-tabs v-model=\"type\" @tab-click=\"onClickTab\">\r\n <el-tab-pane v-for=\"(item, index) in tabs\" :label=\"item.label\" :name=\"item.type\" :key=\"index\" />\r\n </el-tabs>\r\n <el-table\r\n :data=\"tbody\"\r\n ref=\"table\"\r\n v-loading=\"loading\"\r\n highlight-current-row\r\n no-userFrom-text=\"暂无数据\"\r\n no-filtered-userFrom-text=\"暂无筛选结果\"\r\n >\r\n <el-table-column\r\n :label=\"item.title\"\r\n :min-width=\"item.minWidth\"\r\n v-for=\"(item, index) in type == 1 ? thead2 : thead\"\r\n :key=\"index\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <template v-if=\"item.key\">\r\n <div>\r\n <span>{{ scope.row[item.key] }}</span>\r\n </div>\r\n </template>\r\n <template v-else-if=\"item.slot === 'avatar'\">\r\n <div class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"scope.row.avatar\" />\r\n </div>\r\n </template>\r\n <template v-else-if=\"item.slot === 'status'\">\r\n <el-tag size=\"medium\" type=\"info\" v-show=\"scope.row.status === 1\">进行中</el-tag>\r\n <el-tag size=\"medium\" type=\"danger\" v-show=\"scope.row.status === 2\">已失败</el-tag>\r\n <el-tag size=\"medium\" v-show=\"scope.row.status === 3\">已成功</el-tag>\r\n </template>\r\n <template v-else-if=\"item.slot === 'action'\">\r\n <a v-db-click @click=\"Info(scope.row)\">查看详情</a>\r\n </template>\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=\"pagination.page\"\r\n :limit.sync=\"pagination.limit\"\r\n @pagination=\"getList\"\r\n />\r\n </div>\r\n </el-card>\r\n <!-- 详情模态框-->\r\n <el-dialog :visible.sync=\"modals\" class=\"tableBox\" title=\"查看详情\" :close-on-click-modal=\"false\" width=\"720px\">\r\n <el-table\r\n ref=\"selection\"\r\n :data=\"tabList3\"\r\n v-loading=\"loading2\"\r\n empty-text=\"暂无数据\"\r\n highlight-current-row\r\n max-height=\"600\"\r\n size=\"small\"\r\n >\r\n <el-table-column label=\"用户ID\" width=\"80\">\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 <span>{{ scope.row.price }}</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.add_time }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport cardsData from '@/components/cards/cards';\r\nimport {\r\n getbargainStatistics,\r\n getbargainStatisticsPeople,\r\n getbargainStatisticsOrder,\r\n bargainUserInfoApi,\r\n} from '@/api/marketing';\r\n\r\nexport default {\r\n name: 'index',\r\n components: { cardsData },\r\n data() {\r\n return {\r\n modals: false,\r\n tabList3: [],\r\n loading2: false,\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 id: 0,\r\n tbody: [],\r\n labelWidth: '80px',\r\n total: 0,\r\n tabs: [\r\n {\r\n type: '0',\r\n label: '发起砍价',\r\n },\r\n {\r\n type: '1',\r\n label: '活动订单',\r\n },\r\n ],\r\n currentTab: 0,\r\n loading: false,\r\n thead: [\r\n {\r\n title: '头像',\r\n slot: 'avatar',\r\n },\r\n {\r\n title: '发起用户',\r\n key: 'nickname',\r\n },\r\n {\r\n title: '发起时间',\r\n key: 'add_time',\r\n },\r\n {\r\n title: '帮砍人数',\r\n key: 'already_num',\r\n },\r\n {\r\n title: '结束时间',\r\n key: 'datatime',\r\n },\r\n {\r\n title: '砍价状态',\r\n slot: 'status',\r\n },\r\n {\r\n title: '操作',\r\n slot: 'action',\r\n },\r\n ],\r\n thead2: [\r\n {\r\n title: '订单号',\r\n key: 'order_id',\r\n },\r\n {\r\n title: '用户',\r\n key: 'real_name',\r\n },\r\n {\r\n title: '订单状态',\r\n key: 'status',\r\n },\r\n {\r\n title: '订单支付金额',\r\n key: 'pay_price',\r\n },\r\n {\r\n title: '订单商品数',\r\n key: 'total_num',\r\n },\r\n {\r\n title: '下单时间',\r\n key: 'add_time',\r\n },\r\n {\r\n title: '支付时间',\r\n key: 'pay_time',\r\n },\r\n ],\r\n cardLists: [\r\n {\r\n col: 4,\r\n count: 0,\r\n name: '活动参与人数(人)',\r\n className: 'iconcanyurenshu',\r\n },\r\n {\r\n col: 4,\r\n count: 0,\r\n name: '砍价人数(人)',\r\n className: 'iconxiadanrenshu',\r\n },\r\n {\r\n col: 4,\r\n count: 0,\r\n name: '发起砍价数',\r\n className: 'icontuiguangrenshu',\r\n },\r\n {\r\n col: 4,\r\n count: 0,\r\n name: '砍价成功数',\r\n className: 'iconkanjiachenggong',\r\n },\r\n {\r\n col: 4,\r\n count: 0,\r\n name: '支付订单额(元)',\r\n className: 'iconzhifudingdan',\r\n },\r\n {\r\n col: 4,\r\n count: 0,\r\n name: '支付人数(人)',\r\n className: 'iconzhifurenshu',\r\n },\r\n ],\r\n pagination: {\r\n page: 1,\r\n limit: 15,\r\n real_name: '',\r\n status: '',\r\n },\r\n type: 0,\r\n };\r\n },\r\n created() {\r\n this.id = this.$route.params.id;\r\n this.getStatistics(this.id);\r\n this.getList(this.id);\r\n },\r\n methods: {\r\n // 统计\r\n getStatistics(id) {\r\n getbargainStatistics(id).then((res) => {\r\n let arr = [\r\n 'people_count',\r\n 'spread_count',\r\n 'start_count',\r\n 'success_count',\r\n 'pay_price',\r\n 'pay_count',\r\n 'pay_rate',\r\n ];\r\n this.cardLists.map((i, index) => {\r\n i.count = res.data[arr[index]];\r\n });\r\n });\r\n },\r\n // 列表\r\n getList(id) {\r\n this.loading = true;\r\n if (this.type == 0) {\r\n getbargainStatisticsPeople(this.id, this.pagination).then((res) => {\r\n this.loading = false;\r\n const { count, list } = res.data;\r\n this.total = count;\r\n this.tbody = list;\r\n });\r\n } else {\r\n getbargainStatisticsOrder(this.id, this.pagination).then((res) => {\r\n this.loading = false;\r\n const { count, list } = res.data;\r\n this.total = count;\r\n this.tbody = list;\r\n });\r\n }\r\n },\r\n // 标签切换\r\n onClickTab(e) {\r\n this.type = e.index;\r\n this.getList(this.id);\r\n },\r\n // 搜索\r\n searchList() {\r\n this.pagination.page = 1;\r\n this.getList(this.id);\r\n },\r\n // 查看详情\r\n Info(row) {\r\n this.modals = true;\r\n this.rows = row;\r\n bargainUserInfoApi(row.id)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tabList3 = data.list;\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};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.cl {\r\n margin-right: 20px;\r\n}\r\n.code-row-bg {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n}\r\n.code-row-bg .ivu-mt {\r\n width: 100%;\r\n margin: 0 5px;\r\n}\r\n.ech-box {\r\n margin-top: 10px;\r\n}\r\n.change-style {\r\n border: 1px solid #ccc;\r\n border-radius: 15px;\r\n padding: 0px 10px;\r\n cursor: pointer;\r\n}\r\n.table-head {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n.return {\r\n margin-bottom: 6px;\r\n}\r\n::v-deep .ivu-tabs-nav-scroll {\r\n background-color: #fff;\r\n padding-top: 5px;\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\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n</style>\r\n"]}]}
|