Browse Source

修复编辑公司占比计算

dev-xx
马远东 1 year ago
parent
commit
250c9eea7a
  1. 84
      src/views/aftersales/aftersalesWorkOrdermodify.vue

84
src/views/aftersales/aftersalesWorkOrdermodify.vue

@ -312,14 +312,22 @@
</div>
<div class="maxBox el_zb">
<span class="title">占比:</span>
<el-input
<el-input-number
v-model="item.responsibilityRatio"
:controls="false"
placeholder="占比"
:disabled="RouterState == 'Kfend'"
:rows="2"
@input="ProportionInput"
:max="item.ProportionMax"
@input="CompanyProportionInput(item)"
/>
<span>%</span>
</div>
<div class="maxBox">
<el-form-item label="三方责任人">
<el-input v-model="item.tripartite" placeholder="请输入三方责任人" />
</el-form-item>
</div>
<div class="maxBox">
<span class="title">说明:</span>
@ -343,7 +351,7 @@
</div>
</div>
<div class="Proportion">
<span class="title">公司占比:{{ companyProportion }}</span>
<span class="title">公司占比:{{ companyProportion }}%</span>
</div>
</div>
</el-tab-pane>
@ -696,7 +704,7 @@ const valueStrictly = ref();
const routerID = ref(null); //ID
const routerState = ref(''); //
const personResponsibleList = ref([]); //
const companyProportion = ref(0); //
const companyProportion = ref(100); //
const identifying = ref(1); //
const dialogHistoricalPackage = ref(false); //
const HistoricalPackageList = ref([]); //
@ -746,7 +754,7 @@ const PackageInfo = ref([
]);
//
const FangAddList = ref([
{ businessName: '', personResponsibleName: '', responsibilityRatio: '', description: '' },
{ businessName: '', personResponsibleName: '', responsibilityRatio: '', description: '',tripartite:'' },
]);
//
const responsible = ref([
@ -920,12 +928,16 @@ const onLoad = () => {
FangAddList.value = res.data.data.personResponsibleVOS.map(res => {
ResponsiblepartyData.value.push(res);
return {
businessName: res.businessId, //ID
personResponsibleName: res.personResponsibleName, //
responsibilityRatio: res.responsibilityRatio, //
tripartite:res.tripartite,//
description: res.description, //
ProportionMax:100
};
});
InitialresponsibleParty.value = JSON.parse(JSON.stringify(FangAddList.value)); //
@ -973,7 +985,6 @@ const onLoad = () => {
return {
input: item.money,
min: 0,
max: 9999999999999999999999999999,
state: item.resultType,
payment: item.compensationMethod,
name: item.resultTypeName,
@ -1093,16 +1104,41 @@ const abnormalChange = val => {
}
};
//
const ProportionInput = () => {
console.log(FangAddList.value, '公司占比');
let sum = 0;
FangAddList.value.forEach(item => {
sum = Number(item.responsibilityRatio) + sum;
});
sum = 100 - sum;
companyProportion.value = sum;
console.log(sum, '公司占比');
const CompanyProportion = val => {
console.log(val,'接受的值');
setTimeout(() => {
console.log(FangAddList.value, ' FangAddList.value');
let proportion = 0; //
FangAddList.value.forEach(item => {
proportion += Number(item.responsibilityRatio);
});
// companyProportion
companyProportion.value = 100 - proportion;
let sum = 0;
FangAddList.value.forEach(item => {
console.log(item.responsibilityRatio, '当前比例');
sum += Number(item.responsibilityRatio);
});
console.log(sum, '当前比例之和');
let max = (100 - sum )+ Number(val.responsibilityRatio);
console.log('MAX当前最大值', max);
if (val.ProportionMax) {
val.ProportionMax = max;
}
}, 0);
};
//
const CompanyProportionInput = item => {
console.log(item, '接收的值');
CompanyProportion(item);
};
//
const DiscoveringNodesChange = val => {
groundlineSet.value = false; //线
@ -1142,18 +1178,30 @@ const PackagRemoval = (val, item) => {
};
//
const responsibleParty = () => {
let sum = 0;
FangAddList.value.forEach(item => {
console.log(item.responsibilityRatio, '当前比例');
sum += Number(item.responsibilityRatio);
});
console.log(sum, '当前总和');
let max = 100 - sum;
console.log('添加了责任方');
FangAddList.value.push({
businessName: '',
personResponsibleName: '',
tripartite: '',
responsibilityRatio: '',
description: '',
ProportionMax: max,
});
console.log(max, '当前最大值');
console.log(FangAddList.value,'最新参数');
};
//
const ResponsibilityRemoval = (val, item) => {
unProcessorEntityList.value.push(item);
console.log(unProcessorEntityList.value, '移除责任方');
FangAddList.value.splice(val, 1); //
CompanyProportion(val);
};
//
const TopChange = val => {
@ -2088,6 +2136,7 @@ const ViewPackageDetails = val => {
align-items: center;
width: 30%;
margin-right: 16px;
font-size: 14px;
.title {
width: 80px;
font-size: 14px;
@ -2096,6 +2145,9 @@ const ViewPackageDetails = val => {
.el-select {
width: 100%;
}
:deep(.el-form-item){
margin-bottom: 0;
}
}
.el-btn {
margin-left: 5%;

Loading…
Cancel
Save