123.rar | 补丁 | 查看 | 原始文档 | blame | 历史 | |
package.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/system/tijian.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/jianceResult/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/doctor/check/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/hosp/order/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/login.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/system/comp/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/system/tijian/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
123.rarBinary files differ
package.json
@@ -39,6 +39,7 @@ "@riophae/vue-treeselect": "0.4.0", "axios": "0.24.0", "babel-polyfill": "^6.26.0", "big.js": "^6.2.2", "clipboard": "2.0.8", "core-js": "3.25.3", "echarts": "4.9.0", src/api/system/tijian.js
@@ -29,7 +29,13 @@ method: "get", }); } export function gaibianzhekou(data) { return request({ url: "/hosp/order/updateTransitionnewPrice", method: "post", data: data, }); } // 选择体检项目(所有服项目)选单项时调用的接口 export function projectGetList() { return request({ src/components/jianceResult/index.vue
@@ -45,30 +45,32 @@ }, methods: { handleOk() { this.open = false if(this.list.length == 0) { this.$modal.msgError("请选择至少一项!"); return } else{ this.open = false this.$emit('add', this.list); } }, handleQuery() { this.getList(); }, handleSelectionChange(selection) { if (selection.length > 1) { // 如果选择了多行,保留最后一行 this.$refs.elTable.clearSelection(); // 清空所有选择 this.$refs.elTable.toggleRowSelection(selection[selection.length - 1]); // 重新选择最后一项 } // 获取最后选择的行 this.list = [selection[selection.length - 1]]; this.list = selection }, getList() { this.loading = true; selectZT({ proId: this.proId }).then((res) => { if (res.data) { if (res.data.length>0) { this.open = true this.dataList = res.data; this.loading = false; } else { this.open = false } }); }, src/views/doctor/check/index.vue
@@ -74,11 +74,11 @@ <el-table-column label="操作" align="center" width="150px"> <template slot-scope="scope"> <el-button type="primary" size="mini" @click="hadleedit(scope.row)" v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId ">修改</el-button> scope.row.hzDoctorId == info.userId ">修改</el-button> <el-button type="primary" size="mini" v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId " @click="handledele(scope.row)">删除</el-button> scope.row.hzDoctorId == info.userId " @click="handledele(scope.row)">删除</el-button> </template> </el-table-column> </el-table> @@ -212,8 +212,8 @@ " cellspacing="4"> <caption style="background-color: #f8f8f9; font-size: 18px"> 填写{{ tableAll.cusName }}的体检资料 tableAll.cusName }}的体检资料 </caption> <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> @@ -233,12 +233,12 @@ </td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> {{ tableAll.cusSex == 0 ? "男" : tableAll.cusSex == 1 ? "女" : "未知" }} tableAll.cusSex == 0 ? "男" : tableAll.cusSex == 1 ? "女" : "未知" }} </td> </tr> <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> @@ -339,7 +339,7 @@ </el-table-column> </el-table> <div style="font-size: 14px; overflow-y: auto; height: 286px"> <div style="font-size: 14px; overflow-y: auto; height: 286px" class="a"> <table style=" width: 96%; margin: 4px 10px; @@ -424,34 +424,15 @@ </tr> </table> <div slot="footer" class="dialog-footers"> <!-- v-show="tjStatus == '0'" --> <!-- <el-button type="primary" size="mini" @click="radioChange" v-hasPermi="['system:notice:add']" v-show="tjStatus == '1'" >会诊申请</el-button> --> <div slot="footer" class="dialog-footers1"> <el-button type="primary" @click="determine">提 交</el-button> </div> </div> </el-tab-pane> </el-tabs> </template> <!-- <template> <div style="margin-left: 10px"> <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index" @input="radioChange1(item.proId, item)" > <el-radio-button :label="item.proId">{{ item.proName }}</el-radio-button> </el-radio-group> </div> </template> --> </el-col> <el-col :span="18" v-show="baogaohou"> <template> @@ -467,7 +448,8 @@ <el-table-column prop="proResult" label="检测结果" width="150"> <template slot-scope="scope"> <el-input type="textarea" autosize size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="请输入检测结果" @focus="handleFocus(scope.row)" @blur="handleInputConfirm(scope.row)" @input="vale"></el-input> placeholder="请输入检测结果" @focus="handleFocus(scope.row)" @blur="handleInputConfirm(scope.row)" @input="vale"></el-input> </template> </el-table-column> <el-table-column label="规则" width="70"> @@ -601,75 +583,21 @@ </table> <div slot="footer" class="dialog-footers"> <!-- <el-button type="primary" size="mini" @click="radioChange" v-hasPermi="['system:notice:add']" v-show="tjStatus == '1'" >会诊申请</el-button> --> <!-- v-show="tjStatus == '0'" --> <el-button type="primary" @click="determine">提 交</el-button> </div> </div> </el-tab-pane> </el-tabs> </template> <!-- <template> <div style="margin-left: 10px"> <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index" @input="radioChange1(item.proId, item)"> <el-radio-button :label="item.proId">{{ item.proName }}</el-radio-button> </el-radio-group> </div> </template> --> </el-col> <el-col :span="6" style="margin-top: 15px"> <Historicalreport v-show="lishi" :reportHistorydata="reportHistorydata"></Historicalreport> </el-col> </el-row> <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);"> <table style="width:96%;margin: 4px 10px;border:1px solid white" cellspacing="4" border="2" v-for="(item, index) in proParentList.sons" :key="index"> <tr align="center"> <th>检测项目</th> <th>检测结果</th> <th>单位</th> <th>参考范围</th> </tr> <tr> <td>{{ item.project.proName }}</td> <td><el-input v-model="item.proResult" placeholder="请输入内容"></el-input></td> <td>{{ item.standard.company }}</td> <td>{{ item.standard.tjStandardGtValue + "-" + item.standard.tjStandardLtValue }}</td> </tr> <tr> <td>小结:</td> <td> <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width:100%"> <el-option v-for="item in proParentList.parentAdvice" :key="item.id" :label="item.title" :value="item.id"> </el-option> </el-select> </td> <td>主检医师:</td> <td>{{ item.doctorName }}</td> </tr> <tr> <td>备注:</td> <td colspan="2"> <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.remark"> </el-input> </td> </tr> </table> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="determine">确 定</el-button> </div> </div> --> </el-drawer> <Public ref="aaa" :row="row" @add="handleChanges" /> <jianceResult ref="bbb" @add="handleChangesZt" /> @@ -995,7 +923,7 @@ return } else { this.curindex = row this.$refs.bbb.open = true; this.$refs.bbb.title = "选择检测结果"; this.$refs.bbb.proId = row.proId; this.$refs.bbb.getList(); @@ -1003,7 +931,7 @@ }, handleChangesZt(params) { this.curindex.proResult = params[0].ruleStr this.curindex.proResult = params.map(item => item.ruleStr).join(','); }, tableRowClassName({ row }) { if (row.exceptionDesc) { @@ -1212,75 +1140,79 @@ console.log("输入内容:", value); }, handleInputConfirm(datas) { this.focusrow = datas; this.proResult = datas; var pattern3 = new RegExp("[0-9]+"); if (pattern3.test(this.proResult)) { let data = { proId: this.focusrow.proId, cusId: this.tableAll.cusId, tjNum: this.tableAll.tjNumber, keyNum: this.proResult.proResult, }; AutoGetRule(data).then((res) => { this.focusrow.conclusion = ""; if (res.data) { this.autorule = res.data; this.focusrow.rulesList = res.data; if (res.data.length > 0) { const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; this.focusrow.exceptionDesc = !conditions.some((condition) => this.autorule[0].bz.includes(condition) ); } else { this.focusrow.exceptionDesc = false; } this.focusrow.proAdvice = this.autorule[0].nr; this.autorule.forEach((item) => { if (this.focusrow.conclusion) { this.focusrow.conclusion += item.bz; if (datas.proResult){ this.focusrow = datas; this.proResult = datas; var pattern3 = new RegExp("[0-9]+"); if (pattern3.test(this.proResult)) { let data = { proId: this.focusrow.proId, cusId: this.tableAll.cusId, tjNum: this.tableAll.tjNumber, keyNum: this.proResult.proResult, }; AutoGetRule(data).then((res) => { this.focusrow.conclusion = ""; if (res.data) { this.autorule = res.data; this.focusrow.rulesList = res.data; if (res.data.length > 0) { const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; this.focusrow.exceptionDesc = !conditions.some((condition) => this.autorule[0].bz.includes(condition) ); } else { this.focusrow.conclusion += item.bz; this.focusrow.exceptionDesc = false; } }); } }); } else { let data = { proId: this.focusrow.proId, cusId: this.tableAll.cusId, keyWord: this.proResult, tjNum: this.tableAll.tjNumber, keyNum: this.proResult.proResult, }; AutoGetRule(data).then((res) => { this.focusrow.conclusion = ""; if (res.data) { this.autorule = res.data; this.focusrow.rulesList = res.data; if (res.data.length > 0) { const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; this.focusrow.exceptionDesc = !conditions.some((condition) => this.autorule[0].bz.includes(condition) ); } else { this.focusrow.exceptionDesc = false; this.focusrow.proAdvice = this.autorule[0].nr; this.autorule.forEach((item) => { if (this.focusrow.conclusion) { this.focusrow.conclusion += item.bz; } else { this.focusrow.conclusion += item.bz; } }); } this.focusrow.proAdvice = this.autorule[0].nr; this.autorule.forEach((item) => { if (this.focusrow.conclusion) { this.focusrow.conclusion += item.bz; }); } else { let data = { proId: this.focusrow.proId, cusId: this.tableAll.cusId, keyWord: this.proResult, tjNum: this.tableAll.tjNumber, keyNum: this.proResult.proResult, }; AutoGetRule(data).then((res) => { this.focusrow.conclusion = ""; if (res.data) { this.autorule = res.data; this.focusrow.rulesList = res.data; if (res.data.length > 0) { const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; this.focusrow.exceptionDesc = !conditions.some((condition) => this.autorule[0].bz.includes(condition) ); } else { this.focusrow.conclusion += item.bz; this.focusrow.exceptionDesc = false; } }); // this.rows.push(this.focusrow); } }); } this.focusrow.proAdvice = this.autorule[0].nr; this.autorule.forEach((item) => { if (this.focusrow.conclusion) { this.focusrow.conclusion += item.bz; } else { this.focusrow.conclusion += item.bz; } }); // this.rows.push(this.focusrow); } }); } this.rows.push(datas); } this.rows.push(datas); }, handleguize(row) { @@ -2240,8 +2172,6 @@ let data = [ { proAdvice: item.proAdvice, tjNumber, proId: this.proId, remark: this.proParentList.remark, // 备注 @@ -2261,6 +2191,10 @@ }; </script> <style lang="scss" scoped> .a { position: relative; } .el-table .cell { -webkit-box-sizing: border-box; box-sizing: border-box; @@ -2363,4 +2297,24 @@ background-color: #66cc66; border-color: #66cc66; } .dialog-footers1 { position: fixed; bottom: 0; left: 63%; transform: translateX(-50%); display: flex; justify-content: center; align-items: center; z-index: 1000; /* 确保按钮层级在其他内容上方 */ width: 300px; background-color: white; /* 可根据需要调整背景颜色 */ } /* 确保按钮之间有合适的间距 */ .dialog-footers1 .el-button { margin: 0 5px; } </style> src/views/hosp/order/index.vue
@@ -2210,7 +2210,7 @@ var discount = ""; response.data.water.forEach((item) => { copeWith += item.copeWith; paidIn += item.copeWith; paidIn += item.paidIn; discount = item.discount; }); this.bill.push({ @@ -2251,7 +2251,7 @@ var discount = ""; response.data.water.forEach((item) => { copeWith += item.copeWith; paidIn += item.copeWith; paidIn += item.paidIn; discount = item.discount; }); this.bill.push({ src/views/login.vue
@@ -185,7 +185,7 @@ } }, handleLogin() { if (this.loginForm.username.length < 6) { if (this.loginForm.username.length < 12) { this.loginForm.mobile = true; this.$router.push({ path: this.redirect || "/" }).catch(() => { }); } else { src/views/system/comp/index.vue
@@ -169,10 +169,9 @@ <el-form-item label="原价" prop="price"> <el-input v-model="forms.price" placeholder="请输入原价" style="width: 130px" /> </el-form-item> <el-form-item label="折扣" prop="limits"> <!-- <el-form-item label="折扣" prop="limits"> <el-input v-model="forms.limits" placeholder="请输入折扣" style="width: 130px" @change="numberChange" /> <!-- :disabled="isfalse" --> </el-form-item> </el-form-item> --> <el-form-item label="优惠价" prop="ysPrice"> <el-input v-model="forms.ysPrice" placeholder="请输入应收" style="width: 120px" /> @@ -192,31 +191,10 @@ <el-input v-model="forms.gtAge" style="width: 54px" /> </el-col> </el-form-item> <el-form-item label="原价" prop="price"> <el-input v-model="forms.price" placeholder="请输入原价" style="width: 130px" /> </el-form-item> <el-form-item label="折扣" prop="limits"> <el-input v-model="forms.limits" placeholder="请输入折扣" style="width: 130px" @change="numberChange" /> <!-- :disabled="isfalse" --> </el-form-item> <el-form-item label="优惠价" prop="ysPrice"> <el-input v-model="forms.ysPrice" placeholder="请输入应收" style="width: 120px" /> </el-form-item> </el-form> <el-row :gutter="10" class="mb8"> @@ -224,8 +202,7 @@ <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleGroup">保存</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="singlegg" @click="xiangmuWh">项目维护</el-button> <el-button type="primary" icon="el-icon-edit" size="mini" @click="xiangmuWh">项目维护</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="singlegg" @@ -347,7 +324,79 @@ <div> <el-dialog :title="title" :visible.sync="openOne" width="1400px" append-to-body :close-on-click-modal="false"> <el-row :gutter="24"> <el-row :gutter="24" v-if="!isTableVisible"> <el-col :span="11" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px" style="height: 35px"> <el-form-item label="原价"> <el-input ref="inputName" v-model="queryParams.price" placeholder="合计" clearable style="width: 140px" /> </el-form-item> <el-form-item label="优惠"> <el-input-number ref="inputNumber" style="width: 150px" v-model="youhui" :precision="2" :step="0.1" :max="10" :min="1"></el-input-number> </el-form-item> <el-form-item label="现价"> <el-input ref="inputName" v-model="queryParams.xianprice" placeholder="合计" clearable style="width: 140px" /> </el-form-item> <el-form-item> <el-button icon="el-icon-refresh" size="mini" @click="resetQuerys">重置</el-button> </el-form-item> </el-form> <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478"> <el-table-column label="项目名称/价格/元" align="center" prop="proName"> <template slot-scope="scope"> {{ scope.row.proName + "/" + scope.row.proPrice }} </template> </el-table-column> <el-table-column label="原价" align="center" prop="proPrice"></el-table-column> <el-table-column label="折扣"> <template slot-scope="scope"> <!-- 只输入纯数字折扣 --> <el-input v-model.number="scope.row.limits" @input="validateDiscount(scope.row)" placeholder="输入折扣" size="small" type="number" min="0" step="1" max="10"> </el-input> </template> </el-table-column> <el-table-column label="现价" align="center" prop="ysPrice"></el-table-column> <el-table-column label="操作" align="center" width="68"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @click="handledbelete(scope.row)">删除</el-button> </template> </el-table-column> </el-table> </el-col> <el-col :span="2" :xs="24"> <div style="margin: 240% 16%"> <el-button type="primary" size="medium " icon="el-icon-back" style="writing-mode: vertical-rl; text-align: center;letter-spacing: 10px;" @click="resetright">确认</el-button> </div> </el-col> <el-col :span="11" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="项目名称" prop="proName"> <el-input ref="inputName" v-model="queryParams.proName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleSearchFor" style="width: 140px" /> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchFor">搜索</el-button> </el-form-item> </el-form> <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle" height="478" style="width: 70%"> <el-table-column type="selection" width="40px" align="center" /> <el-table-column label="项目名称" align="center" prop="proName" /> <el-table-column label="项目价格/元" align="center" prop="proPrice" /> </el-table> </el-col> </el-row> <!-- -=----------------------------------------------------- --> <el-row :gutter="24" v-else> <el-col :span="8" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> <el-form-item label="套餐名称" prop="pacName"> @@ -360,7 +409,7 @@ </el-form-item> </el-form> <el-table ref="tbone" border v-loading="loading" :data="newpacName" @selection-change="handleChangeOne" height="478" v-if="isTableVisible" > height="478"> <el-table-column type="selection" width="40px" align="center" /> <el-table-column label="序号" align="center" prop="newID" width="50px" /> <el-table-column label="套餐名称/价格/元" align="center" prop="pacName"> @@ -380,32 +429,14 @@ <el-button icon="el-icon-refresh" size="mini" @click="resetQuerys">重置</el-button> </el-form-item> </el-form> <!-- <div style="color: red; font-size: 8px"> 注释:鼠标左键双击选中行可删除 </div> --> <!-- @row-dblclick="dbclick" --> <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478" > <el-table-column label="项目名称/价格/元" align="center" prop="proName" > <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478"> <el-table-column label="项目名称/价格/元" align="center" prop="proName"> <template slot-scope="scope"> {{ scope.row.proName + "/" + scope.row.proPrice }} </template> </el-table-column> <el-table-column label="原价" align="center" prop="proPrice" ></el-table-column> <el-table-column label="原价" align="center" prop="proPrice"></el-table-column> <el-table-column label="操作" align="center" width="68"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @@ -432,23 +463,11 @@ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchFor">搜索</el-button> </el-form-item> </el-form> <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle" height="478" style="width: 70%" > <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle" height="478" style="width: 70%"> <el-table-column type="selection" width="40px" align="center" /> <el-table-column label="项目名称" align="center" prop="proName" width="130" /> <el-table-column label="项目价格/元" align="center" prop="proPrice" width="100" /> <el-table-column label="项目价格/元" align="center" prop="proPrice" width="100" /> </el-table> </el-col> </el-row> @@ -602,13 +621,12 @@ </template> <script> import Big from 'big.js'; import { listComp, getComp, delComp, addComp, getfzgrouping, updateComp, addDept, Deptlist, @@ -690,6 +708,8 @@ enName: null, code: null, price: null, xianprice: null, limits: null }, id: "", // 表单参数 @@ -700,10 +720,11 @@ gtAge: 100, groupingName: "", pacName: "", payType: "", sex: "", payType: "1", sex: "2", }, sfzs: '', youhui: '', // 表单校验 rules: { cnName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], @@ -714,7 +735,7 @@ { required: true, validator: checkPhoneNum, trigger: "blur" }, ], gtAge: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], limits: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], limits: [{ required: false, validator: checkPhoneNum, trigger: "blur" }], ltAge: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], /* pacName: [ { required: true, validator: checkPhoneNum, trigger: "blur" }, @@ -771,7 +792,26 @@ this.getList(); }, methods: { validateDiscount(row) { if (row.limits > 10) { row.limits = 10; // 强制将值设置为最大值 } else if (row.limits < 0) { row.limits = 0; // 强制将值设置为最小值 } this.updateProPrice(row); // 更新价格或其他逻辑 }, updateProPrice(row) { const proPrice = new Big(row.proPrice); const limits = new Big(row.limits); const result = proPrice.times(limits.div(10)); // ordPrice * (discount / 10) row.ysPrice = result.toNumber(); this.queryParams.xianprice = this.OnenewpacName.reduce((sum, item) => { return sum.plus(new Big(item.ysPrice || '0')); }, new Big(0)).toNumber(); this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price)*100)/100)*10 }, getList() { this.$nextTick(() => { this.$refs.inputName.focus(); @@ -779,7 +819,7 @@ (this.loading = true); listComp(this.queryParams).then((response) => { this.compList = response.rows; response.rows.forEach((item, index) => { item.newID = (this.queryParams.pageNum - 1) * this.queryParams.pageSize + @@ -801,7 +841,7 @@ cancell() { this.openss = false; this.openOne = false; this.reset(); // this.reset(); }, // 表单重置 reset() { @@ -941,10 +981,7 @@ (this.forms.limits / 10) ).toFixed(2); } */ this.forms.ysPrice = ( this.forms.price * (this.forms.limits / 10) ).toFixed(2); }, changegroupingName() { @@ -969,36 +1006,7 @@ index + 1; }); // if (this.groupList.length >= 1) { // if (this.groupList[0].id) { // getfzgrouping(this.groupList[0].id).then((response) => { // this.OnenewpacName = response.data.groupingProList; // this.queryParams.price = 0; // this.OnenewpacName.forEach((item) => { // this.queryParams.price += item.proPrice; // }); // }); // } // } // if (this.newpacName.length != 0) { // this.$nextTick(() => { // if (this.forms.pacName) { // this.newpacName.forEach((item, index) => { // if (this.forms.pacName == item.pacName) { // this.$refs.tbone.toggleRowSelection( // this.newpacName[index], // true // ); // } // }); // } else { // this.$refs.tbone.toggleRowSelection(this.newpacName[0], true); // } // }); // } else { // this.$refs.tbone.clearSelection(); // } }); } else { deptTreeSelect().then((response) => { @@ -1010,40 +1018,12 @@ index + 1; }); // if (this.groupList.length >= 1) { // if (this.groupList[0].id) { // getfzgrouping(this.groupList[0].id).then((response) => { // this.OnenewpacName = response.data.groupingProList; // this.queryParams.price = 0; // this.OnenewpacName.forEach((item) => { // this.queryParams.price += item.proPrice; // }); // }); // } // } // if (this.newpacName.length != 0) { // this.$nextTick(() => { // if (this.forms.pacName) { // this.newpacName.forEach((item, index) => { // if (this.forms.pacName == item.pacName) { // this.$refs.tbone.toggleRowSelection( // this.newpacName[index], // true // ); // } // }); // } else { // this.$refs.tbone.toggleRowSelection(this.newpacName[0], true); // } // }); // } else { // this.$refs.tbone.clearSelection(); // } }); } getProjectList().then((response) => { this.Treedata = response.data; }); }, @@ -1097,7 +1077,6 @@ // 单项选定按钮 resetright() { this.queryParams.price = 0; // this.dataLists=JSON.parse(JSON.stringify(this.dataList)); this.dataList.forEach((item) => { this.$refs.tre.toggleRowSelection(item, false); this.OnenewpacName.push(item); @@ -1126,35 +1105,20 @@ this.queryParams.price += item.proPrice; }); }, /* submitrighr() { if (this.pacList.length >= 1) { this.openss = false; this.forms.pacName = this.pacList[0].pacName; this.forms.price = this.queryParams.price; this.forms.ysPrice = ( this.forms.price * (this.forms.limits / 10) ).toFixed(2); } else { this.$modal.msgError("请选择套餐"); } }, */ submitrighr() { this.openOne = false; // this.forms.pacName = this.pacList[0].pacName; this.forms.price = this.queryParams.price; this.forms.ysPrice = ( this.forms.price * (this.forms.limits / 10) ).toFixed(2); // console.log(this.groupingList, 555); this.forms.ysPrice = this.queryParams.xianprice this.forms.limits = this.youhui let mapList = []; this.OnenewpacName.forEach((item) => { mapList.push({ proName: item.proName, proId: item.proId, proPrice: item.proPrice, limits: item.limits, ysPrice: item.ysPrice }); }); @@ -1177,7 +1141,7 @@ mapList: mapList, price: this.forms.price, ysPrice: this.forms.ysPrice, id: this.groupList[0].id, id: this.groupList[0] ? this.groupList[0].id : '' }; // 发送请求保存数据 @@ -1185,11 +1149,11 @@ if (res.code == 200) { this.beCurrent(); this.forms.groupingName = ""; this.forms.sex = ""; this.forms.sex = "2"; this.forms.pacName = ""; this.forms.price = ""; this.forms.ysPrice = ""; this.forms.payType = ""; this.forms.payType = "1"; } }); @@ -1208,9 +1172,6 @@ this.pacList.forEach((item) => { this.OnenewpacName = item.tjProjectList; }); // this.dataLists.forEach((item2) => { // this.OnenewpacName.push(item2); // }); this.OnenewpacName.forEach((item) => { this.queryParams.price += item.proPrice; }); @@ -1253,7 +1214,6 @@ handleChange(selection) { this.groupList = selection; if (selection.length > 0) { this.groupList.forEach((item) => { this.forms.groupingName = item.groupingName; @@ -1272,53 +1232,42 @@ this.GroupUpdate(); this.isSexDisabled = false; // 恢复性别选择框为可用 } /* this.groupList.forEach((item) => { this.forms.groupingName = item.groupingName; this.forms.gtAge = item.gtAge; this.forms.limits = item.limits; this.forms.ltAge = item.ltAge; this.forms.pacName = item.pacName; this.forms.payType = item.payType; this.forms.sex = item.sex; this.forms.price = item.price; this.forms.ysPrice = item.ysPrice; }); if (selection.length > 1) { let del_row = selection.shift(); this.$refs.tbs.toggleRowSelection(del_row, false); //设置这一行取消选中 } if(selection.length > 0) { this.isSexDisabled = true; } else { this.isSexDisabled = false; } */ this.groupIds = selection.map((item) => item.id); this.singlegg = !selection.length; }, xiangmuWh() { if (!this.forms.groupingName || !this.forms.sex || !this.forms.payType) { this.$modal.msgError("请先填写所有必填项!"); return; // Stop execution if any required field is empty } this.openOne = true; this.title = "分组项目维护"; this.OnenewpacName = []; this.queryParams.price = 0; this.loading = true; let id = this.groupList[0].id; if (this.groupList[0]) { let id = this.groupList[0].id || ''; getDetails(id).then((res) => { this.OnenewpacName = res.data.groupingProList; this.queryParams.xianprice = this.OnenewpacName.reduce((sum, item) => { return sum.plus(new Big(item.ysPrice || '0')); }, new Big(0)); this.OnenewpacName.forEach((item, index) => { this.queryParams.price += item.proPrice; }); this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price)*100)/100)*10 }); } // console.log(this.groupList[0].id, 9966); getconfigKey("sfzstc").then((res) => { this.sfzs = res.msg; }); getDetails(id).then((res) => { this.OnenewpacName = res.data.groupingProList; this.OnenewpacName.forEach((item, index) => { this.queryParams.price += item.proPrice; }); // return this.OnenewpacName.forEach((item) => { // this.queryParams.price += item.proPrice; // }); }); if (this.forms.sex) { deptTreeSelect(this.forms.sex).then((response) => { // 套餐名称 @@ -1349,70 +1298,7 @@ // console.log(this.Treedata,999888); }); }, //保存分组 /* handleGroup() { if (this.selectionList.length <= 0) { this.$modal.msgError("请先选中部门或添加新的部门"); } else { this.groupList.forEach((item) => { if (item.id) { this.id = item.id; } }); let mapList = []; this.OnenewpacName.forEach((item) => { mapList.push({ proName: item.proName, proId: item.proId, proPrice: item.proPrice, }); }); if (this.id) { var data = { id: this.id, groupingName: this.forms.groupingName, gtAge: this.forms.gtAge, limits: this.forms.limits, ltAge: this.forms.ltAge, pacName: this.forms.pacName, payType: this.forms.payType, sex: this.forms.sex, dwDeptId: this.selectionList[0].id, dwId: this.selectionList[0].dwId, mapList: mapList, price: this.forms.price, ysPrice: this.forms.ysPrice, }; } else { var data = { groupingName: this.forms.groupingName, gtAge: this.forms.gtAge, limits: this.forms.limits, ltAge: this.forms.ltAge, pacName: this.forms.pacName, payType: this.forms.payType, sex: this.forms.sex, dwDeptId: this.selectionList[0].id, dwId: this.selectionList[0].dwId, mapList: mapList, price: this.forms.price, ysPrice: this.forms.ysPrice, }; } dwgrouping(data).then((res) => { if (res.code == 200) { this.beCurrent(); this.groupingList = res.data.updatedGroupingList; this.forms.groupingName = ""; this.forms.sex = ""; this.forms.pacName = ""; this.forms.price = ""; this.forms.ysPrice = ""; this.forms.payType = ""; } }); } }, */ handleGroup() { // 如果没有选中任何部门(即没有 selectionList),可以直接从 OnenewpacName 获取数据 let mapList = []; @@ -1424,16 +1310,8 @@ }); }); // 如果 selectionList 为空,使用 mapList 继续保存 /* if (this.OnenewpacName.length === 0) { this.$modal.msgError("请先选中项目"); return; // 提示用户选中项目 } */ this.forms.ysPrice = ( this.forms.price * (this.forms.limits / 10) ).toFixed(2); let data = { groupingName: this.forms.groupingName, @@ -1456,30 +1334,30 @@ if (res.code == 200) { this.beCurrent(); this.forms.groupingName = ""; this.forms.sex = ""; this.forms.sex = "2"; this.forms.pacName = ""; this.forms.price = ""; this.forms.ysPrice = ""; this.forms.payType = ""; this.forms.payType = "1"; } }); }, // 修改分组 GroupUpdate() { // this.forms = {}; console.log(this.$refs.elTable) this.$refs.tbs.clearSelection(); this.forms = { groupingName: "", gtAge: "", limits: "", ltAge: "", pacName: "", payType: "", sex: "", payType: "1", sex: "2", price: "", ysPrice: "", }; // this.$refs.forms.resetFields(); }, beCurrent() { let data = { src/views/system/tijian/index.vue
@@ -74,18 +74,18 @@ </el-form-item> <el-form-item label="姓名" prop="cusName" :rules="[ { required: true, validator: (rule, value, callback) => { if (!form.cusName) { callback(''); } else if (form.cusName) { callback(); } }, trigger: 'blur', }, ]"> { required: true, validator: (rule, value, callback) => { if (!form.cusName) { callback(''); } else if (form.cusName) { callback(); } }, trigger: 'blur', }, ]"> <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="openname"> 姓名 @@ -107,20 +107,20 @@ </el-form-item> <el-form-item label="性别" prop="cusSex" :rules="[ { required: true, validator: (rule, value, callback) => { if (!form.cusSex && showHidden.has_sex === 'Y') { callback(''); } else if (showHidden.has_sex === 'N') { callback(); } else if (form.cusSex && showHidden.has_sex === 'Y') { callback(); } }, trigger: 'blur', }, ]"> { required: true, validator: (rule, value, callback) => { if (!form.cusSex && showHidden.has_sex === 'Y') { callback(''); } else if (showHidden.has_sex === 'N') { callback(); } else if (form.cusSex && showHidden.has_sex === 'Y') { callback(); } }, trigger: 'blur', }, ]"> <el-select :disabled="isDisabled" v-model="form.cusSex" placeholder="性别"> <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="parseInt(dict.value)"></el-option> @@ -128,23 +128,23 @@ </el-form-item> <el-form-item label="证件号码" prop="cusIdcard" :rules="[ { required: true, validator: (rule, value, callback) => { if (!form.cusIdcard && showHidden.has_idcard === 'Y') { callback(''); } else if (showHidden.has_idcard === 'N') { callback(); } else if ( form.cusIdcard && showHidden.has_idcard === 'Y' ) { callback(); } }, trigger: 'blur', }, ]"> { required: true, validator: (rule, value, callback) => { if (!form.cusIdcard && showHidden.has_idcard === 'Y') { callback(''); } else if (showHidden.has_idcard === 'N') { callback(); } else if ( form.cusIdcard && showHidden.has_idcard === 'Y' ) { callback(); } }, trigger: 'blur', }, ]"> <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handleQuery"> 证件号码 </span> @@ -166,20 +166,20 @@ </el-form-item> <el-form-item label="电话" prop="cusPhone" :rules="[ { required: true, validator: (rule, value, callback) => { if (!form.cusPhone && showHidden.is_phone === 'Y') { callback(''); } else if (showHidden.is_phone === 'N') { callback(); } else if (form.cusPhone && showHidden.is_phone === 'Y') { callback(); } }, trigger: 'blur', }, ]"> { required: true, validator: (rule, value, callback) => { if (!form.cusPhone && showHidden.is_phone === 'Y') { callback(''); } else if (showHidden.is_phone === 'N') { callback(); } else if (form.cusPhone && showHidden.is_phone === 'Y') { callback(); } }, trigger: 'blur', }, ]"> <el-input v-model="form.cusPhone" placeholder="请输入联系电话" :disabled="isDisabled" /> </el-form-item> @@ -301,7 +301,7 @@ </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="handle">查询</el-button> <!-- <el-button type="primary" size="mini" @click="submit">确认</el-button> --> </el-form-item> </el-form> <div class="tab4"> @@ -322,19 +322,7 @@ </el-table-column> --> </el-table> </div> <!-- <el-button style=" width: 20px; height: 100px; margin-top: 20%; font-size: 10px; padding-right: 20px; " type="primary" size="mini" @click="submit" ><i style="font-size: 18px" class="el-icon-d-arrow-right"></i ></el-button> --> </div> </el-tab-pane> <el-tab-pane label="组合" name="third"> @@ -505,9 +493,9 @@ <el-input placeholder="应收金额" v-model="TotalPrice1" disabled style="width: 150px"></el-input> </el-form-item> <el-form-item label="优惠"> <!-- {{ discount }} --> <el-input-number ref="inputNumber" style="width: 150px" v-model="discount" :precision="2" :step="0.1" :max="10" :min="1" @change="numberChange" :disabled="isfalse"></el-input-number> :max="10" :min="0" @change="numberChange" :disabled="isfalse"></el-input-number> </el-form-item> <el-form-item label="实收金额"> <el-input placeholder="实收金额" v-model="TotalPrice" style="width: 150px"></el-input> @@ -582,13 +570,13 @@ <div style=" padding: 0px 6px; border: 1px solid #e6ebf5; max-height: 420px; max-height: 650%; overflow: auto; width: 916px; margin-left: 35px; "> <el-table :data="tableData1" border style="width: 100%" height="250"> <el-table :data="tableData1" border style="width: 100%;"> <el-table-column prop="proName" label="项目" width="180"> </el-table-column> <el-table-column prop="proType" label="性别" width="50"> @@ -617,6 +605,12 @@ <el-table-column prop="proCheckMethod" label="是否空腹"> <template slot-scope="scope"> <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> </template> </el-table-column> <el-table-column label="操作" align="center" width="80px"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete1(scope.row)" title="删除"> </el-button> </template> </el-table-column> </el-table> @@ -668,7 +662,7 @@ :disabled="true"></el-input> </el-form-item> <el-form-item label="优惠"> <el-input-number style="width: 140px" v-model="discount" :precision="2" :step="0.1" :max="10" :min="1" <el-input-number style="width: 140px" v-model="discount" :precision="2" :step="0.1" :max="10" :min="0" @change="numberChange" :disabled="isfalse"></el-input-number> </el-form-item> <el-form-item label="实收金额"> @@ -756,6 +750,7 @@ </template> <script> import Big from 'big.js'; import selectName from "@/components/selectName"; import { dataURLtoFile, random } from "./file"; import { getInfo } from "@/api/login"; @@ -786,6 +781,7 @@ getconfigKey, getHistryTjOrderProByCusIdCard, readCertCardInfos, gaibianzhekou } from "@/api/system/tijian"; import { addComp } from "@/api/system/comp"; import { getCompany, queryCompany } from "@/api/team/tuanti"; @@ -1082,6 +1078,31 @@ mounted() { }, methods: { /** 删除按钮操作 */ handleDelete1(row) { console.log(row); let data = { cusCardId: row.cusId, proId: row.parentProId, }; this.$modal.confirm('是否确认删除?').then(() => { return delTbBycusCardIdAndProId(data); }).then(() => { this.TotalPrice1 = 0 getTransitionList1(row.cusId).then((response) => { this.tableData1 = response.data; this.tableData1.forEach((item) => { this.TotalPrice1 += item.ordPrice; this.TotalPrice += item.nowPrice; }); this.TotalPrice = this.tableData1.reduce((sum, item) => { return sum.plus(new Big(item.nowPrice || '0')); }, new Big(0)); this.discount = (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10 }); this.$modal.msgSuccess("删除成功"); }).catch(() => { }); }, validateDiscount(row) { if (row.discount > 10) { row.discount = 10; // 强制将值设置为最大值 @@ -1093,10 +1114,20 @@ isAll(value) { return value === '' || value === null; }, // 更新实收金额 updateProPrice(row) { row.nowPrice = Number(row.ordPrice) * (Number(row.discount) / 10); const ordPrice = new Big(row.ordPrice); const discount = new Big(row.discount); const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10) row.nowPrice = result.toNumber(); this.TotalPrice = this.tableData1.reduce((sum, item) => { return sum.plus(new Big(item.nowPrice || '0')); }, new Big(0)); this.discount = (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10 }, openname() { this.$refs.bbb.open = true; @@ -1271,42 +1302,6 @@ this.$refs.historyTj.getlist(); }, candelete(item) { let data = { cusCardId: this.form.cusIdcard, proId: item.proPrantId, }; delTbBycusCardIdAndProId(data).then((res) => { getTransitionList1(this.form.cusIdcard).then((response) => { this.tableData1 = response.data; this.TotalPrice1 = 0; if (this.tableData1) { this.tableData1.forEach((item) => { this.TotalPrice1 += item.ordPrice; this.TotalPrice += item.nowPrice; if (item.pacName === null) { item.pacName = "单项"; } if (item.pacName == "单项") { item.list.forEach((item9) => { this.treeList.push(item9.proId); }); } this.pacName = item.pacName; }); this.list1 = false; this.list3 = true; } else { this.list1 = true; this.TotalPrice = 0; } }); }); }, cope() { this.tcShow = true; let cusIdCard = this.form.cusIdcard; @@ -1370,7 +1365,7 @@ this.pacName = item.pacName; }); this.list1 = false; this.list3 = true; @@ -1592,7 +1587,7 @@ if (this.discount <= this.getInfodis) { this.discount = this.getInfodis; } this.TotalPrice = (this.TotalPrice1 * (this.discount / 10)).toFixed(2); // this.TotalPrice = (this.TotalPrice1 * (this.discount / 10)).toFixed(2); }, /** 登记提交按钮 */ @@ -1679,7 +1674,7 @@ this.top = false; } else { this.list1 = true; this.TotalPrice =0; this.TotalPrice = 0; this.top = false; } }); @@ -2210,6 +2205,7 @@ // }, resetpackage() { this.discount = 10 if (this.form.cusIdcard) { var cusId = this.form.cusIdcard; } else { @@ -2562,7 +2558,7 @@ if (this.DataList.length != 0) { this.list1 = false; this.DataList.forEach((item) => { this.marryall += item.proPrice; }); } @@ -2682,7 +2678,6 @@ } else { this.$message.warning("请先填写信息,再选体检内容"); } let _this = this; if (this.tableData.length != 0) { this.tableData.forEach((item) => { @@ -2730,7 +2725,7 @@ this.pacName = item.pacName; }); this.list1 = false; this.list3 = true; this.list2 = false; @@ -2740,7 +2735,7 @@ } }); } else { console.log(失败了); } }); } else { @@ -2766,8 +2761,8 @@ this.pacName = item.pacName; }); this.list1 = false; this.list3 = true; this.list2 = false; @@ -2777,7 +2772,7 @@ } }); } else { console.log(失败了); } }); } @@ -3091,35 +3086,46 @@ let paidIn = this.TotalPrice.toString(); let discount = this.discount; this.tjFlowingWater = { copeWith, paidIn, discount }; const newArray = this.tableData1 .filter(item => item.discount < 10) // 过滤出 discount < 10 的项 .map(item => ({ discount: item.discount, parentProId: item.parentProId, cusIdCard: item.cusId })); // 创建新的对象,包含 discount 和 id gaibianzhekou(newArray).then((res) => { if (res.code === 200) { let data; let data; if (pacId || this.tjOrderList.length > 0) { data = { photo: this.srcUrl, pacId, tjOrderList: this.tjOrderList, tjFlowingWater: this.tjFlowingWater, userId, tjType, tjCategory: this.tjCategory, }; this.listgetOrder(data); } else if (pacId || this.tjOrderList.length > 0) { data = { photo: this.srcUrl, tjOrderList: this.tjOrderList, tjFlowingWater: this.tjFlowingWater, userId, tjType, tjCategory: this.tjCategory, }; this.listgetOrder(data); } else { this.$message({ type: "warning ", message: "请选择套餐!", }); } if (pacId || this.tjOrderList.length > 0) { data = { photo: this.srcUrl, pacId, tjOrderList: this.tjOrderList, tjFlowingWater: this.tjFlowingWater, userId, tjType, tjCategory: this.tjCategory, }; this.listgetOrder(data); } else if (pacId || this.tjOrderList.length > 0) { data = { photo: this.srcUrl, tjOrderList: this.tjOrderList, tjFlowingWater: this.tjFlowingWater, userId, tjType, tjCategory: this.tjCategory, }; this.listgetOrder(data); } else { this.$message({ type: "warning ", message: "请选择套餐!", }); } } else { this.$modal.msgError("改变折扣错误"); } }) } else { this.$modal.msgError("请选择体检类别"); }