|
|
@@ -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;
|