| | |
| | | placeholder="请输入诊断名称" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="任务状态" prop="status"> |
| | | <el-select v-model="topqueryParams.sendstate" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in topicoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-form-item label="随访状态" prop="status"> |
| | | <el-cascader |
| | | v-model="serviceStatusValue" |
| | | placeholder="请选择" |
| | | :options="serviceStatusOptions" |
| | | :props="cascaderProps" |
| | | @change="handleServiceStatusChange" |
| | | clearable |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | |
| | | size="medium" |
| | | type="text" |
| | | @click=" |
| | | gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname) |
| | | gettoken360( |
| | | scope.row.sfzh, |
| | | scope.row.drcode, |
| | | scope.row.drname, |
| | | scope.row.patid |
| | | ) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | | scope.row.sendname |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="任务状态" |
| | | label="随访状态" |
| | | align="center" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | key="sendstateView" |
| | | prop="sendstateView" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="scope.row.remark" |
| | | placement="top-start" |
| | | > |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >表单已领取</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 2"> |
| | | <div v-if="scope.row.sendstateView == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >待随访</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 3"> |
| | | <div v-if="scope.row.sendstateView == 2"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >表单已发送</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 4"> |
| | | <el-tag type="info" :disable-transitions="false">不执行</el-tag> |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 5"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >发送失败</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >已完成</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstateView == 3"> |
| | | <el-tag type="warning" :disable-transitions="false" |
| | | >无需随访</el-tag |
| | | > |
| | | </div> |
| | | </el-tooltip> |
| | |
| | | |
| | | <el-table-column |
| | | label="应随访日期" |
| | | width="200" |
| | | width="146" |
| | | align="center" |
| | | key="visitTime" |
| | | prop="visitTime" |
| | |
| | | > |
| | | <el-table-column |
| | | label="出院日期" |
| | | width="200" |
| | | width="146" |
| | | align="center" |
| | | key="endtime" |
| | | prop="endtime" |
| | |
| | | prop="templatename" |
| | | width="200" |
| | | /> |
| | | <el-table-column |
| | | label="任务状态" |
| | | align="center" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="scope.row.remark" |
| | | placement="top-start" |
| | | > |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >表单已领取</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 2"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >待随访</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 3"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >表单已发送</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 4"> |
| | | <el-tag type="info" :disable-transitions="false">不执行</el-tag> |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 5"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >发送失败</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >已完成</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 7"> |
| | | <el-tag type="danger" :disable-transitions="false">超时</el-tag> |
| | | </div> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="任务执行方式" |
| | | align="center" |
| | |
| | | historservelist, |
| | | buidegetTasklist, |
| | | query360PatInfo, |
| | | query360PatInfonh |
| | | } from "@/api/AiCentre/index"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import store from "@/store"; |
| | |
| | | }, |
| | | ], |
| | | loading: false, |
| | | cardlist: [ |
| | | serviceStatusValue: 10, |
| | | cascaderProps: { |
| | | expandTrigger: "hover", // 悬停展开 |
| | | checkStrictly: true, // ✅ 关键:允许选中任意一级 |
| | | emitPath: false, // ✅ 只返回选中的值,不返回路径数组 |
| | | }, |
| | | // 随访状态级联选择器 |
| | | serviceStatusOptions: [ |
| | | { |
| | | name: "出院服务总量", |
| | | value: 0, |
| | | value: null, |
| | | label: "全部", |
| | | }, |
| | | // { |
| | | // name: "患者过滤", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "需随访", |
| | | value: 10, // 一级:待随访 |
| | | label: "待随访", |
| | | children: [ |
| | | { value: 1, label: "被领取" }, |
| | | { value: 2, label: "待发送" }, |
| | | { value: 3, label: "已发送" }, |
| | | { value: 5, label: "发送失败" }, |
| | | { value: 7, label: "超时" }, |
| | | ], |
| | | }, |
| | | { |
| | | value: 20, // 一级:已完成 |
| | | label: "已完成", |
| | | children: [{ value: 6, label: "已完成" }], |
| | | }, |
| | | { |
| | | value: 30, // 一级:无需随访 |
| | | label: "无需随访", |
| | | children: [{ value: 4, label: "不执行" }], |
| | | }, |
| | | ], |
| | | cardlist: [ |
| | | { |
| | | name: "患者服务总量", |
| | | value: 0, |
| | | }, |
| | | |
| | | // { |
| | | // name: "异常", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "发送失败", |
| | | name: "无需随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "需随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "已完成", |
| | | value: 0, |
| | | }, |
| | | ], |
| | | |
| | | // 表单参数 |
| | |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "表单已领取", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "待随访", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "随访中", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "表单已发送", |
| | | label: "未完成", |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: "不执行", |
| | | }, |
| | | { |
| | | value: 5, |
| | | label: "发送失败", |
| | | }, |
| | | { |
| | | value: 6, |
| | | label: "已完成", |
| | | }, |
| | | { |
| | | value: 7, |
| | | label: "超时", |
| | | { |
| | | value: 5, |
| | | label: "无需随访", |
| | | }, |
| | | ], |
| | | topicoptionsyj: [ |
| | |
| | | }); |
| | | }, |
| | | //患者360跳转 |
| | | gettoken360(sfzh, drcode, drname) { |
| | | // this.$modal.msgWarning('360功能暂未开通'); |
| | | gettoken360(sfzh, drcode, drname, id) { |
| | | const orgname = localStorage.getItem("orgname"); |
| | | if (orgname == "南华大学附属第一医院") { |
| | | query360PatInfonh(id).then((res) => { |
| | | if (res.data) { |
| | | window.open(res.data, "_blank"); |
| | | } else { |
| | | this.$modal.msgWarning("360查询无结果"); |
| | | } |
| | | }); |
| | | return; |
| | | } else if ( |
| | | orgname == "第一人民医院湖滨院区" || |
| | | orgname == "第一人民医院吴山院区" |
| | | ) { |
| | | let url = `http://192.200.81.189:9100/blj/view?BINGRENID=${id}&YONGHUID=DBA`; |
| | | window.open(url, "_blank"); |
| | | return; |
| | | } |
| | | |
| | | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; |
| | | |
| | |
| | | this.total = response.total; |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | Number(response.rows[0].wzx) + Number(response.rows[0].ysf); |
| | | Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0; |
| | | this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[2].value = response.rows[0].ysf; |
| | | this.ycvalue = response.rows[0].yc; |
| | |
| | | this.topqueryParams.endOutHospTime = this.dateRange[1]; |
| | | |
| | | this.getList(refresh); |
| | | }, |
| | | // 随访状态变更处理 |
| | | handleServiceStatusChange(value) { |
| | | // 清空选择 |
| | | if (value === null || value === undefined || value === "") { |
| | | this.topqueryParams.sendstateView = null; |
| | | this.topqueryParams.sendstate = null; |
| | | return; |
| | | } |
| | | console.log(value, "value"); |
| | | |
| | | // 一级节点的值(大于等于10) |
| | | if (value >= 10) { |
| | | // 选中了一级 |
| | | switch (value) { |
| | | case 10: |
| | | this.topqueryParams.sendstateView = 1; // 待随访 |
| | | break; |
| | | case 20: |
| | | this.topqueryParams.sendstateView = 2; // 已完成 |
| | | break; |
| | | case 30: |
| | | this.topqueryParams.sendstateView = 3; // 无需随访 |
| | | break; |
| | | } |
| | | this.topqueryParams.sendstate = null; |
| | | } else { |
| | | // 选中了二级(具体状态) |
| | | this.topqueryParams.sendstateView = null; |
| | | this.topqueryParams.sendstate = value; |
| | | } |
| | | }, |
| | | // 患者范围处理 |
| | | handleChange(value) { |
| | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | console.log(this.topqueryParams); |
| | | |
| | | this.topqueryParams.pageSize = null; |
| | | this.download( |
| | | // "smartor/serviceSubtask/export", |
| | | "smartor/serviceSubtask/getSubtaskByDiagnameExport", |