From 76c30727c77065c808b1c0fb3146080e423e5fe6 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 27 六月 2024 09:45:30 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/tasklist/index.vue | 513 +++++++++++++++++++++++++++++++++++---------------------
1 files changed, 321 insertions(+), 192 deletions(-)
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 870d48a..71ed556 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -77,40 +77,31 @@
<el-divider></el-divider>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
+ <el-select
+ @change="handleQuery"
+ v-model="tasktopic"
+ 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-button
type="primary"
- plain
icon="el-icon-plus"
size="medium"
@click="handleAdd"
- v-hasPermi="['system:user:add']"
+ :disabled="!tasktopic"
>鏂板</el-button
>
</el-col>
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="medium"
- :disabled="single"
- @click="handleUpdate"
- v-hasPermi="['system:user:edit']"
- >淇敼</el-button
- >
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="medium"
- :disabled="multiple"
- @click="handleDelete"
- v-hasPermi="['system:user:remove']"
- >鍒犻櫎</el-button
- >
- </el-col>
+
<el-col :span="19">
<div class="documentf">
<div class="document">
@@ -133,66 +124,45 @@
@queryTable="getList"
:columns="columns"
></right-toolbar> -->
- <el-table
- v-loading="loading"
- :data="userList"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="50" align="center" />
- <el-table-column label="搴忓彿" align="center" key="id" prop="id" />
+ <el-table v-loading="loading" :data="userList">
+ <el-table-column
+ label="搴忓彿"
+ fixed
+ align="center"
+ key="taskid"
+ prop="taskid"
+ />
<el-table-column
label="浠诲姟鍚嶇О"
+ fixed
align="center"
sortable
- key="name"
- prop="name"
+ key="taskName"
+ prop="taskName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="浠诲姟鎻忚堪"
align="center"
- key="describe"
- prop="describe"
+ key="taskDesc"
+ prop="taskDesc"
/>
<el-table-column
label="寰呮墽琛�/鎬讳换鍔�"
align="center"
key="nickName"
prop="nickName"
- />
- <el-table-column
- label="鐘舵��"
- align="center"
- key="phonenumber"
- prop="phonenumber"
- width="120"
- />
-
- <el-table-column
- label="瀹℃牳浜�"
- align="center"
- key="create_by"
- prop="create_by"
- width="120"
- :show-overflow-tooltip="true"
- />
- <el-table-column
- label="瀹℃牳鏃堕棿"
- sortable
- align="center"
- prop="create_time"
- width="160"
>
<template slot-scope="scope">
- <span>{{ parseTime(scope.row.create_time) }}</span>
+ <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
</template>
</el-table-column>
<el-table-column
label="鍒涘缓浜�"
align="center"
- key="create_by"
- prop="create_by"
+ key="createBy"
+ prop="createBy"
width="120"
:show-overflow-tooltip="true"
/>
@@ -200,34 +170,73 @@
label="鍒涘缓鏃堕棿"
sortable
align="center"
- prop="create_time"
+ prop="createTime"
width="160"
>
<template slot-scope="scope">
- <span>{{ parseTime(scope.row.create_time) }}</span>
+ <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"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
+ v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
size="medium"
type="text"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['system:user:edit']"
+ @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
+ v-if="scope.row.sendState == 1 || scope.row.sendState == 3"
+ size="medium"
+ type="text"
+ @click="immediateExecution(scope.row)"
+ ><span class="button-lj"
+ ><i class="el-icon-s-promotion"></i>绔嬪嵆鎵ц</span
+ ></el-button
+ >
+ <el-button size="medium" type="text" @click="newAdd(scope.row)"
+ ><span class="button-xj"
+ ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span
+ ></el-button
+ >
+ <el-button
+ v-if="scope.row.sendState == 2"
+ size="medium"
+ type="text"
+ @click="stop(scope.row)"
+ ><span class="button-zt"
+ ><i class="el-icon-circle-plus-outline"></i>鏆傚仠浠诲姟</span
></el-button
>
</template>
</el-table-column>
<el-table-column
label="浠诲姟璇︽儏"
+ fixed="right"
align="center"
width="200"
class-name="small-padding fixed-width"
@@ -237,25 +246,12 @@
size="medium"
type="text"
@click="handleUpdate(scope.row)"
- v-hasPermi="['system:user:edit']"
><span class="button-xq"
><i class="el-icon-s-data"></i>璇︽儏</span
></el-button
>
- <!-- <el-button
- size="medium"
- type="text"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['system:user:edit']"
- ><span class="button-bb"
- ><i class="el-icon-s-order"></i>鎶ヨ〃</span
- ></el-button
- > -->
- <el-button
- size="medium"
- type="text"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['system:user:edit']"
+
+ <el-button size="medium" type="text" @click="deletefn(scope.row)"
><span class="button-sc"
><i class="el-icon-delete"></i>鍒犻櫎</span
></el-button
@@ -272,58 +268,68 @@
@pagination="getList"
/>
</el-row>
- <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+ <!-- 纭鍙戣捣瀵硅瘽妗� -->
<el-dialog
- :title="title"
- :visible.sync="addalteropen"
- width="700px"
- append-to-body
+ title="浠诲姟鍙戣捣纭"
+ :visible.sync="taskformVisible"
+ width="50%"
+ :before-close="handleClose"
>
- <el-form ref="form" :model="form" label-width="100px">
- <el-row :gutter="20">
- <el-col :span="12"
- ><el-form-item label="浠诲姟鍚嶇О">
- <el-input v-model="form.name"></el-input> </el-form-item
- ></el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="24"
- ><el-form-item label="鎵�灞炵瀹�">
- <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝">
- <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
- <el-option label="鍖哄煙浜�" value="beijing"></el-option>
- </el-select> </el-form-item></el-col
- ></el-row>
- <el-row :gutter="20">
- <el-col :span="24"
- ><el-form-item label="闅忚绫诲瀷">
- <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷">
- <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
- <el-option label="鍖哄煙浜�" value="beijing"></el-option>
- </el-select> </el-form-item
- ></el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="24">
- <el-form-item label="鏈嶅姟妯″潡">
- <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡">
- <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
- <el-option label="鍖哄煙浜�" value="beijing"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="24">
- <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
- <el-input type="textarea" v-model="form.desc"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">鎻� 浜�</el-button>
- <el-button @click="cancel">杩� 鍥�</el-button>
+ <div style="font-size: 20px; color: red; margin-bottom: 20px">
+ 璇风‘璁や换鍔�"{{ taskform.taskName }}"鐨勬墽琛屾椂闂�
+ </div>
+ <div
+ style="font-size: 18px; margin-bottom: 20px"
+ v-if="taskform.showDate[0]"
+ >
+ 鎵ц鏃ユ湡锛�<span
+ style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+ >{{ taskform.showDate[0] }} 鑷� {{ taskform.showDate[1] }}</span
+ >
+ </div>
+ <div
+ style="font-size: 18px; margin-bottom: 20px"
+ v-if="taskform.showTimeMorn[0]"
+ >
+ 绗竴鏃堕棿娈碉細<span
+ style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+ >{{ taskform.showTimeMorn[0] }} 鑷�
+ {{ taskform.showTimeMorn[1] }}</span
+ >
+ </div>
+ <div
+ style="font-size: 18px; margin-bottom: 20px"
+ v-if="taskform.showTimeNight[0]"
+ >
+ 绗簩鏃堕棿娈碉細<span
+ style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+ >{{ taskform.showTimeNight[0] }} 鑷�
+ {{ taskform.showTimeNight[1] }}</span
+ >
+ </div>
+ <div
+ style="font-size: 18px; margin-bottom: 20px"
+ v-if="taskform.showTimeNoon[0]"
+ >
+ 绗笁鏃堕棿娈碉細<span
+ style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+ >{{ taskform.showTimeNoon[0] }} 鑷�
+ {{ taskform.showTimeNoon[1] }}</span
+ >
+ </div>
+ <div style="text-align: right">
+ <el-button style="margin-right: 20px" @click="taskformVisible = false"
+ >鍙� 娑�</el-button
+ >
+ <el-button
+ style="margin-right: 20px"
+ type="success"
+ @click="confirmSponsor(taskform)"
+ >纭鎵ц</el-button
+ >
+ <el-button type="primary" @click="handleUpdate(taskform)"
+ >鍓嶅線淇敼</el-button
+ >
</div>
</el-dialog>
</div>
@@ -331,7 +337,6 @@
<script>
import {
- listUser,
getUser,
delUser,
addUser,
@@ -340,19 +345,22 @@
changeUserStatus,
} from "@/api/system/user";
import {
- listsvr_prj,
- getsvr_task,
- addsvr_task,
- updatesvr_task,
- delsvr_task,
-} from "@/api/smartorpor/svr_task";
+ getTasklist,
+ getTaskInfo,
+ Editsingletask,
+ delTaskInfo,
+ Questionnairetasklist,
+ Questionnairetaskget,
+ Questionnairetasksponsor,
+ TaskTemplateSendExecution,
+} from "@/api/AiCentre/index";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "User",
- dicts: ["sys_normal_disable", "sys_user_sex"],
+ dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
components: { Treeselect },
data() {
return {
@@ -384,10 +392,18 @@
postOptions: [],
// 瑙掕壊閫夐」
roleOptions: [],
+ taskform: {
+ showDate: [],
+ showTimeMorn: [],
+ showTimeNight: [],
+ showTimeNoon: [],
+ },
+ taskformVisible: false,
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
inputValue: "",
previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+ TaskOperation: {},
radio: "",
radios: [],
previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
@@ -397,6 +413,33 @@
previewvalue: {
username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
},
+ taskoptions: [
+ {
+ value: "1",
+ label: "瀹f暀鏈嶅姟",
+ },
+ {
+ value: "2",
+ label: "闂ㄨ瘖闅忚",
+ },
+ {
+ value: "3",
+ label: "鍑洪櫌闅忚",
+ },
+ {
+ value: "4",
+ label: "澶嶈瘖鏈嶅姟",
+ },
+ {
+ value: "5",
+ label: "浣撴閫氱煡",
+ },
+ {
+ value: "6",
+ label: "闂嵎鏈嶅姟",
+ },
+ ],
+ tasktopic: "2", //鏂板绫诲瀷
value: [],
list: [],
loading: false,
@@ -581,17 +624,22 @@
});
},
methods: {
- /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
+ /** 鏌ヨ浠诲姟鍒楄〃 */
getList() {
this.loading = true;
- listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
- (response) => {
- console.log(response);
+ if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
+ getTasklist(this.topqueryParams).then((response) => {
this.userList = response.rows;
this.total = response.total;
this.loading = false;
- }
- );
+ });
+ } else if (this.tasktopic == 6) {
+ Questionnairetasklist(this.topqueryParams).then((res) => {
+ this.userList = res.rows;
+ this.total = res.total;
+ this.loading = false;
+ });
+ }
},
// 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
Referencequestion(row) {
@@ -611,26 +659,7 @@
this.options = [];
}
},
- // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
- handleStatusChange(row) {
- let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
- this.$modal
- .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
- .then(function () {
- return changeUserStatus(row.userId, row.status);
- })
- .then(() => {
- this.$modal.msgSuccess(text + "鎴愬姛");
- })
- .catch(function () {
- row.status = row.status === "0" ? "1" : "0";
- });
- },
- // 鍙栨秷鎸夐挳
- cancel() {
- this.addalteropen = false;
- this.reset();
- },
+
// 琛ㄥ崟閲嶇疆
reset() {
this.form = {
@@ -690,37 +719,116 @@
},
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
- this.$router.push({
- path: "/followvisit/tasklist/FollowupDetails/",
- });
+ if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
+ this.$router.push({
+ path: "/followvisit/particty",
+ query: { type: this.tasktopic },
+ });
+ } else if (this.tasktopic == 6) {
+ this.$router.push({
+ path: "/followvisit/QuestionnaireTask",
+ query: { type: this.tasktopic },
+ });
+ }
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
- // const userId = row.userId || this.ids;
- // this.$router.push({
- // path: "/followvisit/tasklist/FollowupDetails/",
- // query: { id: row.id },
- // });
this.$router.push({
path: "/followvisit/particty",
- query: { type: 2, },
+ query: { type: row.hospType, id: row.taskid },
+ });
+ if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
+ this.$router.push({
+ path: "/followvisit/particty",
+ query: { type: row.hospType, id: row.taskid },
+ });
+ } else if (this.tasktopic == 6) {
+ this.$router.push({
+ path: "/followvisit/QuestionnaireTask",
+ query: { type: row.hospType, id: row.taskid },
+ });
+ }
+ },
+ // 鍒犻櫎浠诲姟
+ deletefn() {},
+ // 浠诲姟鍙戣捣
+ sponsor(row) {
+ console.log(row, "浠诲姟淇℃伅");
+ this.taskform = row;
+ if (this.taskform.showDate) {
+ this.taskform.showDate = this.taskform.showDate.split(",");
+ }
+ if (this.taskform.showTimeMorn) {
+ this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(",");
+ } else {
+ this.taskform.showTimeMorn = [];
+ }
+ if (this.taskform.showTimeNight) {
+ this.taskform.showTimeNight = this.taskform.showTimeNight.split(",");
+ } else {
+ this.taskform.showTimeNight = [];
+ }
+ if (this.taskform.showTimeNoon) {
+ this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(",");
+ } else {
+ this.taskform.showTimeNoon = [];
+ }
+ if (row.sendState != 2) {
+ this.taskformVisible = true;
+ } else {
+ this.$modal.msgError("浠诲姟宸插彂璧凤紝涓嶅彲鍐嶆鍙戣捣");
+ }
+ },
+ // 纭鍙戣捣
+ confirmSponsor(row) {
+ this.TaskOperation.taskId = row.taskid;
+ this.TaskOperation.sendState = 2;
+ TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("浠诲姟宸叉垚鍔熷姞鍏ユ墽琛岄槦鍒�");
+ this.getList();
+ }
});
},
- /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
- handleResetPwd(row) {
- this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- closeOnClickModal: false,
- inputPattern: /^.{5,20}$/,
- inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
- })
- .then(({ value }) => {
- resetUserPwd(row.userId, value).then((response) => {
- this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value);
- });
- })
- .catch(() => {});
+ // 绔嬪嵆鎵ц
+ immediateExecution(row) {
+ console.log(row, "浠诲姟淇℃伅");
+ if (row.sendState != 2) {
+ this.TaskOperation.taskId = row.taskid;
+ this.TaskOperation.sendState = 2;
+ this.TaskOperation.sendType = 2;
+ this.$modal
+ .confirm(
+ '鏄惁绔嬪嵆鎵ц浠诲姟鍚嶇О涓轰负"' +
+ row.taskName +
+ '"鐨勬暟鎹」锛熷彂璧锋墽琛屽悗涓嶅彲鎾ゅ洖锛�'
+ )
+ .then(() => {
+ TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+ if (res.code == 200) {
+ this.getList();
+ this.$modal.msgSuccess("浠诲姟宸茬珛鍗虫墽琛�");
+ }
+ });
+ })
+ .then(() => {})
+ .catch(() => {});
+ }
+ },
+
+ // 渚濈収鏂板
+ newAdd(row) {
+ TaskTemplateSendExecution().then((res) => {});
+ },
+ // 鏆傚仠
+ stop(row) {
+ if (row.sendState == 2) {
+ this.TaskOperation.taskId = row.taskId;
+ this.TaskOperation.sendState = 3;
+ TaskTemplateSendExecution().then((res) => {
+ this.getList();
+ });
+ }
},
/** 鎻愪氦鎸夐挳 */
@@ -878,6 +986,24 @@
border-radius: 1px;
color: #ffffff;
}
+.button-lj {
+ background: #e9614f;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-xj {
+ background: #815c94;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-zt {
+ background: #f9c116;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
::v-deep.el-radio-group {
span {
@@ -885,6 +1011,9 @@
}
}
+::v-deep.el-button + .el-button {
+ margin-left: 0;
+}
::v-deep.el-checkbox-group {
span {
font-size: 24px;
--
Gitblit v1.9.3