Przeglądaj źródła

Merge branch 'v5.1.0dev' of https://gitee.com/ZhongBangKeJi/CRMEB into v5.1.0dev

liaofei 2 lat temu
rodzic
commit
fabf4ef1ff

+ 11 - 0
template/admin/src/api/order.js

@@ -513,6 +513,17 @@ export function orderPrice(data) {
     data,
   });
 }
+/**
+ * @description 取消商家寄件
+ * @param {Object} param data {Object} 传值参数
+ */
+export function shipmentCancelOrder(id, data) {
+  return request({
+    url: `order/shipment_cancel_order/${id}`,
+    method: 'post',
+    data: data,
+  });
+}
 /**
  * @description 重新执行
  * @param {Object} param data {Object} 传值参数

+ 10 - 17
template/admin/src/pages/order/orderList/components/tableList.vue

@@ -78,7 +78,7 @@
           "
           >发送货</a
         >
-        <a v-else-if="row.is_stock_up" @click="changeMenu(row, '13')">取消商家寄件</a>
+        <a v-else-if="row.is_stock_up" @click="shipmentClear(row)">取消商家寄件</a>
         <a @click="delivery(row)" v-if="row._status === 4 && !row.split.length">配送信息</a>
         <a
           @click="bindWrite(row)"
@@ -172,6 +172,8 @@
     <details-from ref="details" :orderDatalist="orderDatalist" :orderId="orderId"></details-from>
     <!-- 备注 -->
     <order-remark ref="remarks" :orderId="orderId" @submitFail="submitFail"></order-remark>
+    <!-- 取消寄件 -->
+    <order-shipment ref="shipment" :orderId="orderId" @submitFail="submitFail"></order-shipment>
     <!-- 记录 -->
     <order-record ref="record"></order-record>
     <!-- 发送货 -->
@@ -211,6 +213,7 @@ import detailsFrom from '../handle/orderDetails';
 import orderRemark from '../handle/orderRemark';
 import orderRecord from '../handle/orderRecord';
 import orderSend from '../handle/orderSend';
+import orderShipment from '../handle/orderShipment';
 
 export default {
   name: 'table_list',
@@ -221,6 +224,7 @@ export default {
     orderRemark,
     orderRecord,
     orderSend,
+    orderShipment,
   },
   data() {
     return {
@@ -426,22 +430,6 @@ export default {
         case '12':
           this.printImg(row.kuaidi_label);
           break;
-        case '13':
-          this.delfromData = {
-            title: '取消寄件',
-            info: '您确认取消商家寄件吗?',
-            url: `/order/shipment_cancel_order/${row.id}`,
-            method: 'post',
-          };
-          this.$modalSure(this.delfromData)
-            .then((res) => {
-              this.$Message.success(res.msg);
-              this.getList();
-            })
-            .catch((res) => {
-              this.$Message.error(res.msg);
-            });
-          break;
         default:
           this.delfromData = {
             title: '删除订单',
@@ -453,6 +441,11 @@ export default {
           this.delOrder(row, this.delfromData);
       }
     },
+    shipmentClear(row) {
+      console.log(this.$refs.shipment);
+      this.orderId = row.id;
+      this.$refs.shipment.modals = true;
+    },
     printImg(url) {
       printJS({
         printable: url,

+ 73 - 0
template/admin/src/pages/order/orderList/handle/orderShipment.vue

@@ -0,0 +1,73 @@
+<template>
+  <Modal v-model="modals" scrollable title="取消寄件" class="order_box" :closable="false">
+    <Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80" @submit.native.prevent>
+      <FormItem label="备注:" prop="msg">
+        <Input
+          v-model="formValidate.msg"
+          :maxlength="200"
+          show-word-limit
+          type="textarea"
+          placeholder="取消寄件备注"
+          style="width: 100%"
+        />
+      </FormItem>
+    </Form>
+    <div slot="footer">
+      <Button type="primary" @click="putRemark('formValidate')">提交</Button>
+      <Button @click="cancel('formValidate')">取消</Button>
+    </div>
+  </Modal>
+</template>
+
+<script>
+import { shipmentCancelOrder } from '@/api/order';
+export default {
+  name: 'orderMark',
+  data() {
+    return {
+      formValidate: {
+        msg: '',
+      },
+      modals: false,
+      ruleValidate: {
+        msg: [
+          { required: true, message: '请输入备注信息', trigger: 'blur' },
+          // { type: 'string', min: 20, message: 'Introduce no less than 20 words', trigger: 'blur' }
+        ],
+      },
+    };
+  },
+  props: {
+    orderId: Number,
+  },
+  methods: {
+    cancel(name) {
+      this.modals = false;
+      this.$refs[name].resetFields();
+    },
+    putRemark(name) {
+      let data = {
+        msg: this.formValidate.msg,
+      };
+      this.$refs[name].validate((valid) => {
+        if (valid) {
+          shipmentCancelOrder(this.orderId, data)
+            .then(async (res) => {
+              this.$Message.success(res.msg);
+              this.modals = false;
+              this.$refs[name].resetFields();
+              this.$emit('submitFail');
+            })
+            .catch((res) => {
+              this.$Message.error(res.msg);
+            });
+        } else {
+          this.$Message.warning('请填写备注信息');
+        }
+      });
+    },
+  },
+};
+</script>
+
+<style scoped></style>