hurx 2 주 전
부모
커밋
633f01c3c2
2개의 변경된 파일38개의 추가작업 그리고 12개의 파일을 삭제
  1. 2 1
      src/views/order/saleOrder/addOrderStatusLogDrawer.vue
  2. 36 11
      src/views/order/saleOrder/editDeliverDialog.vue

+ 2 - 1
src/views/order/saleOrder/addOrderStatusLogDrawer.vue

@@ -180,7 +180,7 @@ const rules = {
 const openDrawer = (orderData?: any, currentOrderStatus?: string) => {
   if (orderData) {
     form.orderNo = orderData.orderNo || '';
-    form.orderId = orderData.id;
+    form.orderId = orderData.orderId || '';
     form.shipper = orderData.deliverMan || '';
     form.courierPhone = orderData.phone || '';
     form.packageNo = orderData.deliverCode || '';
@@ -223,6 +223,7 @@ const resetForm = () => {
   form.statusName = '';
   form.logisticNos = '';
   form.packageNo = '';
+  form.orderId = undefined;
   form.shipper = '';
   form.operateTime = '';
   form.courierPhone = '';

+ 36 - 11
src/views/order/saleOrder/editDeliverDialog.vue

@@ -15,7 +15,12 @@
           </el-form-item>
         </el-col>
 
-        <el-col :span="12">
+        <el-col :span="12" v-if="form.deliverMethod === '0'">
+          <el-form-item label="送货人" prop="deliverMan">
+            <el-input v-model="form.deliverMan" placeholder="请输入送货人姓名" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12" v-if="form.deliverMethod === '1'">
           <el-form-item label="物流公司名称" prop="logisticsCompanyId">
             <el-select
               v-model="form.logisticsCompanyId"
@@ -32,24 +37,29 @@
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
-          <el-form-item label="物流单号" prop="logisticNo">
+          <el-form-item v-if="form.deliverMethod === '1'" label="物流单号" prop="logisticNo">
             <el-input v-model="form.logisticNo" placeholder="请输入物流单号" disabled />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="发货方式" prop="deliverMethod">
-            <el-radio-group v-model="form.deliverMethod" disabled>
-              <el-radio v-for="dict in deliver_method" :key="dict.value" :value="dict.value">{{ dict.label }}</el-radio>
+            <el-radio-group v-model="form.deliverMethod">
+              <el-radio v-for="dict in deliver_method" :key="dict.value" :value="dict.value" disabled>{{ dict.label }}</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
-        <el-col :span="12">
+        <el-col :span="12" v-if="form.deliverMethod === '1'">
           <el-form-item label="收货人手机" prop="consigneePhone">
             <el-input v-model="form.consigneePhone" placeholder="请输入收货人手机" />
           </el-form-item>
         </el-col>
+        <el-col :span="12" v-if="form.deliverMethod === '0'">
+          <el-form-item label="手机号码" prop="phone">
+            <el-input v-model="form.phone" placeholder="请输入手机号码" />
+          </el-form-item>
+        </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="24">
@@ -165,18 +175,31 @@ const form = reactive<OrderDeliverForm>({
   orderDeliverProducts: []
 });
 
+// 动态校验规则
 // 动态校验规则
 const rules = computed(() => {
   const baseRules: any = {
     deliverMethod: [{ required: true, message: '请选择发货方式', trigger: 'change' }]
   };
 
-  baseRules.logisticsCompanyId = [{ required: true, message: '请选择物流公司', trigger: 'change' }];
-  baseRules.logisticNo = [{ required: true, message: '请输入物流单号', trigger: 'blur' }];
-  baseRules.consigneePhone = [
-    { required: true, message: '请输入收货人手机号码', trigger: 'blur' },
-    { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
-  ];
+  // 第三方物流(deliverMethod === '1')
+  if (form.deliverMethod === '1') {
+    baseRules.logisticsCompanyId = [{ required: true, message: '请选择物流公司', trigger: 'change' }];
+    baseRules.logisticNo = [{ required: true, message: '请输入物流单号', trigger: 'blur' }];
+    baseRules.consigneePhone = [
+      { required: true, message: '请输入收货人手机号码', trigger: 'blur' },
+      { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
+    ];
+  }
+
+  // 自有物流(deliverMethod === '0')
+  if (form.deliverMethod === '0') {
+    baseRules.deliverMan = [{ required: true, message: '请输入送货人姓名', trigger: 'blur' }];
+    baseRules.phone = [
+      { required: true, message: '请输入手机号码', trigger: 'blur' },
+      { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
+    ];
+  }
 
   return baseRules;
 });
@@ -297,6 +320,8 @@ const loadDeliverInfoById = async (deliverId: string | number) => {
       form.logisticsCompanyId = deliverData.logisticsCompanyId;
       form.logisticsCompanyCode = deliverData.logisticsCompanyCode;
       form.logisticNo = deliverData.logisticNo;
+      form.deliverMan = deliverData.deliverMan;
+      form.phone = deliverData.phone;
       form.deliverMethod = deliverData.deliverMethod || '1';
       form.consigneePhone = deliverData.consigneePhone;
       form.deliverRemark = deliverData.deliverRemark;