From 99b062eeca471bdcbfcacd88e308fab9972cd6ec Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 19 八月 2025 14:21:33 +0800
Subject: [PATCH] 展示优化
---
src/views/followvisit/tasklist/index.vue | 327 +++++++++++++++++++++++++++++++++++-------------------
1 files changed, 210 insertions(+), 117 deletions(-)
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index ab4f5d7..92b7233 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -23,7 +23,7 @@
@keyup.enter.native="handleQuery"
></el-input>
</el-form-item>
- <el-form-item label="鍒涘缓鏃堕棿">
+ <el-form-item label="鍙戦�佹椂闂�">
<el-date-picker
v-model="dateRange"
style="width: 240px"
@@ -35,7 +35,7 @@
></el-date-picker>
</el-form-item>
- <el-form-item label="鏈嶅姟椤圭洰" prop="status">
+ <el-form-item label="浠诲姟妯℃澘" prop="status">
<el-input
v-model="topqueryParams.templatename"
@keyup.enter.native="handleQuery"
@@ -69,12 +69,27 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-select
- @change="handleQuery"
+ @change="handleQuerytask"
v-model="tasktopic"
- placeholder="璇烽�夋嫨鏂板绫诲瀷"
+ placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷"
>
<el-option
v-for="item in taskoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-col>
+ <el-col :span="1.5">
+ <el-select
+ @change="handleQuery"
+ v-model="topqueryParams.type"
+ placeholder="璇烽�夋嫨鎵ц绫诲瀷"
+ >
+ <el-option
+ v-for="item in longtermlist"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -89,11 +104,11 @@
size="medium"
@click="handleAdd"
:disabled="!tasktopic"
- >鏂板</el-button
+ >鏂板缓浠诲姟</el-button
>
</el-col>
- <el-col :span="19">
+ <!-- <el-col :span="19">
<div class="documentf">
<div class="document">
<el-button
@@ -107,7 +122,7 @@
>
</div>
</div>
- </el-col>
+ </el-col> -->
<!-- <el-col :span="1.5"> </el-col> -->
</el-row>
<!-- <right-toolbar
@@ -127,6 +142,7 @@
<el-table-column
label="浠诲姟鍚嶇О"
fixed
+ width="120"
align="center"
key="taskName"
prop="taskName"
@@ -134,15 +150,19 @@
/>
<el-table-column
label="浠诲姟鎻忚堪"
+ width="280"
align="center"
key="taskDesc"
prop="taskDesc"
+ :show-overflow-tooltip="true"
/>
<el-table-column
label="鏈嶅姟椤圭洰"
+ width="120"
align="center"
key="templatename"
prop="templatename"
+ :show-overflow-tooltip="true"
/>
<el-table-column
label="寰呮墽琛�/鎬讳换鍔�"
@@ -154,6 +174,33 @@
<span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
</template>
</el-table-column>
+ <el-table-column
+ label="鏄惁闀挎湡浠诲姟"
+ align="center"
+ key="longTask"
+ prop="longTask"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.longTask ? "闀挎湡浠诲姟" : "闈為暱鏈�" }}</span>
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="鐘舵��"
+ align="center"
+ key="sendState"
+ prop="sendState"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.task_status"
+ :value="scope.row.sendState"
+ />
+ </template>
+ </el-table-column>
+
<el-table-column
label="鍒涘缓浜�"
align="center"
@@ -167,48 +214,44 @@
sortable
align="center"
prop="createTime"
- width="160"
+ width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
- <el-table-column
- label="鐘舵��"
- fixed="right"
- align="center"
- key="sendState"
- prop="sendState"
- width="120"
- >
- <template slot-scope="scope">
- <dict-tag
- :options="dict.type.task_status"
- :value="scope.row.sendState"
- />
- </template>
- </el-table-column>
+
<el-table-column
label="鎿嶄綔"
fixed="right"
align="center"
- width="120"
+ width="180"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
- v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
+ v-if="
+ (scope.row.sendState == 1 || scope.row.sendState == 3) &&
+ !scope.row.longTask
+ "
size="medium"
type="text"
@click="sponsor(scope.row)"
><span class="button-zx"
- ><i class="el-icon-s-promotion"></i>浠诲姟鍙戣捣</span
+ ><i class="el-icon-s-promotion"></i>鍙戣捣</span
></el-button
>
-
- <el-button size="medium" type="text" @click="newAdd(scope.row)"
+ <!-- <el-button size="medium" type="text" @click="newAdd(scope.row)"
><span class="button-xj"
- ><i class="el-icon-circle-plus-outline"></i>浠诲姟缁堟</span
+ ><i class="el-icon-circle-plus-outline"></i>缁堟</span
+ ></el-button
+ > -->
+ <el-button
+ size="medium"
+ type="text"
+ @click="handleUpdate(scope.row, 1)"
+ ><span class="button-xj"
+ ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span
></el-button
>
<el-button
@@ -217,7 +260,7 @@
type="text"
@click="stop(scope.row)"
><span class="button-zt"
- ><i class="el-icon-circle-plus-outline"></i>鏆傚仠浠诲姟</span
+ ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span
></el-button
>
</template>
@@ -358,7 +401,7 @@
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
- name: "User",
+ name: "Tasklist",
dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
components: { Treeselect },
data() {
@@ -391,6 +434,7 @@
postOptions: [],
// 瑙掕壊閫夐」
roleOptions: [],
+ longTask: 0,
taskform: {
showDate: [],
showTimeMorn: [],
@@ -412,11 +456,25 @@
previewvalue: {
username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
},
- taskoptions: [
+ longtermlist: [
{
- value: "1",
- label: "鐩戞祴璇勪及",
+ value: 1,
+ label: "璇煶闅忚",
},
+ {
+ value: 2,
+ label: "闂嵎闅忚",
+ },
+ {
+ value: 3,
+ label: "瀹f暀鍏虫��",
+ },
+ ],
+ taskoptions: [
+ // {
+ // value: "1",
+ // label: "鐩戞祴璇勪及",
+ // },
{
value: "2",
label: "鍑洪櫌闅忚",
@@ -433,15 +491,14 @@
value: "5",
label: "澶嶈瘖绠$悊",
},
- {
- value: "6",
- label: "婊℃剰搴﹁皟鏌�",
- },
+ // {
+ // value: "6",
+ // label: "婊℃剰搴﹁皟鏌�",
+ // },
{
value: "7",
label: "鎮h�呮姤鍛�",
},
-
{
value: "8",
label: "鍏朵粬閫氱煡",
@@ -546,32 +603,14 @@
topqueryParams: {
pageNum: 1,
pageSize: 10,
- type: 3,
+ type: 2,
userName: undefined,
tagid: undefined,
topic: undefined,
},
propss: { multiple: true },
options: [],
-
- topicoptions: [
- {
- value: 1,
- label: "寰呭鏍�",
- },
- {
- value: 2,
- label: "鎵ц涓�",
- },
- {
- value: 3,
- label: "鎵ц瀹屾垚",
- },
- {
- value: 4,
- label: "宸插仠姝�",
- },
- ],
+ checkboxlist: [],
// 琛ㄥ崟鏍¢獙
rules: {
userName: [
@@ -622,11 +661,22 @@
},
watch: {},
created() {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ this.tasktopic = this.$route.query.tasktopic
+ ? this.$route.query.tasktopic
+ : this.tasktopic;
this.getList();
this.getConfigKey("sys.user.initPassword").then((response) => {
this.initPassword = response.msg;
});
- // this.taskoptions = store.getters.Serviceauthority;
+ this.checkboxlist = store.getters.checkboxlist;
+ },
+ activated() {
+ this.getList();
},
// 鎼滅储
mounted() {
@@ -638,38 +688,58 @@
/** 鏌ヨ浠诲姟鍒楄〃 */
getList() {
this.loading = true;
- let type = this.$route.query.type;
- this.tasktopic = this.$route.query.tasktopic
- ? this.$route.query.tasktopic
- : this.tasktopic;
this.topqueryParams.serviceType = Number(this.tasktopic);
- this.topqueryParams.type = Number(this.type);
- if (this.tasktopic == 1 || this.tasktopic == 7 || this.tasktopic == 6) {
- this.topqueryParams.type = 2;
- this.TaskOperation.taskType = 2;
- } else if (this.tasktopic == 4 || this.tasktopic == 8) {
- this.topqueryParams.type = 3;
- this.TaskOperation.taskType = 3;
- } else if (
+ if (
this.tasktopic == 2 ||
this.tasktopic == 3 ||
- this.tasktopic == 5
+ this.tasktopic == 1 ||
+ this.tasktopic == 7 ||
+ this.tasktopic == 6
) {
- this.topqueryParams.type = 1;
- this.TaskOperation.taskType = 1;
+ if (!this.topqueryParams.type) this.topqueryParams.type = "2";
+ this.longtermlist = [
+ {
+ value: 1,
+ label: "璇煶闅忚",
+ },
+ {
+ value: 2,
+ label: "闂嵎闅忚",
+ },
+ ];
+ } else if (this.tasktopic == 4 || this.tasktopic == 8) {
+ if (!this.topqueryParams.type) this.topqueryParams.type = "3";
+ this.longtermlist = [
+ {
+ value: 3,
+ label: "瀹f暀鍏虫��",
+ },
+ ];
+ } else if (this.tasktopic == 5) {
+ if (!this.topqueryParams.type) this.topqueryParams.type = "1";
+ this.longtermlist = [
+ {
+ value: 1,
+ label: "璇煶闅忚",
+ },
+ {
+ value: 2,
+ label: "闂嵎闅忚",
+ },
+ ];
}
// this.topqueryParams.typename = this.findLabelByValue(
// this.taskoptions,
// this.tasktopic
// );
- getTasklist(this.addDateRange(this.topqueryParams, this.dateRange)).then(
- (response) => {
- this.userList = response.rows;
- this.total = response.total;
- this.$forceUpdate();
- this.loading = false;
- }
- );
+ this.topqueryParams.startOutHospTime = this.dateRange[0];
+ this.topqueryParams.endOutHospTime = this.dateRange[1];
+ getTasklist(this.topqueryParams).then((response) => {
+ this.userList = response.rows;
+ this.total = response.total;
+ this.$forceUpdate();
+ this.loading = false;
+ });
},
// 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
Referencequestion(row) {
@@ -709,6 +779,16 @@
this.resetForm("form");
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuerytask() {
+ this.topqueryParams.pageNum = 1;
+ if (this.tasktopic == 4) {
+ this.topqueryParams.type = 3;
+ }else{
+ this.topqueryParams.type = 2;
+ }
+ // this.topqueryParams.type = '';
+ this.getList();
+ },
handleQuery() {
this.topqueryParams.pageNum = 1;
this.getList();
@@ -716,9 +796,16 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
this.dateRange = [];
- this.resetForm("queryForm");
- this.topqueryParams.deptId = undefined;
- this.$refs.tree.setCurrentKey(null);
+ this.topqueryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ type: 2,
+ };
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
this.handleQuery();
},
// 澶氶�夋閫変腑鏁版嵁
@@ -776,7 +863,7 @@
}
},
/** 淇敼鎸夐挳鎿嶄綔 */
- handleUpdate(row) {
+ handleUpdate(row, newadd) {
if (this.topqueryParams.type == 1) {
this.$router.push({
path: "/followvisit/particty",
@@ -784,6 +871,7 @@
id: row.taskid,
type: this.topqueryParams.type,
serviceType: this.tasktopic,
+ newadd: newadd, //鏄惁渚濈収鏂板缓
},
});
} else if (this.topqueryParams.type == 2) {
@@ -793,6 +881,7 @@
id: row.taskid,
type: this.topqueryParams.type,
serviceType: this.tasktopic,
+ newadd: newadd,
},
});
} else if (this.topqueryParams.type == 3) {
@@ -802,12 +891,29 @@
id: row.taskid,
type: this.topqueryParams.type,
serviceType: this.tasktopic,
+ newadd: newadd,
},
});
}
},
// 鍒犻櫎浠诲姟
- deletefn() {},
+ deletefn(row) {
+ this.$modal
+ .confirm(
+ '鏄惁鍒犻櫎浠诲姟鍚嶇О涓�"' +
+ row.taskName +
+ '"鐨勬暟鎹」锛屽垹闄ゅ悗涓嶅彲鎾ゅ洖锛佹槸鍚︾户缁�'
+ )
+ .then(() => {
+ delTaskInfo(row.taskid).then((res) => {
+ if (res.code == 200) {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ })
+ .catch(() => {});
+ },
// 浠诲姟鍙戣捣
sponsor(row) {
console.log(row, "浠诲姟淇℃伅");
@@ -834,8 +940,22 @@
this.taskformVisible = true;
} else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) {
this.TaskOperation.taskId = row.taskid;
+ this.TaskOperation.taskType = this.topqueryParams.type;
this.TaskOperation.sendState = 2;
this.TaskOperation.sendType = 2;
+ this.$modal
+ .confirm({
+ title: "纭鎿嶄綔",
+ text: "浣犵‘瀹氳鎵ц杩欎釜鎿嶄綔鍚楋紵",
+ showCancelButton: true,
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ })
+ .then((result) => {
+ if (result.value) {
+ console.log("鐢ㄦ埛鐐瑰嚮浜嗙‘瀹氭寜閽�");
+ }
+ });
this.$modal
.confirm(
'褰撳墠閫変腑浠诲姟鍚嶇О涓�"' +
@@ -859,6 +979,7 @@
confirmSponsor(row) {
if (this.activname == 0) {
this.TaskOperation.taskId = row.taskid;
+ this.TaskOperation.taskType = this.topqueryParams.type;
this.TaskOperation.sendState = 2;
TaskTemplateSendExecution(this.TaskOperation).then((res) => {
if (res.code == 200) {
@@ -876,6 +997,7 @@
immediateExecution(row) {
console.log(row, "浠诲姟淇℃伅");
if (row.sendState != 2) {
+ this.TaskOperation.taskType = this.topqueryParams.type;
this.TaskOperation.taskId = row.taskid;
this.TaskOperation.sendState = 2;
this.TaskOperation.sendType = 2;
@@ -898,35 +1020,6 @@
}
},
- // 渚濈収鏂板
- newAdd(row) {
- this.$modal
- .confirm("鏄惁渚濈収褰撳墠浠诲姟鍒涘缓鏂颁换鍔★紵")
- .then(() => {
- if (
- this.tasktopic == 2 ||
- this.tasktopic == 3 ||
- this.tasktopic == 4 ||
- this.tasktopic == 5
- ) {
- this.$router.push({
- path: "/followvisit/particty",
- query: { type: 1, id: row.taskid, nhh: 1 },
- });
- } else if (this.tasktopic == 6) {
- this.$router.push({
- path: "/followvisit/QuestionnaireTask",
- query: { type: 2, id: row.taskid, nhh: 1 },
- });
- } else if (this.tasktopic == 1) {
- this.$router.push({
- path: "/followvisit/Missioncreation",
- query: { type: 3, id: row.taskid, nhh: 1 },
- });
- }
- })
- .catch(() => {});
- },
// 鏆傚仠
stop(row) {
console.log(row);
--
Gitblit v1.9.3