From 50dd8296b363798246749bc402302535451921a5 Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期二, 23 七月 2024 15:37:37 +0800 Subject: [PATCH] qxtj --- src/views/doctor/examination/index.vue | 364 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 295 insertions(+), 69 deletions(-) diff --git a/src/views/doctor/examination/index.vue b/src/views/doctor/examination/index.vue index 5182571..5137909 100644 --- a/src/views/doctor/examination/index.vue +++ b/src/views/doctor/examination/index.vue @@ -1,63 +1,179 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="68px" + > <el-form-item label="浣撴鍙�" prop="tjNumber"> - <el-input v-model="queryParams.tjNumber" placeholder="璇疯緭鍏ヤ綋妫�鍙�" clearable @keyup.enter.native="handleQuery" style="width: 170px"/> + <el-input + ref="inputName" + v-model="queryParams.tjNumber" + placeholder="璇疯緭鍏ヤ綋妫�鍙�" + clearable + @keyup.enter.native="handleQuery" + @blur="hb" + style="width: 170px" + /> </el-form-item> <el-form-item label="濮撳悕" prop="name"> - <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" clearable @keyup.enter.native="handleQuery" style="width: 110px"/> + <el-input + v-model="queryParams.name" + placeholder="璇疯緭鍏ュ鍚�" + clearable + @keyup.enter.native="handleQuery" + style="width: 110px" + /> </el-form-item> <el-form-item label="鐧昏鏃堕棿" prop="createTimeList"> - <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions" style="width: 310px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :default-time="['00:00:00', '23:00:00']" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1"> + <el-date-picker + v-model="createTimeList" + type="datetimerange" + align="right" + :picker-options="pickerOptions" + style="width: 310px" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + :default-time="['00:00:00', '23:00:00']" + format="yyyy-MM-dd HH:mm" + value-format="yyyy-MM-dd HH:mm" + @change="dateChangebirthday1" + > </el-date-picker> </el-form-item> <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鏌ヨ</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handleQuery" + style="margin-right: 15px" + >鏌ヨ</el-button + > + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" + >閲嶇疆</el-button + > </el-form-item> </el-form> - <el-radio-group v-model="checkStatus" @input="radioChange" style="margin: 10px 15px"> + <el-radio-group + v-model="checkStatus" + @input="radioChange" + style="margin: 10px 15px" + > <el-radio-button label="0">鏈鏍�</el-radio-button> <el-radio-button label="1">宸插鏍�</el-radio-button> </el-radio-group> <div style="width: 100%; margin-left: 10px; display: flex"> - <div style="width: 40%; margin-right: 20px"> - <el-table id="ta" v-loading="loading" ref="tb" :data="exaList" border height="520px" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"> - <el-table-column type="selection" width="40" align="center" /> - <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" width="160px"/> - <el-table-column label="濮撳悕" align="center" prop="cusName" width="80px"/> - <el-table-column label="鎬у埆" align="center" prop="cusSex" width="60px"> + <div style="width: 40.5%; margin-right: 20px"> + <el-table + id="ta" + v-loading="loading" + ref="tb" + :data="exaList" + border + height="520" + :row-class-name="tableRowClassName" + highlight-current-row + @current-change="handleCurrentChange" + > + <!-- <el-table-column type="selection" width="40" align="center" /> --> + <el-table-column + label="浣撴鍙�" + align="center" + prop="tjNumber" + width="160px" + /> + <el-table-column + label="濮撳悕" + align="center" + prop="cusName" + width="80px" + /> + <el-table-column + label="鎬у埆" + align="center" + prop="cusSex" + width="50px" + > <template slot-scope="scope"> - <!-- {{scope.row.customer.cusSex}} --> - {{ scope.row.cusSex === 0 ? "鐢�" : "濂�" }} - <!-- <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex " /> --> + <span v-if="scope.row.cusSex == '0'">鐢�</span> + <span v-if="scope.row.cusSex == '1'">濂�</span> + <span v-if="scope.row.cusSex == '2'">鏈煡</span> + <span v-if="scope.row.cusSex == '9'">鏈鏄庢�у埆</span> + </template> + <!-- <template slot-scope="scope"> --> + <!-- {{scope.row.customer.cusSex}} --> + <!-- {{ scope.row.cusSex === 0 ? "鐢�" : "濂�" }} --> + <!-- <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex " /> --> + <!-- </template> --> + </el-table-column> + <el-table-column + label="鎵嬫満鍙�" + align="center" + prop="cusPhone" + width="100px" + /> + <el-table-column + label="鐧昏鏃堕棿" + align="center" + prop="tjTime" + width="120px" + /> + <el-table-column + v-if="checkStatus == '1'" + label="瀹℃牳鐘舵��" + align="center" + prop="confirmStatus" + width="80px" + > + <template slot-scope="scope"> + <span + :style="{ + color: + scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29', + }" + v-if="scope.row.confirmStatus == '301'" + >宸查�氳繃</span + > + <span + :style="{ + color: + scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29', + }" + v-if="scope.row.confirmStatus == '299'" + >宸查┏鍥�</span + > </template> </el-table-column> - <el-table-column label="鎵嬫満鍙�" align="center" prop="cusPhone" width="120px"/> - <el-table-column label="鐧昏鏃堕棿" align="center" prop="tjTime" width="120px"/> - <el-table-column v-if="checkStatus == '1'" label="瀹℃牳鐘舵��" align="center" prop="confirmStatus" width="110px"> + <!-- v-hasPermi="['reservation:reservation:edit']" --> + <el-table-column label="鎿嶄綔" align="center" width="120px"> <template slot-scope="scope"> - <span :style="{ color: scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29',}" v-if="scope.row.confirmStatus == '301'">宸查�氳繃</span> - <span :style="{ color: scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29',}" v-if="scope.row.confirmStatus == '299'">宸查┏鍥�</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" > - <template slot-scope="scope"> + <el-button size="mini" type="text" @click="tongbu(scope.row)" + >鍚屾</el-button + > + <el-button + :disabled="dis" + size="mini" + type="text" + v-show=" + scope.row.confirmStatus == '299' || + scope.row.confirmStatus == 288 + " + @click="tongguo(scope.row)" + >閫氳繃</el-button + > <el-button size="mini" type="text" - v-hasPermi="['reservation:reservation:edit']" - v-show=" scope.row.confirmStatus == '299' || scope.row.confirmStatus == 288" - @click="tongguo(scope.row)">閫氳繃</el-button -> - <el-button - size="mini" - type="text" - v-hasPermi="['reservation:reservation:edit']" - v-show=" scope.row.confirmStatus == '301' || scope.row.confirmStatus == 288" + v-show=" + scope.row.confirmStatus == '301' || + scope.row.confirmStatus == 288 + " @click="bohui(scope.row)" - >鎾ら攢</el-button + >椹冲洖</el-button > </template> </el-table-column> @@ -67,7 +183,7 @@ <el-table v-loading="loading" border - height="520px" + height="520" ref="tab1" :data="xiangmuList" > @@ -82,7 +198,8 @@ label="椤圭洰" align="center" prop="proName" - width="140" + width="115" + :show-overflow-tooltip="true" /> <el-table-column label="鐘舵��" @@ -118,12 +235,12 @@ prop="qdcreateTime" width="160" /> --> - <el-table-column + <!-- <el-table-column label="妫�鏌ュ尰鐢�" align="center" prop="doctorName" width="100" - /> + /> --> <el-table-column label="妫�鏌ユ椂闂�" align="center" @@ -145,27 +262,39 @@ </el-table> </div> </div> - <div style="margin-right: 67%"> + <div class="pag"> + <div class="pag1"> <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :pager-count="5" :current-page.sync="currentPage1" :current-page="page" :page-sizes="pageSize" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination> --> <pagination v-show="total > 0" :total="total" + :pager-count="5" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize" @pagination="getList" /> </div> + </div> </div> </template> <script> -import { getCsList, confirmOrder, cSWebGetPro } from "@/api/doctor/examination"; +import { + getCsList, + confirmOrder, + cSWebGetPro, + dataSynchronization, +} from "@/api/doctor/examination"; +import { getNewDateList } from "@/api/hosp/order"; +import moment from "moment"; + export default { dicts: ["dict_tj_status"], data() { return { + dis: false, createTimeList: "", total: 0, loading: true, @@ -185,6 +314,7 @@ exaList: [], // 琛ㄥ崟鍙傛暟 form: {}, + clearTimeSet: null, tjNumbers: "", multipleSelection: "", tjnum: "", @@ -226,10 +356,24 @@ }; }, created() { - this.getList(); + this.getdate(); // this.getNowTime(); }, + mounted() { + this.$nextTick(() => { + this.$refs.inputName.focus(); + }); + }, methods: { + getdate() { + getNewDateList().then((res) => { + this.createTimeList = [ + moment(res.data).format("YYYY-MM-DD 00:00:00"), + moment(res.data).format("YYYY-MM-DD 23:59:00"), + ]; + this.getList(); + }); + }, // / 澶勭悊榛樿閫変腑褰撳墠鏃ユ湡 getNowTime() { var curDate = new Date().getTime(); @@ -266,27 +410,34 @@ this.startTime = val; }, getList() { - this.queryParams.checkStatus = "0"; - this.queryParams.beginTime = this.createTimeList[0]; - this.queryParams.endTime = this.createTimeList[1]; + this.loading = true; + this.queryParams.checkStatus = this.checkStatus; + if (this.createTimeList) { + this.queryParams.beginTime = this.createTimeList[0]; + this.queryParams.endTime = this.createTimeList[1]; + } else if (this.createTimeList == null) { + this.queryParams.beginTime = null; + this.queryParams.endTime = null; + } + getCsList(this.queryParams).then((res) => { - if (res.data) { - this.exaList = res.data.customers; - this.total = res.data.total; + if (res.code == 200) { this.loading = false; - if (this.exaList.length != 0) { - this.$nextTick(() => { - this.$refs.tb.toggleRowSelection(this.exaList[0], true); - }); + if (res.data) { + this.exaList = res.data.customers; + this.total = res.data.total; + if (this.exaList.length != 0) { + this.$nextTick(() => { + this.$refs.tb.toggleRowSelection(this.exaList[0], true); + }); + } else { + this.$refs.tb.clearSelection(); + } + this.total = res.data.total; } else { - this.$refs.tb.clearSelection(); + this.exaList = []; + this.tableList = []; } - this.total = res.data.total; - this.loading = false; - } else { - this.exaList = []; - this.tableList = []; - this.loading = false; } }); }, @@ -295,18 +446,27 @@ this.loading = true; this.queryParams.checkStatus = value; getCsList(this.queryParams).then((response) => { - this.exaList = response.data.customers; - if (this.exaList.length != 0) { - this.$nextTick(() => { - this.$refs.tb.toggleRowSelection(this.exaList[0], true); - }); - } else { - this.$refs.tb.clearSelection(); - this.xiangmuList = []; + if (response.code == 200) { + this.exaList = response.data.customers; + if (this.exaList.length != 0) { + this.$nextTick(() => { + this.$refs.tb.toggleRowSelection(this.exaList[0], true); + }); + } else { + this.$refs.tb.clearSelection(); + this.xiangmuList = []; + } + this.total = response.data.total; + this.loading = false; } - this.total = response.data.total; - this.loading = false; }); + }, + + hb() { + // console.log(this.queryParams.tjNumber); + if (this.queryParams.tjNumber != null) { + this.handleQuery(); + } }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { @@ -315,6 +475,7 @@ }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { + this.createTimeList = []; this.resetForm("queryForm"); this.handleQuery(); this.loading = true; @@ -335,6 +496,14 @@ let tjNumber = this.tjnum; cSWebGetPro(tjNumber).then((res) => { this.xiangmuList = res.data; + this.xiangmuList.forEach((item) => { + // console.log(item); + // if (item.type == 0) { + // this.dis = true; + // } else { + // this.dis = false; + // } + }); }); }); }, @@ -344,6 +513,21 @@ return "warning-row"; } } + }, + handleCurrentChange(val) { + this.currentRow = val; + let tjNumber = val.tjNumber; + cSWebGetPro(tjNumber).then((res) => { + this.xiangmuList = res.data; + this.xiangmuList.forEach((item) => { + // console.log(item); + // if (item.type == 0) { + // this.dis = true; + // } else { + // this.dis = false; + // } + }); + }); }, // 閫氳繃鎸夐挳 tongguo(row) { @@ -359,10 +543,39 @@ }; confirmOrder(data).then((res) => { if (res.code == 200) { + // this.$forceUpdate(); this.getList(); + this.xiangmuList = []; this.$modal.msgSuccess("鎻愪氦鎴愬姛锛�"); } }); + }); + }, + setTime() { + //璁剧疆瀹氭椂鍣� + this.clearTimeSet = setInterval(() => { + this.$modal.closeLoading(); + }, 300000); + }, + tongbu(row) { + // this.$refs.tb.toggleRowSelection(row); + this.$modal.loading("姝e湪鍚屾锛岃绋嶅��..."); + this.setTime(); + let tjNumber = row.tjNumber; + dataSynchronization(tjNumber).then((res, error) => { + if (res.code == 200) { + // this.$forceUpdate(); + this.handleCurrentChange(row); + clearInterval(this.clearTimeSet); + this.clearTimeSet = null; + this.$modal.closeLoading(); + this.$modal.msgSuccess("鍚屾鎴愬姛锛�"); + } + }).catch(error => { + this.handleCurrentChange(row); + clearInterval(this.clearTimeSet); + this.clearTimeSet = null; + this.$modal.closeLoading(); }); }, // 椹冲洖鎸夐挳 @@ -397,4 +610,17 @@ .el-table .warning-row { background: #e5f3ff !important; } +::v-deep .el-table__body tr.current-row > td { + background: #edf2fa !important; +} + +.pag { + width: 100%; + display: flex; + justify-content: center; +} + +.pag1 { + width: 30%; +} </style> \ No newline at end of file -- Gitblit v1.8.0