From bf6643a35299f19ae9147864e6f3b6b4670da98a Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期六, 09 十一月 2024 11:42:59 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/discharge/index.vue | 673 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 440 insertions(+), 233 deletions(-) diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index a8d9bf0..780a4eb 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,13 @@ label-width="98px" > <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.taskName"></el-input> + <el-input + v-model="topqueryParams.taskName" + placeholder="璇烽�夋嫨浠诲姟鍚嶇О" + ></el-input> </el-form-item> - <el-form-item label="鍙戣捣浜�"> - <el-input v-model="topqueryParams.createBy"></el-input> - </el-form-item> - <!-- <el-form-item label="瀹℃牳鏃堕棿"> + + <el-form-item label="鍑洪櫌鏃堕棿"> <el-date-picker v-model="dateRange" style="width: 240px" @@ -27,21 +52,29 @@ 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 topicoptions" + 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-input v-model="topqueryParams.templatename"></el-input> </el-form-item> - <el-form-item label="鍑洪櫌闅忚鐘舵��" prop="status"> + + <el-form-item label="浠诲姟鐘舵��" prop="status"> <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨"> <el-option v-for="item in topicoptions" @@ -52,6 +85,7 @@ </el-option> </el-select> </el-form-item> + <el-form-item> <el-button type="primary" @@ -74,11 +108,10 @@ icon="el-icon-plus" size="medium" @click="handleAdd" - v-hasPermi="['system:user:add']" >鏂板</el-button > </el-col> - <!-- <el-col :span="1.5"> + <el-col :span="1.5"> <div class="documentf"> <div class="document"> <el-button @@ -97,55 +130,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> @@ -154,26 +144,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-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 @@ -182,83 +180,70 @@ prop="sendname" /> <el-table-column - label="鐥呭巻鍙�" + label="浠诲姟鐘舵��" align="center" - sortable - key="medicalRecordNo" - prop="medicalRecordNo" + key="sendstate" + prop="sendstate" 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="icdName" - prop="icdName" - width="120" - :show-overflow-tooltip="true" - > - </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" - width="120" - /> - - <el-table-column - label="灏辫瘖鏃堕棿" - sortable - align="center" - prop="admindate" - width="160" > <template slot-scope="scope"> - <span>{{ formatTime(scope.row.admindate) }}</span> + <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="闅忚鏃堕棿" - sortable + label="浠诲姟寮傚父璇存槑" + width="120" align="center" - prop="createTime" - width="160" + key="remark" + prop="remark" --> + /> + + <el-table-column + label="浜哄伐澶勭悊鎰忚" + align="center" + key="suggest" + prop="suggest" + width="120" > <template slot-scope="scope"> - <span v-if="scope.row.sendType != 3">{{ - formatTime(scope.row.createTime) - }}</span> - <span v-else>鍗冲埢鍙戦��</span> + <dict-tag + :options="dict.type.sys_suggest" + :value="scope.row.suggest" + /> </template> - </el-table-column> --> + </el-table-column> + <el-table-column + label="闅忚浜哄憳" + align="center" + key="createBy" + prop="createBy" + width="120" + /> <el-table-column label="闅忚鏃堕棿" sortable @@ -267,26 +252,163 @@ width="160" > <template slot-scope="scope"> - <span>{{ formatTime(scope.row.finishtime) }}</span> + <span>{{ parseTime(scope.row.finishtime) }}</span> </template> </el-table-column> <el-table-column - label="闅忚鐘舵��" - fixed="right" + label="鍑洪櫌鏃ユ湡" + width="200" align="center" - key="sendstate" - prop="sendstate" + 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" > - <template slot-scope="scope"> - <dict-tag :options="serviceState" :value="scope.row.sendstate" /> - </template> - </el-table-column> + </el-table-column> --> <el-table-column + label="鍑洪櫌闅忚妯℃澘鍚嶇О" + align="center" + key="templatename" + prop="templatename" + width="200" + /> + <el-table-column + label="浠诲姟鎵ц鏂瑰紡" + align="center" + key="preachform" + prop="preachform" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.preachform">{{ item }}銆� </span> + </template> + </el-table-column> + <el-table-column + label="浠诲姟鍙戦�佹祦绋�" + align="center" + key="serviceSubtaskRecordList" + prop="serviceSubtaskRecordList" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.serviceSubtaskRecordList" + >{{ item.remark }}銆� + </span> + </template> + </el-table-column> + <el-table-column + label="浠诲姟缁撴灉璇存槑" + width="120" + align="center" + key="remark" + prop="remark" + > + <template slot-scope="scope" v-if="scope.row.remark"> + <el-tag + type="success" + v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4" + >{{ scope.row.remark }}</el-tag + > + <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" - fixed="right" align="center" width="200" class-name="small-padding fixed-width" @@ -321,25 +443,7 @@ ><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-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> --> - <el-button - size="medium" - type="text" - @click="Seedetails(scope.row)" - v-hasPermi="['system:user:edit']" + <el-button size="medium" type="text" @click="Seedetails(scope.row)" ><span class="button-zx" ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span ></el-button @@ -504,8 +608,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 { @@ -555,58 +659,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) { @@ -650,7 +746,8 @@ topqueryParams: { pageNum: 1, pageSize: 10, - serviceType:2, + serviceType: 2, + searchscope: 2, }, propss: { multiple: true }, options: [], @@ -666,10 +763,33 @@ }, { value: 3, - label: "宸插彂閫�", + label: "宸插彂閫佹湭棰嗗彇", + }, + { + value: 4, + label: "涓嶆墽琛�", + }, + { + value: 5, + label: "鍙戦�佸け璐�", + }, + { + value: 6, + label: "宸插畬鎴�", + }, + ], + topicoptionsyj: [ + { + value: 1, + label: "寮傚父", + }, + { + value: 0, + label: "姝e父", }, ], serviceState: [], + checkboxlist: [], // 琛ㄥ崟鏍¢獙 rules: {}, }; @@ -677,25 +797,65 @@ watch: {}, created() { this.serviceState = store.getters.serviceState; + this.checkboxlist = store.getters.checkboxlist; + this.getList(); this.getConfigKey("sys.user.initPassword").then((response) => { 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.total = response.total; + this.userList = response.rows[0].serviceSubtaskList; + this.total=response.total + 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.loading = false; + this.userList.forEach((item) => { + const idArray = null; + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + if (item.endtime) { + idArray = item.preachform.split(","); + } + + item.preachform = idArray.map((value) => { + // 鏌ユ壘id瀵瑰簲鐨勫璞� + const item = this.checkboxlist.find((item) => item.value == value); + // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null + return item ? item.label : null; + }); + }); + this.total = response.total; }); }, // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 @@ -756,15 +916,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,11 +1084,19 @@ Seedetails(row) { this.$router.push({ path: "/followvisit/record/detailpage/", - query: { taskid: row.taskid, patid: row.patid }, + 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( @@ -916,6 +1106,13 @@ }, `user_${new Date().getTime()}.xlsx` ); + }, + // 寮傚父鍒楁覆鏌� + tableRowClassName({ row, rowIndex }) { + if (row.excep == 1) { + return "warning-row"; + } + return ""; }, }, }; @@ -931,6 +1128,9 @@ .document { // width: 100px; height: 50px; +} +::v-deep.el-table .warning-row { + background: #eec4c4; } .documentf { @@ -1010,6 +1210,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