From 8e4792300d095bdc94e7ec8cd6b5ef1ad3fc4b0c Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期四, 13 二月 2025 16:52:37 +0800 Subject: [PATCH] qx --- src/views/doctor/checkAll/index.vue | 487 ++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 349 insertions(+), 138 deletions(-) diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue index 0bbe6e7..f22e922 100644 --- a/src/views/doctor/checkAll/index.vue +++ b/src/views/doctor/checkAll/index.vue @@ -190,7 +190,12 @@ /> </template> </el-table-column> - <el-table-column label="鎿嶄綔" align="center" width="120px" fixed="right"> + <el-table-column + label="鎿嶄綔" + align="center" + width="120px" + fixed="right" + > <template slot-scope="scope"> <el-button fixed="right" @@ -397,6 +402,12 @@ <div v-else>{{ scope.row.proAdvice }}</div> </template> </el-table-column> + <el-table-column + align="center" + prop="conclusion" + label="寮傚父" + width="180" + ></el-table-column> <el-table-column align="center" prop="" label=" 鍙傝�冭寖鍥�"> <template slot-scope="scope"> <div v-if="scope.row.project != null"> @@ -579,9 +590,8 @@ <el-button type="primary" @click="proposalChange" >鐢熸垚寤鸿</el-button > - </div> - + <el-form ref="numberValidateForm" label-width="80px" @@ -645,27 +655,67 @@ > <el-table-column type="expand"> <template slot-scope="props"> - <div - v-if=" - props.row.advices && props.row.advices.length > 0 - " - > + <div> <div - v-for="(jianyi, index1) in props.row.advices" - :key="index1" - style="padding: 0 10px; margin-bottom: 10px" + v-if=" + props.row.advices && props.row.advices.length > 0 + " > - <div>鏍囬锛歿{ jianyi.bt || "" }}</div> - <div>鍐呭锛歿{ jianyi.nr || "" }}</div> + <div + v-for="(jianyi, index1) in props.row.advices" + :key="index1" + style="padding: 0 10px; margin-bottom: 10px" + > + <div> + 鏍囬锛� + <el-input + v-model="jianyi.bt" + size="small" + type="textarea" + autosize + ></el-input> + </div> + <div> + 鍐呭锛� + <el-input + v-model="jianyi.nr" + size="small" + type="textarea" + autosize + ></el-input> + </div> + </div> + </div> + + <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> + <div v-else> + <div> + 鏍囬锛� + <el-input + v-model="emptyAdvice.bt" + size="small" + type="textarea" + autosize + ></el-input> + </div> + <div> + 鍐呭锛� + <el-input + v-model="emptyAdvice.nr" + size="small" + type="textarea" + autosize + ></el-input> + </div> </div> </div> - <div v-else style="padding: 0 10px">鏆傛棤鍐呭</div> </template> </el-table-column> <el-table-column align="center" label="妫�娴嬮」鐩�" + :show-overflow-tooltip="true" width="353" > <template slot-scope="scope"> @@ -695,6 +745,14 @@ width="78" > </el-table-column> + <el-table-column + fixed="right" + label="鎿嶄綔" + width="100"> + <template slot-scope="scope"> + <el-button @click="handleClick(scope.row)" type="danger" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> </el-table> </template> <template v-if="item.jyjc == '1'"> @@ -710,21 +768,61 @@ > <el-table-column type="expand"> <template slot-scope="props"> - <div - v-if=" - props.row.advices && props.row.advices.length > 0 - " - > + <div> + <!-- 濡傛灉 advices 闈炵┖锛屾覆鏌撳叾鍐呭 --> <div - v-for="(jianyi, index1) in props.row.advices" - :key="index1" - style="padding: 0 10px; margin-bottom: 10px" + v-if=" + props.row.advices && props.row.advices.length > 0 + " > - <div>鏍囬锛歿{ jianyi.bt || "" }}</div> - <div>鍐呭锛歿{ jianyi.nr || "" }}</div> + <div + v-for="(jianyi, index1) in props.row.advices" + :key="index1" + style="padding: 0 10px; margin-bottom: 10px" + > + <div> + 鏍囬锛� + <el-input + v-model="jianyi.bt" + size="small" + type="textarea" + autosize + ></el-input> + </div> + <div> + 鍐呭锛� + <el-input + v-model="jianyi.nr" + size="small" + type="textarea" + autosize + ></el-input> + </div> + </div> + </div> + + <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� --> + <div v-else> + <div> + 鏍囬锛� + <el-input + v-model="emptyAdvice.bt" + size="small" + type="textarea" + autosize + ></el-input> + </div> + <div> + 鍐呭锛� + <el-input + v-model="emptyAdvice.nr" + size="small" + type="textarea" + autosize + ></el-input> + </div> </div> </div> - <div v-else style="padding: 0 10px">鏆傛棤鍐呭</div> </template> </el-table-column> @@ -732,6 +830,7 @@ align="center" label="妫�娴嬮」鐩�" width="232" + :show-overflow-tooltip="true" > <template slot-scope="scope"> <div>{{ scope.row.proName }}</div> @@ -764,7 +863,6 @@ :data="statusList" style="width: 100%" :header-cell-style="{ background: '#e6a23c' }" - :stripe="true" > <el-table-column align="center" @@ -1282,6 +1380,7 @@ gettoPdf, getModified, isPdfOrJimu, + addOrder, } from "@/api/doctor/checkAll"; import { getInfoById } from "@/api/hosp/history"; import { getInfo } from "@/api/login"; @@ -1296,6 +1395,7 @@ import { getNewDateList } from "@/api/hosp/order"; import { getconfigKey } from "@/api/login"; import moment from "moment"; +import { get } from "sortablejs"; export default { components: { @@ -1322,7 +1422,10 @@ data() { return { // 鏇存柊鎬绘寤鸿 - + emptyAdvice: { + bt: "", + nr: "", + }, initialTotalCheckAdvice: "", initialState: "", preObj: {}, @@ -1512,7 +1615,27 @@ tjNum: this.tjNumber, }).then((res) => { this.yichangList = res.data; + + console.log(this.yichangList, 3232); this.getExpends(); + + this.yichangList.forEach((item) => { + item.sone.forEach((soneItem) => { + if ( + !Array.isArray(soneItem.advices) || + soneItem.advices.length === 0 + ) { + // 濡傛灉 advices 鏄┖锛岃缃粯璁ゅ�� + soneItem.advices = [ + { + bt: "", + nr: "", + }, + ]; + } + }); + }); + if (!this.yichangList) { _this.$message({ type: "warning ", @@ -1801,6 +1924,7 @@ if (this.tjproject == "0") { getupdateCheckType(this.tjNumber).then((response) => { this.changedate = response.data; + this.changedate.forEach((item) => { this.textarea1 = item.checkAdvice; }); @@ -1939,10 +2063,11 @@ }; }, redxiangmu({ row }) { - if (row.type == 0) { + if (row.type != 1) { // 鍙橀鑹茬殑鏉′欢 return { - color: "red", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor + backgroundColor: "#AAD8DF !important", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor + // color: "#AAD8DF ", }; } }, @@ -2253,63 +2378,121 @@ // } // }, change(vale) {}, - /* determine() { - let tjNumber = this.tableAll.tjNumber; - let advice = this.textarea1; - let data = { - tjNumber, - advice, - checkStatus: 1, - }; - this.loading = true; - getTjdetailList(data).then((response) => { - if (response.code === 200) { - this.$modal.msgSuccess("鎻愪氦鎴愬姛"); - let tjNumber = this.tjNumber; - let data = { - userId: this.userId, - tjNumber: tjNumber, - state: 1, - id: this.MsgId, - }; - gettoPdf(tjNumber) - .then((res) => { - this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"); - }) - .catch((error) => { - this.$modal.msgError( - "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�" - ); - }) - getfiedState(data).then((res) => { - this.drawer = false; - }); - this.queryParams.page = 1; - this.queryParams.pageSize = 10; - this.submitForm(); - this.$forceUpdate(); - }); - for (let i = 0; i < this.changedate.length; i++) { - this.proIds = this.changedate[i].parentId; - let remarks = this.changedate[i].remark; - let updateOrderRemarkVos = [ - { - tjNumber, - proId: this.proIds.toString(), - remarks, - }, - ]; - getModified(updateOrderRemarkVos).then((response) => {}); - } + // determine() { + // let tjNumber = this.tableAll.tjNumber; + // let tjh = this.tableAll.tjNumber; + // // let jyjc = this.yichangList.map(item => item.jyjc || null); + // let advice = this.textarea1; + // let data = { + // tjNumber, + // advice, + // checkStatus: 1, + // }; - // this.changedate.forEach((item) => { - // this.proIds = item.parentId; - // // this.remark = item.remark; - // }); - }, */ + // console.log(this.yichangList, 66); + + // let dataList = this.yichangList + // .map((item) => { + // return item.sone.map((soneItem) => ({ + // tjh, + // parentName: item.proName, + // jcxm: soneItem.proName, + // map: soneItem.advices, + // jyjc: item.jyjc, // assuming jyjc belongs to the outer item, not soneItem + // jcjg: soneItem.proResult, + // ckfw: soneItem.stanId, + // dw: soneItem.proAdvice, + // })); + // }) + // .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞� + // console.log(dataList, 777); + + // /* addOrder(dataList).then((res) => { + // console.log(res, 999); + // }); */ + // getTjdetailList(data) + // .then((response) => { + // if (response.code === 200) { + // this.$modal.msgSuccess("鎻愪氦鎴愬姛"); + + // // 鍑嗗鐢熸垚鎶ュ憡鐨勮姹傛暟鎹� + // let reportData = { + // userId: this.userId, + // tjNumber: tjNumber, + // state: 1, + // id: this.MsgId, + // }; + + // // 鐢熸垚鎶ュ憡骞朵繚鎸� loading 鎵撳紑 + // const reportPromise = gettoPdf(tjNumber) + // .then((res) => { + // this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"); + // }) + // .catch((error) => { + // this.$modal.msgError( + // "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�" + // ); + // }); + + // // 鏇存柊鐘舵�佸苟鎻愪氦淇敼璇锋眰 + // const statePromise = getfiedState(reportData).then((res) => { + // this.drawer = false; + // }); + + // // const addOrderPromise = addOrder(dataList).then((res) => { + // // console.log(res, 999); + // // }); + + // // 澶勭悊鍏朵粬淇敼鎿嶄綔 + // const updatePromises = this.changedate.map((item) => { + // this.proIds = item.parentId; + // let remarks = item.remark; + // let updateOrderRemarkVos = [ + // { + // tjNumber, + // proId: this.proIds.toString(), + // remarks, + // }, + // ]; + // return getModified(updateOrderRemarkVos); // 杩斿洖 Promise + // }); + + // // 绛夊緟鎵�鏈夎姹傚畬鎴� + // Promise.all([ + // reportPromise, + // statePromise, + // // addOrderPromise, + // ...updatePromises, + // ]) + // .then(() => { + // // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading + // this.loading = false; + // // 鏇存柊鍒嗛〉淇℃伅 + // this.queryParams.page = 1; + // this.queryParams.pageSize = 10; + // this.submitForm(); + // this.$forceUpdate(); + // }) + // .catch((error) => { + // // 澶勭悊閿欒鎯呭喌 + // this.loading = false; + // console.error("鍙戠敓閿欒:", error); + // }); + // } else { + // // 鎻愪氦澶辫触锛屽叧闂� loading + // this.loading = false; + // } + // }) + // .catch((error) => { + // // 鎻愪氦璇锋眰澶辫触锛屽叧闂� loading + // this.loading = false; + // console.error("鎻愪氦璇锋眰澶辫触:", error); + // }); + // }, determine() { let tjNumber = this.tableAll.tjNumber; + let tjh = this.tableAll.tjNumber; let advice = this.textarea1; let data = { tjNumber, @@ -2317,10 +2500,23 @@ checkStatus: 1, }; - // 寮�濮嬪姞杞� - this.loading = true; + console.log(this.yichangList, 6644); - // 鎻愪氦鏁版嵁 + let dataList = this.yichangList + .map((item) => { + return item.sone.map((soneItem) => ({ + tjh, + parentName: item.proName, + jcxm: soneItem.proName, + map: soneItem.advices, + jyjc: item.jyjc, + jcjg: soneItem.proResult, + ckfw: soneItem.stanId, + dw: soneItem.proAdvice, + })); + }) + .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞� + getTjdetailList(data) .then((response) => { if (response.code === 200) { @@ -2334,51 +2530,62 @@ id: this.MsgId, }; - // 鐢熸垚鎶ュ憡骞朵繚鎸� loading 鎵撳紑 - const reportPromise = gettoPdf(tjNumber) + // 璋冪敤 addOrderPromise + console.log(dataList, 5555); + + addOrder(dataList) .then((res) => { - this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"); + console.log(res, 999); + if (res.code == 200) { + gettoPdf(tjNumber) + .then((res) => { + this.$modal.msgSuccess( + "宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�" + ); + }) + .catch(() => { + this.$modal.msgError( + "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�" + ); + }); + const statePromise = getfiedState(reportData).then(() => { + this.drawer = false; + }); + const updatePromises = this.changedate.map((item) => { + this.proIds = item.parentId; + let remarks = item.remark; + let updateOrderRemarkVos = [ + { + tjNumber, + proId: this.proIds.toString(), + remarks, + }, + ]; + return getModified(updateOrderRemarkVos); // 杩斿洖 Promise + }); + + // 绛夊緟鎵�鏈夎姹傚畬鎴� + Promise.all([statePromise, ...updatePromises]) + .then(() => { + // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading + this.loading = false; + // 鏇存柊鍒嗛〉淇℃伅 + this.queryParams.page = 1; + this.queryParams.pageSize = 10; + this.submitForm(); + this.$forceUpdate(); + }) + .catch((error) => { + // 澶勭悊閿欒鎯呭喌 + this.loading = false; + console.error("鍙戠敓閿欒:", error); + }); + } }) .catch((error) => { - this.$modal.msgError( - "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�" - ); - }); - - // 鏇存柊鐘舵�佸苟鎻愪氦淇敼璇锋眰 - const statePromise = getfiedState(reportData).then((res) => { - this.drawer = false; - }); - - // 澶勭悊鍏朵粬淇敼鎿嶄綔 - const updatePromises = this.changedate.map((item) => { - this.proIds = item.parentId; - let remarks = item.remark; - let updateOrderRemarkVos = [ - { - tjNumber, - proId: this.proIds.toString(), - remarks, - }, - ]; - return getModified(updateOrderRemarkVos); // 杩斿洖 Promise - }); - - // 绛夊緟鎵�鏈夎姹傚畬鎴� - Promise.all([reportPromise, statePromise, ...updatePromises]) - .then(() => { - // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading + // 濡傛灉 addOrderPromise 澶辫触锛屽鐞嗛敊璇� this.loading = false; - // 鏇存柊鍒嗛〉淇℃伅 - this.queryParams.page = 1; - this.queryParams.pageSize = 10; - this.submitForm(); - this.$forceUpdate(); - }) - .catch((error) => { - // 澶勭悊閿欒鎯呭喌 - this.loading = false; - console.error("鍙戠敓閿欒:", error); + console.error("addOrderPromise 澶辫触:", error); }); } else { // 鎻愪氦澶辫触锛屽叧闂� loading @@ -2493,16 +2700,16 @@ width: 1700px; height: 900px; } -::v-deep .el-dialog__header{ +::v-deep .el-dialog__header { padding: 8px; } -::v-deep .el-dialog__body{ -padding: 0; +::v-deep .el-dialog__body { + padding: 0; } ::v-deep .el-button--medium { padding: 10px; } -::v-deep .el-dialog__headerbtn{ +::v-deep .el-dialog__headerbtn { // position: relative; top: 13px; } @@ -2557,23 +2764,27 @@ .box { display: flex; - height: 100vh; + // height: 100vh; } .rightbox { - margin-left: 60px; - position: fixed; - top: 107px; - right: 56px; + // margin-left: 60px; + // position: fixed; + // top: 107px; + // right: 56px; width: 684px; - + position: fixed; /* 鍥哄畾瀹氫綅 */ + right: 60px; .right { background-color: #fff; // box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); z-index: 10; - max-height: calc(100vh - 100px); /* 鍋囪浣犳兂涓洪《閮ㄥ拰搴曢儴鐣欏嚭涓�浜涚┖闂� */ - overflow-y: auto; /* 鍏佽鍨傜洿婊氬姩 */ + max-height: 900px; + height: calc(100vh - 100px); + /* 鍋囪浣犳兂涓洪《閮ㄥ拰搴曢儴鐣欏嚭涓�浜涚┖闂� */ + overflow-y: auto !important; /* 鍏佽鍨傜洿婊氬姩 */ padding: 0 0 50px; /* 鍙�夛細娣诲姞涓�浜涘唴杈硅窛浠ラ伩鍏嶅唴瀹圭揣璐磋竟缂� */ + padding-bottom: 200px; } } -- Gitblit v1.8.0