|  |  | 
 |  |  |             @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" | 
 |  |  | 
 |  |  |         <el-table-column | 
 |  |  |           label="任务名称" | 
 |  |  |           fixed | 
 |  |  |           width="200" | 
 |  |  |           align="center" | 
 |  |  |           key="taskName" | 
 |  |  |           prop="taskName" | 
 |  |  | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="任务描述" | 
 |  |  |           width="280" | 
 |  |  |           align="center" | 
 |  |  |           key="taskDesc" | 
 |  |  |           prop="taskDesc" | 
 |  |  | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  |           label="服务项目" | 
 |  |  |           width="120" | 
 |  |  |           align="center" | 
 |  |  |           key="templatename" | 
 |  |  |           prop="templatename" | 
 |  |  | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <span | 
 |  |  |               >{{ scope.row.wfs ? scope.row.wfs + scope.row.yfs : "" }}/{{ | 
 |  |  |                 scope.row.yfs | 
 |  |  |               }}</span | 
 |  |  |               >{{ | 
 |  |  |                 scope.row.wfs || scope.row.wfs == 0 | 
 |  |  |                   ? scope.row.wfs + scope.row.yfs | 
 |  |  |                   : "" | 
 |  |  |               }}/{{ scope.row.yfs }}</span | 
 |  |  |             > | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  | 
 |  |  |           align="center" | 
 |  |  |           key="longTask" | 
 |  |  |           prop="longTask" | 
 |  |  |           width="120" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <span>{{ scope.row.longTask ? "长期任务" : "非长期" }}</span> | 
 |  |  | 
 |  |  |           align="center" | 
 |  |  |           key="sendState" | 
 |  |  |           prop="sendState" | 
 |  |  |           width="120" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <dict-tag | 
 |  |  | 
 |  |  |           align="center" | 
 |  |  |           key="createBy" | 
 |  |  |           prop="createBy" | 
 |  |  |           width="120" | 
 |  |  |           :show-overflow-tooltip="true" | 
 |  |  |         /> | 
 |  |  |         <el-table-column | 
 |  |  | 
 |  |  |           sortable | 
 |  |  |           align="center" | 
 |  |  |           prop="createTime" | 
 |  |  |           width="160" | 
 |  |  |         > | 
 |  |  |           <template slot-scope="scope"> | 
 |  |  |             <span>{{ formatTime(scope.row.createTime) }}</span> | 
 |  |  | 
 |  |  |               size="medium" | 
 |  |  |               type="text" | 
 |  |  |               @click="handleUpdate(scope.row, 1)" | 
 |  |  |               ><span class="button-xj" | 
 |  |  |                 ><i class="el-icon-circle-plus-outline"></i>依照新增</span | 
 |  |  |               ><span class="button-xj">依照新增</span></el-button | 
 |  |  |             > | 
 |  |  |             <el-button | 
 |  |  |               v-if="scope.row.sendState != 5" | 
 |  |  |               size="medium" | 
 |  |  |               type="text" | 
 |  |  |               @click="handleAddpatient(scope.row.taskid, scope.row.type)" | 
 |  |  |               ><span class="button-hz" | 
 |  |  |                 ><i class="el-icon-circle-plus-outline"></i>新增患者</span | 
 |  |  |               ></el-button | 
 |  |  |             > | 
 |  |  |             <el-button | 
 |  |  | 
 |  |  |               size="medium" | 
 |  |  |               type="text" | 
 |  |  |               @click="stop(scope.row)" | 
 |  |  |               ><span class="button-zt" | 
 |  |  |                 ><i class="el-icon-circle-plus-outline"></i>暂停</span | 
 |  |  |               ></el-button | 
 |  |  |               ><span class="button-zt">暂停</span></el-button | 
 |  |  |             > | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  | 
 |  |  |         > | 
 |  |  |       </div> | 
 |  |  |     </el-dialog> | 
 |  |  |     <!-- 选择患者弹框 --> | 
 |  |  |     <Patient-Selection | 
 |  |  |       ref="Patient" | 
 |  |  |       :dialogVisiblepatient="dialogVisiblepatient" | 
 |  |  |       @addoption="addoption" | 
 |  |  |       @kkoption="dialogVisiblepatient = true" | 
 |  |  |     /> | 
 |  |  |   </div> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  | } from "@/api/system/user"; | 
 |  |  | import { | 
 |  |  |   getTasklist, | 
 |  |  |   getTaskInfo, | 
 |  |  |   Editsingletask, | 
 |  |  |   delTaskInfo, | 
 |  |  |   Questionnairetasklist, | 
 |  |  |   Questionnairetaskget, | 
 |  |  |   Questionnairetasksponsor, | 
 |  |  |   TaskTemplateSendExecution, | 
 |  |  | } from "@/api/AiCentre/index"; | 
 |  |  | import store from "@/store"; | 
 |  |  |  | 
 |  |  | import PatientSelection from "@/components/PatientSelection"; //正则组件 | 
 |  |  | import SFtable from "@/components/SFtable"; //表格组件 | 
 |  |  | import Treeselect from "@riophae/vue-treeselect"; | 
 |  |  | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; | 
 |  |  |  | 
 |  |  | export default { | 
 |  |  |   name: "Tasklist", | 
 |  |  |   dicts: ["sys_normal_disable", "sys_user_sex", "task_status"], | 
 |  |  |   components: { Treeselect }, | 
 |  |  |   components: { Treeselect, PatientSelection }, | 
 |  |  |   data() { | 
 |  |  |     return { | 
 |  |  |       // 遮罩层 | 
 |  |  | 
 |  |  |         showTimeNight: [], | 
 |  |  |         showTimeNoon: [], | 
 |  |  |       }, | 
 |  |  |       dialogVisiblepatient: false, | 
 |  |  |       Patientlist: [], | 
 |  |  |       taskformVisible: false, | 
 |  |  |       dynamicTags: ["选项一", "选项二", "选项三"], //选项 | 
 |  |  |       inputVisible: false, | 
 |  |  | 
 |  |  |           value: 3, | 
 |  |  |           label: "宣教关怀", | 
 |  |  |         }, | 
 |  |  |       ], | 
 |  |  |       taskoptions: [ | 
 |  |  |         { | 
 |  |  |           value: "1", | 
 |  |  |           label: "心电随访", | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           value: "2", | 
 |  |  |           label: "出院随访", | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           value: "3", | 
 |  |  |           label: "影像随访", | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           value: "4", | 
 |  |  |           label: "宣教关怀", | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           value: "5", | 
 |  |  |           label: "体检随访", | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           value: "11", | 
 |  |  |           label: "医技随访", | 
 |  |  |         }, | 
 |  |  |         { | 
 |  |  |           value: "10", | 
 |  |  |           label: "专科随访", | 
 |  |  |           value: 4, | 
 |  |  |           label: "消息通知", | 
 |  |  |         }, | 
 |  |  |       ], | 
 |  |  |       tasktopic: "2", //新增类型 | 
 |  |  |       taskoptions: store.getters.tasktypes, | 
 |  |  |       tasktopic: 2, //新增类型 | 
 |  |  |       activname: "", | 
 |  |  |       value: [], | 
 |  |  |       list: [], | 
 |  |  | 
 |  |  |     /** 查询任务列表 */ | 
 |  |  |     getList() { | 
 |  |  |       this.loading = true; | 
 |  |  |       console.log(this.topqueryParams.type); | 
 |  |  |  | 
 |  |  |       this.topqueryParams.serviceType = Number(this.tasktopic); | 
 |  |  |       if ( | 
 |  |  | 
 |  |  |         this.tasktopic == 3 || | 
 |  |  |         this.tasktopic == 1 || | 
 |  |  |         this.tasktopic == 7 || | 
 |  |  |         this.tasktopic == 5 || | 
 |  |  |         this.tasktopic == 6 | 
 |  |  |       ) { | 
 |  |  |         if (!this.topqueryParams.type) this.topqueryParams.type = "2"; | 
 |  |  | 
 |  |  |             label: "问卷随访", | 
 |  |  |           }, | 
 |  |  |         ]; | 
 |  |  |         this.topqueryParams.type = 2; | 
 |  |  |       } else if (this.tasktopic == 4 || this.tasktopic == 8) { | 
 |  |  |         if (!this.topqueryParams.type) this.topqueryParams.type = "3"; | 
 |  |  |         this.longtermlist = [ | 
 |  |  | 
 |  |  |             label: "宣教关怀", | 
 |  |  |           }, | 
 |  |  |         ]; | 
 |  |  |       } else if (this.tasktopic == 5) { | 
 |  |  |         if (!this.topqueryParams.type) this.topqueryParams.type = "1"; | 
 |  |  |         this.topqueryParams.type = 3; | 
 |  |  |       } else if (this.tasktopic == 16) { | 
 |  |  |         if (!this.topqueryParams.type) this.topqueryParams.type = "2"; | 
 |  |  |         this.longtermlist = [ | 
 |  |  |           { | 
 |  |  |             value: 1, | 
 |  |  | 
 |  |  |             value: 2, | 
 |  |  |             label: "问卷随访", | 
 |  |  |           }, | 
 |  |  |           { | 
 |  |  |             value: 3, | 
 |  |  |             label: "宣教关怀", | 
 |  |  |           }, | 
 |  |  |         ]; | 
 |  |  |         this.topqueryParams.type = 2; | 
 |  |  |       } | 
 |  |  |       // this.topqueryParams.typename = this.findLabelByValue( | 
 |  |  |       //   this.taskoptions, | 
 |  |  |       //   this.tasktopic | 
 |  |  |       // ); | 
 |  |  |       this.topqueryParams.startOutHospTime = this.dateRange[0]; | 
 |  |  |       this.topqueryParams.endOutHospTime = this.dateRange[1]; | 
 |  |  |       this.topqueryParams.beginTime = this.dateRange[0]; | 
 |  |  |       this.topqueryParams.endTime = this.dateRange[1]; | 
 |  |  |       getTasklist(this.topqueryParams).then((response) => { | 
 |  |  |         this.userList = response.rows; | 
 |  |  |         this.total = response.total; | 
 |  |  | 
 |  |  |     resetQuery() { | 
 |  |  |       this.dateRange = []; | 
 |  |  |       this.resetForm("queryForm"); | 
 |  |  |       this.topqueryParams.deptId = undefined; | 
 |  |  |       this.$refs.tree.setCurrentKey(null); | 
 |  |  |       this.topqueryParams = { | 
 |  |  |         pageNum: 1, | 
 |  |  |         pageSize: 10, | 
 |  |  |         type: 2, | 
 |  |  |         userName: undefined, | 
 |  |  |         tagid: undefined, | 
 |  |  |         topic: undefined, | 
 |  |  |       }; | 
 |  |  |       // this.$refs.tree.setCurrentKey(null); | 
 |  |  |       this.handleQuery(); | 
 |  |  |     }, | 
 |  |  |     // 多选框选中数据 | 
 |  |  | 
 |  |  |       const item = data.find((item) => item.value === value); | 
 |  |  |       return item ? item.label : null; | 
 |  |  |     }, | 
 |  |  |     handleAddpatient(taskid) { | 
 |  |  |       this.$refs.Patient.handleAddpatient(taskid); | 
 |  |  |       this.dialogVisiblepatient = true; // 手动控制弹窗显示 | 
 |  |  |     }, | 
 |  |  |     addoption() { | 
 |  |  |       this.dialogVisiblepatient = false; // 手动控制弹窗显示 | 
 |  |  |       this.handleQuery(); | 
 |  |  |     }, | 
 |  |  |   }, | 
 |  |  | }; | 
 |  |  | </script> | 
 |  |  | 
 |  |  |   border-radius: 1px; | 
 |  |  |   color: #ffffff; | 
 |  |  | } | 
 |  |  | .button-hz { | 
 |  |  |   background: #63d37b; | 
 |  |  |   padding: 5px; | 
 |  |  |   border-radius: 1px; | 
 |  |  |   color: #ffffff; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | ::v-deep.el-radio-group { | 
 |  |  |   span { |