From 83598fa5941b3958e4998b9354a2c25b2e52ee9f Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期六, 12 十月 2024 15:13:34 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/discharge/index.vue | 700 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 457 insertions(+), 243 deletions(-) diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index 0fc2f84..3dae2ed 100644 --- a/src/views/followvisit/discharge/index.vue +++ b/src/views/followvisit/discharge/index.vue @@ -1,5 +1,29 @@ <template> <div class="app-container"> + <div class="leftvlue" style="margin-bottom: 20px;"> + <el-row :gutter="10"> + <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> + <el-card + shadow="hover" + :body-style="item.router ? ' cursor: pointer' : 'cursor: default'" + > + <div style="padding: 8px" @click="$router.push(item.router)"> + <span>{{ item.name }}</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ item.value }} + </div> + </div> + </el-card> + </el-col> + </el-row> + </div> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> <el-form @@ -11,12 +35,10 @@ label-width="98px" > <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.name"></el-input> + <el-input v-model="topqueryParams.taskName" placeholder="璇烽�夋嫨浠诲姟鍚嶇О"></el-input> </el-form-item> - <el-form-item label="瀹℃牳浜�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="瀹℃牳鏃堕棿"> + + <el-form-item label="鍑洪櫌鏃堕棿"> <el-date-picker v-model="dateRange" style="width: 240px" @@ -27,8 +49,30 @@ end-placeholder="缁撴潫鏃ユ湡" ></el-date-picker> </el-form-item> - <el-form-item label="闅忚绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> + + <el-form-item label="鎮h�呭鍚�" prop="sendname"> + <el-input + v-model="topqueryParams.sendname" + placeholder="璇疯緭鍏ユ偅鑰呭鍚�" + ></el-input> + </el-form-item> + <el-form-item label="鎮h�呰寖鍥�" prop="status"> + <el-select + v-model="topqueryParams.searchscope" + placeholder="璇烽�夋嫨鎮h�呰寖鍥�" + > + <el-option + v-for="item in source" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + + <el-form-item label="浠诲姟鐘舵��" prop="status"> + <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨"> <el-option v-for="item in topicoptions" :key="item.value" @@ -38,28 +82,7 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="妯$増" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鍑洪櫌闅忚鐘舵��" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> + <el-form-item> <el-button type="primary" @@ -82,7 +105,6 @@ icon="el-icon-plus" size="medium" @click="handleAdd" - v-hasPermi="['system:user:add']" >鏂板</el-button > </el-col> @@ -105,55 +127,12 @@ <div class="documentf"> <div class="document"> <el-button - type="success" - plain - icon="el-icon-download" - size="medium" - @click="toleadExport" - v-hasPermi="['system:user:export']" - >瀵煎叆</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="info" - icon="el-icon-refresh" - size="medium" - @click="TaskReset" - v-hasPermi="['system:user:export']" - >浠诲姟閲嶇疆</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="success" - icon="el-icon-position" - size="medium" - @click="AllStarted" - v-hasPermi="['system:user:export']" - >鍏ㄩ儴寮�濮�</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button type="warning" - icon="el-icon-remove" + plain + icon="el-icon-warning-outline" size="medium" - @click="AllStop" - v-hasPermi="['system:user:export']" - >鍏ㄩ儴鍋滄</el-button + @click="toleadExport(1)" + >鎵ц澶辫触</el-button > </div> </div> @@ -162,26 +141,34 @@ <div class="documentf"> <div class="document"> <el-button - type="primary" - icon="el-icon-remove" + type="danger" + plain + icon="el-icon-warning" size="medium" - @click="Sendtimesetting" - v-hasPermi="['system:user:export']" - >鍙戦�佹椂闂磋缃�</el-button + @click="toleadExport(2)" + >缁撴灉寮傚父</el-button > </div> </div> </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> </el-row> <el-table v-loading="loading" :data="userList" + height="660" + :row-class-name="tableRowClassName" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> - <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> + <el-table-column + label="浠诲姟鍚嶇О" + fixed + align="center" + key="taskName" + prop="taskName" + width="180" + /> + <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> --> <el-table-column label="濮撳悕" fixed @@ -190,83 +177,89 @@ prop="sendname" /> <el-table-column - label="鐥呭巻鍙�" - align="center" - sortable - key="medicalRecordNo" - prop="medicalRecordNo" - width="120" - /> - - <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" /> - <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> - <el-table-column - label="鐥呭尯" - align="center" - key="deptname" - prop="deptname" - width="120" + label="浠诲姟鐘舵��" + align="center" + key="sendstate" + prop="sendstate" + width="120" > - </el-table-column> - - <el-table-column - label="鐤剧梾鍚嶇О" - align="center" - key="icdName" - prop="icdName" + <template slot-scope="scope"> + <div v-if="scope.row.sendstate == 1"> + <el-tag type="primary" :disable-transitions="false" + >琚鍙�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 2"> + <el-tag type="primary" :disable-transitions="false" + >寰呭彂閫�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 3"> + <el-tag type="success" :disable-transitions="false" + >宸插彂閫佹湭棰嗗彇</el-tag + > + </div> + <div v-if="scope.row.sendstate == 4"> + <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag> + </div> + <div v-if="scope.row.sendstate == 5"> + <el-tag type="danger" :disable-transitions="false" + >鍙戦�佸け璐�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 6"> + <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag> + </div> + </template> + </el-table-column> + <el-table-column + label="浠诲姟寮傚父璇存槑" width="120" - :show-overflow-tooltip="true" + align="center" + key="remark" + prop="remark" + /> + + <!-- <el-table-column + label="缁撴灉鐘舵��" + align="center" + key="excep" + prop="excep" + width="120" + > + <template slot-scope="scope"> + <div v-if="scope.row.sendstate == 6"> + <dict-tag + :options="dict.type.sys_yujing" + :value="scope.row.excep" + /> + </div> + <div v-else> + <span></span> + </div> + </template> + </el-table-column> --> + <el-table-column + label="浜哄伐澶勭悊鎰忚" + align="center" + key="suggest" + prop="suggest" + width="120" > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_suggest" + :value="scope.row.suggest" + /> + </template> </el-table-column> - <el-table-column - label="浠诲姟鍚嶇О" - align="center" - key="taskName" - prop="taskName" - width="120" - /> - - <el-table-column - label="闅忚鏂瑰紡锛堥渶璋冩暣鏍煎紡锛�" - align="center" - key="serviceform" - prop="serviceform" - width="120" - /> <el-table-column label="闅忚浜哄憳" align="center" - key="operator" - prop="operator" + key="createBy" + prop="createBy" width="120" /> - - <el-table-column - label="灏辫瘖鏃堕棿" - sortable - align="center" - prop="admindate" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.admindate) }}</span> - </template> - </el-table-column> - <!-- <el-table-column - label="闅忚鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span v-if="scope.row.sendType != 3">{{ - parseTime(scope.row.createTime) - }}</span> - <span v-else>鍗冲埢鍙戦��</span> - </template> - </el-table-column> --> <el-table-column label="闅忚鏃堕棿" sortable @@ -279,7 +272,154 @@ </template> </el-table-column> <el-table-column - label="闅忚鐘舵��" + label="鍑洪櫌鏃ユ湡" + width="200" + align="center" + key="endtime" + prop="endtime" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.endtime) }}</span> + </template></el-table-column + > + <el-table-column + label="搴旈殢璁挎棩鏈�" + width="200" + align="center" + key="longSendTime" + prop="longSendTime" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.longSendTime) }}</span> + </template></el-table-column + > + <el-table-column + label="鍑洪櫌澶╂暟" + width="120" + align="center" + key="endDay" + prop="endDay" + > + <template slot-scope="scope"> + <span>{{ + scope.row.endDay ? scope.row.endDay + "澶�" : "鏃ユ湡缂哄け" + }}</span> + </template> + </el-table-column> + <el-table-column + label="韬唤璇佸彿鐮�" + width="200" + align="center" + key="sfzh" + prop="sfzh" + /> + <el-table-column + label="鑱旂郴鐢佃瘽" + width="200" + align="center" + key="phone" + prop="phone" + /> + <el-table-column + label="璐d换鎶ゅ+" + width="120" + align="center" + key="nurseName" + prop="nurseName" + /> + <el-table-column + label="涓绘不鍖荤敓" + width="120" + align="center" + key="drname" + prop="drname" + /> + + + <!-- <el-table-column + label="鐥呭巻鍙�" + align="center" + sortable + key="medicalRecordNo" + prop="medicalRecordNo" + width="120" + /> --> + + <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> --> + <!-- <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" /> --> + <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> --> + <el-table-column + label="绉戝" + align="center" + key="deptname" + prop="deptname" + width="120" + > + </el-table-column> + <el-table-column + label="鐥呭尯" + align="center" + key="leavehospitaldistrictname" + prop="leavehospitaldistrictname" + width="120" + > + </el-table-column> + + <!-- <el-table-column + label="鐤剧梾鍚嶇О" + align="center" + key="icdName" + prop="icdName" + width="120" + :show-overflow-tooltip="true" + > + </el-table-column> --> + + <el-table-column + label="鍑洪櫌闅忚妯℃澘鍚嶇О" + align="center" + key="templatename" + prop="templatename" + width="200" + /> + + + <!-- <el-table-column + label="璐d换鍖诲笀" + align="center" + key="drname" + prop="drname" + width="120" + /> --> + + <!-- <el-table-column + label="鍑洪櫌鏃堕棿" + sortable + align="center" + prop="createTime" + width="160" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.createTime) }}</span> + </template> + </el-table-column> --> + <!-- <el-table-column + label="闅忚鏃堕棿" + sortable + align="center" + prop="createTime" + width="160" + > + <template slot-scope="scope"> + <span v-if="scope.row.sendType != 3">{{ + formatTime(scope.row.createTime) + }}</span> + <span v-else>鍗冲埢鍙戦��</span> + </template> + </el-table-column> --> + + <!-- <el-table-column + label="浠诲姟鐘舵��" fixed="right" align="center" key="sendstate" @@ -290,7 +430,7 @@ <template slot-scope="scope"> <dict-tag :options="serviceState" :value="scope.row.sendstate" /> </template> - </el-table-column> + </el-table-column> --> <el-table-column label="鎿嶄綔" @@ -300,7 +440,7 @@ class-name="small-padding fixed-width" > <template slot-scope="scope"> - <el-tooltip + <!-- <el-tooltip class="item" effect="dark" content="閲嶆柊闅忚" @@ -314,8 +454,8 @@ ><span class="button-bb" ><i class="el-icon-s-promotion"></i></span ></el-button> - </el-tooltip> - <el-tooltip + </el-tooltip> --> + <!-- <el-tooltip class="item" effect="dark" content="鍋滄" @@ -328,21 +468,12 @@ v-hasPermi="['system:user:edit']" ><span class="button-sc"><i class="el-icon-delete"></i></span ></el-button> - </el-tooltip> - <el-tooltip - class="item" - effect="dark" - content="鏌ョ湅浠诲姟璇︽儏" - placement="top" + </el-tooltip> --> + <el-button size="medium" type="text" @click="Seedetails(scope.row)" + ><span class="button-zx" + ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span + ></el-button > - <el-button - size="medium" - type="text" - @click="Seedetails(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-zx"><i class="el-icon-s-order"></i></span - ></el-button> - </el-tooltip> </template> </el-table-column> </el-table> @@ -503,8 +634,8 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], + name: "Discharge", + dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], components: { Treeselect }, data() { return { @@ -554,58 +685,50 @@ }, value: [], list: [], + source: [ + { + value: 0, + label: "鎵�灞炴偅鑰�", + }, + { + value: 1, + label: "绉戝鎮h��", + }, + { + value: 2, + label: "鐥呭尯鎮h��", + }, + ], loading: false, - states: [ - "Alabama", - "Alaska", - "Arizona", - "Arkansas", - "California", - "Colorado", - "Connecticut", - "Delaware", - "Florida", - "Georgia", - "Hawaii", - "Idaho", - "Illinois", - "Indiana", - "Iowa", - "Kansas", - "Kentucky", - "Louisiana", - "Maine", - "Maryland", - "Massachusetts", - "Michigan", - "Minnesota", - "Mississippi", - "Missouri", - "Montana", - "Nebraska", - "Nevada", - "New Hampshire", - "New Jersey", - "New Mexico", - "New York", - "North Carolina", - "North Dakota", - "Ohio", - "Oklahoma", - "Oregon", - "Pennsylvania", - "Rhode Island", - "South Carolina", - "South Dakota", - "Tennessee", - "Texas", - "Utah", - "Vermont", - "Virginia", - "Washington", - "West Virginia", - "Wisconsin", - "Wyoming", + cardlist: [ + { + name: "鍏ㄩ儴鏈嶅姟", + value: 0, + }, + { + name: "搴旈殢璁�", + value: 0, + }, + { + name: "涓嶆墽琛�", + value: 0, + }, + { + name: "寮傚父", + value: 0, + }, + { + name: "鍙戦�佸け璐�", + value: 0, + }, + { + name: "琚鍙�", + value: 0, + }, + { + name: "宸插彂閫佹湭棰嗗彇", + value: 0, + }, ], pickerOptions: { disabledDate(time) { @@ -649,7 +772,8 @@ topqueryParams: { pageNum: 1, pageSize: 10, - hospType: 1, + serviceType: 2, + searchscope:2, }, propss: { multiple: true }, options: [], @@ -657,19 +781,37 @@ topicoptions: [ { value: 1, - label: "寰呭鏍�", + label: "琚鍙�", }, { value: 2, - label: "鎵ц涓�", + label: "寰呭彂閫�", }, { value: 3, - label: "鎵ц瀹屾垚", + label: "宸插彂閫佹湭棰嗗彇", }, { value: 4, - label: "宸插仠姝�", + label: "涓嶆墽琛�", + }, + { + value: 5, + label: "鍙戦�佸け璐�", + }, + { + value: 6, + label: "宸插畬鎴�", + }, + ], + topicoptionsyj: [ + { + value: 1, + label: "寮傚父", + }, + { + value: 0, + label: "姝e父", }, ], serviceState: [], @@ -685,18 +827,43 @@ this.initPassword = response.msg; }); }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); + activated() { + this.getList(); }, methods: { /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */ getList() { + if (this.topqueryParams.searchscope == 1) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = null; + } else if (this.topqueryParams.searchscope == 2) { + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + this.topqueryParams.leaveldeptcodes = null; + } else { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } this.loading = true; getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows; + this.userList = response.rows[0].serviceSubtaskList; + this.cardlist[0].value=Number(response.rows[0].wzx)+Number(response.rows[0].ysf); + this.cardlist[1].value=response.rows[0].ysf; + this.cardlist[2].value=response.rows[0].wzx; + this.cardlist[3].value=response.rows[0].yc; + this.cardlist[4].value=response.rows[0].fssb; + this.cardlist[5].value=response.rows[0].blq; + this.cardlist[6].value=response.rows[0].yfs; + this.userList.forEach((item) => { + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + }); this.total = response.total; this.loading = false; }); @@ -759,15 +926,37 @@ }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { + if (this.topqueryParams.searchscope == 1) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = null; + } else if (this.topqueryParams.searchscope == 2) { + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + this.topqueryParams.leaveldeptcodes = null; + } else { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } this.topqueryParams.pageNum = 1; + this.topqueryParams.startOutHospTime = this.dateRange[0]; + this.topqueryParams.endOutHospTime = this.dateRange[1]; + this.getList(); }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); + this.topqueryParams = { + pageNum: 1, + pageSize: 10, + serviceType: 2, + searchscope:2, + }; this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 @@ -902,14 +1091,22 @@ this.modificationVisible = true; }, // 璺宠浆璇︽儏椤� - Seedetails() { + Seedetails(row) { this.$router.push({ path: "/followvisit/record/detailpage/", - query: { id: "1" }, + query: { taskid: row.taskid, patid: row.patid, id: row.id }, }); }, - // 瀵煎叆鎸夐挳 - toleadExport() {}, + // 渚挎嵎鎸夐挳 + toleadExport(too) { + if (too == 1) { + this.topqueryParams.sendstate=4; + this.topqueryParams.excep=null; + } else if (too == 2) { + this.topqueryParams.excep=1; + } + this.handleQuery(); + }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download( @@ -920,6 +1117,13 @@ `user_${new Date().getTime()}.xlsx` ); }, + // 寮傚父鍒楁覆鏌� + tableRowClassName({row, rowIndex}) { + if (row.excep == 1) { + return 'warning-row'; + } + return ''; + } }, }; </script> @@ -935,6 +1139,9 @@ // width: 100px; height: 50px; } +::v-deep.el-table .warning-row { + background: #eec4c4; + } .documentf { display: flex; @@ -1013,6 +1220,13 @@ } } } +::v-deep.leftvlue .el-card__body { + background: #d0e9fd; +} +::v-deep.leftvlue .el-card__body:hover { + background: #8dc8f8; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} .button-bb { font-weight: 500; background-color: #2ba05c; -- Gitblit v1.9.3