| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\lottery\\lotteryList.vue?vue&type=style&index=0&id=46f996f8&scoped=true&lang=scss","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\lottery\\lotteryList.vue","mtime":1761614939033},{"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:DQoudGFiQm94X2ltZyB7DQogIHdpZHRoOiAzNnB4Ow0KICBoZWlnaHQ6IDM2cHg7DQogIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KDQogIGltZyB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAxMDAlOw0KICB9DQp9DQoNCi5wcml6ZSB7DQogIGRpc3BsYXk6IGZsZXg7DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQp9DQoNCmJvZHkgLmVsLXRhYmxlIDo6LXdlYmtpdC1zY3JvbGxiYXIgew0KICAvLyB6LWluZGV4OiAxMTExMTsNCiAgLy8gd2lkdGg6IDZweDsNCiAgLy8gaGVpZ2h0OiA2cHg7DQogIC8vIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7DQp9DQoNCi5wcml6ZSBpbWcgew0KICB3aWR0aDogMzZweDsNCiAgaGVpZ2h0OiAzNnB4Ow0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgbWFyZ2luLXJpZ2h0OiA1cHg7DQp9DQoNCi50cmlwcyB7DQogIGNvbG9yOiAjY2NjOw0KfQ0KLnBpY0JveCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgY3Vyc29yOiBwb2ludGVyOw0KDQogIC51cExvYWQgew0KICAgIHdpZHRoOiA1OHB4Ow0KICAgIGhlaWdodDogNThweDsNCiAgICBsaW5lLWhlaWdodDogNThweDsNCiAgICBib3JkZXI6IDFweCBkb3R0ZWQgcmdiYSgwLCAwLCAwLCAwLjEpOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDIpOw0KICB9DQoNCiAgLnBpY3RydWUgew0KICAgIHdpZHRoOiA2MHB4Ow0KICAgIGhlaWdodDogNjBweDsNCiAgICBib3JkZXI6IDFweCBkb3R0ZWQgcmdiYSgwLCAwLCAwLCAwLjEpOw0KICAgIG1hcmdpbi1yaWdodDogMTBweDsNCg0KICAgIGltZyB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICAgIGhlaWdodDogMTAwJTsNCiAgICB9DQogIH0NCg0KICAuaWNvbmZvbnQgew0KICAgIGNvbG9yOiAjODk4OTg5Ow0KICB9DQp9DQo="},{"version":3,"sources":["lotteryList.vue"],"names":[],"mappings":";AAibA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA","file":"lotteryList.vue","sourceRoot":"src/pages/marketing/lottery","sourcesContent":["<template>\r\n <div>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\" :body-style=\"{ padding: '20px 20px 0px' }\">\r\n <el-form\r\n ref=\"tableFrom\"\r\n :model=\"tableFrom\"\r\n :label-width=\"labelWidth\"\r\n :label-position=\"labelPosition\"\r\n label-position=\"right\"\r\n inline\r\n @submit.native.prevent\r\n >\r\n <el-form-item label=\"活动时间:\">\r\n <el-date-picker\r\n v-model=\"timeVal\"\r\n type=\"daterange\"\r\n :editable=\"false\"\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 label=\"活动状态:\">\r\n <el-select\r\n class=\"form_content_width\"\r\n v-model=\"tableFrom.start\"\r\n clearable\r\n @change=\"userSearchs\"\r\n placeholder=\"全部\"\r\n >\r\n <el-option label=\"全部\" value=\"\" />\r\n <el-option label=\"未开始\" :value=\"0\" />\r\n <el-option label=\"进行中\" :value=\"1\" />\r\n <el-option label=\"已结束\" :value=\"2\" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"活动类型:\">\r\n <el-select\r\n class=\"form_content_width\"\r\n v-model=\"tableFrom.factor\"\r\n clearable\r\n @change=\"userSearchs\"\r\n placeholder=\"全部\"\r\n >\r\n <el-option label=\"全部\" value=\"\" />\r\n <el-option label=\"积分抽取\" :value=\"1\" />\r\n <el-option label=\"订单支付\" :value=\"3\" />\r\n <el-option label=\"订单评价\" :value=\"4\" />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"开启状态:\">\r\n <el-select\r\n class=\"form_content_width\"\r\n v-model=\"tableFrom.status\"\r\n clearable\r\n @change=\"userSearchs\"\r\n placeholder=\"全部\"\r\n >\r\n <el-option label=\"全部\" value=\"\" />\r\n <el-option label=\"开启\" :value=\"1\" />\r\n <el-option label=\"关闭\" :value=\"0\" />\r\n </el-select>\r\n </el-form-item>\r\n\r\n <el-form-item label=\"搜索抽奖:\">\r\n <el-input\r\n class=\"form_content_width\"\r\n placeholder=\"请输入活动名称\"\r\n v-model=\"tableFrom.keyword\"\r\n @change=\"userSearchs\"\r\n />\r\n </el-form-item>\r\n <el-button type=\"primary\" v-db-click @click=\"userSearchs()\">搜索</el-button>\r\n </el-form>\r\n </el-card>\r\n <el-card class=\"mt-20\" :bordered=\"false\" shadow=\"never\">\r\n <el-button class=\"mb12\" type=\"primary\" v-db-click @click=\"openPage(0)\">创建抽奖活动</el-button>\r\n <el-table :data=\"tableList\" v-loading=\"loading\" highlight-current-row no-userFrom-text=\"暂无数据\">\r\n <el-table-column label=\"ID\" min-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=\"120\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.name }}</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.lottery_type }}</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.records_total_user }}</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.records_wins_user }}</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.records_total_num }}</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.records_wins_num }}</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.status_name }}</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 <el-switch\r\n class=\"defineSwitch\"\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 @change=\"onchangeIsShow(scope.row)\"\r\n size=\"large\"\r\n active-text=\"开启\"\r\n inactive-text=\"关闭\"\r\n >\r\n </el-switch>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"活动时间\" min-width=\"180\">\r\n <template slot-scope=\"scope\">\r\n <p>开始:{{ scope.row.start_time }}</p>\r\n <p>结束:{{ scope.row.end_time }}</p>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" min-width=\"180\" fixed=\"right\">\r\n <template slot-scope=\"scope\">\r\n <a @click=\"edit(scope.row)\">编辑</a>\r\n <el-divider direction=\"vertical\" />\r\n <a @click=\"openPage(1, scope.row)\">抽奖记录</a>\r\n <el-divider direction=\"vertical\" />\r\n <template>\r\n <el-dropdown @command=\"(command) => changeMenu(scope.row, command, scope.$index)\">\r\n <span class=\"el-dropdown-link\">更多<i class=\"el-icon-arrow-down el-icon--right\"></i> </span>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <!-- <el-dropdown-item command=\"1\">拉黑人员</el-dropdown-item>\r\n <el-dropdown-item command=\"2\">拉黑列表</el-dropdown-item> -->\r\n <el-dropdown-item command=\"3\">\r\n <span class=\"copy copy-data\" :data-clipboard-text=\"copyLink(scope.row)\">复制链接</span>\r\n </el-dropdown-item>\r\n <el-dropdown-item command=\"4\">删除抽奖</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\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=\"tableFrom.page\"\r\n :limit.sync=\"tableFrom.limit\"\r\n @pagination=\"getList\"\r\n />\r\n </div>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { lotteryList, lotteryStatus } from '@/api/lottery';\r\nimport { formatDate } from '@/utils/validate';\r\nimport { ruleShip, ruleMark } from './formRule/ruleShip';\r\nimport customerInfo from '@/components/customerInfo';\r\nimport ClipboardJS from 'clipboard';\r\nexport default {\r\n name: 'lotteryList',\r\n filters: {\r\n formatDate(time) {\r\n if (time !== 0) {\r\n let time = new time(time * 1000);\r\n return formatDate(time, 'yyyy-MM-dd hh:mm');\r\n }\r\n },\r\n },\r\n components: {\r\n customerInfo,\r\n },\r\n data() {\r\n return {\r\n shipModel: false,\r\n loading: false,\r\n blackModel: false,\r\n pickerOptions: this.$timeOptions,\r\n locationList: [],\r\n timeVal: [],\r\n shipForm: {\r\n id: '',\r\n deliver_name: '',\r\n deliver_number: null,\r\n },\r\n markForm: {\r\n id: '',\r\n mark: '',\r\n },\r\n ruleShip: ruleShip,\r\n ruleMark: ruleMark,\r\n fromList: {\r\n title: '选择时间',\r\n fromTxt: [\r\n { text: '全部', val: '' },\r\n { text: '今天', val: 'today' },\r\n { text: '昨天', val: 'yesterday' },\r\n { text: '最近7天', val: 'lately7' },\r\n { text: '最近30天', val: 'lately30' },\r\n { text: '本月', val: 'month' },\r\n { text: '本年', val: 'year' },\r\n ],\r\n },\r\n typeList: [\r\n { text: '全部', val: '' },\r\n { text: '未中奖', val: '1' },\r\n { text: '积分', val: '2' },\r\n { text: '余额', val: '3' },\r\n { text: '红包', val: '4' },\r\n { text: '优惠券', val: '5' },\r\n { text: '商品', val: '6' },\r\n ],\r\n blackList: [],\r\n loading2: false,\r\n promoterShow: false,\r\n tableList: [],\r\n grid: {\r\n xl: 7,\r\n lg: 10,\r\n md: 12,\r\n sm: 24,\r\n xs: 24,\r\n },\r\n tableFrom: {\r\n keyword: '',\r\n time: [],\r\n page: 1,\r\n limit: 15,\r\n factor: '',\r\n status: '',\r\n start: '',\r\n },\r\n total: 0,\r\n time: [],\r\n modelType: 1,\r\n lottery_id: '',\r\n modelTitle: '',\r\n orderData: {\r\n id: 0,\r\n mark: '',\r\n pc_template_name: '',\r\n pc_template_sku: '',\r\n },\r\n orderModel: false,\r\n customerShow: false,\r\n formInline: {\r\n uid: 0,\r\n image: '',\r\n },\r\n total2: 0,\r\n receiveFrom: {\r\n lottery_id: 0,\r\n keyword: '',\r\n page: 1,\r\n limit: 15,\r\n },\r\n };\r\n },\r\n computed: {\r\n ...mapState('layout', ['isMobile']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : '80px';\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'left';\r\n },\r\n },\r\n created() {\r\n this.$nextTick(function () {\r\n const clipboard = new ClipboardJS('.copy-data');\r\n clipboard.on('success', () => {\r\n console.log('11');\r\n this.$message.success('复制成功');\r\n });\r\n });\r\n this.getList();\r\n },\r\n methods: {\r\n // 操作\r\n changeMenu(row, name, index) {\r\n console.log(row, name, index);\r\n switch (name) {\r\n case '1':\r\n this.customer(row);\r\n break;\r\n case '3':\r\n this.onCopy(row);\r\n break;\r\n case '4':\r\n this.del(row, '删除活动', index);\r\n break;\r\n }\r\n },\r\n onCopy(row) {\r\n this.$copyText(this.copyLink(row))\r\n .then((message) => {\r\n this.$message.success('复制成功');\r\n })\r\n .catch((err) => {\r\n this.$message.error('复制失败');\r\n });\r\n },\r\n copyLink(row) {\r\n return `${window.location.origin}/pages/goods/lottery/grids/index?type=${row.factor}&lottery_id=${row.id}`;\r\n },\r\n customer(row) {\r\n this.promoterShow = true;\r\n this.formInline.lottery_id = row.id;\r\n },\r\n customerPle() {\r\n this.customerShow = true;\r\n },\r\n // 选择人员\r\n selectCustomer(e) {\r\n console.log(e);\r\n this.customerShow = false;\r\n this.formInline.uid = e.uid;\r\n this.formInline.image = e.image;\r\n this.formInline.nickname = e.nickname;\r\n },\r\n edit(row) {\r\n this.$router.push({\r\n path: '/admin/marketing/lottery/create',\r\n query: { lottery_id: row.id, type: row.type },\r\n });\r\n },\r\n openPage(type, row) {\r\n let url;\r\n if (type === 1) {\r\n url = `/admin/marketing/lottery/recording_list?id=${row.id}`;\r\n } else {\r\n url = `/admin/marketing/lottery/create`;\r\n }\r\n this.$router.push({\r\n path: url,\r\n });\r\n },\r\n // 具体日期\r\n onchangeTime(e) {\r\n this.time = e;\r\n if (!e || !e[0]) {\r\n this.tableFrom.time = [];\r\n } else {\r\n this.tableFrom.time = this.time[0] ? this.time.join('-') : '';\r\n }\r\n this.tableFrom.page = 1;\r\n this.getList();\r\n },\r\n // 删除\r\n del(row, tit, num) {\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `marketing/lottery/del/${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 })\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 lotteryList(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 onchangeIsShow(row) {\r\n let data = {\r\n id: row.id,\r\n status: row.status,\r\n };\r\n lotteryStatus(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 userSearchs() {\r\n this.tableFrom.page = 1;\r\n this.getList();\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\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\r\n.prize {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\nbody .el-table ::-webkit-scrollbar {\r\n // z-index: 11111;\r\n // width: 6px;\r\n // height: 6px;\r\n // background-color: #F5F5F5;\r\n}\r\n\r\n.prize img {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n margin-right: 5px;\r\n}\r\n\r\n.trips {\r\n color: #ccc;\r\n}\r\n.picBox {\r\n display: inline-block;\r\n cursor: pointer;\r\n\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\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 .iconfont {\r\n color: #898989;\r\n }\r\n}\r\n</style>\r\n"]}]}
|