Browse Source

pageseo

master
pengjun 2 years ago
parent
commit
fa9bfbdb4b
  1. 18
      src/components/customerOrg/customerOrgGroupAsbitem.vue
  2. 433
      src/views/customerOrg/customerOrgGroup.vue

18
src/components/customerOrg/customerOrgGroupAsbitem.vue

@ -1,11 +1,11 @@
<template>
<div style="display: flex; margin-top:5px;">
<div :style="'display: flex;width:' + (window.pageWidth - window.pageMarginWidth - 110) + 'px;font-size:14px;'">
<div :style="'display: flex;width:' + (window.pageWidth - window.pageMarginWidth - 110 - 5) + 'px;font-size:14px;'">
<!--未选组合项目-->
<div style="display: block; width:230px;">
<div style="display: block; width:300px;">
<div>
<span>项目类别</span>
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" popper-class="example" style="margin-left: 3px;width:160px;"
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" popper-class="example" style="margin-left: 3px;width:240px;"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }"
clearable filterable @change="getAsbItemByItemType" size="small">
</el-cascader>
@ -19,7 +19,7 @@
<!--
<el-table-column type="selection" align="center" ></el-table-column>
-->
<el-table-column type="index" align="center" min-width="40"/>
<el-table-column type="index" align="center" width="40"/>
<el-table-column
label="未选组合项目" min-width="170"
prop="displayName" align="center"
@ -47,7 +47,7 @@
</div>
<!--已选组合项目-->
<div :style="'display: block; width:' + (window.pageWidth - 230 - 120 - window.pageMarginWidth - 110) + 'px;'">
<div :style="'display: block; width:' + (window.pageWidth - 300 - 120 - window.pageMarginWidth - 110 - 5) + 'px;'">
<div style="height:32px;">
<div v-show="checkPagePriv(pagePriv.privs,'快速选择')">
<span>快速选择</span>
@ -55,7 +55,7 @@
filterable default-first-option :filter-method="filterMethod"
clearable @clear="quickAsb = deepCopy(dict.asbItemQuick)"
@change="quickChoosedAsb" ref="quickAsbOCX"
style="margin-left: 3px;width:160px;">
style="margin-left: 3px;width:240px;">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select>
</div>
@ -70,10 +70,10 @@
<!--
<el-table-column type="selection"></el-table-column>
-->
<el-table-column type="index" min-width="40" align="center"/>
<el-table-column type="index" width="40" align="center"/>
<el-table-column
label="已选组合项目"
min-width="120"
min-width="140"
prop="displayName"
></el-table-column>
<el-table-column label="标准价格" prop="price" min-width="60" align="center"/>
@ -95,7 +95,7 @@
/>
</template>
</el-table-column>
<el-table-column label="数量" prop="customerOrgGroupDetailAmount" min-width="40" align="center">
<el-table-column label="数量" prop="customerOrgGroupDetailAmount" width="50" align="center">
<template slot-scope="scope">
<el-input
@input="changePrices(scope.$index)"

433
src/views/customerOrg/customerOrgGroup.vue

@ -2,95 +2,44 @@
<div>
<div>
<div class="contenttitle">
体检登记 /
<span class="contenttitleBold"
>单位分组</span
>
体检登记 /<span class="contenttitleBold">单位分组</span>
</div>
<!--分组信息-->
<div style="display: flex;font-size:14px;">
<div :style="'display: block;width:' + (window.pageWidth - window.pageMarginWidth - 110) + 'px;'">
<div style="display: flex; font-size: 14px">
<div :style="'display: block;width:' + (window.pageWidth - window.pageMarginWidth - 110 - 5) + 'px;'">
<div style="display: flex">
<div>
<span>体检单位</span>
<el-select
v-model="customerOrgId"
placeholder="请选择体检单位"
filterable :filter-method="filterMethod" default-first-option
clearable @clear="customerOrg = deepCopy(customerOrgAll)"
style="margin-left: 10px"
@change="changeCustomerOrg"
size="small"
>
<el-option
v-for="item in customerOrg"
:key="item.id"
:label="item.displayName"
:value="item.id"
>
<el-select v-model="customerOrgId" placeholder="请选择体检单位" :filter-method="filterMethod" default-first-option
clearable filterable @clear="customerOrg = deepCopy(customerOrgAll)" style="margin-left: 10px"
@change="changeCustomerOrg" size="small">
<el-option v-for="item in customerOrg" :key="item.id" :label="item.displayName" :value="item.id">
{{ item.displayName }}
</el-option>
</el-select>
</div>
<div style="margin-left: 20px">
<span>单位体检次数</span>
<el-select
v-model="customerOrgRegister"
placeholder="次数"
style="width: 60px; margin-left: 10px"
size="small"
@change="changeTimes"
value-key="id"
>
<el-option
v-for="item in customerOrgRegisterList"
:key="item.id"
:label="item.medicalTimes"
:value="item"
/>
<el-select v-model="customerOrgRegister" placeholder="次数" style="width: 60px; margin-left: 10px"
size="small" @change="changeTimes" value-key="id">
<el-option v-for="item in customerOrgRegisterList" :key="item.id" :label="item.medicalTimes"
:value="item" />
</el-select>
</div>
</div>
<div>
<el-table
:data="customerOrgGroups" ref="customerOrgGroups"
style="margin-top: 2px"
row-key="id"
border
height="240px"
size="small"
highlight-current-row :row-class-name="handleRowClassName"
@row-click="rowClick"
>
<el-table-column
type="index"
label="序号"
min-width="50"
align="center"
/>
<el-table :data="customerOrgGroups" ref="customerOrgGroups" style="margin-top: 2px" row-key="id" border
height="240px" size="small" highlight-current-row :row-class-name="handleRowClassName"
@row-click="rowClick">
<el-table-column type="index" label="序号" min-width="50" align="center" />
<el-table-column prop="displayName" label="名称" min-width="150" />
<el-table-column
prop="price"
label="价格"
min-width="60"
align="center"
/>
<el-table-column
prop="forSexId"
label="适用性别"
min-width="60"
align="center"
>
<el-table-column prop="price" label="价格" min-width="60" align="center" />
<el-table-column prop="forSexId" label="适用性别" min-width="60" align="center">
<template slot-scope="scope">
{{ dddw(dict.forSex, "id", scope.row.forSexId, "displayName") }}
</template>
</el-table-column>
<el-table-column
prop="maritalStatusId"
label="适用婚姻状况"
min-width="80"
align="center"
>
<el-table-column prop="maritalStatusId" label="适用婚姻状况" min-width="80" align="center">
<template slot-scope="scope">
{{
dddw(
@ -102,28 +51,19 @@
}}
</template>
</el-table-column>
<el-table-column
prop="creatorName"
label="创建者"
min-width="60"
align="center"
/>
<el-table-column prop="creatorName" label="创建者" min-width="60" align="center" />
<el-table-column label="创建时间" min-width="150" align="center">
<template slot-scope="scope">
{{
scope.row.creationTime
? moment(scope.row.creationTime).format("yyyy-MM-DD HH:mm:ss")
: ""
}}
{{ scope.row.creationTime ? moment(scope.row.creationTime).format("yyyy-MM-DD HH:mm:ss") : "" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template>
<el-tag
class="move"
style="cursor: move;background-color: rgb(245, 245, 245);border: none;"
draggable="true"
>
<el-tag class="move" style="
cursor: move;
background-color: rgb(245, 245, 245);
border: none;
" draggable="true">
<i class="el-icon-d-caret" style="width: 1rem; height: 1rem; color: rgb(113, 113, 113)"></i>
</el-tag>
</template>
@ -132,23 +72,23 @@
</div>
</div>
<!--按钮-->
<div style="display: block;margin-left: 10px;">
<div v-show="checkPagePriv(pagePriv.privs,'新增')" style="margin-top: 35px;">
<div style="display: block; margin-left: 10px">
<div v-show="checkPagePriv(pagePriv.privs, '新增')" style="margin-top: 35px">
<el-button class="commonbutton" @click="btnAdd">新增</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'编辑')" style="margin-top: 8px;">
<div v-show="checkPagePriv(pagePriv.privs, '编辑')" style="margin-top: 8px">
<el-button class="commonbutton" @click="btnEdit">编辑</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'删除')" style="margin-top: 8px;">
<div v-show="checkPagePriv(pagePriv.privs, '删除')" style="margin-top: 8px">
<el-button class="commonbutton" @click="btnDel">删除</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'置顶')" style="margin-top: 8px;">
<div v-show="checkPagePriv(pagePriv.privs, '置顶')" style="margin-top: 8px">
<el-button class="commonbutton" @click="btnSetTop">置顶</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'置底')" style="margin-top: 8px;">
<div v-show="checkPagePriv(pagePriv.privs, '置底')" style="margin-top: 8px">
<el-button class="commonbutton" @click="btnSetBottom">置底</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'保存排序')" style="margin-top: 8px;">
<div v-show="checkPagePriv(pagePriv.privs, '保存排序')" style="margin-top: 8px">
<el-button class="commonbutton" @click="btnSort" :disabled="!isDrag">保存排序</el-button>
</div>
</div>
@ -158,16 +98,10 @@
<div>
<CustomerOrgGroupAsbitem :customerOrgGroup="form" :refreshMoney="refreshMoney" />
</div>
</div>
<!-- 新增或者编辑弹框 -->
<el-dialog
:title="form.id ? '编辑' : '新增'"
:close-on-click-modal="false"
:visible.sync="dialogVisible"
width="800px"
>
<el-dialog :title="form.id ? '编辑' : '新增'" :close-on-click-modal="false" :visible.sync="dialogVisible" width="800px">
<el-form :model="form" label-width="80px" :rules="rules" ref="form">
<el-row>
<el-col :span="8">
@ -183,28 +117,16 @@
<el-col :span="8">
<el-form-item label="适用性别">
<el-select v-model="form.forSexId" placeholder="请选择" size="small">
<el-option
v-for="item in dict.forSex"
:key="item.id"
:label="item.displayName"
:value="item.id"
>
<el-option v-for="item in dict.forSex" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="婚姻状况">
<el-select
v-model="form.maritalStatusId"
placeholder="请选择"
style="width: 100%" size="small" >
<el-option
v-for="item in dict.forMaritalStatus"
:key="item.id"
:label="item.displayName"
:value="item.id"
>
<el-select v-model="form.maritalStatusId" placeholder="请选择" style="width: 100%" size="small">
<el-option v-for="item in dict.forMaritalStatus" :key="item.id" :label="item.displayName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -237,11 +159,11 @@
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">关闭</el-button>
<el-button class="commonbutton" @click="dialogVisible = false">关闭</el-button>
<!--
<el-button type="success" @click="computePrice">同比折算组合项目价格</el-button>
-->
<el-button type="primary" @click="onSubmit('form')">确定</el-button>
<el-button class="commonbutton" type="primary" @click="onSubmit('form')">确定</el-button>
</span>
</el-dialog>
<!-- -->
@ -252,7 +174,14 @@ import moment from "moment";
import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { mapState } from "vuex";
import { getPagePriv,checkPagePriv, dddw, deepCopy, objCopy, arrayExistObj } from "../../utlis/proFunc";
import {
getPagePriv,
checkPagePriv,
dddw,
deepCopy,
objCopy,
arrayExistObj,
} from "../../utlis/proFunc";
import CustomerOrgGroupAsbitem from "../../components/customerOrg/customerOrgGroupAsbitem.vue";
@ -263,8 +192,8 @@ export default {
data() {
return {
pagePriv: {
routeUrlorPageName:'customerOrgGroup', //
privs:[] //
routeUrlorPageName: "customerOrgGroup", //
privs: [], //
},
customerOrg: [], //
customerOrgGroups: [], //
@ -275,8 +204,8 @@ export default {
isDrag: false,
form: {
//
customerOrgId:'', //()
isComplete:'N', //
customerOrgId: "", //()
isComplete: "N", //
id: "",
customerOrgRegisterId: null, //
displayName: "",
@ -293,13 +222,10 @@ export default {
formOri: {}, //
formInit: {}, //
rules: {
displayName: [
{ required: true, message: "请填写分组名称", trigger: "blur" },
],
displayName: [{ required: true, message: "请填写分组名称", trigger: "blur" }],
},
dialogVisible: false,
};
},
computed: {
@ -307,8 +233,9 @@ export default {
},
created() {
//
let userPriv = window.sessionStorage.getItem('userPriv')
if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
let userPriv = window.sessionStorage.getItem("userPriv");
if (userPriv)
this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName));
this.rowDrop();
this.formInit = deepCopy(this.form);
@ -319,13 +246,15 @@ export default {
},
methods: {
moment,
checkPagePriv,dddw,deepCopy,
checkPagePriv,
dddw,
deepCopy,
//
refreshMoney(formData) {
//console.log('this is parent')
let lfind = arrayExistObj(this.customerOrgGroups,'id',formData.id)
if(lfind > -1) this.customerOrgGroups[lfind].price = formData.price
let lfind = arrayExistObj(this.customerOrgGroups, "id", formData.id);
if (lfind > -1) this.customerOrgGroups[lfind].price = formData.price;
},
//
@ -377,52 +306,49 @@ export default {
that.isDrag = true;
const currRow = that.customerOrgGroups.splice(oldIndex, 1)[0];
that.customerOrgGroups.splice(newIndex, 0, currRow);
console.log('el',el)
console.log("el", el);
},
});
});
},
//
btnSetBottom() {
if (!this.form.id) {
this.$message.warning("请选择操作的数据");
return
return;
}
let lfind = arrayExistObj(this.customerOrgGroups,'id',this.form.id)
let currentRow = {}
let lfind = arrayExistObj(this.customerOrgGroups, "id", this.form.id);
let currentRow = {};
putapi(
`/api/app/customerorggroup/updatemanysort?id=${this.form.id}&SortType=2`
).then((res) => {
console.log("操作成功");
currentRow = this.customerOrgGroups.splice(lfind,1)[0] //
this.customerOrgGroups.push(currentRow)
this.$refs['customerOrgGroups'].setCurrentRow(currentRow);
currentRow = this.customerOrgGroups.splice(lfind, 1)[0]; //
this.customerOrgGroups.push(currentRow);
this.$refs["customerOrgGroups"].setCurrentRow(currentRow);
});
},
//
btnSetTop() {
if (!this.form.id) {
this.$message.warning("请选择操作的数据");
return
return;
}
let lfind = arrayExistObj(this.customerOrgGroups,'id',this.form.id)
let currentRow = {}
let lfind = arrayExistObj(this.customerOrgGroups, "id", this.form.id);
let currentRow = {};
putapi(
`/api/app/customerorggroup/updatemanysort?id=${this.form.id}&SortType=1`
).then((res) => {
console.log("操作成功");
currentRow = this.customerOrgGroups.splice(lfind,1)[0]
this.customerOrgGroups.unshift(currentRow)
this.$refs['customerOrgGroups'].setCurrentRow(currentRow);
currentRow = this.customerOrgGroups.splice(lfind, 1)[0];
this.customerOrgGroups.unshift(currentRow);
this.$refs["customerOrgGroups"].setCurrentRow(currentRow);
});
},
//
@ -431,11 +357,10 @@ export default {
//console.log(rowIndex, row)
//return row.highLightBg == 'selected' ? 'high-light-bg' : '';
if (row.choosed) {
return 'current-row';
return "current-row";
} else {
return '';
return "";
}
},
//
@ -446,7 +371,7 @@ export default {
this.customerOrgAll = res.data;
let lfind = arrayExistObj(this.customerOrgAll, "id", this.dict.personOrgId);
if (lfind > -1) this.customerOrgAll.splice(lfind, 1);
this.customerOrg = deepCopy(this.customerOrgAll)
this.customerOrg = deepCopy(this.customerOrgAll);
}
});
@ -460,9 +385,9 @@ export default {
//
getCustomerOrgGroup(customerOrgRegisterId) {
this.isDrag = false
objCopy(this.formInit,this.form)
this.form.customerOrgRegisterId = customerOrgRegisterId
this.isDrag = false;
objCopy(this.formInit, this.form);
this.form.customerOrgRegisterId = customerOrgRegisterId;
this.customerOrgGroups = [];
getapi(
`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}`
@ -479,9 +404,10 @@ export default {
filterMethod(keyWords) {
if (keyWords) {
this.customerOrg = [];
this.customerOrgAll.forEach(item => {
if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1
|| item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1
this.customerOrgAll.forEach((item) => {
if (
item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > -1 ||
item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > -1
// || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1
) {
this.customerOrg.push(item);
@ -495,15 +421,15 @@ export default {
//
changeCustomerOrg(v) {
if (!v) {
this.customerOrgRegisterList = []
this.customerOrgRegisterList = [];
this.customerOrgRegister = {};
this.customerOrgGroups = [];
this.isDrag = false
this.form.id = ''
this.isDrag = false;
this.form.id = "";
setTimeout(() => {
this.dataTransOpts.refresh.customer_org_group_detail.M++
this.dataTransOpts.refresh.customer_org_group_detail.M++;
}, 20);
return
return;
}
getapi(
`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${v}`
@ -516,11 +442,11 @@ export default {
} else {
this.customerOrgRegister = {};
this.customerOrgGroups = [];
this.isDrag = false
this.isDrag = false;
}
objCopy(this.formInit,this.form)
objCopy(this.formInit, this.form);
setTimeout(() => {
this.dataTransOpts.refresh.customer_org_group_detail.M++
this.dataTransOpts.refresh.customer_org_group_detail.M++;
}, 20);
}
});
@ -534,10 +460,10 @@ export default {
//
rowClick(row) {
objCopy(row, this.form);
this.formOri = Object.assign({},row)
this.form.isComplete = this.customerOrgRegister.isComplete
this.formOri = Object.assign({}, row);
this.form.isComplete = this.customerOrgRegister.isComplete;
setTimeout(() => {
this.dataTransOpts.refresh.customer_org_group_detail.M++
this.dataTransOpts.refresh.customer_org_group_detail.M++;
}, 20);
},
@ -547,7 +473,7 @@ export default {
this.$message.warning("请选择体检次数");
return;
}
if(this.customerOrgRegister.isComplete.toUpperCase() == 'Y'){
if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") {
this.$message.warning("该单位体检次数已完成,不允许新增分组");
return;
}
@ -569,7 +495,7 @@ export default {
this.$message.warning("请选择需要操作的数据");
return;
}
if(this.customerOrgRegister.isComplete.toUpperCase() == 'Y'){
if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") {
this.$message.warning("该单位体检次数已完成,不允许编辑分组");
return;
}
@ -582,7 +508,7 @@ export default {
this.$message.warning("请选择需要操作的数据");
return;
}
if(this.customerOrgRegister.isComplete.toUpperCase() == 'Y'){
if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") {
this.$message.warning("该单位体检次数已完成,不允许删除分组");
return;
}
@ -598,14 +524,10 @@ export default {
.then((res) => {
if (res.code != -1) {
console.log("删除成功");
let lfind = arrayExistObj(
this.customerOrgGroups,
"id",
this.form.id
);
let lfind = arrayExistObj(this.customerOrgGroups, "id", this.form.id);
if (lfind > -1) this.customerOrgGroups.splice(lfind, 1);
objCopy(this.formInit,this.form)
this.isDrag = false
objCopy(this.formInit, this.form);
this.isDrag = false;
}
})
.catch((err) => {
@ -633,29 +555,32 @@ export default {
delete body.isComplete;
if (this.form.id) {
let customerOrgGroupId = this.form.id
let customerOrgGroupAsbitems = [] //
let customerOrgGroupId = this.form.id;
let customerOrgGroupAsbitems = []; //
//
putapi(`/api/app/customer-org-group/${this.form.id}`, body)
.then(res => {
.then((res) => {
// console.log(res)
if (res.code != -1) {
console.log("保存分组成功!");
let lfind = arrayExistObj(
this.customerOrgGroups,
"id",
this.form.id
);
let lfind = arrayExistObj(this.customerOrgGroups, "id", this.form.id);
if (lfind > -1) objCopy(this.form, this.customerOrgGroups[lfind]);
console.log('this.formOri.price != this.form.price',this.formOri.price,this.form.price)
console.log(
"this.formOri.price != this.form.price",
this.formOri.price,
this.form.price
);
if (this.formOri.price != this.form.price) {
return getapi(`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId}`)
return getapi(
`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId}`
);
} else {
this.dialogVisible = false;
}
}
}).then(res =>{
})
.then((res) => {
if (res && res.code != -1) {
customerOrgGroupAsbitems = res.data;
if (customerOrgGroupAsbitems.length < 1) {
@ -664,24 +589,30 @@ export default {
} else {
let detailsBody = {
customerOrgGroupId,
details:this.madeNewGroupAsbitems(customerOrgGroupAsbitems,this.form.price)
}
return postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany',detailsBody)
details: this.madeNewGroupAsbitems(
customerOrgGroupAsbitems,
this.form.price
),
};
return postapi(
"/api/app/customerorggroupdetail/createcustomerorggroupdetailmany",
detailsBody
);
}
}
}).then(res =>{
})
.then((res) => {
if (res && res.code != -1) {
console.log("操作成功!并自动按总价同比折算组合项目价格!");
this.dialogVisible = false;
//
let id = this.form.id
this.form.id = ''
let id = this.form.id;
this.form.id = "";
setTimeout(() => {
this.form.id = id
this.form.id = id;
}, 100);
}
});
} else {
//
postapi(
@ -692,7 +623,9 @@ export default {
console.log("操作成功!");
this.form.id = res.data.id;
this.customerOrgGroups.push(deepCopy(res.data));
this.$refs['customerOrgGroups'].setCurrentRow(this.customerOrgGroups[this.customerOrgGroups.length - 1]);
this.$refs["customerOrgGroups"].setCurrentRow(
this.customerOrgGroups[this.customerOrgGroups.length - 1]
);
this.dialogVisible = false;
}
});
@ -702,89 +635,101 @@ export default {
computePrice() {
if (!this.form.id) {
this.$message.warning("尚未保存信息,不可执行此操作!")
return
this.$message.warning("尚未保存信息,不可执行此操作!");
return;
}
let customerOrgGroupId = this.form.id
let customerOrgGroupAsbitems = [] //
let customerOrgGroupId = this.form.id;
let customerOrgGroupAsbitems = []; //
getapi(`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId}
`).then(res => {
`)
.then((res) => {
if (res.code != -1) {
customerOrgGroupAsbitems = res.data;
if (customerOrgGroupAsbitems.length < 1) {
this.$message.warning("当前分组尚未设置组合项目,不可执行此操作!")
this.$message.warning("当前分组尚未设置组合项目,不可执行此操作!");
} else {
let body = {
customerOrgGroupId,
details:this.madeNewGroupAsbitems(customerOrgGroupAsbitems,this.form.price)
}
console.log('body',body)
return postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany',body)
details: this.madeNewGroupAsbitems(
customerOrgGroupAsbitems,
this.form.price
),
};
console.log("body", body);
return postapi(
"/api/app/customerorggroupdetail/createcustomerorggroupdetailmany",
body
);
}
}
}).then(res =>{
})
.then((res) => {
if (res.code != -1) {
//console.log("");
//
this.form.id = ''
this.form.id = "";
//
setTimeout(() => {
this.form.id = customerOrgGroupId;
this.onSubmit('form')
}, 100)
this.onSubmit("form");
}, 100);
}
})
});
},
madeNewGroupAsbitems(oldGroupAsbitems, newTotal) {
newTotal = Math.round(Number(newTotal)*100)/100
let newGroupAsbitems = []
let oldTotal = Number(0)
oldGroupAsbitems.forEach(e =>{
oldTotal += Number(e.asbitemMoney) //customerOrgGroupDetailMoney
})
oldTotal = Math.round(Number(oldTotal)*100)/100
let discount = 0
if(oldTotal != 0) discount = Math.round(newTotal * 10000 /oldTotal)/100
oldTotal = Number(0)
oldGroupAsbitems.forEach(e =>{
e.customerOrgGroupDetailPrice = Math.round(e.price * discount)/100
e.customerOrgGroupDetailMoney = Math.round(e.customerOrgGroupDetailPrice * e.customerOrgGroupDetailAmount * 100)/100
oldTotal += Number(e.customerOrgGroupDetailMoney)
})
oldTotal = Math.round(Number(oldTotal)*100)/100
newTotal = Math.round(Number(newTotal) * 100) / 100;
let newGroupAsbitems = [];
let oldTotal = Number(0);
oldGroupAsbitems.forEach((e) => {
oldTotal += Number(e.asbitemMoney); //customerOrgGroupDetailMoney
});
oldTotal = Math.round(Number(oldTotal) * 100) / 100;
let discount = 0;
if (oldTotal != 0) discount = Math.round((newTotal * 10000) / oldTotal) / 100;
oldTotal = Number(0);
oldGroupAsbitems.forEach((e) => {
e.customerOrgGroupDetailPrice = Math.round(e.price * discount) / 100;
e.customerOrgGroupDetailMoney =
Math.round(
e.customerOrgGroupDetailPrice * e.customerOrgGroupDetailAmount * 100
) / 100;
oldTotal += Number(e.customerOrgGroupDetailMoney);
});
oldTotal = Math.round(Number(oldTotal) * 100) / 100;
//console.log('discount,oldTotal',discount,oldTotal)
let didTotal = Math.round(Number(newTotal - oldTotal)*100)/100
let didTotal = Math.round(Number(newTotal - oldTotal) * 100) / 100;
if (didTotal != 0) {
for (let i = 0; i < oldGroupAsbitems.length; i++) {
if (oldGroupAsbitems[i].customerOrgGroupDetailAmount == 1) {
oldGroupAsbitems[i].customerOrgGroupDetailPrice = Math.round((Number(oldGroupAsbitems[i].customerOrgGroupDetailPrice) + Number(didTotal))*100)/100
break
oldGroupAsbitems[i].customerOrgGroupDetailPrice =
Math.round(
(Number(oldGroupAsbitems[i].customerOrgGroupDetailPrice) +
Number(didTotal)) *
100
) / 100;
break;
}
}
}
oldGroupAsbitems.forEach(e =>{
oldGroupAsbitems.forEach((e) => {
newGroupAsbitems.push({
customerOrgGroupId: e.customerOrgGroupId,
asbitemId: e.asbitemId,
price: e.customerOrgGroupDetailPrice,
amount:e.customerOrgGroupDetailAmount
})
})
amount: e.customerOrgGroupDetailAmount,
});
});
return newGroupAsbitems
return newGroupAsbitems;
},
},
};
</script>
@ -798,6 +743,6 @@ export default {
.btnClass {
width: 100px;
margin-bottom: 5px
margin-bottom: 5px;
}
</style>
Loading…
Cancel
Save