788a2f04ab947a5d3f91a688043ad67b.json 15 KB

1
  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\\order\\orderList\\handle\\orderRefund.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\order\\orderList\\handle\\orderRefund.vue","mtime":1761185180149},{"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\\babel-loader\\lib\\index.js","mtime":456789000000},{"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:DQppbXBvcnQgew0KICBnZXRFeHByZXNzRGF0YSwNCiAgcHV0RGVsaXZlcnksDQogIHNwbGl0RGVsaXZlcnksDQogIG9yZGVyRXhwcmVzc1RlbXAsDQogIG9yZGVyRGVsaXZlcnlMaXN0LA0KICBvcmRlclNoZWV0SW5mbywNCiAgc3BsaXRDYXJ0SW5mbywNCiAgb3JkZXJQcmljZSwNCiAgcmVmdW5kUHJpY2UsDQp9IGZyb20gJ0AvYXBpL29yZGVyJzsNCmltcG9ydCBwcmludEpTIGZyb20gJ3ByaW50LWpzJzsNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ29yZGVyU2VuZCcsDQogIHByb3BzOiB7DQogICAgb3JkZXJJZDogTnVtYmVyLA0KICAgIHN0YXR1czogTnVtYmVyLA0KICAgIC8vIHRvdGFsX251bTogTnVtYmVyLA0KICAgIHBheV90eXBlOiBTdHJpbmcsDQogICAgdmlydHVhbF90eXBlOiB7DQogICAgICB0eXBlOiBOdW1iZXIsDQogICAgICBkZWZhdWx0OiAwLA0KICAgIH0sDQogIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIG9yZGVyU3RhdHVzOiAwLA0KICAgICAgdG90YWxfbnVtOiAwLA0KICAgICAgc3BsaXRTd2l0Y2g6IHRydWUsDQogICAgICBvcmRlcl9pZDogJycsDQogICAgICBmb3JtSXRlbTogew0KICAgICAgICByZWZ1bmRfcHJpY2U6ICcnLA0KICAgICAgICBjYXJ0X2lkczogW10sDQogICAgICB9LA0KICAgICAgbW9kYWxzOiBmYWxzZSwNCiAgICAgIGV4cHJlc3M6IFtdLA0KICAgICAga3VhaWRpRXhwcmVzczogW10sDQogICAgICBleHByZXNzVGVtcDogW10sDQogICAgICBkZWxpdmVyeUxpc3Q6IFtdLA0KICAgICAgdGVtcDoge30sDQogICAgICBleHBvcnRfb3BlbjogZmFsc2UsDQogICAgICBtYW55Rm9ybVZhbGlkYXRlOiBbXSwNCiAgICAgIHNlbGVjdERhdGE6IFtdLA0KICAgICAgc2VuZFByaWNlOiAwLA0KICAgICAgcnVsZVZhbGlkYXRlOiB7IHNoX2RlbGl2ZXJ5OiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpemAgei0p+S6uicsIHRyaWdnZXI6ICdjaGFuZ2UnIH1dIH0sDQogICAgICBkZWxpdmVyeUVycm9yTXNnOiAnJywNCiAgICAgIGlzTG9hZGluZzogdHJ1ZSwNCiAgICAgIHVzZXJTZW5kbXNnOiB7fSwNCiAgICB9Ow0KICB9LA0KICBtb3VudGVkKCkge30sDQogIG1ldGhvZHM6IHsNCiAgICBoYW5kbGVDaGFuZ2UoZSwgcGFyYW1zLCBpbmRleCkgew0KICAgICAgbGV0IHRvdGFsID0gMDsNCiAgICAgIHRoaXMuc2VsZWN0RGF0YS5mb3JFYWNoKCh2LCBpKSA9PiB7DQogICAgICAgIGNvbnNvbGUubG9nKHYubnVtKQ0KICAgICAgICB0b3RhbCArPSB2Lm51bSAqIHYuY2FydF9pbmZvLnRydWVQcmljZTsNCiAgICAgIH0pOw0KICAgICAgdGhpcy5mb3JtSXRlbS5yZWZ1bmRfcHJpY2UgPSB0b3RhbDsNCiAgICB9LA0KICAgIHNlbGVjdE9uZShkYXRhKSB7DQogICAgICB0aGlzLnNlbGVjdERhdGEgPSBkYXRhOw0KICAgICAgaWYgKHRoaXMuc2VsZWN0RGF0YS5sZW5ndGgpIHsNCiAgICAgICAgbGV0IHRvdGFsID0gMDsNCiAgICAgICAgdGhpcy5zZWxlY3REYXRhLmZvckVhY2goKHYsIGkpID0+IHsNCiAgICAgICAgICB0b3RhbCArPSB2Lm51bSAqIHYuY2FydF9pbmZvLnRydWVQcmljZTsNCiAgICAgICAgfSk7DQogICAgICAgIHRoaXMuZm9ybUl0ZW0ucmVmdW5kX3ByaWNlID0gdG90YWwudG9GaXhlZCgyKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIGNoYW5nZU1vZGFsKCkgew0KICAgICAgdGhpcy5jYW5jZWwoKTsNCiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTsNCiAgICB9LA0KICAgIGNoYW5nZVNwbGl0U3RhdHVzKHN0YXR1cykgew0KICAgICAgLy8gdGhpcy5zcGxpdFN3aXRjaCA9IHN0YXR1czsNCiAgICAgIGlmIChzdGF0dXMpIHsNCiAgICAgICAgc3BsaXRDYXJ0SW5mbyh0aGlzLm9yZGVySWQpLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMubWFueUZvcm1WYWxpZGF0ZSA9IFtdOw0KICAgICAgICAgIE9iamVjdC5rZXlzKHJlcy5kYXRhKS5mb3JFYWNoKChrZXkpID0+IHsNCiAgICAgICAgICAgIHRoaXMubWFueUZvcm1WYWxpZGF0ZS5wdXNoKHJlcy5kYXRhW2tleV0pOw0KICAgICAgICAgIH0pOw0KICAgICAgICB9KTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuZm9ybUl0ZW0uY2FydF9pZHMgPSBbXTsNCiAgICAgICAgdGhpcy5zZWxlY3REYXRhID0gW107DQogICAgICB9DQogICAgfSwNCiAgICByZXNldCgpIHsNCiAgICAgIHRoaXMuZm9ybUl0ZW0gPSB7DQogICAgICAgIHJlZnVuZF9wcmljZTogJycsDQogICAgICAgIGNhcnRfaWRzOiBbXSwNCiAgICAgIH07DQogICAgfSwNCiAgICAvLyDmj5DkuqQNCiAgICBwdXRTZW5kKG5hbWUpIHsNCiAgICAgIHRoaXMuZm9ybUl0ZW0uY2FydF9pZHMgPSBbXTsNCiAgICAgIGxldCBzcGxpdE51bVN0YXR1cyA9IHRydWU7DQogICAgICBpZiAodGhpcy5zcGxpdFN3aXRjaCkgew0KICAgICAgICB0aGlzLnNlbGVjdERhdGEuZm9yRWFjaCgodikgPT4gew0KICAgICAgICAgIGlmICghdi5udW0pIHsNCiAgICAgICAgICAgIHNwbGl0TnVtU3RhdHVzID0gZmFsc2U7DQogICAgICAgICAgfQ0KICAgICAgICAgIHRoaXMuZm9ybUl0ZW0uY2FydF9pZHMucHVzaCh7DQogICAgICAgICAgICBjYXJ0X2lkOiB2LmNhcnRfaWQsDQogICAgICAgICAgICBjYXJ0X251bTogdi5udW0gfHwgdi5zdXJwbHVzX251bSwNCiAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICB9DQogICAgICBpZiAoIXNwbGl0TnVtU3RhdHVzKSB7DQogICAgICAgIHJldHVybiB0aGlzLiRtZXNzYWdlLmVycm9yKCfor7fpgInmi6npgIDmrL7mlbDph48nKTsNCiAgICAgIH0NCiAgICAgIHJlZnVuZFByaWNlKHRoaXMub3JkZXJJZCwgdGhpcy5mb3JtSXRlbSkNCiAgICAgICAgLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMubW9kYWxzID0gZmFsc2U7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgIHRoaXMuJGVtaXQoJ3N1Ym1pdEZhaWwnKTsNCiAgICAgICAgICB0aGlzLnJlc2V0KCk7DQogICAgICAgICAgdGhpcy5zcGxpdFN3aXRjaCA9IGZhbHNlOw0KICAgICAgICAgIGlmIChyZXMuZGF0YS5sYWJlbCkgdGhpcy5wcmludEltZyhyZXMuZGF0YS5sYWJlbCk7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICBjYW5jZWwobmFtZSkgew0KICAgICAgdGhpcy5tb2RhbHMgPSBmYWxzZTsNCiAgICAgIHRoaXMub3JkZXJTdGF0dXMgPSAwOw0KICAgICAgdGhpcy5zZW5kUHJpY2UgPSAwOw0KICAgICAgdGhpcy5kZWxpdmVyeUVycm9yTXNnID0gJyc7DQogICAgICB0aGlzLnNwbGl0U3dpdGNoID0gZmFsc2U7DQogICAgICB0aGlzLnNlbGVjdERhdGEgPSBbXTsNCiAgICAgIHRoaXMuZm9ybUl0ZW0udHlwZSA9ICcxJzsNCiAgICAgIHRoaXMuJGVtaXQoJ2NsZWFySWQnKTsNCiAgICAgIHRoaXMucmVzZXQoKTsNCiAgICAgIC8vIHRoaXMuJHJlZnNbbmFtZV0ucmVzZXRGaWVsZHMoKTsNCiAgICAgIC8vIHRoaXMuZm9ybUl0ZW0udHlwZSA9ICcxJzsNCiAgICB9LA0KICB9LA0KfTsNCg=="},{"version":3,"sources":["orderRefund.vue"],"names":[],"mappings":";AA8GA;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;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","file":"orderRefund.vue","sourceRoot":"src/pages/order/orderList/handle","sourcesContent":["<template>\r\n <el-dialog\r\n :visible.sync=\"modals\"\r\n title=\"订单退款\"\r\n class=\"order_box\"\r\n :show-close=\"true\"\r\n width=\"1000px\"\r\n @closed=\"changeModal\"\r\n >\r\n <el-form\r\n v-if=\"modals\"\r\n ref=\"formItem\"\r\n :rules=\"ruleValidate\"\r\n :model=\"formItem\"\r\n label-width=\"100px\"\r\n @submit.native.prevent\r\n >\r\n <el-form-item label=\"订单号:\">\r\n <el-input v-model=\"order_id\" disabled placeholder=\"请输入订单号\" style=\"width: 60%\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"退款金额:\">\r\n <el-input-number\r\n v-model=\"formItem.refund_price\"\r\n placeholder=\"请输入退款金额\"\r\n style=\"width: 60%\"\r\n ></el-input-number>\r\n </el-form-item>\r\n <div v-if=\"total_num > 1\">\r\n <el-form-item label=\"分单退款:\">\r\n <el-switch\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n size=\"large\"\r\n v-model=\"splitSwitch\"\r\n :disabled=\"orderStatus === 8 || orderStatus === 11\"\r\n @change=\"changeSplitStatus\"\r\n >\r\n <span slot=\"open\">开启</span>\r\n <span slot=\"close\">关闭</span>\r\n </el-switch>\r\n <div class=\"trips\">\r\n <p>可选择表格中的商品单独退款,请谨慎操作!</p>\r\n </div>\r\n <el-table\r\n v-if=\"splitSwitch && manyFormValidate.length\"\r\n ref=\"table\"\r\n :data=\"manyFormValidate\"\r\n @selection-change=\"selectOne\"\r\n >\r\n <el-table-column type=\"selection\" width=\"55\"> </el-table-column>\r\n <el-table-column label=\"商品信息\" width=\"200\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"product-data\">\r\n <img class=\"image\" :src=\"scope.row.cart_info.productInfo.image\" />\r\n <div class=\"line2\">\r\n {{ scope.row.cart_info.productInfo.store_name }}\r\n </div>\r\n </div>\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 <div>{{ scope.row.cart_info.productInfo.attrInfo.suk }}</div>\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 <div class=\"product-data\">\r\n <div>{{ scope.row.cart_info.truePrice }}</div>\r\n </div>\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 <div>{{ scope.row.cart_num }}</div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"退款数量\" width=\"180\">\r\n <template slot-scope=\"scope\">\r\n <el-input-number\r\n v-model=\"scope.row.num\"\r\n :controls=\"false\"\r\n :min=\"1\"\r\n :max=\"scope.row.cart_num\"\r\n @change=\"\r\n (e) => {\r\n handleChange(e, scope.row, scope.$index);\r\n }\r\n \"\r\n ></el-input-number>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-form-item>\r\n </div>\r\n </el-form>\r\n <div slot=\"footer\">\r\n <el-button v-db-click @click=\"cancel\">取消</el-button>\r\n <el-button type=\"primary\" v-db-click @click=\"putSend\">提交</el-button>\r\n </div>\r\n <!-- <viewer @inited=\"inited\">\r\n <img :src=\"temp.pic\" style=\"display:none\" />\r\n </viewer> -->\r\n <div ref=\"viewer\" v-viewer>\r\n <img :src=\"temp.pic\" style=\"display: none\" />\r\n </div>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n getExpressData,\r\n putDelivery,\r\n splitDelivery,\r\n orderExpressTemp,\r\n orderDeliveryList,\r\n orderSheetInfo,\r\n splitCartInfo,\r\n orderPrice,\r\n refundPrice,\r\n} from '@/api/order';\r\nimport printJS from 'print-js';\r\nexport default {\r\n name: 'orderSend',\r\n props: {\r\n orderId: Number,\r\n status: Number,\r\n // total_num: Number,\r\n pay_type: String,\r\n virtual_type: {\r\n type: Number,\r\n default: 0,\r\n },\r\n },\r\n data() {\r\n return {\r\n orderStatus: 0,\r\n total_num: 0,\r\n splitSwitch: true,\r\n order_id: '',\r\n formItem: {\r\n refund_price: '',\r\n cart_ids: [],\r\n },\r\n modals: false,\r\n express: [],\r\n kuaidiExpress: [],\r\n expressTemp: [],\r\n deliveryList: [],\r\n temp: {},\r\n export_open: false,\r\n manyFormValidate: [],\r\n selectData: [],\r\n sendPrice: 0,\r\n ruleValidate: { sh_delivery: [{ required: true, message: '请输入送货人', trigger: 'change' }] },\r\n deliveryErrorMsg: '',\r\n isLoading: true,\r\n userSendmsg: {},\r\n };\r\n },\r\n mounted() {},\r\n methods: {\r\n handleChange(e, params, index) {\r\n let total = 0;\r\n this.selectData.forEach((v, i) => {\r\n console.log(v.num)\r\n total += v.num * v.cart_info.truePrice;\r\n });\r\n this.formItem.refund_price = total;\r\n },\r\n selectOne(data) {\r\n this.selectData = data;\r\n if (this.selectData.length) {\r\n let total = 0;\r\n this.selectData.forEach((v, i) => {\r\n total += v.num * v.cart_info.truePrice;\r\n });\r\n this.formItem.refund_price = total.toFixed(2);\r\n }\r\n },\r\n changeModal() {\r\n this.cancel();\r\n this.isLoading = true;\r\n },\r\n changeSplitStatus(status) {\r\n // this.splitSwitch = status;\r\n if (status) {\r\n splitCartInfo(this.orderId).then((res) => {\r\n this.manyFormValidate = [];\r\n Object.keys(res.data).forEach((key) => {\r\n this.manyFormValidate.push(res.data[key]);\r\n });\r\n });\r\n } else {\r\n this.formItem.cart_ids = [];\r\n this.selectData = [];\r\n }\r\n },\r\n reset() {\r\n this.formItem = {\r\n refund_price: '',\r\n cart_ids: [],\r\n };\r\n },\r\n // 提交\r\n putSend(name) {\r\n this.formItem.cart_ids = [];\r\n let splitNumStatus = true;\r\n if (this.splitSwitch) {\r\n this.selectData.forEach((v) => {\r\n if (!v.num) {\r\n splitNumStatus = false;\r\n }\r\n this.formItem.cart_ids.push({\r\n cart_id: v.cart_id,\r\n cart_num: v.num || v.surplus_num,\r\n });\r\n });\r\n }\r\n if (!splitNumStatus) {\r\n return this.$message.error('请选择退款数量');\r\n }\r\n refundPrice(this.orderId, this.formItem)\r\n .then((res) => {\r\n this.modals = false;\r\n this.$message.success(res.msg);\r\n this.$emit('submitFail');\r\n this.reset();\r\n this.splitSwitch = false;\r\n if (res.data.label) this.printImg(res.data.label);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n cancel(name) {\r\n this.modals = false;\r\n this.orderStatus = 0;\r\n this.sendPrice = 0;\r\n this.deliveryErrorMsg = '';\r\n this.splitSwitch = false;\r\n this.selectData = [];\r\n this.formItem.type = '1';\r\n this.$emit('clearId');\r\n this.reset();\r\n // this.$refs[name].resetFields();\r\n // this.formItem.type = '1';\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.express_temp_id {\r\n position: relative;\r\n}\r\n\r\n.express_temp_id button {\r\n position: absolute;\r\n top: 50%;\r\n left: 61%;\r\n padding: 0;\r\n border: none;\r\n background: none;\r\n transform: translateY(-50%);\r\n color: #57a3f3;\r\n}\r\n\r\n.ivu-btn-text:focus {\r\n box-shadow: none;\r\n}\r\n.trips {\r\n color: #ccc;\r\n font-size: 12px;\r\n}\r\n.product-data {\r\n display: flex;\r\n align-items: center;\r\n /* width: 200px; */\r\n}\r\n.product-data .image {\r\n width: 50px !important;\r\n height: 50px !important;\r\n margin-right: 10px;\r\n}\r\n.line2 {\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n}\r\n.from-box {\r\n position: relative;\r\n}\r\n.trip {\r\n position: absolute;\r\n bottom: -26px;\r\n left: 0;\r\n color: red;\r\n font-size: 12px;\r\n}\r\n.coumped {\r\n font-size: 12px;\r\n}\r\n</style>\r\n"]}]}