| | |
| | | <el-divider></el-divider> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-select v-model="tasktopic" placeholder="请选择新增类型"> |
| | | <el-select |
| | | @change="handleQuery" |
| | | v-model="tasktopic" |
| | | placeholder="请选择新增类型" |
| | | > |
| | | <el-option |
| | | v-for="item in taskoptions" |
| | | :key="item.value" |
| | |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="medium" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | |
| | | >修改</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"> |
| | |
| | | @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="序号" fixed align="center" key="taskid" prop="taskid" /> |
| | | <el-table v-loading="loading" :data="userList"> |
| | | <el-table-column |
| | | label="序号" |
| | | fixed |
| | | align="center" |
| | | key="taskid" |
| | | prop="taskid" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="任务名称" |
| | |
| | | key="nickName" |
| | | prop="nickName" |
| | | > |
| | | |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.wfs}}/{{ scope.row.yfs }}</span> |
| | | <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="状态" |
| | | fixed="right" |
| | | align="center" |
| | | key="phonenumber" |
| | | prop="phonenumber" |
| | | 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" |
| | |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | v-if="scope.row.sendState == 1 || scope.row.sendState == 3" |
| | | size="medium" |
| | | type="text" |
| | | @click="handleUpdate(scope.row)" |
| | | |
| | | @click="sponsor(scope.row)" |
| | | ><span class="button-zx" |
| | | ><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="handleUpdate(scope.row)" |
| | | |
| | | ><span class="button-zx" |
| | | ><i class="el-icon-s-promotion"></i>依照新增</span |
| | | @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> |
| | |
| | | @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.taskName"></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> |
| | |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { getTasklist, getTaskInfo,TaskTemplateSendExecution } from "@/api/AiCentre/index"; |
| | | import { |
| | | 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 { |
| | |
| | | postOptions: [], |
| | | // 角色选项 |
| | | roleOptions: [], |
| | | taskform: { |
| | | showDate: [], |
| | | showTimeMorn: [], |
| | | showTimeNight: [], |
| | | showTimeNoon: [], |
| | | }, |
| | | taskformVisible: false, |
| | | dynamicTags: ["选项一", "选项二", "选项三"], //选项 |
| | | inputVisible: false, |
| | | inputValue: "", |
| | | previewVisible: false, //门诊随访预览弹框 |
| | | TaskOperation: {}, |
| | | radio: "", |
| | | radios: [], |
| | | previewtype: 2, //预览门诊随访类型 |
| | |
| | | label: "问卷服务", |
| | | }, |
| | | ], |
| | | tasktopic: null, //新增类型 |
| | | tasktopic: "2", //新增类型 |
| | | value: [], |
| | | list: [], |
| | | loading: false, |
| | |
| | | methods: { |
| | | /** 查询任务列表 */ |
| | | getList() { |
| | | // this.loading = true; |
| | | getTasklist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | this.loading = true; |
| | | 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) { |
| | |
| | | } |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.addalteropen = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.$router.push({ |
| | | path: "/followvisit/particty", |
| | | query: { type: this.tasktopic }, |
| | | }); |
| | | 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) { |
| | |
| | | path: "/followvisit/particty", |
| | | 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(){}, |
| | | 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(); |
| | | } |
| | | }); |
| | | }, |
| | | // 立即执行 |
| | | 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(); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | | submitForm: function () { |
| | |
| | | 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 { |
| | |
| | | } |
| | | } |
| | | |
| | | ::v-deep.el-button + .el-button { |
| | | margin-left: 0; |
| | | } |
| | | ::v-deep.el-checkbox-group { |
| | | span { |
| | | font-size: 24px; |