From 3a5eb3d89695a5631c76ff0bc6208a122673742a Mon Sep 17 00:00:00 2001 From: pengjun <158915633@qq.com> Date: Mon, 25 Mar 2024 17:55:29 +0800 Subject: [PATCH] tc --- .../common/MedicalPackageAsbitem.vue | 2 +- .../customerOrg/ContactPersonBak.vue | 487 ------------------ .../customerOrg/ContactPersonEdit.vue | 51 +- .../customerOrg/customerOrgGroupAsbitem.vue | 2 +- src/views/common-settings/medicalPackage.vue | 444 +++++++--------- 5 files changed, 212 insertions(+), 774 deletions(-) delete mode 100644 src/components/customerOrg/ContactPersonBak.vue diff --git a/src/components/common/MedicalPackageAsbitem.vue b/src/components/common/MedicalPackageAsbitem.vue index 1813ede..7c56613 100644 --- a/src/components/common/MedicalPackageAsbitem.vue +++ b/src/components/common/MedicalPackageAsbitem.vue @@ -765,7 +765,7 @@ export default { return postapi(`/api/app/medicalpackage/update?id=${this.formData.id}`, Package) } }).then(res =>{ - if(res.code != -1){ + if(res && res.code != -1){ console.log("操作成功"); Package.id = this.formData.id this.refreshMoney(Package) diff --git a/src/components/customerOrg/ContactPersonBak.vue b/src/components/customerOrg/ContactPersonBak.vue deleted file mode 100644 index 190f13a..0000000 --- a/src/components/customerOrg/ContactPersonBak.vue +++ /dev/null @@ -1,487 +0,0 @@ - - - diff --git a/src/components/customerOrg/ContactPersonEdit.vue b/src/components/customerOrg/ContactPersonEdit.vue index 7137299..bb60c1b 100644 --- a/src/components/customerOrg/ContactPersonEdit.vue +++ b/src/components/customerOrg/ContactPersonEdit.vue @@ -201,7 +201,13 @@ export default { } objCopy(this.form, body); - console.log("body", body); + let contactMethod = { + contactPersonId: this.form.id, + details:this.contactMethodList + } + + console.log("body,contactMethod", body,contactMethod); + if (!this.form.id) { postapi("/api/app/contact-person", body) .then((res) => { @@ -209,25 +215,9 @@ export default { if (res.code != -1) { this.form = res.data this.dataTransOpts.tableS.contact_person.id = res.data.id - this.refFunc(['curChooseRow'],res.data) - return deletapi(`/api/app/contact-method/many/${res.data.id}`); - } - }) - .then((res) => { - if (res && res.code != -1) { - let contactMethod = []; //联系方式form表单数据 - this.contactMethodList.forEach(item => { - contactMethod.push({ - contactMethodValue: item.contactMethodValue, - contactMethodType: item.contactMethodType, - contactPersonId: this.form.id, - }); - }); - if (contactMethod.length > 0) { - return postapi("/api/app/contact-method/many", contactMethod); - } else { - this.dialogWin.ContactPersonEdit = false - } + this.refFunc(['curChooseRow'],res.data) + contactMethod.contactPersonId = res.data.id + return postapi('/api/app/contactmethod/createmany',contactMethod); } }) .then((res) => { @@ -242,27 +232,8 @@ export default { .then((res) => { if (res.code != -1) { this.refFunc(['curChooseRow'],this.form) - return deletapi(`/api/app/contact-method/many/${this.form.id}`); - } - }) - .then((res) => { - console.log(`deletapi api/app/contact-method/${this.form.id}`); - if (res && res.code != -1) { - let contactMethod = []; //联系方式form表单数据 - this.contactMethodList.forEach((item, index) => { - contactMethod.push({ - contactMethodValue: item.contactMethodValue, - contactMethodType: item.contactMethodType, - contactPersonId: this.form.id, - }); - }); - if (contactMethod.length > 0) { - return postapi("/api/app/contact-method/many", contactMethod); - } else { - this.dialogWin.ContactPersonEdit = false - } + return postapi('/api/app/contactmethod/createmany',contactMethod); } - }) .then((res) => { //console.log('api/app/contact-method/many') diff --git a/src/components/customerOrg/customerOrgGroupAsbitem.vue b/src/components/customerOrg/customerOrgGroupAsbitem.vue index 5980e11..85c2178 100644 --- a/src/components/customerOrg/customerOrgGroupAsbitem.vue +++ b/src/components/customerOrg/customerOrgGroupAsbitem.vue @@ -937,7 +937,7 @@ export default { return putapi(`/api/app/customer-org-group/${this.customerOrgGroup.id}`, group) } }).then(res =>{ - if(res.code != -1){ + if(res && res.code != -1){ console.log("操作成功"); group.id = this.customerOrgGroup.id this.refreshMoney(group) diff --git a/src/views/common-settings/medicalPackage.vue b/src/views/common-settings/medicalPackage.vue index 137c5cf..8ecb58e 100644 --- a/src/views/common-settings/medicalPackage.vue +++ b/src/views/common-settings/medicalPackage.vue @@ -2,52 +2,27 @@
-
- 常用设置 / - 套餐设置 -
+
+ 常用设置 / + 套餐设置 +
-
- - - - - - - - - - - - - - - - - - +
- +
- +
-
- 新增 -
-
- 编辑 -
-
- 删除 -
-
- 置顶 -
-
- 置低 -
-
- 保存排序 -
+
+ 新增 +
+
+ 编辑 +
+
+ 删除 +
+
+ 置顶 +
+
+ 置低 +
+
+ 保存排序 +
-
+
- + @@ -158,20 +111,15 @@ - + - - + + @@ -239,16 +187,16 @@ export default { customerOrgRegister: {}, //体检次数 isDrag: false, - form: { + form: { id: "", displayName: "", price: 0, forSexId: "A", // maritalStatusId: "A", - isActive:'Y', - remark: "", + isActive: 'Y', + remark: "", }, - formOri:{}, + formOri: {}, formInit: {}, rules: { displayName: [ @@ -256,8 +204,8 @@ export default { ], }, - dialogVisible: false, - + dialogVisible: false, + }; }, computed: { @@ -273,27 +221,27 @@ export default { }, methods: { moment, - dddw,deepCopy, + dddw, deepCopy, //刷新套餐价格(供子组件调用) - refreshMoney(formData){ + refreshMoney(formData) { //console.log('this is parent') - let lfind = arrayExistObj(this.medicalPackages,'id',formData.id) - if(lfind > -1) this.medicalPackages[lfind].price = formData.price + let lfind = arrayExistObj(this.medicalPackages, 'id', formData.id) + if (lfind > -1) this.medicalPackages[lfind].price = formData.price }, - + //确定排序 btnSort() { const result = []; - this.medicalPackages.forEach((item, index) => { - result.push({ id: item.id, displayOrder: index+1 }); + this.medicalPackages.forEach((item, index) => { + result.push({ id: item.id, displayOrder: index + 1 }); }); putapi("/api/app/medicalpackage/updatesortmany", { itemList: result, }).then((res) => { - if(res.code!=-1){ + if (res.code != -1) { this.isDrag = false; - this.$message.success('操作成功') + this.$message.success('操作成功') } }); }, @@ -308,10 +256,10 @@ export default { handle: ".move", animation: 300, //拖拽结束 - onEnd({ newIndex, oldIndex }) { + onEnd({ newIndex, oldIndex }) { that.isDrag = true; const currRow = that.medicalPackages.splice(oldIndex, 1)[0]; - that.medicalPackages.splice(newIndex, 0, currRow); + that.medicalPackages.splice(newIndex, 0, currRow); }, }); }); @@ -323,21 +271,21 @@ export default { if (!this.form.id) { this.$message.warning("请选择操作的数据"); return - } - let lfind = arrayExistObj(this.medicalPackages,'id',this.form.id) + } + let lfind = arrayExistObj(this.medicalPackages, 'id', this.form.id) let currentRow = {} putapi( `/api/app/medicalpackage/updatemanysort?id=${this.form.id}&SortType=2` ).then((res) => { - if(res.code!=-1){ - currentRow = this.medicalPackages.splice(lfind,1)[0] //删除并赋值 - this.medicalPackages.push(currentRow) - this.$refs['medicalPackages'].setCurrentRow(currentRow); - this.$message.success('操作成功') + if (res.code != -1) { + currentRow = this.medicalPackages.splice(lfind, 1)[0] //删除并赋值 + this.medicalPackages.push(currentRow) + this.$refs['medicalPackages'].setCurrentRow(currentRow); + this.$message.success('操作成功') } }); - + }, //置顶 @@ -347,20 +295,20 @@ export default { return } - let lfind = arrayExistObj(this.medicalPackages,'id',this.form.id) + let lfind = arrayExistObj(this.medicalPackages, 'id', this.form.id) let currentRow = {} - + putapi( `/api/app/medicalpackage/updatemanysort?id=${this.form.id}&SortType=1` ).then((res) => { - if(res.code!=-1){ - currentRow = this.medicalPackages.splice(lfind,1)[0] - this.medicalPackages.unshift(currentRow) - this.$refs['medicalPackages'].setCurrentRow(currentRow); - this.$message.success('操作成功') + if (res.code != -1) { + currentRow = this.medicalPackages.splice(lfind, 1)[0] + this.medicalPackages.unshift(currentRow) + this.$refs['medicalPackages'].setCurrentRow(currentRow); + this.$message.success('操作成功') } }); - + }, //选中颜色 @@ -377,7 +325,7 @@ export default { }, //获取初始数据 - dictInit() { + dictInit() { //获取适用性别 getapi("/api/app/for-sex").then((res) => { @@ -388,40 +336,40 @@ export default { this.getPackages() }, - getPackages(){ + getPackages() { // /api/app/medicalpackage/getlist - postapi("/api/app/medicalpackage/getmedicalpackagelist",{}).then(res => { - if(res.code != -1){ - this.medicalPackages = res.data + postapi("/api/app/medicalpackage/getmedicalpackagelist", {}).then(res => { + if (res.code != -1) { + this.medicalPackages = res.data } }) }, - + //点击套餐 - rowClick(row) { + rowClick(row) { objCopy(row, this.form); - this.formOri = Object.assign({},row) + this.formOri = Object.assign({}, row) }, //新增弹框 btnAdd() { - if (!this.customerOrgRegister.id) { - this.$message.warning("请选择体检次数"); - return; - } - if(this.customerOrgRegister.isComplete.toUpperCase() == 'Y'){ - this.$message.warning("该单位体检次数已完成,不允许新增套餐"); - return; - } - - if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") { - this.$message.warning("该单位的该次体检次数已完成,不能再添加套餐!"); - return; - } + // if (!this.customerOrgRegister.id) { + // this.$message.warning("请选择体检次数"); + // return; + // } + // if (this.customerOrgRegister.isComplete.toUpperCase() == 'Y') { + // this.$message.warning("该单位体检次数已完成,不允许新增套餐"); + // return; + // } + + // if (this.customerOrgRegister.isComplete.toUpperCase() == "Y") { + // this.$message.warning("该单位的该次体检次数已完成,不能再添加套餐!"); + // return; + // } this.form = deepCopy(this.formInit); - this.form.customerOrgRegisterId = this.customerOrgRegister.id; - this.form.medicalPackageId = this.medicalPackageId; + // this.form.customerOrgRegisterId = this.customerOrgRegister.id; + // this.form.medicalPackageId = this.medicalPackageId; this.dialogVisible = true; }, @@ -430,7 +378,7 @@ export default { if (!this.form.id) { this.$message.warning("请选择需要操作的数据"); return; - } + } this.dialogVisible = true; }, @@ -440,13 +388,13 @@ export default { this.$message.warning("请选择需要操作的数据"); return; } - + this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", { confirmButtonText: "是", cancelButtonText: " 否 ", type: "warning", - cancelButtonClass:"difference", - confirmButtonClass:"commonbutton" + cancelButtonClass: "difference", + confirmButtonClass: "commonbutton" }).then(() => { return postapi(`/api/app/medicalpackage/delete?id=${this.form.id}`); }).then((res) => { @@ -457,7 +405,7 @@ export default { this.form.id ); if (lfind > -1) this.medicalPackages.splice(lfind, 1); - objCopy(this.formInit,this.form) + objCopy(this.formInit, this.form) this.isDrag = false this.$message.success('删除成功') } @@ -477,7 +425,7 @@ export default { let body = deepCopy(this.form); delete body.id; - + if (this.form.id) { let medicalPackageId = this.form.id @@ -485,33 +433,33 @@ export default { //编辑 postapi(`/api/app/medicalpackage/update?id=${this.form.id}`, body).then(res => { - if (res.code != -1) { + if (res.code != -1) { let lfind = arrayExistObj( this.medicalPackages, "id", this.form.id ); - if (lfind > -1) objCopy(this.form, this.medicalPackages[lfind]); - if(this.formOri.price != this.form.price){ - return postapi('/api/app/medicalpackagedetail/getmedicalpackageinasbitem',{medicalPackageId}) - } - } - }).then(res =>{ - if(res.code != -1){ + if (lfind > -1) objCopy(this.form, this.medicalPackages[lfind]); + if (this.formOri.price != this.form.price) { + return postapi('/api/app/medicalpackagedetail/getmedicalpackageinasbitem', { medicalPackageId }) + } + } + }).then(res => { + if (res.code != -1) { medicalPackageAsbitems = res.data; - if(medicalPackageAsbitems.length < 1){ + if (medicalPackageAsbitems.length < 1) { this.dialogVisible = false; this.$message.success('操作成功!') - }else{ + } else { let detailsBody = { medicalPackageId, - details:this.madeNewPackageAsbitems(medicalPackageAsbitems,this.form.price) - } - return postapi('/api/app/medicalPackagedetail/createmedicalPackagedetailmany',detailsBody) + details: this.madeNewPackageAsbitems(medicalPackageAsbitems, this.form.price) + } + return postapi('/api/app/medicalPackagedetail/createmedicalPackagedetailmany', detailsBody) } } - }).then(res =>{ - if(res.code != -1){ + }).then(res => { + if (res.code != -1) { this.$message.success('操作成功!并自动按总价同比折算组合项目价格!') this.dialogVisible = false; // 刷新明细 @@ -532,7 +480,7 @@ export default { if (res.code != -1) { this.form.id = res.data.id; this.medicalPackages.push(deepCopy(res.data)); - this.$refs['medicalPackages'].setCurrentRow(this.medicalPackages[this.medicalPackages.length - 1]); + this.$refs['medicalPackages'].setCurrentRow(this.medicalPackages[this.medicalPackages.length - 1]); this.dialogVisible = false; this.$message.success('操作成功!') } @@ -540,8 +488,8 @@ export default { } }); }, - computePrice(){ - if(!this.form.id){ + computePrice() { + if (!this.form.id) { this.$message.warning("尚未保存信息,不可执行此操作!") return } @@ -549,76 +497,76 @@ export default { let medicalPackageAsbitems = [] //套餐包含的套餐 - postapi('/api/app/medicalPackagedetail/getmedicalPackagedetailinasbitem',{medicalPackageId}) - .then(res => { - if(res.code != -1){ - medicalPackageAsbitems = res.data; + postapi('/api/app/medicalPackagedetail/getmedicalPackagedetailinasbitem', { medicalPackageId }) + .then(res => { + if (res.code != -1) { + medicalPackageAsbitems = res.data; - if(medicalPackageAsbitems.length < 1){ - this.$message.warning("当前套餐尚未设置组合项目,不可执行此操作!") - }else{ - let body = { - medicalPackageId, - details:this.madeNewPackageAsbitems(medicalPackageAsbitems,this.form.price) + if (medicalPackageAsbitems.length < 1) { + this.$message.warning("当前套餐尚未设置组合项目,不可执行此操作!") + } else { + let body = { + medicalPackageId, + details: this.madeNewPackageAsbitems(medicalPackageAsbitems, this.form.price) + } + return postapi('/api/app/medicalPackagedetail/createmedicalPackagedetailmany', body) } - return postapi('/api/app/medicalPackagedetail/createmedicalPackagedetailmany',body) } - } - }).then(res =>{ - if(res.code != -1){ - //console.log("操作成功"); - //触发套餐明细刷新 - this.form.id = '' - //要做延时处理,否则不会触发监听 - setTimeout(() => { - this.form.id = medicalPackageId; - this.onSubmit('form') - }, 100) - - } - }) + }).then(res => { + if (res.code != -1) { + //console.log("操作成功"); + //触发套餐明细刷新 + this.form.id = '' + //要做延时处理,否则不会触发监听 + setTimeout(() => { + this.form.id = medicalPackageId; + this.onSubmit('form') + }, 100) + + } + }) }, - madeNewPackageAsbitems(oldPackageAsbitems,newTotal){ - newTotal = Math.round(Number(newTotal)*100)/100 + madeNewPackageAsbitems(oldPackageAsbitems, newTotal) { + newTotal = Math.round(Number(newTotal) * 100) / 100 let newPackageAsbitems = [] let oldTotal = Number(0) - oldPackageAsbitems.forEach(e =>{ + oldPackageAsbitems.forEach(e => { oldTotal += Number(e.asbitemMoney) //medicalPackageDetailMoney }) - oldTotal = Math.round(Number(oldTotal)*100)/100 + oldTotal = Math.round(Number(oldTotal) * 100) / 100 let discount = 0 - if(oldTotal != 0) discount = Math.round(newTotal * 10000 /oldTotal)/100 + if (oldTotal != 0) discount = Math.round(newTotal * 10000 / oldTotal) / 100 oldTotal = Number(0) - oldPackageAsbitems.forEach(e =>{ - e.medicalPackageDetailPrice = Math.round(e.price * discount)/100 - e.medicalPackageDetailMoney = Math.round(e.medicalPackageDetailPrice * e.medicalPackageDetailAmount * 100)/100 + oldPackageAsbitems.forEach(e => { + e.medicalPackageDetailPrice = Math.round(e.price * discount) / 100 + e.medicalPackageDetailMoney = Math.round(e.medicalPackageDetailPrice * e.medicalPackageDetailAmount * 100) / 100 oldTotal += Number(e.medicalPackageDetailMoney) }) - oldTotal = Math.round(Number(oldTotal)*100)/100 + oldTotal = Math.round(Number(oldTotal) * 100) / 100 //console.log('discount,oldTotal',discount,oldTotal) - let didTotal = Math.round(Number(newTotal - oldTotal)*100)/100 - if(didTotal != 0){ - for(let i = 0;i{ + oldPackageAsbitems.forEach(e => { newPackageAsbitems.push({ - medicalPackageId:this.form.id, // e.medicalPackageId, - asbitemId:e.id, // e.asbitemId - price:e.medicalPackageDetailPrice, - amount:e.medicalPackageDetailAmount - }) + medicalPackageId: this.form.id, // e.medicalPackageId, + asbitemId: e.id, // e.asbitemId + price: e.medicalPackageDetailPrice, + amount: e.medicalPackageDetailAmount + }) }) return newPackageAsbitems @@ -639,25 +587,31 @@ export default { display: flex; flex-direction: column; } + :deep .el-form-item { margin-bottom: 14px; } + /* 去掉input textarea的手动扩张样式 */ :deep(.el-textarea__inner) { resize: none; } + /* el-dialog的头部样式 */ :deep .el-dialog__header { padding: 11px 20px 11px; } + /* el-dialog的主体样式 */ :deep .el-dialog__body { padding: 0px 20px 0px; } + /* el-divider样式 */ :deep .el-divider--horizontal { margin: 0px 0 12px; } + /* el-dialog的底部样式 */ :deep .el-dialog__footer { padding: 0px 20px 14px;