| 1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\product\\components\\brokerageSet.vue?vue&type=style&index=0&id=7f1dec3e&scoped=true&lang=css","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\product\\components\\brokerageSet.vue","mtime":1761185180154},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\css-loader\\index.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQouaWNvbmJpYW5qaTEgew0KICBmb250LXNpemU6IDEycHg7DQogIHBhZGRpbmctbGVmdDogNHB4Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQp9DQoucG9wb3Zlci1pbnB1dCB7DQogIHdpZHRoOiAxMDBweDsNCn0NCi53LTI1MCB7DQogIHdpZHRoOiAyNTBweDsNCn0NCi5wb3AtdGl0bGUgew0KICBmb250LXNpemU6IDE0cHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBtYXJnaW4tYm90dG9tOiAxNHB4Ow0KfQ0KLnJlZCB7DQogIGNvbG9yOiAjZTkzMzIzOw0KfQ0K"},{"version":3,"sources":["brokerageSet.vue"],"names":[],"mappings":";AAuRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"brokerageSet.vue","sourceRoot":"src/pages/product/components","sourcesContent":["<template>\r\n <div>\r\n <el-dialog :visible.sync=\"visible\" title=\"自定义佣金\" width=\"700\">\r\n <el-form :model=\"formData\" label-width=\"80px\">\r\n <el-form-item label=\"返佣设置:\">\r\n <el-radio-group v-model=\"formData.is_sub\" @input=\"changeSubType\">\r\n <el-radio :label=\"0\">默认比例</el-radio>\r\n <el-radio :label=\"1\">自定义佣金</el-radio>\r\n </el-radio-group>\r\n <div class=\"fs-12 tips-info\" v-show=\"formData.is_sub\">\r\n 切换到默认比例时,表格中编辑的返佣金额会被清空,请谨慎操作\r\n </div>\r\n </el-form-item>\r\n <el-form-item label-width=\"0\">\r\n <el-table size=\"small\" border max-height=\"460\" :data=\"attrData\" style=\"width: 100%\">\r\n <el-table-column prop=\"pic\" label=\"规格图\" min-width=\"90\" align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"tabBox_img m-auto\" v-viewer>\r\n <img v-lazy=\"scope.row.pic\" />\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"suk\" label=\"产品规格\" min-width=\"120\" align=\"center\"></el-table-column>\r\n <el-table-column prop=\"price\" label=\"售价\" min-width=\"120\" align=\"center\"></el-table-column>\r\n <el-table-column min-width=\"120\" align=\"center\">\r\n <template slot=\"header\" slot-scope=\"scope\">\r\n <span>一级返佣</span>\r\n <el-popover\r\n ref=\"popoverRef_one\"\r\n placement=\"top\"\r\n width=\"280\"\r\n trigger=\"click\"\r\n v-if=\"formData.is_sub == 1\"\r\n >\r\n <div class=\"pop-title\">批量设置一级返佣</div>\r\n <div class=\"mt-14\">\r\n <el-radio-group v-model=\"brokerageSetType\">\r\n <el-radio :label=\"0\">指定价格</el-radio>\r\n <el-radio :label=\"1\">比例</el-radio>\r\n </el-radio-group>\r\n </div>\r\n <div class=\"mt10 mb10 acea-row\">\r\n <el-input type=\"number\" class=\"popover-input\" v-model=\"brokerage\" @input=\"brokerageReplace\">\r\n <template slot=\"suffix\">\r\n <span>{{ brokerageSetType ? '%' : '元' }}</span>\r\n </template>\r\n </el-input>\r\n <div class=\"acea-row row-right row-middle ml14\">\r\n <el-button size=\"small\" @click=\"closePop\">取消</el-button>\r\n <el-button size=\"small\" type=\"primary\" @click=\"brokerageOneSetUp\">确认</el-button>\r\n </div>\r\n </div>\r\n <span class=\"iconfont iconbianji1\" slot=\"reference\"></span>\r\n </el-popover>\r\n </template>\r\n <template slot-scope=\"scope\">\r\n <el-input\r\n v-model=\"scope.row.brokerage\"\r\n @change=\"brokerageRowReplace(scope.row)\"\r\n :disabled=\"formData.is_sub == 0\"\r\n >\r\n <template slot=\"suffix\">\r\n <span>{{ formData.is_sub ? '元' : '%' }}</span>\r\n </template>\r\n </el-input>\r\n <!-- <div class=\"flex-x-center\" v-show=\"formData.is_sub == 0\">一级返佣:{{ (scope.row.price * store_brokerage_ratio).toFixed(2) }}</div> -->\r\n <!-- <div class=\"flex-x-center red\" v-show=\"formData.is_sub == 1 && scope.row.brokerage == 0\">\r\n 佣金不可为0\r\n </div> -->\r\n <div\r\n class=\"flex-x-center red\"\r\n v-show=\"formData.is_sub == 1 && Number(scope.row.brokerage) > Number(scope.row.price)\"\r\n >\r\n 佣金不可大于售价\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column min-width=\"120\" align=\"center\">\r\n <template slot=\"header\" slot-scope=\"scope\">\r\n <span>二级返佣</span>\r\n <el-popover\r\n ref=\"popoverRef_two\"\r\n placement=\"top\"\r\n width=\"280\"\r\n trigger=\"click\"\r\n v-if=\"formData.is_sub == 1\"\r\n >\r\n <div class=\"pop-title\">批量设置二级返佣</div>\r\n <div class=\"mt-14\">\r\n <el-radio-group v-model=\"brokerageSetType\">\r\n <el-radio :label=\"0\">指定价格</el-radio>\r\n <el-radio :label=\"1\">比例</el-radio>\r\n </el-radio-group>\r\n </div>\r\n <div class=\"mt10 mb10 acea-row\">\r\n <el-input type=\"number\" class=\"popover-input\" v-model=\"brokerage_two\">\r\n <template slot=\"suffix\">\r\n <span>{{ brokerageSetType ? '%' : '元' }}</span>\r\n </template>\r\n </el-input>\r\n <div class=\"acea-row row-right row-middle ml14\">\r\n <el-button size=\"small\" @click=\"closePop\">取消</el-button>\r\n <el-button size=\"small\" type=\"primary\" @click=\"brokerageTwoSetUp\">确认</el-button>\r\n </div>\r\n </div>\r\n\r\n <span class=\"iconfont iconbianji1\" slot=\"reference\"></span>\r\n </el-popover>\r\n </template>\r\n <template slot-scope=\"scope\">\r\n <el-input\r\n type=\"number\"\r\n v-model=\"scope.row.brokerage_two\"\r\n @change=\"brokerageTwoRowReplace(scope.row)\"\r\n :disabled=\"formData.is_sub == 0\"\r\n >\r\n <template slot=\"suffix\">\r\n <span>{{ formData.is_sub ? '元' : '%' }}</span>\r\n </template>\r\n </el-input>\r\n <!-- <div class=\"flex-x-center\" v-show=\"formData.is_sub == 0\">二级返佣:{{ (scope.row.price * store_brokerage_two).toFixed(2) }}</div> -->\r\n <!-- <div class=\"flex-x-center red\" v-show=\"formData.is_sub == 1 && scope.row.brokerage_two == 0\">\r\n 佣金不可为0\r\n </div> -->\r\n <div\r\n class=\"flex-x-center red\"\r\n v-show=\"formData.is_sub == 1 && Number(scope.row.brokerage_two) > Number(scope.row.price)\"\r\n >\r\n 佣金不可大于售价\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"onCancel\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"submitForm\" :disabled=\"disabled\" class=\"ml-14\">确认</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script>\r\nimport { productBrokerage, productBrokerageUpdate } from '@/api/product';\r\nexport default {\r\n name: 'brokerageSet',\r\n data() {\r\n return {\r\n formData: {\r\n is_sub: 0,\r\n },\r\n brokerage: '',\r\n brokerage_two: '',\r\n loading: false,\r\n attrData: [],\r\n disabled: false,\r\n brokerageSetType: 0,\r\n store_brokerage_ratio: '',\r\n store_brokerage_two: '',\r\n storeInfo: {},\r\n visible: false,\r\n defaultAttrData: [],\r\n };\r\n },\r\n props: {\r\n productId: {\r\n type: Number,\r\n default: 0,\r\n },\r\n },\r\n watch: {\r\n visible(val) {\r\n if (val) {\r\n this.getData();\r\n }\r\n },\r\n },\r\n created() {},\r\n methods: {\r\n brokerageReplace(value) {\r\n this.brokerage = value.replace(/^-|\\D/g, '');\r\n },\r\n submitForm() {\r\n let isSuccess = true,\r\n step = true;\r\n if (this.formData.is_sub) {\r\n this.attrData.forEach((item) => {\r\n if (item.brokerage == 0 || item.brokerage_two == 0) {\r\n isSuccess = true;\r\n }\r\n if (Number(item.brokerage) > Number(item.price) || Number(item.brokerage_two) > Number(item.price)) {\r\n step = false;\r\n }\r\n });\r\n }\r\n if (!isSuccess) return this.$message.error('佣金不可为0');\r\n if (!step) return this.$message.error('佣金不可为大于售价');\r\n this.disabled = true;\r\n let data = {\r\n ...this.formData,\r\n attr_value: this.attrData,\r\n };\r\n productBrokerageUpdate(this.productId, 1, data)\r\n .then((res) => {\r\n this.disabled = false;\r\n this.$message.success(res.msg);\r\n this.visible = false;\r\n })\r\n .catch((err) => {\r\n this.$message.error(err.msg);\r\n this.disabled = false;\r\n });\r\n },\r\n brokerageOneSetUp() {\r\n if (this.brokerage == 0) return this.$message.error('价格和折扣不可为0');\r\n if (this.brokerageSetType == 1 && this.brokerage > 100) return this.$message.error('折扣不可超过100');\r\n this.attrData.map((item) => {\r\n if (this.brokerageSetType == 0) {\r\n item.brokerage = this.brokerage;\r\n } else {\r\n item.brokerage = ((this.brokerage / 100) * item.price).toFixed(2);\r\n }\r\n });\r\n this.closePop();\r\n },\r\n brokerageTwoSetUp() {\r\n if (this.brokerage_two == 0) return this.$message.error('价格和折扣不可为0');\r\n if (this.brokerageSetType == 1 && this.brokerage_two > 100) return this.$message.error('折扣不可超过100');\r\n this.attrData.map((item) => {\r\n if (this.brokerageSetType == 0) {\r\n item.brokerage_two = this.brokerage_two;\r\n } else {\r\n item.brokerage_two = ((this.brokerage_two / 100) * item.price).toFixed(2);\r\n }\r\n });\r\n this.closePop();\r\n },\r\n brokerageRowReplace(item) {\r\n item.brokerage = item.brokerage.replace(/^-|\\D/g, '');\r\n },\r\n brokerageTwoRowReplace(item) {\r\n item.brokerage_two = item.brokerage_two.replace(/^-|\\D/g, '');\r\n },\r\n closePop() {\r\n this.$refs.popoverRef_one.doClose();\r\n this.$refs.popoverRef_two.doClose();\r\n this.brokerage_two = '';\r\n this.brokerage = '';\r\n },\r\n changeSubType(val) {\r\n this.attrData.map((item, i) => {\r\n item.brokerage = val == 0 ? this.storeInfo.store_brokerage_ratio : this.defaultAttrData[i].brokerage;\r\n item.brokerage_two = val == 0 ? this.storeInfo.store_brokerage_two : this.defaultAttrData[i].brokerage_two;\r\n });\r\n },\r\n onCancel() {\r\n this.visible = false;\r\n },\r\n getData() {\r\n //获取产品属性\r\n productBrokerage(this.productId, 1).then((res) => {\r\n let arr = JSON.parse(JSON.stringify(res.data.attrValue));\r\n this.defaultAttrData = Object.values(arr);\r\n console.log(this.defaultAttrData, 'this.defaultAttrData');\r\n this.attrData = Object.values(res.data.attrValue);\r\n this.formData.is_sub = res.data.storeInfo.is_sub;\r\n this.storeInfo = res.data.storeInfo;\r\n if (this.formData.is_sub == 0) {\r\n this.attrData.map((e) => {\r\n e.brokerage = this.storeInfo.store_brokerage_ratio;\r\n e.brokerage_two = this.storeInfo.store_brokerage_two;\r\n });\r\n }\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n<style scoped>\r\n.iconbianji1 {\r\n font-size: 12px;\r\n padding-left: 4px;\r\n cursor: pointer;\r\n}\r\n.popover-input {\r\n width: 100px;\r\n}\r\n.w-250 {\r\n width: 250px;\r\n}\r\n.pop-title {\r\n font-size: 14px;\r\n font-weight: bold;\r\n margin-bottom: 14px;\r\n}\r\n.red {\r\n color: #e93323;\r\n}\r\n</style>\r\n"]}]}
|