| | |
| | | @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="120" |
| | | 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" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="待执行/总任务" |
| | | label="总任务/已随访" |
| | | align="center" |
| | | key="nickName" |
| | | width="120" |
| | | prop="nickName" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span> |
| | | <span |
| | | >{{ |
| | | scope.row.wfs || scope.row.wfs == 0 |
| | | ? scope.row.wfs + scope.row.yfs |
| | | : "" |
| | | }}/{{ scope.row.yfs }}</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <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> |
| | |
| | | label="操作" |
| | | fixed="right" |
| | | align="center" |
| | | width="180" |
| | | width="240" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | 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 |
| | | size="medium" |
| | | type="text" |
| | | @click="handleAddpatient(scope.row)" |
| | | ><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> |
| | |
| | | label="任务详情" |
| | | fixed="right" |
| | | align="center" |
| | | width="200" |
| | | width="240" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | > |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 选择患者弹框 --> |
| | | <Patient-Selection |
| | | ref="Patient" |
| | | :dialogVisiblepatient="dialogVisiblepatient" |
| | | :overallCase="Patientlist" |
| | | :tableLabel="tableLabelhz" |
| | | @addoption="dialogVisiblepatient = false" |
| | | @kkoption="dialogVisiblepatient = true" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | 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"; |
| | | |
| | |
| | | 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: "6", |
| | | label: "满意度调查", |
| | | }, |
| | | { |
| | | value: "7", |
| | | label: "患者报告", |
| | | }, |
| | | |
| | | { |
| | | value: "8", |
| | | label: "其他通知", |
| | | value: 4, |
| | | label: "消息通知", |
| | | }, |
| | | ], |
| | | tasktopic: "2", //新增类型 |
| | | taskoptions: store.getters.tasktypes, |
| | | tasktopic: 2, //新增类型 |
| | | activname: "", |
| | | value: [], |
| | | list: [], |
| | |
| | | }, |
| | | watch: {}, |
| | | created() { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.topqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | // 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; |
| | |
| | | /** 查询任务列表 */ |
| | | 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'; |
| | | if (!this.topqueryParams.type) this.topqueryParams.type = "2"; |
| | | this.longtermlist = [ |
| | | { |
| | | value: 1, |
| | |
| | | label: "问卷随访", |
| | | }, |
| | | ]; |
| | | this.topqueryParams.type = 2; |
| | | } else if (this.tasktopic == 4 || this.tasktopic == 8) { |
| | | if (!this.topqueryParams.type) this.topqueryParams.type = '3'; |
| | | if (!this.topqueryParams.type) this.topqueryParams.type = "3"; |
| | | this.longtermlist = [ |
| | | { |
| | | value: 3, |
| | | 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(row) { |
| | | this.allpids = []; |
| | | this.overallCase.forEach((item) => { |
| | | this.allpids.push(item.patid); |
| | | }); |
| | | if (this.patientqueryParams.allhosp == 4) { |
| | | this.tableLabelhz = [ |
| | | // { label: "入院日期", width: "170", prop: "starttime" }, |
| | | { label: "出院日期", width: "150", prop: "endtime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "患者诊断", width: "", prop: "leavediagname" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "出院天数", width: "", prop: "endDay" }, |
| | | { label: "责任护士", width: "", prop: "nurseName" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "180", prop: "dept" }, |
| | | { label: "病区", width: "150", prop: "leavehospitaldistrictname" }, |
| | | ]; |
| | | } else if (this.patientqueryParams.allhosp == 1) { |
| | | this.tableLabelhz = [ |
| | | { label: "入院日期", width: "150", prop: "starttime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "患者诊断", width: "", prop: "leavediagname" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "出院天数", width: "", prop: "endDay" }, |
| | | { label: "责任护士", width: "", prop: "nurseName" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "180", prop: "dept" }, |
| | | { label: "病区", width: "150", prop: "leavehospitaldistrictname" }, |
| | | ]; |
| | | } |
| | | if (this.allpids[0]) { |
| | | this.patientqueryParams.pids = this.allpids; |
| | | } else { |
| | | this.patientqueryParams.pids = null; |
| | | } |
| | | // 来源判断 |
| | | |
| | | if (this.patientqueryParams.allhosp == 4) { |
| | | this.patientqueryParams.hospitaldistrictcodes = []; |
| | | this.patientqueryParams.deptcodes = []; |
| | | } else if (this.patientqueryParams.allhosp == 1) { |
| | | this.patientqueryParams.deptcodes = |
| | | this.patientqueryParams.leaveldeptcodes; |
| | | this.patientqueryParams.hospitaldistrictcodes = |
| | | this.patientqueryParams.leavehospitaldistrictcodes; |
| | | this.patientqueryParams.leavehospitaldistrictcodes = []; |
| | | this.patientqueryParams.leaveldeptcodes = []; |
| | | } |
| | | getTaskpatientQC(this.patientqueryParams).then((response) => { |
| | | this.patientuserList = response.rows; |
| | | this.patientuserList.forEach((item) => { |
| | | if (item.endtime) { |
| | | item.endDay = this.daysBetween(item.endtime); |
| | | } |
| | | }); |
| | | this.patienttotal = response.total; |
| | | this.loading = false; |
| | | this.Restorecheck(); |
| | | }); |
| | | this.dialogVisiblepatient = true; |
| | | }, |
| | | // 查询 |
| | | handleQuery() { |
| | | // 获取外部患者 |
| | | |
| | | if (this.patientqueryParams.allhosp == 6) { |
| | | this.Externallist(); |
| | | console.log(); |
| | | |
| | | return; |
| | | } |
| | | if (this.patientqueryParams.searchscope == 1) { |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.patientqueryParams.leavehospitaldistrictcodes = []; |
| | | } else if (this.patientqueryParams.searchscope == 2) { |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | this.patientqueryParams.leaveldeptcodes = []; |
| | | } else { |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | if ( |
| | | !this.patientqueryParams.leavehospitaldistrictcodes || |
| | | !this.patientqueryParams.leavehospitaldistrictcodes[0] |
| | | ) |
| | | this.patientqueryParams.leavehospitaldistrictcodes = null; |
| | | if ( |
| | | !this.patientqueryParams.leaveldeptcodes || |
| | | !this.patientqueryParams.leaveldeptcodes[0] |
| | | ) |
| | | this.patientqueryParams.leaveldeptcodes = null; |
| | | this.handleAddpatient(); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | border-radius: 1px; |
| | | color: #ffffff; |
| | | } |
| | | .button-hz { |
| | | background: #63d37b; |
| | | padding: 5px; |
| | | border-radius: 1px; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | ::v-deep.el-radio-group { |
| | | span { |