|
@@ -11,25 +11,6 @@
|
|
|
class="demo-ruleForm"
|
|
|
>
|
|
|
<el-row>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="费用承担方" prop="express_bear">
|
|
|
- <el-select
|
|
|
- clearable
|
|
|
- @change="handleChange"
|
|
|
- v-model="ruleForm.express_bear"
|
|
|
- placeholder="费用承担方"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="物流公司" prop="express_company">
|
|
|
<search-express
|
|
@@ -53,13 +34,23 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6" v-if="isShow">
|
|
|
<el-form-item label="物流费用" prop="express_fee">
|
|
|
- <el-input placeholder="物流费用" v-model="ruleForm.express_fee">
|
|
|
- <template slot="append">元</template>
|
|
|
- </el-input>
|
|
|
+ <digital-input
|
|
|
+ :values="ruleForm.express_fee"
|
|
|
+ :placeholder="'物流费用'"
|
|
|
+ :min="0"
|
|
|
+ :disabled="false"
|
|
|
+ :max="100000000000"
|
|
|
+ :position="'right'"
|
|
|
+ :precision="2"
|
|
|
+ :size="'mini'"
|
|
|
+ :controls="false"
|
|
|
+ :append="'元'"
|
|
|
+ @reschange="number_change($event, 'lead_time')"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="isShow ? 24 : 6" style="text-align: right">
|
|
|
+ <el-col :span="isShow ? 6 : 12" style="text-align: right">
|
|
|
<el-button type="primary" :size="'mini'" @click="submitForm" v-if="true"
|
|
|
>保 存</el-button
|
|
|
>
|
|
@@ -73,7 +64,7 @@ import resToken from "@/mixins/resToken";
|
|
|
import { isAlphanumeric, isnumber } from "@/utils/validate.js";
|
|
|
export default {
|
|
|
name: "purchase_check",
|
|
|
- props: ["id", "showModelThis", "newTime", "returnCode"],
|
|
|
+ props: ["id", "showModelThis", "newTime", "sitem"],
|
|
|
mixins: [resToken],
|
|
|
data() {
|
|
|
const validateexpress = (rule, value, callback) => {
|
|
@@ -87,15 +78,12 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
- const validateexpressFee = (rule, value, callback) => {
|
|
|
- if (value === "") {
|
|
|
- callback(new Error("物流费用不能为空!"));
|
|
|
+ const validate_num = (rule, value, callback) => {
|
|
|
+ const { required } = rule;
|
|
|
+ if (required && value === "") {
|
|
|
+ callback(new Error("不能为空!"));
|
|
|
} else {
|
|
|
- if (!isnumber(value)) {
|
|
|
- callback(new Error("物流费用只能为数字!"));
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
+ callback();
|
|
|
}
|
|
|
};
|
|
|
return {
|
|
@@ -113,6 +101,7 @@ export default {
|
|
|
label: "供应商承担",
|
|
|
},
|
|
|
],
|
|
|
+ returnCode: "",
|
|
|
code: "",
|
|
|
isShow: false,
|
|
|
loading: false,
|
|
@@ -122,23 +111,14 @@ export default {
|
|
|
hand_name: "", //交接人
|
|
|
ruleForm: {
|
|
|
post_company: "", //入参快递公司
|
|
|
-
|
|
|
- express_bear: "", //物流费用承担方
|
|
|
express_company: [], //物流公司
|
|
|
express_numbres: "", //物流单号
|
|
|
express_fee: 0, //物流费用
|
|
|
+ is_th: "",
|
|
|
},
|
|
|
rulesThis: this.rules,
|
|
|
// 验证规则
|
|
|
rules: {
|
|
|
- express_bear: [
|
|
|
- {
|
|
|
- // type: "array",
|
|
|
- required: true,
|
|
|
- trigger: "change",
|
|
|
- message: "请选择物流费用承担方",
|
|
|
- },
|
|
|
- ],
|
|
|
express_company: [
|
|
|
{
|
|
|
type: "array",
|
|
@@ -158,7 +138,7 @@ export default {
|
|
|
{
|
|
|
required: true,
|
|
|
trigger: "blur",
|
|
|
- validator: validateexpressFee,
|
|
|
+ validator: validate_num,
|
|
|
},
|
|
|
],
|
|
|
},
|
|
@@ -225,16 +205,19 @@ export default {
|
|
|
if (this.$refs.ruleForm) {
|
|
|
this.$refs.ruleForm.resetFields();
|
|
|
this.$refs.ruleForm.clearValidate();
|
|
|
- this.code = this.returnCode;
|
|
|
+ const { returnCode, is_th, company, post_code, post_fee } =
|
|
|
+ this.sitem;
|
|
|
+ this.is_th = is_th;
|
|
|
+ this.returnCode = returnCode;
|
|
|
this.ruleForm = {
|
|
|
- express_bear: "",
|
|
|
post_company: "", //入参快递公司
|
|
|
- express_company: [], //物流公司
|
|
|
- express_numbres: "", //物流单号
|
|
|
- express_fee: "0", //物流费用
|
|
|
- type: "",
|
|
|
- name: "",
|
|
|
+ express_company: company ? [company] : [], //物流公司
|
|
|
+ express_numbres: post_code || "", //物流单号
|
|
|
+ express_fee: post_fee || "0", //物流费用
|
|
|
+ is_th: is_th || "",
|
|
|
};
|
|
|
+ this.isShow = is_th !== "1";
|
|
|
+ this.rulesThis.express_fee[0].required = is_th !== "1";
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -244,10 +227,10 @@ export default {
|
|
|
let model = JSON.parse(JSON.stringify(this.ruleForm));
|
|
|
let _model = {
|
|
|
returnCode: this.returnCode, //退货单号
|
|
|
- is_th: model.express_bear, //费用承担方
|
|
|
company: model.post_company, //快递公司
|
|
|
post_code: model.express_numbres, //快递编号
|
|
|
post_fee: model.express_fee || 0, //快递费用
|
|
|
+ is_th: this.is_th,
|
|
|
};
|
|
|
const res = await asyncRequest.setdelivery(_model);
|
|
|
this.loading = false;
|
|
@@ -276,6 +259,10 @@ export default {
|
|
|
this.ruleForm.page = 1;
|
|
|
}
|
|
|
},
|
|
|
+ async number_change(e, key) {
|
|
|
+ this.ruleForm[key] = e + "" || "0";
|
|
|
+ this.$refs.ruleForm.validateField(key);
|
|
|
+ },
|
|
|
handleChange(e) {
|
|
|
if (e && e == "2") {
|
|
|
this.isShow = true;
|