|
@@ -55,7 +55,7 @@
|
|
|
:size="'mini'"
|
|
|
:controls="false"
|
|
|
:append="'%'"
|
|
|
- @reschange="order_rate_change"
|
|
|
+ @reschange="rate_change($event, 'order_rate')"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="成本→售价" prop="sale_rate">
|
|
@@ -69,13 +69,14 @@
|
|
|
:size="'mini'"
|
|
|
:controls="false"
|
|
|
:append="'%'"
|
|
|
- @reschange="sale_rate_change"
|
|
|
+ @reschange="rate_change($event, 'sale_rate')"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="最低毛利" prop="lower_rate">
|
|
|
+
|
|
|
+ <el-form-item label="主管利率" prop="rate">
|
|
|
<digital-input
|
|
|
- :values="ruleForm.lower_rate"
|
|
|
- :placeholder="'最低毛利'"
|
|
|
+ :values="ruleForm.rate"
|
|
|
+ :placeholder="'主管利率'"
|
|
|
:min="-100"
|
|
|
:max="100000000000"
|
|
|
:position="'right'"
|
|
@@ -83,13 +84,27 @@
|
|
|
:size="'mini'"
|
|
|
:controls="false"
|
|
|
:append="'%'"
|
|
|
- @reschange="lower_rate_change"
|
|
|
+ @reschange="rate_change($event, 'rate')"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="单品修改下限" prop="rate">
|
|
|
+ <el-form-item label="财务利率" prop="money_rate">
|
|
|
<digital-input
|
|
|
- :values="ruleForm.rate"
|
|
|
- :placeholder="'单品修改下限'"
|
|
|
+ :values="ruleForm.money_rate"
|
|
|
+ :placeholder="'财务利率'"
|
|
|
+ :min="-100"
|
|
|
+ :max="100000000000"
|
|
|
+ :position="'right'"
|
|
|
+ :precision="2"
|
|
|
+ :size="'mini'"
|
|
|
+ :controls="false"
|
|
|
+ :append="'%'"
|
|
|
+ @reschange="rate_change($event, 'money_rate')"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目最低毛利" prop="low_rate">
|
|
|
+ <digital-input
|
|
|
+ :values="ruleForm.low_rate"
|
|
|
+ :placeholder="'项目最低毛利'"
|
|
|
:min="-100"
|
|
|
:max="100000000000"
|
|
|
:position="'right'"
|
|
@@ -97,7 +112,21 @@
|
|
|
:size="'mini'"
|
|
|
:controls="false"
|
|
|
:append="'%'"
|
|
|
- @reschange="rate_change"
|
|
|
+ @reschange="rate_change($event, 'low_rate')"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="BOSS毛利率" prop="lower_rate">
|
|
|
+ <digital-input
|
|
|
+ :values="ruleForm.lower_rate"
|
|
|
+ :placeholder="'BOSS毛利率'"
|
|
|
+ :min="-100"
|
|
|
+ :max="100000000000"
|
|
|
+ :position="'right'"
|
|
|
+ :precision="2"
|
|
|
+ :size="'mini'"
|
|
|
+ :controls="false"
|
|
|
+ :append="'%'"
|
|
|
+ @reschange="rate_change($event, 'lower_rate')"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -126,30 +155,51 @@ export default {
|
|
|
props: ["showModel", "id", "sitem", "titleList"],
|
|
|
mixins: [resToken],
|
|
|
data() {
|
|
|
+ const validate_rate = (rule, value, callback) => {
|
|
|
+ const { required } = rule;
|
|
|
+ if (value === "" && required) {
|
|
|
+ callback(new Error("主管利率毛利率不能为空!"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ };
|
|
|
const validate_order_rate = (rule, value, callback) => {
|
|
|
- if (value === "") {
|
|
|
+ const { required } = rule;
|
|
|
+ if (value === "" && required) {
|
|
|
callback(new Error("预算→成本毛利率不能为空!"));
|
|
|
} else {
|
|
|
callback();
|
|
|
}
|
|
|
};
|
|
|
const validate_sale_rate = (rule, value, callback) => {
|
|
|
- if (value === "") {
|
|
|
+ const { required } = rule;
|
|
|
+ if (value === "" && required) {
|
|
|
callback(new Error("成本→售价毛利率不能为空!"));
|
|
|
} else {
|
|
|
callback();
|
|
|
}
|
|
|
};
|
|
|
+
|
|
|
const validate_lower_rate = (rule, value, callback) => {
|
|
|
- if (value === "") {
|
|
|
- callback(new Error("最低毛利率不能为空!"));
|
|
|
+ const { required } = rule;
|
|
|
+ if (value === "" && required) {
|
|
|
+ callback(new Error("BOSS毛利率不能为空!"));
|
|
|
} else {
|
|
|
callback();
|
|
|
}
|
|
|
};
|
|
|
- const validate_rate = (rule, value, callback) => {
|
|
|
- if (value === "") {
|
|
|
- callback(new Error("单品修改下限毛利率不能为空!"));
|
|
|
+ const validate_low_rate = (rule, value, callback) => {
|
|
|
+ const { required } = rule;
|
|
|
+ if (value === "" && required) {
|
|
|
+ callback(new Error("项目最低毛利率不能为空!"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ const validate_money_rate = (rule, value, callback) => {
|
|
|
+ const { required } = rule;
|
|
|
+ if (value === "" && required) {
|
|
|
+ callback(new Error("财务毛利率不能为空!"));
|
|
|
} else {
|
|
|
callback();
|
|
|
}
|
|
@@ -165,6 +215,8 @@ export default {
|
|
|
sale_rate: "0",
|
|
|
lower_rate: "0",
|
|
|
rate: "0",
|
|
|
+ low_rate: "0",
|
|
|
+ money_rate: "0",
|
|
|
},
|
|
|
rulesThis: this.rules,
|
|
|
rules: {
|
|
@@ -175,9 +227,16 @@ export default {
|
|
|
{ required: true, validator: validate_sale_rate, trigger: "blur" },
|
|
|
],
|
|
|
lower_rate: [
|
|
|
- { required: true, validator: validate_lower_rate, trigger: "blur" },
|
|
|
+ { required: false, validator: validate_lower_rate, trigger: "blur" },
|
|
|
],
|
|
|
rate: [{ required: true, validator: validate_rate, trigger: "blur" }],
|
|
|
+
|
|
|
+ low_rate: [
|
|
|
+ { required: true, validator: validate_low_rate, trigger: "blur" },
|
|
|
+ ],
|
|
|
+ money_rate: [
|
|
|
+ { required: true, validator: validate_money_rate, trigger: "blur" },
|
|
|
+ ],
|
|
|
},
|
|
|
};
|
|
|
},
|
|
@@ -222,6 +281,8 @@ export default {
|
|
|
lower_rate,
|
|
|
rate,
|
|
|
fund_code,
|
|
|
+ low_rate,
|
|
|
+ money_rate,
|
|
|
} = this.sitem;
|
|
|
this.ruleForm = {
|
|
|
pid: pid || "",
|
|
@@ -232,31 +293,22 @@ export default {
|
|
|
sale_rate: sale_rate || "0",
|
|
|
lower_rate: lower_rate || "0",
|
|
|
rate: rate || "0",
|
|
|
+ low_rate: low_rate || "0",
|
|
|
+ money_rate: money_rate || "0",
|
|
|
};
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- order_rate_change(e) {
|
|
|
- this.ruleForm.order_rate = e + "";
|
|
|
- this.$refs.ruleForm.validateField("order_rate");
|
|
|
- },
|
|
|
- sale_rate_change(e) {
|
|
|
- this.ruleForm.sale_rate = e + "";
|
|
|
- this.$refs.ruleForm.validateField("sale_rate");
|
|
|
- },
|
|
|
- lower_rate_change(e) {
|
|
|
- this.ruleForm.lower_rate = e + "";
|
|
|
- this.$refs.ruleForm.validateField("lower_rate");
|
|
|
- },
|
|
|
- rate_change(e) {
|
|
|
- this.ruleForm.rate = e + "";
|
|
|
- this.$refs.ruleForm.validateField("rate");
|
|
|
+ rate_change(e, key) {
|
|
|
+ this.ruleForm[key] = e + "";
|
|
|
+ this.$refs.ruleForm.validateField(key);
|
|
|
},
|
|
|
|
|
|
async initData() {
|
|
|
- const res = await asyncRequest.detail({ id: this.sitem.id });
|
|
|
- if (res && res.code === 0 && res.data) {
|
|
|
- console.log(res.data);
|
|
|
+ const { code, data, message } = await asyncRequest.detail({
|
|
|
+ id: this.sitem.id,
|
|
|
+ });
|
|
|
+ if (code === 0) {
|
|
|
const {
|
|
|
pid,
|
|
|
id,
|
|
@@ -266,7 +318,9 @@ export default {
|
|
|
lower_rate,
|
|
|
rate,
|
|
|
fund_code,
|
|
|
- } = res.data;
|
|
|
+ low_rate,
|
|
|
+ money_rate,
|
|
|
+ } = data;
|
|
|
this.ruleForm = {
|
|
|
pid: pid || "",
|
|
|
id: id || "",
|
|
@@ -276,11 +330,13 @@ export default {
|
|
|
sale_rate: sale_rate || "0",
|
|
|
lower_rate: lower_rate || "0",
|
|
|
rate: rate || "0",
|
|
|
+ low_rate: low_rate || "0",
|
|
|
+ money_rate: money_rate || "0",
|
|
|
};
|
|
|
- } else if (res && res.code >= 100 && res.code <= 104) {
|
|
|
+ } else if (code >= 100 && code <= 104) {
|
|
|
await this.logout();
|
|
|
} else {
|
|
|
- this.$message.warning(res.message);
|
|
|
+ this.$message.warning(message);
|
|
|
}
|
|
|
},
|
|
|
async submitForm() {
|