d53789bbd19d2b005cdfd8b48fa5671a.json 16 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\\kefu\\components\\PriceChange.vue?vue&type=style&index=0&id=c0dbd7dc&scoped=true&lang=css","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\kefu\\components\\PriceChange.vue","mtime":1761185180096},{"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:DQppbnB1dCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBoZWlnaHQ6IDEwMCU7DQogIGJhY2tncm91bmQ6IG5vbmU7DQogIGNvbG9yOiBpbmhlcml0Ow0KICBvcGFjaXR5OiAxOw0KICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogY3VycmVudGNvbG9yOw0KICBmb250OiBpbmhlcml0Ow0KICBsaW5lLWhlaWdodDogaW5oZXJpdDsNCiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7DQogIHRleHQtYWxpZ246IGluaGVyaXQ7DQogIHRleHQtaW5kZW50OiBpbmhlcml0Ow0KICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDsNCiAgdGV4dC1zaGFkb3c6IGluaGVyaXQ7DQogIGJvcmRlcjogbm9uZTsNCn0NCi8qQGltcG9ydCAnLi4vLi4vLi4vc3R5bGVzL3Jlc2V0LmNzcyc7Ki8NCi5wcmljZUNoYW5nZSB7DQogIHBvc2l0aW9uOiBmaXhlZDsNCiAgd2lkdGg6IDUuOHJlbTsNCiAgaGVpZ2h0OiA2LjdyZW07DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIGJvcmRlci1yYWRpdXM6IDAuMXJlbTsNCiAgdG9wOiA1MCU7DQogIGxlZnQ6IDUwJTsNCiAgbWFyZ2luLWxlZnQ6IC0yLjlyZW07DQogIG1hcmdpbi10b3A6IC0zLjM1cmVtOw0KICB6LWluZGV4OiA5OTsNCiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7DQogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7DQogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOw0KICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7DQogIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7DQogIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTsNCiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7DQogIHRyYW5zZm9ybTogc2NhbGUoMCk7DQogIG9wYWNpdHk6IDA7DQp9DQoucHJpY2VDaGFuZ2Uub24gew0KICBvcGFjaXR5OiAxOw0KICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7DQp9DQoucHJpY2VDaGFuZ2UgLnByaWNlVGl0bGUgew0KICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvcHJpY2V0aXRsZS5qcGcnKSBuby1yZXBlYXQ7DQogIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOw0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiAxLjZyZW07DQogIGJvcmRlci1yYWRpdXM6IDAuMXJlbSAwLjFyZW0gMCAwOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQtc2l6ZTogMC40cmVtOw0KICBjb2xvcjogI2ZmZjsNCiAgbGluZS1oZWlnaHQ6IDEuNnJlbTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLnByaWNlQ2hhbmdlIC5wcmljZVRpdGxlIC5pY29uZm9udFlJIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBmb250LXNpemU6IDAuNHJlbTsNCiAgcmlnaHQ6IDAuMjZyZW07DQogIHRvcDogMC4yM3JlbTsNCiAgd2lkdGg6IDAuNHJlbTsNCiAgaGVpZ2h0OiAwLjRyZW07DQogIGxpbmUtaGVpZ2h0OiAwLjRyZW07DQp9DQoucHJpY2VDaGFuZ2UgLmxpc3RDaGFuZ2Ugew0KICBwYWRkaW5nOiAwIDAuNHJlbTsNCn0NCi5wcmljZUNoYW5nZSAubGlzdENoYW5nZSAuaXRlbSB7DQogIGhlaWdodDogMS4wM3JlbTsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2UzZTM7DQogIGZvbnQtc2l6ZTogMC4zMnJlbTsNCiAgY29sb3I6ICMzMzM7DQp9DQoucHJpY2VDaGFuZ2UgLmxpc3RDaGFuZ2UgLml0ZW0gLm1vbmV5IHsNCiAgY29sb3I6ICM2NjY7DQogIHdpZHRoOiAzcmVtOw0KICB0ZXh0LWFsaWduOiByaWdodDsNCn0NCi5wcmljZUNoYW5nZSAubGlzdENoYW5nZSAuaXRlbSAubW9uZXkgLmljb25mb250WUkgew0KICBmb250LXNpemU6IDAuMzJyZW07DQogIG1hcmdpbi1sZWZ0OiAwLjJyZW07DQp9DQoucHJpY2VDaGFuZ2UgLmxpc3RDaGFuZ2UgLml0ZW0gLm1vbmV5IGlucHV0IHsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMTAwJTsNCiAgdGV4dC1hbGlnbjogcmlnaHQ7DQogIGNvbG9yOiAjY2NjOw0KICBib3JkZXI6IG5vbmU7DQp9DQoucHJpY2VDaGFuZ2UgLmxpc3RDaGFuZ2UgLml0ZW0gLm1vbmV5IGlucHV0Lm9uIHsNCiAgY29sb3I6ICM2NjY7DQp9DQoucHJpY2VDaGFuZ2UgLm1vZGlmeSB7DQogIGZvbnQtc2l6ZTogMC4zMnJlbTsNCiAgY29sb3I6ICNmZmY7DQogIHdpZHRoOiA0LjlyZW07DQogIGhlaWdodDogMC45cmVtOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGxpbmUtaGVpZ2h0OiAwLjlyZW07DQogIGJvcmRlci1yYWRpdXM6IDAuNDVyZW07DQogIGJhY2tncm91bmQtY29sb3I6ICMyMjkxZjg7DQogIG1hcmdpbjogMC41M3JlbSBhdXRvIDAgYXV0bzsNCn0NCi5wcmljZUNoYW5nZSAubW9kaWZ5MSB7DQogIGZvbnQtc2l6ZTogMC4zMnJlbTsNCiAgY29sb3I6ICMzMTJiMmI7DQogIHdpZHRoOiA0LjlyZW07DQogIGhlaWdodDogMC45cmVtOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGxpbmUtaGVpZ2h0OiAwLjlyZW07DQogIGJvcmRlci1yYWRpdXM6IDAuNDVyZW07DQogIGJhY2tncm91bmQtY29sb3I6ICNlZWU7DQogIG1hcmdpbjogMC4zcmVtIGF1dG8gMCBhdXRvOw0KfQ0KLnByaWNlQ2hhbmdlIC5saXN0Q2hhbmdlIHRleHRhcmVhIHsNCiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMnJlbTsNCiAgbWFyZ2luLXRvcDogMC41cmVtOw0KICBib3JkZXItcmFkaXVzOiAwLjFyZW07DQogIGNvbG9yOiAjMzMzOw0KICBwYWRkaW5nOiAwLjJyZW07DQogIGZvbnQtc2l6ZTogMC4zcmVtOw0KfQ0K"},{"version":3,"sources":["PriceChange.vue"],"names":[],"mappings":";AA2LA;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":"PriceChange.vue","sourceRoot":"src/pages/kefu/components","sourcesContent":["<template>\r\n <div>\r\n <div class=\"priceChange\" :class=\"change === true ? 'on' : ''\">\r\n <div class=\"priceTitle\">\r\n {{ status === 0 ? (orderInfo.refund_status === 1 ? '立即退款' : '一键改价') : '订单备注' }}\r\n <span class=\"iconfontYI icon-guanbi\" v-db-click @click=\"close\"></span>\r\n </div>\r\n <div class=\"listChange\" v-if=\"status === 0\">\r\n <div class=\"item acea-row row-between-wrapper\" v-if=\"orderInfo.refund_status === 0\">\r\n <div>商品总价(¥)</div>\r\n <div class=\"money\">{{ orderInfo.total_price }}<span class=\"iconfontYI icon-suozi\"></span></div>\r\n </div>\r\n <div class=\"item acea-row row-between-wrapper\" v-if=\"orderInfo.refund_status === 0\">\r\n <div>原始邮费(¥)</div>\r\n <div class=\"money\">{{ orderInfo.pay_postage }}<span class=\"iconfontYI icon-suozi\"></span></div>\r\n </div>\r\n <div class=\"item acea-row row-between-wrapper\" v-if=\"orderInfo.refund_status === 0\">\r\n <div>实际支付(¥)</div>\r\n <div class=\"money\">\r\n <input type=\"text\" v-model=\"price\" :class=\"focus === true ? 'on' : ''\" @focus=\"priceChange\" />\r\n </div>\r\n </div>\r\n <div class=\"item acea-row row-between-wrapper\" v-if=\"orderInfo.refund_status === 1\">\r\n <div>实际支付(¥)</div>\r\n <div class=\"money\">{{ orderInfo.pay_price }}<span class=\"iconfontYI icon-suozi\"></span></div>\r\n </div>\r\n <div class=\"item acea-row row-between-wrapper\" v-if=\"orderInfo.refund_status === 1\">\r\n <div>退款金额(¥)</div>\r\n <div class=\"money\">\r\n <input type=\"text\" v-model=\"refund_price\" :class=\"focus === true ? 'on' : ''\" @focus=\"priceChange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"listChange\" v-else>\r\n <textarea\r\n :placeholder=\"orderInfo.remark ? orderInfo.remark : '请填写备注信息...'\"\r\n v-model=\"remark\"\r\n maxlength=\"100\"\r\n ></textarea>\r\n </div>\r\n <div class=\"modify\" v-db-click @click=\"save\">\r\n {{ orderInfo.refund_status === 0 || status === 1 ? '立即修改' : '确认退款' }}\r\n </div>\r\n <div class=\"modify1\" v-db-click @click=\"refuse\" v-if=\"orderInfo.refund_status === 1 && status === 0\">\r\n 拒绝退款\r\n </div>\r\n </div>\r\n <div class=\"maskModel\" @touchmove.prevent v-show=\"change === true\"></div>\r\n </div>\r\n</template>\r\n<script>\r\nimport { required, num } from '@/utils/validate';\r\nimport { validatorDefaultCatch } from '@/libs/dialog';\r\nimport { orderRemark, editPriceApi, orderRefundApi } from '@/api/kefu';\r\nexport default {\r\n name: 'PriceChange',\r\n components: {},\r\n props: {\r\n change: Boolean,\r\n orderInfo: {\r\n type: Object,\r\n default: null,\r\n },\r\n status: {\r\n type: Number,\r\n default: 0,\r\n },\r\n },\r\n data: function () {\r\n return {\r\n focus: false,\r\n price: 0,\r\n refund_price: 0,\r\n remark: '',\r\n };\r\n },\r\n watch: {\r\n orderInfo: function () {\r\n this.price = this.orderInfo.pay_price;\r\n this.refund_price = this.orderInfo.pay_price;\r\n this.remark = this.orderInfo.remark;\r\n },\r\n },\r\n methods: {\r\n priceChange: function () {\r\n this.focus = true;\r\n },\r\n close: function () {\r\n this.price = this.orderInfo.pay_price;\r\n this.$emit('closeChange', false);\r\n },\r\n save() {\r\n this.savePrice({\r\n price: this.price,\r\n refund_price: this.refund_price,\r\n type: 1,\r\n remark: this.remark,\r\n id: this.orderInfo.id,\r\n order_id: this.orderInfo.order_id,\r\n });\r\n },\r\n async savePrice(opt) {\r\n let that = this,\r\n data = {},\r\n price = opt.price,\r\n refund_price = opt.refund_price,\r\n refund_status = that.orderInfo.refund_status,\r\n remark = opt.remark;\r\n if (that.status == 0 && refund_status === 0) {\r\n try {\r\n await this.$validator({\r\n price: [required(required.message('金额')), num(num.message('金额'))],\r\n }).validate({ price });\r\n } catch (e) {\r\n return validatorDefaultCatch(e);\r\n }\r\n data.total_price = this.orderInfo.total_price;\r\n data.total_postage = this.orderInfo.total_price;\r\n data.pay_postage = this.orderInfo.pay_postage;\r\n data.gain_integral = this.orderInfo.gain_integral;\r\n data.pay_price = opt.price;\r\n data.order_id = opt.order_id;\r\n editPriceApi(opt.id, data)\r\n .then(() => {\r\n this.$emit('closechange', false);\r\n that.$dialog.success('改价成功');\r\n })\r\n .catch((error) => {\r\n that.$dialog.error(error.msg);\r\n });\r\n } else if (that.status == 0 && refund_status === 1) {\r\n try {\r\n await this.$validator({\r\n refund_price: [required(required.message('金额')), num(num.message('金额'))],\r\n }).validate({ refund_price });\r\n } catch (e) {\r\n return validatorDefaultCatch(e);\r\n }\r\n data.price = opt.refund_price;\r\n data.type = opt.type;\r\n data.order_id = opt.order_id;\r\n orderRefundApi(data).then(\r\n (res) => {\r\n this.$emit('closechange', false);\r\n that.$dialog.success('操作成功');\r\n },\r\n (err) => {\r\n this.$emit('closechange', false);\r\n that.$dialog.error(err.msg);\r\n },\r\n );\r\n } else {\r\n try {\r\n await this.$validator({\r\n remark: [required(required.message('备注'))],\r\n }).validate({ remark });\r\n } catch (e) {\r\n return validatorDefaultCatch(e);\r\n }\r\n data.remark = remark;\r\n data.order_id = opt.order_id;\r\n orderRemark(data).then(\r\n (res) => {\r\n this.$emit('closechange', false);\r\n that.$dialog.success('提交成功');\r\n },\r\n (err) => {\r\n this.$emit('closechange', false);\r\n that.$dialog.error(err.msg);\r\n },\r\n );\r\n }\r\n },\r\n refuse() {\r\n this.savePrice({\r\n price: this.price,\r\n refund_price: this.refund_price,\r\n type: 2,\r\n remark: this.remark,\r\n id: this.orderInfo.id,\r\n order_id: this.orderInfo.order_id,\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n<style scoped>\r\ninput {\r\n display: block;\r\n height: 100%;\r\n background: none;\r\n color: inherit;\r\n opacity: 1;\r\n -webkit-text-fill-color: currentcolor;\r\n font: inherit;\r\n line-height: inherit;\r\n letter-spacing: inherit;\r\n text-align: inherit;\r\n text-indent: inherit;\r\n text-transform: inherit;\r\n text-shadow: inherit;\r\n border: none;\r\n}\r\n/*@import '../../../styles/reset.css';*/\r\n.priceChange {\r\n position: fixed;\r\n width: 5.8rem;\r\n height: 6.7rem;\r\n background-color: #fff;\r\n border-radius: 0.1rem;\r\n top: 50%;\r\n left: 50%;\r\n margin-left: -2.9rem;\r\n margin-top: -3.35rem;\r\n z-index: 99;\r\n transition: all 0.3s ease-in-out 0s;\r\n -webkit-transition: all 0.3s ease-in-out 0s;\r\n -o-transition: all 0.3s ease-in-out 0s;\r\n -moz-transition: all 0.3s ease-in-out 0s;\r\n -webkit-transform: scale(0);\r\n -o-transform: scale(0);\r\n -moz-transform: scale(0);\r\n -ms-transform: scale(0);\r\n transform: scale(0);\r\n opacity: 0;\r\n}\r\n.priceChange.on {\r\n opacity: 1;\r\n transform: scale(1);\r\n -webkit-transform: scale(1);\r\n -o-transform: scale(1);\r\n -moz-transform: scale(1);\r\n -ms-transform: scale(1);\r\n}\r\n.priceChange .priceTitle {\r\n background: url('../../../assets/images/pricetitle.jpg') no-repeat;\r\n background-size: 100% 100%;\r\n width: 100%;\r\n height: 1.6rem;\r\n border-radius: 0.1rem 0.1rem 0 0;\r\n text-align: center;\r\n font-size: 0.4rem;\r\n color: #fff;\r\n line-height: 1.6rem;\r\n position: relative;\r\n}\r\n.priceChange .priceTitle .iconfontYI {\r\n position: absolute;\r\n font-size: 0.4rem;\r\n right: 0.26rem;\r\n top: 0.23rem;\r\n width: 0.4rem;\r\n height: 0.4rem;\r\n line-height: 0.4rem;\r\n}\r\n.priceChange .listChange {\r\n padding: 0 0.4rem;\r\n}\r\n.priceChange .listChange .item {\r\n height: 1.03rem;\r\n border-bottom: 1px solid #e3e3e3;\r\n font-size: 0.32rem;\r\n color: #333;\r\n}\r\n.priceChange .listChange .item .money {\r\n color: #666;\r\n width: 3rem;\r\n text-align: right;\r\n}\r\n.priceChange .listChange .item .money .iconfontYI {\r\n font-size: 0.32rem;\r\n margin-left: 0.2rem;\r\n}\r\n.priceChange .listChange .item .money input {\r\n width: 100%;\r\n height: 100%;\r\n text-align: right;\r\n color: #ccc;\r\n border: none;\r\n}\r\n.priceChange .listChange .item .money input.on {\r\n color: #666;\r\n}\r\n.priceChange .modify {\r\n font-size: 0.32rem;\r\n color: #fff;\r\n width: 4.9rem;\r\n height: 0.9rem;\r\n text-align: center;\r\n line-height: 0.9rem;\r\n border-radius: 0.45rem;\r\n background-color: #2291f8;\r\n margin: 0.53rem auto 0 auto;\r\n}\r\n.priceChange .modify1 {\r\n font-size: 0.32rem;\r\n color: #312b2b;\r\n width: 4.9rem;\r\n height: 0.9rem;\r\n text-align: center;\r\n line-height: 0.9rem;\r\n border-radius: 0.45rem;\r\n background-color: #eee;\r\n margin: 0.3rem auto 0 auto;\r\n}\r\n.priceChange .listChange textarea {\r\n border: 1px solid #eee;\r\n width: 100%;\r\n height: 2rem;\r\n margin-top: 0.5rem;\r\n border-radius: 0.1rem;\r\n color: #333;\r\n padding: 0.2rem;\r\n font-size: 0.3rem;\r\n}\r\n</style>\r\n"]}]}