| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storeCombination\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storeCombination\\index.vue","mtime":1761614939036},{"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:DQppbXBvcnQgeyBjb21iaW5hdGlvbkxpc3RBcGksIGNvbWJpbmF0aW9uU2V0U3RhdHVzQXBpLCBzdG9yZUNvbWJpbmF0aW9uQXBpIH0gZnJvbSAnQC9hcGkvbWFya2V0aW5nJzsNCmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCc7DQppbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQC91dGlscy92YWxpZGF0ZSc7DQppbXBvcnQgeyBleHBvcnRDb21iaW5hdGlvbkxpc3QgfSBmcm9tICdAL2FwaS9leHBvcnQuanMnOw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdtYXJrZXRpbmdfY29tYmluYWxpc3QnLA0KICBmaWx0ZXJzOiB7DQogICAgZm9ybWF0RGF0ZSh0aW1lKSB7DQogICAgICBpZiAodGltZSAhPT0gMCkgew0KICAgICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRpbWUgKiAxMDAwKTsNCiAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgJ3l5eXktTU0tZGQgaGg6bW0nKTsNCiAgICAgIH0NCiAgICB9LA0KICB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBsb2FkaW5nOiBmYWxzZSwNCiAgICAgIGdyaWQ6IHsNCiAgICAgICAgeGw6IDcsDQogICAgICAgIGxnOiA3LA0KICAgICAgICBtZDogMTIsDQogICAgICAgIHNtOiAyNCwNCiAgICAgICAgeHM6IDI0LA0KICAgICAgfSwNCiAgICAgIGZvcm1WYWxpZGF0ZTogew0KICAgICAgICBpc19zaG93OiAnJywNCiAgICAgICAgc3RvcmVfbmFtZTogJycsDQogICAgICAgIHBhZ2U6IDEsDQogICAgICAgIGxpbWl0OiAxNSwNCiAgICAgIH0sDQogICAgICB2YWx1ZTogJycsDQogICAgICB0YWJsZUxpc3Q6IFtdLA0KICAgICAgdG90YWw6IDAsDQogICAgICBzdGF0aXN0aWNzTGlzdDogW10sDQogICAgfTsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICAuLi5tYXBTdGF0ZSgnbWVkaWEnLCBbJ2lzTW9iaWxlJ10pLA0KICAgIGxhYmVsV2lkdGgoKSB7DQogICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/IHVuZGVmaW5lZCA6ICc4MHB4JzsNCiAgICB9LA0KICAgIGxhYmVsUG9zaXRpb24oKSB7DQogICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/ICd0b3AnIDogJ3JpZ2h0JzsNCiAgICB9LA0KICB9LA0KICBhY3RpdmF0ZWQoKSB7DQogICAgdGhpcy5nZXRMaXN0KCk7DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvLyDlr7zlh7oNCiAgICBhc3luYyBleHBvcnRzKCkgew0KICAgICAgbGV0IFt0aCwgZmlsZWtleSwgZGF0YSwgZmlsZU5hbWVdID0gW1tdLCBbXSwgW10sICcnXTsNCiAgICAgIGxldCBleGNlbERhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybVZhbGlkYXRlKSk7DQogICAgICBleGNlbERhdGEucGFnZSA9IDE7DQogICAgICBleGNlbERhdGEubGltaXQgPSAyMDA7DQogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV4Y2VsRGF0YS5wYWdlICsgMTsgaSsrKSB7DQogICAgICAgIGxldCBsZWJEYXRhID0gYXdhaXQgdGhpcy5nZXRFeGNlbERhdGEoZXhjZWxEYXRhKTsNCiAgICAgICAgaWYgKCFmaWxlTmFtZSkgZmlsZU5hbWUgPSBsZWJEYXRhLmZpbGVuYW1lOw0KICAgICAgICBpZiAoIWZpbGVrZXkubGVuZ3RoKSB7DQogICAgICAgICAgZmlsZWtleSA9IGxlYkRhdGEuZmlsZUtleTsNCiAgICAgICAgfQ0KICAgICAgICBpZiAoIXRoLmxlbmd0aCkgdGggPSBsZWJEYXRhLmhlYWRlcjsNCiAgICAgICAgaWYgKGxlYkRhdGEuZXhwb3J0Lmxlbmd0aCkgew0KICAgICAgICAgIGRhdGEgPSBkYXRhLmNvbmNhdChsZWJEYXRhLmV4cG9ydCk7DQogICAgICAgICAgZXhjZWxEYXRhLnBhZ2UrKzsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRleHBvcnRFeGNlbCh0aCwgZmlsZWtleSwgZmlsZU5hbWUsIGRhdGEpOw0KICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0sDQogICAgZ2V0RXhjZWxEYXRhKGV4Y2VsRGF0YSkgew0KICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsNCiAgICAgICAgZXhwb3J0Q29tYmluYXRpb25MaXN0KGV4Y2VsRGF0YSkudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgcmVzb2x2ZShyZXMuZGF0YSk7DQogICAgICAgIH0pOw0KICAgICAgfSk7DQogICAgfSwNCg0KICAgIC8vIOa3u+WKoA0KICAgIGFkZCgpIHsNCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsgcGF0aDogdGhpcy4kcm91dGVQcm9TdHIgKyAnL21hcmtldGluZy9zdG9yZV9jb21iaW5hdGlvbi9jcmVhdGUnIH0pOw0KICAgIH0sDQogICAgLy8g57yW6L6RDQogICAgZWRpdChyb3cpIHsNCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsNCiAgICAgICAgcGF0aDogdGhpcy4kcm91dGVQcm9TdHIgKyAnL21hcmtldGluZy9zdG9yZV9jb21iaW5hdGlvbi9jcmVhdGUvJyArIHJvdy5pZCArICcvMCcsDQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOS4gOmUruWkjeWItg0KICAgIGNvcHkocm93KSB7DQogICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7DQogICAgICAgIHBhdGg6IHRoaXMuJHJvdXRlUHJvU3RyICsgJy9tYXJrZXRpbmcvc3RvcmVfY29tYmluYXRpb24vY3JlYXRlLycgKyByb3cuaWQgKyAnLzEnLA0KICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDliKDpmaQNCiAgICBkZWwocm93LCB0aXQsIG51bSkgew0KICAgICAgbGV0IGRlbGZyb21EYXRhID0gew0KICAgICAgICB0aXRsZTogdGl0LA0KICAgICAgICBudW06IG51bSwNCiAgICAgICAgdXJsOiBgbWFya2V0aW5nL2NvbWJpbmF0aW9uLyR7cm93LmlkfWAsDQogICAgICAgIG1ldGhvZDogJ0RFTEVURScsDQogICAgICAgIGlkczogJycsDQogICAgICB9Ow0KICAgICAgdGhpcy4kbW9kYWxTdXJlKGRlbGZyb21EYXRhKQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgIHRoaXMudGFibGVMaXN0LnNwbGljZShudW0sIDEpOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgdmlld0luZm8ocm93KSB7DQogICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7DQogICAgICAgIHBhdGg6IHRoaXMuJHJvdXRlUHJvU3RyICsgJy9tYXJrZXRpbmcvc3RvcmVfY29tYmluYXRpb24vc3RhdGlzdGljcy8nICsgcm93LmlkLA0KICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDliJfooagNCiAgICBnZXRMaXN0KCkgew0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgIC8vIHRoaXMuZm9ybVZhbGlkYXRlLmlzX3Nob3cgPSB0aGlzLmZvcm1WYWxpZGF0ZS5pc19zaG93DQogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5wcm9kdWN0X2lkID0gdGhpcy4kcm91dGUucGFyYW1zLnByb2R1Y3RfaWQgfHwgJyc7DQoNCiAgICAgIGNvbWJpbmF0aW9uTGlzdEFwaSh0aGlzLmZvcm1WYWxpZGF0ZSkNCiAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4gew0KICAgICAgICAgIGxldCBkYXRhID0gcmVzLmRhdGE7DQogICAgICAgICAgdGhpcy50YWJsZUxpc3QgPSBkYXRhLmxpc3Q7DQogICAgICAgICAgdGhpcy50b3RhbCA9IHJlcy5kYXRhLmNvdW50Ow0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g6KGo5qC85pCc57SiDQogICAgdXNlclNlYXJjaHMoKSB7DQogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5wYWdlID0gMTsNCiAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgIH0sDQogICAgLy8g5L+u5pS55piv5ZCm5pi+56S6DQogICAgb25jaGFuZ2VJc1Nob3cocm93KSB7DQogICAgICBsZXQgZGF0YSA9IHsNCiAgICAgICAgaWQ6IHJvdy5pZCwNCiAgICAgICAgc3RhdHVzOiByb3cuaXNfc2hvdywNCiAgICAgIH07DQogICAgICBjb21iaW5hdGlvblNldFN0YXR1c0FwaShkYXRhKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgICAgcm93LmlzX3Nob3cgPSAhcm93LmlzX3Nob3c7DQogICAgICAgIH0pOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAiKA;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;;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;;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","file":"index.vue","sourceRoot":"src/pages/marketing/storeCombination","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=\"right\"\r\n @submit.native.prevent\r\n inline\r\n >\r\n <el-form-item label=\"上架状态:\">\r\n <el-select\r\n v-model=\"formValidate.is_show\"\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=\"拼团搜索:\" prop=\"store_name\" label-for=\"store_name\">\r\n <el-input\r\n clearable\r\n placeholder=\"请输入请输入拼团名称/ID\"\r\n v-model=\"formValidate.store_name\"\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-button v-auth=\"['marketing-store_combination-create']\" type=\"primary\" v-db-click @click=\"add\"\r\n >添加拼团商品</el-button\r\n >\r\n <el-button v-auth=\"['export-storeCombination']\" class=\"export\" v-db-click @click=\"exports\">导出</el-button>\r\n <el-table\r\n :data=\"tableList\"\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=\"90\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"scope.row.image\" />\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 <el-tooltip placement=\"top\" :open-delay=\"600\">\r\n <div slot=\"content\">{{ scope.row.title }}</div>\r\n <span class=\"line2\">{{ scope.row.title }}</span>\r\n </el-tooltip>\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.ot_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.price }}</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>{{ scope.row.count_people }}</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>{{ scope.row.count_people_all }}</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>{{ scope.row.count_people_pink }}</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>{{ scope.row.quota_show }}</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>{{ scope.row.quota }}</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-tag size=\"medium\" v-show=\"scope.row.start_name === '进行中'\">进行中</el-tag>\r\n <el-tag size=\"medium\" type=\"warning\" v-show=\"scope.row.start_name === '未开始'\">未开始</el-tag>\r\n <el-tag size=\"medium\" type=\"info\" v-show=\"scope.row.start_name === '已结束'\">已结束</el-tag>\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.stop_time }}</p>\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 <el-switch\r\n class=\"defineSwitch\"\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"scope.row.is_show\"\r\n :value=\"scope.row.is_show\"\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=\"操作\" fixed=\"right\" width=\"170\">\r\n <template slot-scope=\"scope\">\r\n <a v-if=\"scope.row.stop_status === 0\" v-db-click @click=\"edit(scope.row)\">编辑</a>\r\n <el-divider direction=\"vertical\" v-if=\"scope.row.stop_status === 0\" />\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=\"del(scope.row, '删除拼团商品', scope.$index)\">删除</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"viewInfo(scope.row)\">统计</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-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { combinationListApi, combinationSetStatusApi, storeCombinationApi } from '@/api/marketing';\r\nimport { mapState } from 'vuex';\r\nimport { formatDate } from '@/utils/validate';\r\nimport { exportCombinationList } from '@/api/export.js';\r\n\r\nexport default {\r\n name: 'marketing_combinalist',\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 loading: 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 formValidate: {\r\n is_show: '',\r\n store_name: '',\r\n page: 1,\r\n limit: 15,\r\n },\r\n value: '',\r\n tableList: [],\r\n total: 0,\r\n statisticsList: [],\r\n };\r\n },\r\n computed: {\r\n ...mapState('media', ['isMobile']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : '80px';\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'right';\r\n },\r\n },\r\n activated() {\r\n this.getList();\r\n },\r\n methods: {\r\n // 导出\r\n async exports() {\r\n let [th, filekey, data, fileName] = [[], [], [], ''];\r\n let excelData = JSON.parse(JSON.stringify(this.formValidate));\r\n excelData.page = 1;\r\n excelData.limit = 200;\r\n for (let i = 0; i < excelData.page + 1; i++) {\r\n let lebData = await this.getExcelData(excelData);\r\n if (!fileName) fileName = lebData.filename;\r\n if (!filekey.length) {\r\n filekey = lebData.fileKey;\r\n }\r\n if (!th.length) th = lebData.header;\r\n if (lebData.export.length) {\r\n data = data.concat(lebData.export);\r\n excelData.page++;\r\n } else {\r\n this.$exportExcel(th, filekey, fileName, data);\r\n return;\r\n }\r\n }\r\n },\r\n getExcelData(excelData) {\r\n return new Promise((resolve, reject) => {\r\n exportCombinationList(excelData).then((res) => {\r\n resolve(res.data);\r\n });\r\n });\r\n },\r\n\r\n // 添加\r\n add() {\r\n this.$router.push({ path: this.$routeProStr + '/marketing/store_combination/create' });\r\n },\r\n // 编辑\r\n edit(row) {\r\n this.$router.push({\r\n path: this.$routeProStr + '/marketing/store_combination/create/' + row.id + '/0',\r\n });\r\n },\r\n // 一键复制\r\n copy(row) {\r\n this.$router.push({\r\n path: this.$routeProStr + '/marketing/store_combination/create/' + row.id + '/1',\r\n });\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/combination/${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 viewInfo(row) {\r\n this.$router.push({\r\n path: this.$routeProStr + '/marketing/store_combination/statistics/' + row.id,\r\n });\r\n },\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n // this.formValidate.is_show = this.formValidate.is_show\r\n this.formValidate.product_id = this.$route.params.product_id || '';\r\n\r\n combinationListApi(this.formValidate)\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.formValidate.page = 1;\r\n this.getList();\r\n },\r\n // 修改是否显示\r\n onchangeIsShow(row) {\r\n let data = {\r\n id: row.id,\r\n status: row.is_show,\r\n };\r\n combinationSetStatusApi(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 row.is_show = !row.is_show;\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\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"]}]}
|