From b5cb047de1308844583d07d7fc5ff5c5c2accec7 Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期四, 12 十二月 2024 13:56:55 +0800 Subject: [PATCH] 修改表格 --- src/views/doctor/checkAll/index.vue | 549 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 358 insertions(+), 191 deletions(-) diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue index 2168968..ef54aa3 100644 --- a/src/views/doctor/checkAll/index.vue +++ b/src/views/doctor/checkAll/index.vue @@ -237,7 +237,7 @@ <!-- 鐐瑰嚮寮瑰嚭妗� --> <el-drawer - title="" + custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" @@ -247,7 +247,7 @@ <div class="top"> <table style=" - width: 98%; + width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse; @@ -309,31 +309,35 @@ <i class="el-icon-close" @click="guanbi"></i> </div> - <div style="margin-right: 10px; display: flex"> - <div class="btn1"> - <el-button @click="Graphicreport()" type="primary" - >鍥炬枃鎶ュ憡</el-button - > + <div style="margin-right: 10px; display: flex" class="btnbox"> + <div class="btn1" v-if="msgtuwen == 'y' || msgtuwen == 'Y'"> + <el-button @click="Graphicreport()" type="primary"> + <span class="vertical-text">鍥炬枃鎶ュ憡</span> + </el-button> </div> - <div class="btn2"> + <div class="btn1"> <el-button @click="historicalreport()" type="primary" - >鍘嗗彶鎶ュ憡</el-button + ><span class="vertical-text">鍘嗗彶鎶ュ憡</span></el-button > </div> <div v-if="tableAll.tjCategory == '02'" class="btn1"> <el-button @click="medicalhistory()" type="primary" - >鑱屼笟鐥呭彶</el-button + ><span class="vertical-text">鑱屼笟鐥呭彶</span></el-button > </div> - <div class="btn3"> - <el-button @click="jianqian()" type="primary">妫�鍓嶉棶璇�</el-button> + <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'"> + <el-button @click="jianqian()" type="primary"><span class="vertical-text">妫�鍓嶉棶璇�</span></el-button> </div> - - <div class="btn4"> - <el-button @click="xiangmuqingkuang()" type="primary">椤圭洰鎯呭喌</el-button> + + <div class="btn1"> + <el-button @click="xiangmuqingkuang()" type="primary" + ><span class="vertical-text">椤圭洰鎯呭喌</span></el-button + > </div> - <div class="btn5"> - <el-button @click="yichangjieguo()" type="primary">寮傚父缁撴灉</el-button> + <div class="btn1"> + <el-button @click="yichangjieguo()" type="primary" + ><span class="vertical-text">寮傚父缁撴灉</span></el-button + > </div> </div> <div class="box"> @@ -342,7 +346,7 @@ style=" font-size: 14px; height: calc(100% - 11%); - width: 1300px; + width: 1100px; margin-left: 10px; " > @@ -364,7 +368,7 @@ :row-style="changRed" :header-cell-style="{ background: '#aad8df' }" > - <el-table-column align="center" label="妫�娴嬮」鐩�" width="240"> + <el-table-column align="center" label="妫�娴嬮」鐩�" width="464"> <template slot-scope="scope"> <div>{{ scope.row.proName }}</div> </template> @@ -449,7 +453,7 @@ style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="3" > - <el-input + <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" @@ -586,21 +590,15 @@ </el-form-item> </el-form> <div slot="footer" class="dialog-footers"> + <el-button type="primary" @click.stop="guanbi">鍙栨秷</el-button> <el-button + v-if="tjproject == '0' && (msgkcf == 'y' || msgkcf == 'Y')" type="primary" - size="mini" - @click.stop="guanbi" - >鍙栨秷</el-button - > - <el-button - v-if="tjproject == '0'" - type="primary" - size="mini" @click.stop="rowClick" icon="el-icon-edit-outline" >寮�澶勬柟</el-button > - <div v-if="tjproject == '0'" style="padding-left: 10px"> + <div v-if="tjproject == '0'"> <el-button type="primary" @click="determine" @@ -610,98 +608,181 @@ </div> </div> </div> + <div class="rightbox"> <div class="right"> - <template v-if="status==0"> - <div v-for="(item, index) in yichangList" :key="index" > - <div - style=" - text-align: center; - background-color: #aad8df; - margin-top: 10px; - " - > - {{ item.proName || "" }} - </div> - <el-table - :row-style="red" - :data="item.sone" - border - style="width: 100%" - :header-cell-style="{ background: '#aad8df' }" - > - <el-table-column align="center" label="妫�娴嬮」鐩�" width="240"> - <template slot-scope="scope"> - <div>{{ scope.row.proName }}</div> + <template v-if="status1 == 0"> + <div v-for="(item, index) in yichangList" :key="index"> + <div + style=" + text-align: center; + background-color: #67c23a; + margin-top: 10px; + " + > + {{ item.proName || "" }} + </div> + <template v-if="item.jyjc == '0'"> + <el-table + :stripe="true" + :row-style="red" + :data="item.sone" + border + style="width: 100%" + :header-cell-style="{ background: '#67C23A' }" + :expand-row-keys="expends" + :row-key="getRowKeys" + > + <el-table-column type="expand"> + <template slot-scope="props"> + <div + v-if="props.row.advices && props.row.advices.length > 0" + > + <div + v-for="(jianyi, index1) in props.row.advices" + :key="index1" + style="padding: 0 10px; margin-bottom: 10px" + > + <div>鏍囬锛歿{ jianyi.bt || "" }}</div> + <div>鍐呭锛歿{ jianyi.nr || "" }}</div> + </div> + </div> + <div v-else style="padding: 0 10px">鏆傛棤鍐呭</div> + </template> + </el-table-column> + + <el-table-column align="center" label="妫�娴嬮」鐩�" width="335"> + <template slot-scope="scope"> + <div>{{ scope.row.proName }}</div> + </template> + </el-table-column> + <el-table-column + align="center" + prop="proResult" + label="妫�娴嬬粨鏋�" + width="85" + > + </el-table-column> + + <el-table-column + align="center" + prop="stanId" + label=" 鍙傝�冭寖鍥�" + width="117" + > + </el-table-column> + + <el-table-column + align="center" + prop="proAdvice" + label="鍗曚綅" + width="78" + > + </el-table-column> + </el-table> </template> - </el-table-column> - <el-table-column - align="center" - prop="proResult" - label="妫�娴嬬粨鏋�" - width="160" - > - </el-table-column> + <template v-if="item.jyjc == '1'"> + <el-table + :stripe="true" + :row-style="red" + :data="item.sone" + border + style="width: 100%" + :header-cell-style="{ background: '#67C23A' }" + :expand-row-keys="expends" + :row-key="getRowKeys" + > + <el-table-column type="expand"> + <template slot-scope="props"> + <div + v-if="props.row.advices && props.row.advices.length > 0" + > + <div + v-for="(jianyi, index1) in props.row.advices" + :key="index1" + style="padding: 0 10px; margin-bottom: 10px" + > + <div>鏍囬锛歿{ jianyi.bt || "" }}</div> + <div>鍐呭锛歿{ jianyi.nr || "" }}</div> + </div> + </div> + <div v-else style="padding: 0 10px">鏆傛棤鍐呭</div> + </template> + </el-table-column> - <el-table-column align="center" prop="stanId" label=" 鍙傝�冭寖鍥�"> - </el-table-column> - <el-table-column align="center" prop="proAdvice" label="鍗曚綅"> - </el-table-column> - </el-table> - </div> - <div v-if="!yichangList.length">鏆傛棤寮傚父缁撴灉</div> - </template> - <template v-if="status==1"> - <div v-for="(item, index) in statusList" :key="index"> - <div - style=" - text-align: center; - background-color: #aad8df; - margin-top: 10px; - " - > - {{ item.proName || "" }} - </div> - <el-table - :data="statusList" - border - style="width: 100%" - :header-cell-style="{ background: '#aad8df' }" - > - <el-table-column align="center" label="閮ㄩ棬" width="190" prop="deptName"> - </el-table-column> - <el-table-column - align="center" - prop="proName" - label="椤圭洰" - width="160" - > - </el-table-column> - - <el-table-column - label="鐘舵��" - align="center" - prop="type" - :show-overflow-tooltip="true" - width="60" - > - <template slot-scope="scope"> - <span v-if="scope.row.type == '0'">鏈</span> - <span v-if="scope.row.type == '1'">宸叉</span> - <span v-if="scope.row.type == '2'">寮冩</span> - <span v-if="scope.row.type == '3'">寤舵湡</span> + <el-table-column align="center" label="妫�娴嬮」鐩�" width="250"> + <template slot-scope="scope"> + <div>{{ scope.row.proName }}</div> + </template> + </el-table-column> + <el-table-column + align="center" + prop="proResult" + label="妫�娴嬬粨鏋�" + width="366" + > + </el-table-column> + </el-table> + </template> + </div> </template> - </el-table-column> - <el-table-column - label="妫�鏌ユ椂闂�" - align="center" - prop="bcupdateTime" - width="160" - /> - </el-table> + <template v-if="status1 == 1"> + <div> + <div + style=" + text-align: center; + background-color: #e6a23c; + margin-top: 10px; + " + > + 椤圭洰妫�鏌ユ儏鍐� + </div> + <el-table + :row-style="redxiangmu" + :data="statusList" + style="width: 100%" + :header-cell-style="{ background: '#e6a23c' }" + :stripe="true" + > + <el-table-column + align="center" + label="閮ㄩ棬" + width="185" + prop="deptName" + > + </el-table-column> + <el-table-column + align="center" + prop="proName" + label="椤圭洰" + width="260" + > + </el-table-column> + + <el-table-column + label="鐘舵��" + align="center" + prop="type" + :show-overflow-tooltip="true" + width="60" + > + <template slot-scope="scope"> + <span v-if="scope.row.type == '0'">鏈</span> + <span v-if="scope.row.type == '1'">宸叉</span> + <span v-if="scope.row.type == '2'">寮冩</span> + <span v-if="scope.row.type == '3'">寤舵湡</span> + </template> + </el-table-column> + <el-table-column + label="妫�鏌ユ椂闂�" + align="center" + prop="bcupdateTime" + width="160" + /> + </el-table> + </div> + </template> </div> - </template> - </div> </div> </div> @@ -1185,12 +1266,13 @@ import { getCompany, queryCompany } from "@/api/team/tuanti"; import { reportHistory, yichang } from "@/api/doctor/check"; import { getPdf, revoke } from "@/api/hosp/order"; -import { cSWebGetPro} from "@/api/doctor/examination"; +import { cSWebGetPro } from "@/api/doctor/examination"; import ViewPdf from "@/components/ViewPdf"; import Historicalreport from "@/components/Historicalreport"; import { getDicts } from "@/api/system/dict/data"; import { getTjYxjcList } from "@/api/system/package"; import { getNewDateList } from "@/api/hosp/order"; +import { getconfigKey } from "@/api/login"; import moment from "moment"; export default { @@ -1277,6 +1359,9 @@ }, ], }, + msgtuwen: "", + msgjianqian: "", + msgkcf: "", // 椤甸潰鍏ㄩ儴鏁版嵁 checkList: [], // 缁戝畾鍗曢�夋寜閽� @@ -1342,40 +1427,76 @@ tjCategory: undefined, payType: undefined, }, - status: 0 // 0灞曠ず寮傚父1灞曠ず椤圭洰鎯呭喌 + status1: 0, // 0灞曠ず寮傚父1灞曠ず椤圭洰鎯呭喌 + viewportHeight: 0, + expends: [], }; }, created() { // this.getNowTime(); - + this.getConfigKey(); this.getdate(); }, mounted() { this.$nextTick(() => { this.$refs.inputName.focus(); - + this.viewportHeight = + window.innerHeight || document.documentElement.clientHeight; }); }, methods: { - // 椤圭洰鎯呭喌 - xiangmuqingkuang () { - cSWebGetPro(this.tjNumber).then((res) => { - this.status = 1 - this.statusList = res.data; - }) + getConfigKey() { + getconfigKey("sfkqtwbg").then((res) => { + this.msgtuwen = res.msg; + }); + getconfigKey("sfkqjqwz").then((res) => { + this.msgjianqian = res.msg; + }); + getconfigKey("kcf").then((res) => { + this.msgkcf = res.msg; + }); }, - guanbi(){ + //璁剧疆table涓殑鎵╁睍椤癸紝灞曞紑鐨刬d锛屾澶勬垜闇�瑕佸叏閮ㄥ睍寮� + getExpends() { + // 閫氳繃flatMap灏嗘瘡涓猻one鏁扮粍涓殑ID鎻愬彇鍑烘潵锛屽苟杩斿洖涓�涓墎骞冲寲鐨処D鏁扮粍 + this.expends = this.yichangList.flatMap((item) => + item.sone.map((subItem) => subItem.proId) + ); + }, + + getRowKeys(row) { + return row.proId; + }, + // 椤圭洰鎯呭喌 + xiangmuqingkuang() { + cSWebGetPro(this.tjNumber).then((res) => { + this.status1 = 1; + this.statusList = res.data; + + if (this.statusList.length == 0) { + _this.$message.msgSuccess("鏆傛棤椤圭洰鎯呭喌"); + } + }); + }, + guanbi() { this.drawer = false; }, yichangjieguo() { - this.status = 0 - let _this = this + this.status1 = 0; + let _this = this; yichang({ tjNum: this.tjNumber, }).then((res) => { this.yichangList = res.data; + this.getExpends(); + if(!this.yichangList){ + this.$message({ + type: "warning ", + message: "鏆傛棤寮傚父鎶ュ憡", + }); + } }); }, getdate() { @@ -1424,7 +1545,7 @@ let tjNumber = this.tableAll.tjNumber; this.jianqianwenzhendata.push(tjNumber); }, - + getList() { this.loading = true; this.queryParams.compId = this.CheckBox.drugManufacturerId; @@ -1795,6 +1916,14 @@ color: "red", }; }, + redxiangmu({ row }) { + if (row.type == 0) { + // 鍙橀鑹茬殑鏉′欢 + return { + color: "red", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor + }; + } + }, /* changRed(row) { if (row.label === "鈫�") { return { @@ -1823,12 +1952,12 @@ this.tjproject = "0"; this.tjNumber = this.tableAll.tjNumber; - + getState(this.tjNumber).then((res) => { this.status = res.data; - - if (this.status.status === "1") { - this.yichangjieguo() + if (this.status) { + if (this.status.status === "1") { + this.yichangjieguo(); getInfo().then((response) => { this.userId = response.user.userId; if (this.userId) { @@ -1880,7 +2009,6 @@ } }); } else { - this.$confirm( "" + this.status.name + "姝e湪淇敼璇ヤ俊鎭�, 鏄惁寮哄埗杩涘幓?", "鎻愮ず", @@ -1891,10 +2019,10 @@ } ) .then(() => { - this.yichangjieguo() + this.yichangjieguo(); getInfo().then((response) => { this.userId = response.user.userId; - + if (this.userId) { let data = { userId: this.userId, @@ -1950,14 +2078,17 @@ message: "宸插彇娑堣繘鍏�", }); }); - - this.drawer = false; - - } - } - - ); + this.drawer = false; + } + } else { + this.$message({ + type: "warning", + message: "璇风◢鍚庨噸璇�", + }); + } + + }); // 鑾峰彇灏忕粨 // getDeptAdvice().then((response) => { @@ -2197,33 +2328,35 @@ .mainbox { position: relative; } +.tanchu { + background-color: red; +} .btn { margin: 20px 0px; } -/* 鎸夐挳鐨勫垵濮嬬姸鎬� */ -.btn1, -.btn2, -.btn3, -.btn4, -.btn5 { - position: fixed; - right: 0; - transform: translateY(-50%); +.btnbox { display: flex; flex-direction: column; - gap: 10px; - cursor: pointer; - animation: fadeInUp 0.5s ease-out forwards; /* 鍔犺浇鏃剁殑娣″叆鍔ㄧ敾 */ + gap: 10px; /* 鎸夐挳涔嬮棿鐨勯棿璺� */ + position: fixed; /* 浣挎暣涓寜閽尯鍩熷浐瀹氬湪椤甸潰 */ + right: 0; /* 鍥哄畾鍦ㄩ〉闈㈠彸渚� */ + top: 20%; /* 鍒濆浣嶇疆 */ z-index: 10; - transition: transform 0.3s ease; /* 骞虫粦杩囨浮 */ - writing-mode: vertical-rl; /* 浣挎枃鏈珫鐩存帓鍒� */ - text-align: center; /* 鏂囧瓧灞呬腑 */ } -// ::v-deep .el-button{ -// background-color: rgba(170, 226, 233, 0.5); -// color: white; -// } -/* 鍔犺浇鍔ㄧ敾锛屾寜閽�愭笎鏄剧幇骞舵斁澶� */ + +/* 姣忎釜鎸夐挳鐨勬牱寮� */ +.btn1 { + animation: fadeInUp 0.5s ease-out forwards; /* 鎸夐挳鍔犺浇鏃剁殑娣″叆鍔ㄧ敾 */ + cursor: pointer; + text-align: center; +} +.vertical-text { + writing-mode: vertical-rl; + text-orientation: upright; + +} + +/* 璁剧疆鍔ㄧ敾鏁堟灉 */ @keyframes fadeInUp { 0% { opacity: 0; @@ -2235,30 +2368,37 @@ } } -/* 姣忎釜鎸夐挳鐨勫叿浣撲綅缃拰寤惰繜 */ -.btn1 { - top: 20%; - animation-delay: 0s; /* 绗竴涓寜閽棤寤惰繜 */ +/* 姣忎釜鎸夐挳鐨勪綅缃拰鍔ㄧ敾寤惰繜 */ +.btnbox > div:nth-child(1) { + top: 20%; /* 绗竴涓寜閽殑浣嶇疆 */ + animation-delay: 0s; /* 鏃犲欢杩� */ } -.btn2 { - top: 30%; - animation-delay: 0.2s; /* 绗簩涓寜閽欢杩� 0.2 绉� */ +.btnbox > div:nth-child(2) { + top: 30%; /* 绗簩涓寜閽殑浣嶇疆 */ + animation-delay: 0.2s; } -.btn3 { - top: 40%; - animation-delay: 0.4s; /* 绗笁涓寜閽欢杩� 0.4 绉� */ +.btnbox > div:nth-child(3) { + top: 40%; /* 绗笁涓寜閽殑浣嶇疆 */ + animation-delay: 0.4s; } -.btn4 { - top: 50%; - animation-delay: 0.6s; /* 绗洓涓寜閽欢杩� 0.6 绉� */ +.btnbox > div:nth-child(4) { + top: 50%; /* 绗洓涓寜閽殑浣嶇疆 */ + animation-delay: 0.6s; } -.btn5 { - top: 60%; - animation-delay: 0.8s; /* 绗洓涓寜閽欢杩� 0.6 绉� */ + +.btnbox > div:nth-child(5) { + top: 60%; /* 绗簲涓寜閽殑浣嶇疆 */ + animation-delay: 0.8s; } + +.btnbox > div:nth-child(6) { + top: 70%; /* 绗叚涓寜閽殑浣嶇疆 */ + animation-delay: 1s; +} + .main { height: 700px; overflow: hidden; @@ -2283,7 +2423,13 @@ -moz-border-radius: 2em; border-radius: 2em; } - +::v-deep .el-dialog { + width: 1200px; + height: 800px; +} +::v-deep .el-button--medium { + padding: 10px; +} /* .el-dialog { width: 1264px; height: 800px; @@ -2310,9 +2456,22 @@ } .dialog-footers { - /* margin-top: 5px; */ + position: fixed; + bottom: 0; + left: 50%; + transform: translateX(-50%); display: flex; - margin-left: calc(100% - 25%); + justify-content: center; + align-items: center; + padding: 0px 20px; + z-index: 1000; /* 纭繚鎸夐挳灞傜骇鍦ㄥ叾浠栧唴瀹逛笂鏂� */ + width: 300px; + background-color: white; /* 鍙牴鎹渶瑕佽皟鏁磋儗鏅鑹� */ +} + +/* 纭繚鎸夐挳涔嬮棿鏈夊悎閫傜殑闂磋窛 */ +.dialog-footers .el-button { + margin: 0 5px; } textarea { @@ -2328,17 +2487,19 @@ overflow: auto; // 纭繚鐖跺鍣ㄥ彲浠ユ粴鍔� } -.rightbox{ +.rightbox { + margin-left: 60px; overflow-y: scroll; position: sticky; top: 0px; + width: 684px; .right { - position: sticky; - top: 0px; - background-color: #fff; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); - z-index: 10; -} + position: sticky; + top: 0px; + background-color: #fff; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + z-index: 10; + } } .top { @@ -2348,15 +2509,21 @@ background-color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); display: flex; - .el-icon-close{ + .el-icon-close { cursor: pointer; font-size: 30px; position: relative; top: 7px; right: 4px; - color: rgb(24,144,255); + color: rgb(24, 144, 255); } } +.kong { + box-shadow: none; +} +::v-deep .el-table--medium .el-table__cell { + padding: 5px 0; +} </style> -- Gitblit v1.8.0