| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storeCouponIssue\\index.vue?vue&type=style&index=0&id=2861f0c2&lang=scss&scoped=true","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storeCouponIssue\\index.vue","mtime":1761614939037},{"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:DQouZmEgew0KICBjb2xvcjogIzBhNmFhMTsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQouc2hlbmcgew0KICBjb2xvcjogI2ZmMDAwMDsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQoudGFiQm94X2ltZyB7DQogIHdpZHRoOiAzNnB4Ow0KICBoZWlnaHQ6IDM2cHg7DQogIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KDQogIGltZyB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAxMDAlOw0KICB9DQp9DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAuXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/pages/marketing/storeCouponIssue","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=\"tableFrom\"\r\n :model=\"tableFrom\"\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=\"优惠券名称:\" label-for=\"coupon_title\">\r\n <el-input\r\n v-model=\"tableFrom.coupon_title\"\r\n placeholder=\"请输入优惠券名称\"\r\n class=\"form_content_width\"\r\n maxlength=\"18\"\r\n show-word-limit\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"优惠券类型:\" label-for=\"coupon_type\">\r\n <el-select\r\n v-model=\"tableFrom.coupon_type\"\r\n placeholder=\"请选择\"\r\n clearable\r\n @change=\"userSearchs\"\r\n class=\"form_content_width\"\r\n >\r\n <el-option value=\"0\" label=\"通用券\"></el-option>\r\n <el-option value=\"1\" label=\"品类券\"></el-option>\r\n <el-option value=\"2\" label=\"商品券\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"是否有效:\" label-for=\"status\">\r\n <el-select\r\n v-model=\"tableFrom.status\"\r\n placeholder=\"请选择\"\r\n clearable\r\n @change=\"userSearchs\"\r\n class=\"form_content_width\"\r\n >\r\n <el-option value=\"1\" label=\"正常\"></el-option>\r\n <el-option value=\"0\" label=\"未开启\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"发放方式:\" label-for=\"status\">\r\n <el-select\r\n v-model=\"receive_type\"\r\n placeholder=\"请选择\"\r\n clearable\r\n @change=\"userSearchs\"\r\n class=\"form_content_width\"\r\n >\r\n <el-option value=\"all\" label=\"全部\"></el-option>\r\n <el-option value=\"1\" label=\"用户领取\"></el-option>\r\n <el-option value=\"2\" label=\"系统赠送\"></el-option>\r\n </el-select>\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-button v-auth=\"['admin-marketing-store_coupon-add']\" type=\"primary\" icon=\"md-add\" v-db-click @click=\"add\"\r\n >添加优惠券</el-button\r\n >\r\n <el-table\r\n :data=\"tableList\"\r\n ref=\"table\"\r\n class=\"mt14\"\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 label=\"ID\" width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.id }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"优惠券名称\" min-width=\"150\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.coupon_title }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"优惠券类型\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span v-if=\"scope.row.type === 1\">品类券</span>\r\n <span v-else-if=\"scope.row.type === 2\">商品券</span>\r\n <span v-else-if=\"scope.row.type === 3\">会员券</span>\r\n <span v-else>通用券</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"面值\" min-width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.coupon_price }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"领取方式\" min-width=\"150\">\r\n <template slot-scope=\"scope\">\r\n <span v-if=\"scope.row.receive_type === 1 || scope.row.receive_type === 4\">用户领取</span>\r\n <span v-else>系统赠送</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"领取日期\" min-width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <div v-if=\"scope.row.start_time\">\r\n {{ scope.row.start_time | formatDate }} - {{ scope.row.end_time | formatDate }}\r\n </div>\r\n <span v-else>不限时</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"使用时间\" min-width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <div v-if=\"scope.row.start_use_time\">\r\n {{ scope.row.start_use_time | formatDate }} -\r\n {{ scope.row.end_use_time | formatDate }}\r\n </div>\r\n <div v-else>{{ scope.row.coupon_time }}天</div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"发布数量\" min-width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <span v-if=\"scope.row.is_permanent\">不限量</span>\r\n <div v-else>\r\n <span class=\"fa\">发布:{{ scope.row.total_count }}</span>\r\n <span class=\"sheng ml10\">剩余:{{ scope.row.remain_count }}</span>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"是否开启\" min-width=\"100\">\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.status\"\r\n :value=\"scope.row.status\"\r\n size=\"large\"\r\n @change=\"openChange(scope.row)\"\r\n >\r\n </el-switch>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"200\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"receive(scope.row)\">领取记录</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"edit(scope.row)\">编辑</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"copy(scope.row)\">复制</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"couponDel(scope.row, '删除发布的优惠券', scope.$index)\">删除</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=\"tableFrom.page\"\r\n :limit.sync=\"tableFrom.limit\"\r\n @pagination=\"getList\"\r\n />\r\n </div>\r\n </el-card>\r\n <!-- 领取记录 -->\r\n <el-dialog :visible.sync=\"modals2\" title=\"领取记录\" :close-on-click-modal=\"false\" width=\"720px\">\r\n <el-table\r\n :data=\"receiveList\"\r\n ref=\"table\"\r\n v-loading=\"loading2\"\r\n highlight-current-row\r\n height=\"500\"\r\n no-userFrom-text=\"暂无数据\"\r\n no-filtered-userFrom-text=\"暂无筛选结果\"\r\n >\r\n <el-table-column label=\"ID\" min-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=\"150\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.nickname }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"用户头像\" min-width=\"150\">\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=\"150\">\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 { mapState } from 'vuex';\r\nimport {\r\n releasedListApi,\r\n releasedissueLogApi,\r\n releaseStatusApi,\r\n delCouponReleased,\r\n couponStatusApi,\r\n} from '@/api/marketing';\r\nimport { formatDate } from '@/utils/validate';\r\nexport default {\r\n name: 'marketing_storeCouponIssue',\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 data() {\r\n return {\r\n modals2: 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 loading: false,\r\n\r\n tableFrom: {\r\n status: '',\r\n coupon_type: '',\r\n coupon_title: '',\r\n receive_type: '',\r\n page: 1,\r\n limit: 15,\r\n },\r\n receive_type: '',\r\n tableList: [],\r\n total: 0,\r\n FromData: null,\r\n receiveList: [],\r\n loading2: false,\r\n total2: 0,\r\n receiveFrom: {\r\n page: 1,\r\n limit: 15,\r\n },\r\n rows: {},\r\n };\r\n },\r\n activated() {\r\n this.getList();\r\n },\r\n computed: {\r\n ...mapState('media', ['isMobile']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : '90px';\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'right';\r\n },\r\n },\r\n methods: {\r\n // 失效\r\n couponInvalid(row, tit, num) {\r\n this.delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `marketing/coupon/status/${row.id}`,\r\n method: 'PUT',\r\n ids: '',\r\n };\r\n this.$refs.modelSure.modals = true;\r\n },\r\n // 领取记录\r\n receive(row) {\r\n this.modals2 = true;\r\n this.rows = row;\r\n this.getReceivelist(row);\r\n },\r\n getReceivelist(row) {\r\n this.loading2 = true;\r\n releasedissueLogApi(row.id, this.receiveFrom)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.receiveList = data.list;\r\n this.total2 = res.data.count;\r\n this.loading2 = false;\r\n })\r\n .catch((res) => {\r\n this.loading2 = false;\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 领取记录改变分页\r\n receivePageChange(index) {\r\n this.receiveFrom.page = index;\r\n this.getReceivelist(this.rows);\r\n },\r\n // 删除\r\n couponDel(row, tit, num) {\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `marketing/coupon/released/${row.id}`,\r\n method: 'DELETE',\r\n ids: '',\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.tableList.splice(num, 1);\r\n this.total--;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n this.tableFrom.receive_type = this.receive_type === 'all' ? '' : this.receive_type;\r\n this.tableFrom.status = this.tableFrom.status || '';\r\n releasedListApi(this.tableFrom)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tableList = data.list;\r\n this.total = res.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 userSearchs() {\r\n this.tableFrom.page = 1;\r\n this.getList();\r\n },\r\n // 添加优惠券\r\n add() {\r\n this.$router.push({ path: this.$routeProStr + '/marketing/store_coupon_issue/create' });\r\n },\r\n // 复制\r\n copy(data) {\r\n this.$router.push({\r\n path: this.$routeProStr + `/marketing/store_coupon_issue/create/${data.id}`,\r\n });\r\n },\r\n // 复制\r\n edit(data) {\r\n this.$router.push({\r\n path: this.$routeProStr + `/marketing/store_coupon_issue/create/${data.id}/1`,\r\n });\r\n },\r\n // 是否开启\r\n openChange(data) {\r\n couponStatusApi(data).then(() => this.getList());\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.fa {\r\n color: #0a6aa1;\r\n display: block;\r\n}\r\n.sheng {\r\n color: #ff0000;\r\n display: block;\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"]}]}
|