diff --git a/src/views/common-settings/medicalPackage.vue b/src/views/common-settings/medicalPackage.vue index b7426a6..ec25be4 100644 --- a/src/views/common-settings/medicalPackage.vue +++ b/src/views/common-settings/medicalPackage.vue @@ -1,6 +1,6 @@ --> - + - + -
- +
+
-
+
新增
@@ -117,13 +182,20 @@ 置低
- 保存排序 + 保存排序
- + @@ -138,8 +210,17 @@ - - + + @@ -162,6 +243,15 @@ --> + + + + + @@ -176,11 +266,15 @@ - 取消 + 取消 - 确定 + 确定 @@ -213,8 +307,9 @@ export default { price: 0, forSexId: "A", // maritalStatusId: "A", - isActive: 'Y', + isActive: "Y", remark: "", + isWebAppoint: "Y", }, formOri: {}, formInit: {}, @@ -227,7 +322,7 @@ export default { dialogVisible: false, department: "", quckDepartment: [], - initTableData:[] + initTableData: [], }; }, computed: { @@ -243,14 +338,15 @@ export default { }, methods: { moment, - dddw, deepCopy, + dddw, + deepCopy, quckDepartments(e) { if (e) { - this.medicalPackages.forEach((item,index) => { + this.medicalPackages.forEach((item, index) => { if (e == item.id) { this.$refs["medicalPackages"].setCurrentRow(item); this.rowClick(item); - this.searchup(item,index) + this.searchup(item, index); } }); } else { @@ -276,9 +372,9 @@ export default { }, searchup(data, index) { this.$nextTick(() => { - if(index==0){ - index=1 - } + if (index == 0) { + index = 1; + } const targetTop = this.$refs["medicalPackages"].$el .querySelectorAll(".el-table__body tr") [index - 1].getBoundingClientRect().top; @@ -294,8 +390,8 @@ export default { //刷新套餐价格(供子组件调用) 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; }, //确定排序 @@ -324,7 +420,9 @@ export default { handle: ".move", animation: 300, onChoose({ oldIndex }) { - that.$refs["medicalPackages"].setCurrentRow(that.medicalPackages[oldIndex]); + that.$refs["medicalPackages"].setCurrentRow( + that.medicalPackages[oldIndex] + ); }, //拖拽结束 onEnd({ newIndex, oldIndex }) { @@ -337,92 +435,87 @@ export default { }); }, - //置底 btnSetBottom() { if (!this.form.id) { this.$message.warning("请选择操作的数据"); - return + return; } - let lfind = arrayExistObj(this.medicalPackages, 'id', this.form.id) - let currentRow = {} + 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); + currentRow = this.medicalPackages.splice(lfind, 1)[0]; //删除并赋值 + this.medicalPackages.push(currentRow); + this.$refs["medicalPackages"].setCurrentRow(currentRow); //this.$message.success('操作成功') } }); - }, //置顶 btnSetTop() { if (!this.form.id) { this.$message.warning("请选择操作的数据"); - return + return; } - let lfind = arrayExistObj(this.medicalPackages, 'id', this.form.id) - let currentRow = {} + 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); + currentRow = this.medicalPackages.splice(lfind, 1)[0]; + this.medicalPackages.unshift(currentRow); + this.$refs["medicalPackages"].setCurrentRow(currentRow); //this.$message.success('操作成功') } }); - }, //选中颜色 handleRowClassName({ row, rowIndex }) { - // highLightBg 为 'selected'的高亮 + // highLightBg 为 'selected'的高亮 //console.log(rowIndex, row) //return row.highLightBg == 'selected' ? 'high-light-bg' : ''; if (row.choosed) { - return 'current-row'; + return "current-row"; } else { - return ''; + return ""; } - }, //获取初始数据 dictInit() { - //获取适用性别 getapi("/api/app/for-sex").then((res) => { if (res.code != -1) { this.dict.forSex = res.data; } }); - this.getPackages() + this.getPackages(); }, getPackages() { - // /api/app/medicalpackage/getlist - postapi("/api/app/medicalpackage/GetBasicList", {}).then(res => { + // /api/app/medicalpackage/getlist + postapi("/api/app/medicalpackage/GetBasicList", {}).then((res) => { if (res.code != -1) { - this.medicalPackages = res.data + this.medicalPackages = res.data; this.initTableData = [...res.data]; this.quckDepartment = [...res.data]; } - }) + }); }, //点击套餐 rowClick(row) { objCopy(row, this.form); - this.formOri = Object.assign({}, row) + this.formOri = Object.assign({}, row); }, //新增弹框 @@ -453,7 +546,12 @@ export default { this.$message.warning("请选择需要操作的数据"); return; } - this.dialogVisible = true; + getapi(`/api/app/medicalpackage/getmodel?id=${this.form.id}`).then((res=>{ + if(res.code!=-1){ + this.form={...res.data} + this.dialogVisible = true; + } + })) }, //删除 @@ -468,26 +566,25 @@ export default { cancelButtonText: " 否 ", type: "warning", cancelButtonClass: "difference", - confirmButtonClass: "commonbutton" - }).then(() => { - return postapi(`/api/app/medicalpackage/delete?id=${this.form.id}`); - }).then((res) => { - if (res.code != -1) { - let lfind = arrayExistObj( - this.medicalPackages, - "id", - this.form.id - ); - if (lfind > -1) this.medicalPackages.splice(lfind, 1); - objCopy(this.formInit, this.form) - this.isDrag = false - //this.$message.success('删除成功') - } - }).catch((err) => { - if (err == "cancel") { - this.$message.info("已取消删除"); - } - }); + confirmButtonClass: "commonbutton", + }) + .then(() => { + return postapi(`/api/app/medicalpackage/delete?id=${this.form.id}`); + }) + .then((res) => { + if (res.code != -1) { + let lfind = arrayExistObj(this.medicalPackages, "id", this.form.id); + if (lfind > -1) this.medicalPackages.splice(lfind, 1); + objCopy(this.formInit, this.form); + this.isDrag = false; + //this.$message.success('删除成功') + } + }) + .catch((err) => { + if (err == "cancel") { + this.$message.info("已取消删除"); + } + }); }, onSubmit(formName) { @@ -500,61 +597,71 @@ export default { let body = deepCopy(this.form); delete body.id; - if (this.form.id) { - let medicalPackageId = this.form.id - let medicalPackageAsbitems = [] //分组包含的套餐 + let medicalPackageId = this.form.id; + let medicalPackageAsbitems = []; //分组包含的套餐 //编辑 - postapi(`/api/app/medicalpackage/update?id=${this.form.id}`, body).then(res => { - 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 }) + postapi(`/api/app/medicalpackage/update?id=${this.form.id}`, body) + .then((res) => { + 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) { - medicalPackageAsbitems = res.data; - if (medicalPackageAsbitems.length < 1) { - this.dialogVisible = false; - //this.$message.success('操作成功!') - } else { - let detailsBody = { - medicalPackageId, - details: this.madeNewPackageAsbitems(medicalPackageAsbitems, this.form.price) + }) + .then((res) => { + console.log(res); + if (res.code != -1) { + medicalPackageAsbitems = res.data; + if (medicalPackageAsbitems.length < 1) { + this.dialogVisible = false; + //this.$message.success('操作成功!') + } else { + let detailsBody = { + medicalPackageId, + details: this.madeNewPackageAsbitems( + medicalPackageAsbitems, + this.form.price + ), + }; + return postapi( + "/api/app/medicalPackagedetail/createmedicalPackagedetailmany", + detailsBody + ); } - return postapi('/api/app/medicalPackagedetail/createmedicalPackagedetailmany', detailsBody) } - } - }).then(res => { - if (res.code != -1) { - //this.$message.success('操作成功!并自动按总价同比折算组合项目价格!') - this.dialogVisible = false; - // 刷新明细 - let id = this.form.id - this.form.id = '' - setTimeout(() => { - this.form.id = id - }, 100); - } - }); - + }) + .then((res) => { + if (res.code != -1) { + //this.$message.success('操作成功!并自动按总价同比折算组合项目价格!') + this.dialogVisible = false; + // 刷新明细 + let id = this.form.id; + this.form.id = ""; + setTimeout(() => { + this.form.id = id; + }, 100); + } + }); } else { //新增 - postapi( - "/api/app/medicalpackage/create", - body - ).then((res) => { + postapi("/api/app/medicalpackage/create", body).then((res) => { 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('操作成功!') } @@ -564,88 +671,105 @@ export default { }, computePrice() { if (!this.form.id) { - this.$message.warning("尚未保存信息,不可执行此操作!") - return + this.$message.warning("尚未保存信息,不可执行此操作!"); + return; } - let medicalPackageId = this.form.id - let medicalPackageAsbitems = [] //套餐包含的套餐 - - - postapi('/api/app/medicalPackagedetail/getmedicalPackagedetailinasbitem', { medicalPackageId }) - .then(res => { + let medicalPackageId = this.form.id; + let medicalPackageAsbitems = []; //套餐包含的套餐 + + postapi( + "/api/app/medicalPackagedetail/getmedicalPackagedetailinasbitem", + { medicalPackageId } + ) + .then((res) => { if (res.code != -1) { medicalPackageAsbitems = res.data; if (medicalPackageAsbitems.length < 1) { - this.$message.warning("当前套餐尚未设置组合项目,不可执行此操作!") + this.$message.warning( + "当前套餐尚未设置组合项目,不可执行此操作!" + ); } else { let body = { medicalPackageId, - details: this.madeNewPackageAsbitems(medicalPackageAsbitems, this.form.price) - } - return postapi('/api/app/medicalPackagedetail/createmedicalPackagedetailmany', body) + details: this.madeNewPackageAsbitems( + medicalPackageAsbitems, + this.form.price + ), + }; + return postapi( + "/api/app/medicalPackagedetail/createmedicalPackagedetailmany", + body + ); } } - }).then(res => { + }) + .then((res) => { if (res.code != -1) { //console.log("操作成功"); //触发套餐明细刷新 - this.form.id = '' + this.form.id = ""; //要做延时处理,否则不会触发监听 setTimeout(() => { this.form.id = medicalPackageId; - this.onSubmit('form') - }, 100) - + this.onSubmit("form"); + }, 100); } - }) - + }); }, madeNewPackageAsbitems(oldPackageAsbitems, newTotal) { - newTotal = Math.round(Number(newTotal) * 100) / 100 - let newPackageAsbitems = [] - let oldTotal = Number(0) - oldPackageAsbitems.forEach(e => { - oldTotal += Number(e.asbitemMoney) //medicalPackageDetailMoney - }) - oldTotal = Math.round(Number(oldTotal) * 100) / 100 - - let discount = 0 - 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 - oldTotal += Number(e.medicalPackageDetailMoney) - }) - oldTotal = Math.round(Number(oldTotal) * 100) / 100 + newTotal = Math.round(Number(newTotal) * 100) / 100; + let newPackageAsbitems = []; + let oldTotal = Number(0); + oldPackageAsbitems.forEach((e) => { + oldTotal += Number(e.asbitemMoney); //medicalPackageDetailMoney + }); + oldTotal = Math.round(Number(oldTotal) * 100) / 100; + + let discount = 0; + 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; + oldTotal += Number(e.medicalPackageDetailMoney); + }); + 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 < oldPackageAsbitems.length; i++) { if (oldPackageAsbitems[i].medicalPackageDetailAmount == 1) { - oldPackageAsbitems[i].medicalPackageDetailPrice = Math.round((Number(oldPackageAsbitems[i].medicalPackageDetailPrice) + Number(didTotal)) * 100) / 100 - break + oldPackageAsbitems[i].medicalPackageDetailPrice = + Math.round( + (Number(oldPackageAsbitems[i].medicalPackageDetailPrice) + + Number(didTotal)) * + 100 + ) / 100; + break; } } } - oldPackageAsbitems.forEach(e => { + oldPackageAsbitems.forEach((e) => { newPackageAsbitems.push({ medicalPackageId: this.form.id, // e.medicalPackageId, asbitemId: e.id, // e.asbitemId price: e.medicalPackageDetailPrice, - amount: e.medicalPackageDetailAmount - }) - }) + amount: e.medicalPackageDetailAmount, + }); + }); - return newPackageAsbitems + return newPackageAsbitems; }, - }, }; diff --git a/src/views/fee-settings/Asbitem.vue b/src/views/fee-settings/Asbitem.vue index 603e0e9..066f311 100644 --- a/src/views/fee-settings/Asbitem.vue +++ b/src/views/fee-settings/Asbitem.vue @@ -648,8 +648,9 @@ --> @@ -665,8 +666,9 @@ --> @@ -722,8 +724,9 @@ --> @@ -762,8 +765,9 @@ --> @@ -810,8 +814,27 @@ --> + + + + + + @@ -827,8 +850,9 @@ --> @@ -844,8 +868,9 @@ --> @@ -1153,15 +1178,9 @@ export default { isPictureRotate: "N", isCheck: "N", isActive: "Y", - isActiveBox: true, - isBeforeEatBox: false, - isCheckBox: true, - isContinueProcessBox: false, - isDiagnosisFunctionBox: false, - isItemResultMergerBox: false, - isPictureRotateBox: false, collectItemTypeId:"", - barcodeMode:"0" + barcodeMode:"0", + isWebAppoint:"Y" }, forSexId: [], //性别 itemTypeId: [], //项目类别 @@ -1413,16 +1432,6 @@ export default { quckRusetform(e) { this.$forceUpdate(); }, - changeBox(type) { - //赋值 - if (this.form[type + "Box"]) { - this.$delete(this.form, type); - this.$set(this.form, type, "Y"); - } else { - this.$delete(this.form, type); - this.$set(this.form, type, "N"); - } - }, typeid() { projectlist().then((res) => { if (res.code != -1) { @@ -2096,42 +2105,7 @@ export default { } asbitemgetid(this.form.id).then((res) => { if (res.code != -1) { - this.form = res.data; - if (res.data.isItemResultMerger == "Y") { - this.form.isItemResultMergerBox = true; - } else { - this.form.isItemResultMergerBox = false; - } - if (res.data.isBeforeEat == "Y") { - this.form.isBeforeEatBox = true; - } else { - this.form.isBeforeEatBox = false; - } - if (res.data.isDiagnosisFunction == "Y") { - this.form.isDiagnosisFunctionBox = true; - } else { - this.form.isDiagnosisFunctionBox = false; - } - if (res.data.isContinueProcess == "Y") { - this.form.isContinueProcessBox = true; - } else { - this.form.isContinueProcessBox = false; - } - if (res.data.isPictureRotate == "Y") { - this.form.isPictureRotateBox = true; - } else { - this.form.isPictureRotateBox = false; - } - if (res.data.isCheck == "Y") { - this.form.isCheckBox = true; - } else { - this.form.isCheckBox = false; - } - if (res.data.isActive == "Y") { - this.form.isActiveBox = true; - } else { - this.form.isActiveBox = false; - } + this.form = {...res.data}; } }); //性别 @@ -2196,7 +2170,8 @@ export default { isCheck: this.form.isCheck, isActive: this.form.isActive, collectItemTypeId:this.form.collectItemTypeId, - barcodeMode:this.form.barcodeMode + barcodeMode:this.form.barcodeMode, + isWebAppoint:this.form.isWebAppoint }; newcombination(obj).then((res) => { if (res.code != -1) { @@ -2231,7 +2206,8 @@ export default { isCheck: this.form.isCheck, isActive: this.form.isActive, collectItemTypeId:this.form.collectItemTypeId, - barcodeMode:this.form.barcodeMode + barcodeMode:this.form.barcodeMode, + isWebAppoint:this.form.isWebAppoint }; updateombination(this.form.id, obj).then((res) => { if (res.code != -1) {