From b229d5ede926fd38aea57049ab3ad07198edf809 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 29 十月 2024 11:11:57 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/discharge/index.vue | 539 ++++++++++++++++++++++++++++-------------------------------
1 files changed, 258 insertions(+), 281 deletions(-)
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index bd9c873..7ad5da9 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,36 +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="鎮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-form-item label="浠诲姟鐘舵��" prop="status">
<el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
<el-option
v-for="item in topicoptions"
@@ -67,17 +85,7 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="缁撴灉鐘舵��" prop="status">
- <el-select v-model="topqueryParams.excep" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in topicoptionsyj"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
+
<el-form-item>
<el-button
type="primary"
@@ -103,7 +111,7 @@
>鏂板</el-button
>
</el-col>
- <!-- <el-col :span="1.5">
+ <el-col :span="1.5">
<div class="documentf">
<div class="document">
<el-button
@@ -122,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>
@@ -179,27 +144,28 @@
<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="taskName"
prop="taskName"
@@ -208,19 +174,13 @@
<!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
<el-table-column
label="濮撳悕"
+ fixed
align="center"
key="sendname"
prop="sendname"
/>
<el-table-column
- label="韬唤璇佸彿鐮�"
- width="200"
- align="center"
- key="sfzh"
- prop="sfzh"
- />
- <el-table-column
- label="闅忚鐘舵��"
+ label="浠诲姟鐘舵��"
align="center"
key="sendstate"
prop="sendstate"
@@ -228,44 +188,43 @@
>
<template slot-scope="scope">
<div v-if="scope.row.sendstate == 1">
- <el-tag type="primary"
- :disable-transitions="false">琚鍙�</el-tag></div>
+ <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>
+ <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"
+ 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="澶勭悊鎰忚"
+ label="浜哄伐澶勭悊鎰忚"
align="center"
key="suggest"
prop="suggest"
@@ -276,6 +235,24 @@
:options="dict.type.sys_suggest"
:value="scope.row.suggest"
/>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="闅忚浜哄憳"
+ align="center"
+ key="createBy"
+ prop="createBy"
+ width="120"
+ />
+ <el-table-column
+ label="闅忚鏃堕棿"
+ sortable
+ align="center"
+ prop="finishtime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{ parseTime(scope.row.finishtime) }}</span>
</template>
</el-table-column>
<el-table-column
@@ -314,6 +291,20 @@
</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"
@@ -327,14 +318,6 @@
key="drname"
prop="drname"
/>
- <el-table-column
- label="闅忚寮傚父璁板綍"
- width="120"
- align="center"
- key="remark"
- prop="remark"
- />
-
<!-- <el-table-column
label="鐥呭巻鍙�"
@@ -376,81 +359,62 @@
</el-table-column> -->
<el-table-column
- label="妯℃澘鍚嶇О"
+ label="鍑洪櫌闅忚妯℃澘鍚嶇О"
align="center"
key="templatename"
prop="templatename"
width="200"
/>
-
<el-table-column
- label="闅忚浜哄憳"
- align="center"
- key="createBy"
- prop="createBy"
- width="120"
- />
- <!-- <el-table-column
- label="璐d换鍖诲笀"
- align="center"
- key="drname"
- prop="drname"
- width="120"
- /> -->
- <!-- <el-table-column
- label="鍑洪櫌鏃堕棿"
- sortable
+ label="浠诲姟鎵ц鏂瑰紡"
align="center"
- prop="createTime"
+ key="preachform"
+ prop="preachform"
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="闅忚鏃堕棿"
- sortable
- align="center"
- prop="finishtime"
- width="160"
- >
- <template slot-scope="scope">
- <span>{{ parseTime(scope.row.finishtime) }}</span>
- </template>
- </el-table-column>
- <!-- <el-table-column
- label="闅忚鐘舵��"
- fixed="right"
- align="center"
- key="sendstate"
- prop="sendstate"
- width="120"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
- <dict-tag :options="serviceState" :value="scope.row.sendstate" />
+ <span v-for="item in scope.row.preachform"
+ >{{ item }}銆�
+ </span>
</template>
- </el-table-column> -->
+ </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"
@@ -483,20 +447,6 @@
@click="handlestop(scope.row)"
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-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)"
@@ -730,57 +680,35 @@
},
],
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) {
@@ -825,6 +753,7 @@
pageNum: 1,
pageSize: 10,
serviceType: 2,
+ searchscope: 2,
},
propss: { multiple: true },
options: [],
@@ -840,7 +769,7 @@
},
{
value: 3,
- label: "宸插彂閫�",
+ label: "宸插彂閫佹湭棰嗗彇",
},
{
value: 4,
@@ -866,6 +795,7 @@
},
],
serviceState: [],
+ checkboxlist: [],
// 琛ㄥ崟鏍¢獙
rules: {},
};
@@ -873,16 +803,15 @@
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: {
/** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
@@ -891,11 +820,11 @@
this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
(obj) => obj.deptCode
);
- this.topqueryParams.leavehospitaldistrictcodes=null;
+ this.topqueryParams.leavehospitaldistrictcodes = null;
} else if (this.topqueryParams.searchscope == 2) {
this.topqueryParams.leavehospitaldistrictcodes =
store.getters.belongWards.map((obj) => obj.districtCode);
- this.topqueryParams.leaveldeptcodes=null;
+ this.topqueryParams.leaveldeptcodes = null;
} else {
this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
(obj) => obj.deptCode
@@ -905,11 +834,26 @@
}
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);
}
+ const 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;
this.loading = false;
@@ -977,11 +921,11 @@
this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
(obj) => obj.deptCode
);
- this.topqueryParams.leavehospitaldistrictcodes=null;
+ this.topqueryParams.leavehospitaldistrictcodes = null;
} else if (this.topqueryParams.searchscope == 2) {
this.topqueryParams.leavehospitaldistrictcodes =
store.getters.belongWards.map((obj) => obj.districtCode);
- this.topqueryParams.leaveldeptcodes=null;
+ this.topqueryParams.leaveldeptcodes = null;
} else {
this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
(obj) => obj.deptCode
@@ -990,12 +934,20 @@
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.topqueryParams = {};
+ this.topqueryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ serviceType: 2,
+ searchscope: 2,
+ };
this.handleQuery();
},
// 澶氶�夋閫変腑鏁版嵁
@@ -1133,11 +1085,19 @@
Seedetails(row) {
this.$router.push({
path: "/followvisit/record/detailpage/",
- query: { taskid: row.taskid, patid: row.patid,id: row.id},
+ 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(
@@ -1147,6 +1107,13 @@
},
`user_${new Date().getTime()}.xlsx`
);
+ },
+ // 寮傚父鍒楁覆鏌�
+ tableRowClassName({ row, rowIndex }) {
+ if (row.excep == 1) {
+ return "warning-row";
+ }
+ return "";
},
},
};
@@ -1162,6 +1129,9 @@
.document {
// width: 100px;
height: 50px;
+}
+::v-deep.el-table .warning-row {
+ background: #eec4c4;
}
.documentf {
@@ -1241,6 +1211,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