| | |
| | | @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-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" |
| | |
| | | <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" |
| | |
| | | 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 |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | <!-- <el-col :span="1.5"> </el-col> --> |
| | | </el-row> |
| | | <!-- <right-toolbar |
| | |
| | | <el-table-column |
| | | label="任务名称" |
| | | fixed |
| | | width="120" |
| | | align="center" |
| | | key="taskName" |
| | | prop="taskName" |
| | |
| | | /> |
| | | <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="待执行/总任务" |
| | |
| | | <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" |
| | |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <span>{{ formatTime(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 |
| | |
| | | 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> |
| | |
| | | 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() { |
| | |
| | | // 用户表格数据 |
| | | userList: null, |
| | | // 弹出层标题 |
| | | title: "新增门诊随访", |
| | | title: "新增影像随访", |
| | | // 是否显示修改、添加弹出层 |
| | | addalteropen: false, |
| | | // 部门名称 |
| | |
| | | postOptions: [], |
| | | // 角色选项 |
| | | roleOptions: [], |
| | | longTask: 0, |
| | | taskform: { |
| | | showDate: [], |
| | | showTimeMorn: [], |
| | |
| | | dynamicTags: ["选项一", "选项二", "选项三"], //选项 |
| | | inputVisible: false, |
| | | inputValue: "", |
| | | previewVisible: false, //门诊随访预览弹框 |
| | | previewVisible: false, //影像随访预览弹框 |
| | | TaskOperation: {}, |
| | | radio: "", |
| | | radios: [], |
| | | previewtype: 2, //预览门诊随访类型 |
| | | previewtype: 2, //预览影像随访类型 |
| | | total: 0, // 总条数 |
| | | ImportQuantity: 999, //导门诊随访数量 |
| | | //预览门诊随访信息 |
| | | ImportQuantity: 999, //导影像随访数量 |
| | | //预览影像随访信息 |
| | | previewvalue: { |
| | | username: "这个医生对你怎么样", |
| | | }, |
| | | longtermlist: [ |
| | | { |
| | | value: 1, |
| | | label: "语音随访", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "问卷随访", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "宣教关怀", |
| | | }, |
| | | ], |
| | | taskoptions: [ |
| | | { |
| | | value: "1", |
| | | label: "监测评估", |
| | | label: "心电随访", |
| | | }, |
| | | { |
| | | value: "2", |
| | |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "门诊随访", |
| | | label: "影像随访", |
| | | }, |
| | | { |
| | | value: "4", |
| | |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "复诊管理", |
| | | label: "体检随访", |
| | | }, |
| | | { |
| | | value: "6", |
| | | label: "满意度调查", |
| | | value: "11", |
| | | label: "医技随访", |
| | | }, |
| | | { |
| | | value: "7", |
| | | label: "患者报告", |
| | | }, |
| | | |
| | | { |
| | | value: "8", |
| | | label: "其他通知", |
| | | value: "10", |
| | | label: "专科随访", |
| | | }, |
| | | ], |
| | | tasktopic: "2", //新增类型 |
| | |
| | | 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: [ |
| | |
| | | }, |
| | | 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.getConfigKey("sys.user.initPassword").then((response) => { |
| | | this.initPassword = response.msg; |
| | | }); |
| | | // this.taskoptions = store.getters.Serviceauthority; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | }, |
| | | activated() { |
| | | this.getList(); |
| | | }, |
| | | // 搜索 |
| | | mounted() { |
| | |
| | | /** 查询任务列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | let type = this.$route.query.type; |
| | | console.log(this.topqueryParams.type); |
| | | |
| | | this.topqueryParams.serviceType = Number(this.tasktopic); |
| | | this.topqueryParams.type = Number(this.type); |
| | | if ( |
| | | this.tasktopic == 2 || |
| | | this.tasktopic == 3 || |
| | |
| | | this.tasktopic == 7 || |
| | | this.tasktopic == 6 |
| | | ) { |
| | | this.topqueryParams.type = 2; |
| | | this.TaskOperation.taskType = 2; |
| | | if (!this.topqueryParams.type) this.topqueryParams.type = '2'; |
| | | this.longtermlist = [ |
| | | { |
| | | value: 1, |
| | | label: "语音随访", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "问卷随访", |
| | | }, |
| | | ]; |
| | | } else if (this.tasktopic == 4 || this.tasktopic == 8) { |
| | | this.topqueryParams.type = 3; |
| | | this.TaskOperation.taskType = 3; |
| | | if (!this.topqueryParams.type) this.topqueryParams.type = '3'; |
| | | this.longtermlist = [ |
| | | { |
| | | value: 3, |
| | | label: "宣教关怀", |
| | | }, |
| | | ]; |
| | | } else if (this.tasktopic == 5) { |
| | | this.topqueryParams.type = 1; |
| | | this.TaskOperation.taskType = 1; |
| | | 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) { |
| | | this.previewVisible = true; |
| | | }, |
| | |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuerytask() { |
| | | this.topqueryParams.pageNum = 1; |
| | | // this.topqueryParams.type = ''; |
| | | this.getList(); |
| | | }, |
| | | handleQuery() { |
| | | this.topqueryParams.pageNum = 1; |
| | | this.getList(); |
| | |
| | | } |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | handleUpdate(row, newadd) { |
| | | if (this.topqueryParams.type == 1) { |
| | | this.$router.push({ |
| | | path: "/followvisit/particty", |
| | |
| | | id: row.taskid, |
| | | type: this.topqueryParams.type, |
| | | serviceType: this.tasktopic, |
| | | newadd: newadd, //是否依照新建 |
| | | }, |
| | | }); |
| | | } else if (this.topqueryParams.type == 2) { |
| | |
| | | id: row.taskid, |
| | | type: this.topqueryParams.type, |
| | | serviceType: this.tasktopic, |
| | | newadd: newadd, |
| | | }, |
| | | }); |
| | | } else if (this.topqueryParams.type == 3) { |
| | |
| | | id: row.taskid, |
| | | type: this.topqueryParams.type, |
| | | serviceType: this.tasktopic, |
| | | newadd: newadd, |
| | | }, |
| | | }); |
| | | } |
| | |
| | | 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 |
| | |
| | | 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) { |
| | |
| | | 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; |
| | |
| | | } |
| | | }, |
| | | |
| | | // 依照新增 |
| | | newAdd(row) { |
| | | this.$modal |
| | | .confirm("是否依照当前任务创建新任务?") |
| | | .then(() => { |
| | | if (this.tasktopic == 5) { |
| | | this.$router.push({ |
| | | path: "/followvisit/particty", |
| | | query: { type: 1, id: row.taskid, nhh: 1 }, |
| | | }); |
| | | } else if ( |
| | | this.tasktopic == 2 || |
| | | this.tasktopic == 3 || |
| | | this.tasktopic == 6 |
| | | ) { |
| | | this.$router.push({ |
| | | path: "/followvisit/QuestionnaireTask", |
| | | query: { type: 2, id: row.taskid, nhh: 1 }, |
| | | }); |
| | | } else if (this.tasktopic == 8 || this.tasktopic == 4) { |
| | | this.$router.push({ |
| | | path: "/followvisit/Missioncreation", |
| | | query: { type: 3, id: row.taskid, nhh: 1 }, |
| | | }); |
| | | } |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 暂停 |
| | | stop(row) { |
| | | console.log(row); |