From 01217cd5e6695c0651554a2355695f0ce60bb67d Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期四, 02 一月 2025 23:02:28 +0800 Subject: [PATCH] 12 --- src/views/doctor/check/index.vue | 105 +++--------- src/views/system/tijian/index.vue | 228 +++++++++++++++------------ src/views/hosp/order/index.vue | 4 src/views/login.vue | 2 src/views/system/comp/index.vue | 97 +++-------- package.json | 1 src/api/system/tijian.js | 8 7 files changed, 192 insertions(+), 253 deletions(-) diff --git a/package.json b/package.json index 4d4fb32..a33da8d 100644 --- a/package.json +++ b/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", diff --git a/src/api/system/tijian.js b/src/api/system/tijian.js index 2b8bdf3..41ab0e9 100644 --- a/src/api/system/tijian.js +++ b/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({ diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue index 5c097d8..110cefd 100644 --- a/src/views/doctor/check/index.vue +++ b/src/views/doctor/check/index.vue @@ -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> @@ -601,75 +582,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" /> @@ -2261,6 +2188,9 @@ }; </script> <style lang="scss" scoped> +.a{ + position: relative; +} .el-table .cell { -webkit-box-sizing: border-box; box-sizing: border-box; @@ -2363,4 +2293,21 @@ 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> diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue index ccc77aa..6aa8be0 100644 --- a/src/views/hosp/order/index.vue +++ b/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({ diff --git a/src/views/login.vue b/src/views/login.vue index 2bab64b..af01c3d 100644 --- a/src/views/login.vue +++ b/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 { diff --git a/src/views/system/comp/index.vue b/src/views/system/comp/index.vue index 10a86f4..e0aaf26 100644 --- a/src/views/system/comp/index.vue +++ b/src/views/system/comp/index.vue @@ -193,30 +193,17 @@ </el-col> </el-form-item> <el-form-item label="鍘熶环" prop="price"> - <el-input - v-model="forms.price" - placeholder="璇疯緭鍏ュ師浠�" - style="width: 130px" - /> + <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" - /> + <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-input v-model="forms.ysPrice" placeholder="璇疯緭鍏ュ簲鏀�" style="width: 120px" /> </el-form-item> - + </el-form> <el-row :gutter="10" class="mb8"> @@ -224,8 +211,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" @@ -360,7 +346,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" v-if="isTableVisible"> <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"> @@ -384,28 +370,14 @@ 娉ㄩ噴锛氶紶鏍囧乏閿弻鍑婚�変腑琛屽彲鍒犻櫎 </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 +404,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> @@ -771,7 +731,7 @@ this.getList(); }, methods: { - + getList() { this.$nextTick(() => { this.$refs.inputName.focus(); @@ -779,7 +739,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 + @@ -1043,7 +1003,7 @@ } getProjectList().then((response) => { this.Treedata = response.data; - + }); }, @@ -1303,22 +1263,23 @@ 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.OnenewpacName.forEach((item, index) => { + this.queryParams.price += item.proPrice; + }); + + }); + } // 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) => { // 濂楅鍚嶇О diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index a9fa3d6..da7eba1 100644 --- a/src/views/system/tijian/index.vue +++ b/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> @@ -505,9 +505,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 +582,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"> @@ -668,7 +668,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 +756,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 +787,7 @@ getconfigKey, getHistryTjOrderProByCusIdCard, readCertCardInfos, + gaibianzhekou } from "@/api/system/tijian"; import { addComp } from "@/api/system/comp"; import { getCompany, queryCompany } from "@/api/team/tuanti"; @@ -1093,10 +1095,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; @@ -1295,7 +1307,7 @@ this.pacName = item.pacName; }); - + this.list1 = false; this.list3 = true; @@ -1370,7 +1382,7 @@ this.pacName = item.pacName; }); - + this.list1 = false; this.list3 = true; @@ -1592,7 +1604,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 +1691,7 @@ this.top = false; } else { this.list1 = true; - this.TotalPrice =0; + this.TotalPrice = 0; this.top = false; } }); @@ -2210,6 +2222,7 @@ // }, resetpackage() { + this.discount = 10 if (this.form.cusIdcard) { var cusId = this.form.cusIdcard; } else { @@ -2562,7 +2575,7 @@ if (this.DataList.length != 0) { this.list1 = false; this.DataList.forEach((item) => { - + this.marryall += item.proPrice; }); } @@ -2730,7 +2743,7 @@ this.pacName = item.pacName; }); - + this.list1 = false; this.list3 = true; this.list2 = false; @@ -2740,7 +2753,7 @@ } }); } else { - console.log(澶辫触浜�); + } }); } else { @@ -2766,8 +2779,8 @@ this.pacName = item.pacName; }); - - + + this.list1 = false; this.list3 = true; this.list2 = false; @@ -2777,7 +2790,7 @@ } }); } else { - console.log(澶辫触浜�); + } }); } @@ -3091,35 +3104,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("璇烽�夋嫨浣撴绫诲埆"); } -- Gitblit v1.8.0