| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="排序方式" prop="status"> |
| | | <el-select v-model="topqueryParams.sort" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in topicoptionssort" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | |
| | | <el-divider></el-divider> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | size="medium" |
| | | @click="handleExport" |
| | | >导出</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | size="medium" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:user:export']" |
| | | >导出</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | size="medium" |
| | | @click="affiliation()" |
| | | >本人所属服务</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="userList" |
| | | height="660" |
| | | :row-class-name="tableRowClassName" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | |
| | | size="medium" |
| | | type="text" |
| | | @click=" |
| | | $router.push({ |
| | | path: '/patient/indexls/', |
| | | query: { sfzh: scope.row.sfzh }, |
| | | }) |
| | | gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | | scope.row.sendname |
| | |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="随访人员" |
| | | align="center" |
| | | key="createBy" |
| | | prop="createBy" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="随访时间" |
| | | label="随访完成时间" |
| | | sortable |
| | | align="center" |
| | | prop="finishtime" |
| | |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | | label="主治医生" |
| | | width="120" |
| | | align="center" |
| | | key="drname" |
| | | prop="drname" |
| | | /> |
| | | <el-table-column |
| | | label="随访人员" |
| | | align="center" |
| | | key="updateBy" |
| | | prop="updateBy" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="出院天数" |
| | | width="120" |
| | | align="center" |
| | |
| | | key="nurseName" |
| | | prop="nurseName" |
| | | /> |
| | | <el-table-column |
| | | label="主治医生" |
| | | width="120" |
| | | align="center" |
| | | key="drname" |
| | | prop="drname" |
| | | /> |
| | | |
| | | <!-- <el-table-column |
| | | label="病历号" |
| | |
| | | > |
| | | </el-table-column> |
| | | |
| | | <!-- <el-table-column |
| | | label="疾病名称" |
| | | <el-table-column |
| | | label="诊断名称" |
| | | align="center" |
| | | key="icdName" |
| | | prop="icdName" |
| | | key="leavediagname" |
| | | prop="leavediagname" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> --> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="出院随访模板名称" |
| | |
| | | key="remark" |
| | | prop="remark" |
| | | > |
| | | <template slot-scope="scope" v-if="scope.row.remark"> |
| | | <template slot-scope="scope" v-if="scope.row.remark"> |
| | | <el-tooltip |
| | | :content="scope.row.remark" |
| | | placement="top" |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="再次随访" |
| | |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | v-if="scope.row.isVisitAgain!=2" |
| | | @click="followupvisit(scope.row)" |
| | | v-hasPermi="['system:user:edit']" |
| | | ><span class="button-bb" |
| | | ><i class="el-icon-s-promotion"></i>再次随访</span |
| | | ></el-button |
| | |
| | | ><i class="el-icon-remove-outline"></i>暂停服务</span |
| | | ></el-button |
| | | > |
| | | </el-tooltip> |
| | | </el-tooltip> --> |
| | | <el-button size="medium" type="text" @click="Seedetails(scope.row)" |
| | | ><span class="button-zx" |
| | | ><i class="el-icon-s-order"></i>查看详情</span |
| | | ></el-button |
| | | > |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="handleUpdate(scope.row)" |
| | | ><span class="button-textxga" |
| | | ><i class="el-icon-edit"></i>患者过滤</span |
| | | ></el-button |
| | | > |
| | | </template> |
| | |
| | | </el-row> |
| | | <!-- 添加或修改影像随访对话框 --> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="addalteropen" |
| | | width="700px" |
| | | append-to-body |
| | | :title="amendtag ? '修改患者信息' : '新增患者'" |
| | | :visible.sync="Labelchange" |
| | | width="900px" |
| | | > |
| | | <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.name"></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-form ref="form" :model="form" :rules="rules" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="姓名" width="100" prop="name"> |
| | | <el-input |
| | | v-model="form.name" |
| | | placeholder="请输入姓名" |
| | | maxlength="30" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="性别" width="100" prop="sex"> |
| | | <el-select v-model="form.sex" placeholder="请选择性别"> |
| | | <el-option |
| | | v-for="dict in sextype" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="年龄" prop="age"> |
| | | <el-input |
| | | v-model="form.age" |
| | | placeholder="请输入年龄" |
| | | maxlength="30" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="影像随访要求"> |
| | | <el-input type="textarea" v-model="form.desc"></el-input> |
| | | <el-form-item label="过滤原因"> |
| | | <el-input |
| | | v-model="form.notrequiredreason" |
| | | type="textarea" |
| | | placeholder="请输入过滤原因" |
| | | ></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> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 修改发送时间对话框 --> |
| | |
| | | <!-- <el-form-item label="即刻发送"> |
| | | <el-switch v-model="zcform.delivery"></el-switch> |
| | | </el-form-item> --> |
| | | <el-form-item label="随访时间" prop="date1"> |
| | | <el-form-item label="出院时间"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | | v-model="zcform.endtime" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="随访完成时间" prop="date1"> |
| | | <el-date-picker |
| | | type="date" |
| | | placeholder="选择日期" |
| | |
| | | getTaskservelist, |
| | | buidegetTasklist, |
| | | addserviceSubtask, |
| | | query360PatInfo, |
| | | } from "@/api/AiCentre/index"; |
| | | import { alterpatient, particularpatient } from "@/api/patient/homepage"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import store from "@/store"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | |
| | | zcform: {}, |
| | | dynamicTags: ["选项一", "选项二", "选项三"], //选项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | |
| | | name: "出院服务总量", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "患者过滤", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "患者过滤", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "应随访", |
| | | value: 0, |
| | | }, |
| | | |
| | | // { |
| | | // name: "异常", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "发送失败", |
| | | value: 0, |
| | |
| | | qystatus: "", |
| | | btstatus: "", |
| | | }, |
| | | topicoptionssort: [ |
| | | { |
| | | value: 0, |
| | | label: "出院时间(正序)", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "出院时间(倒序)", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "发送时间(正序)", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "发送时间(倒序)", |
| | | }, |
| | | ], |
| | | // 查询参数 |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | |
| | | options: [], |
| | | |
| | | topicoptions: [ |
| | | { |
| | | value: null, |
| | | label: "全部", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "表单已领取", |
| | |
| | | label: "已完成", |
| | | }, |
| | | ], |
| | | sextype: [ |
| | | { |
| | | value: 1, |
| | | label: "男", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "女", |
| | | }, |
| | | ], |
| | | topicoptionsyj: [ |
| | | { |
| | | value: 1, |
| | |
| | | label: "正常", |
| | | }, |
| | | ], |
| | | url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo", |
| | | postData: { |
| | | XiaoXiTou: { |
| | | FaSongFCSJC: "ZJHES", |
| | | FaSongJGID: localStorage.getItem("orgid"), |
| | | FaSongJGMC: localStorage.getItem("orgname"), |
| | | FaSongSJ: "2025-01-09 17:29:36", |
| | | FaSongXTJC: "SUIFANGXT", |
| | | FaSongXTMC: "随访系统", |
| | | XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171", |
| | | XiaoXiLX: "SC_LC_360STCX", |
| | | XiaoXiMC: "360 视图查询", |
| | | ZuHuID: localStorage.getItem("ZuHuID"), |
| | | ZuHuMC: localStorage.getItem("orgname"), |
| | | }, |
| | | YeWuXX: { |
| | | BingRenXX: { |
| | | ZhengJianHM: "", |
| | | ZhengJianLXDM: "01", |
| | | ZhengJianLXMC: "居民身份证", |
| | | ZuZhiJGID: localStorage.getItem("orgid"), |
| | | ZuZhiJGMC: localStorage.getItem("orgname"), |
| | | }, |
| | | YongHuXX: { |
| | | XiTongID: "SUIFANGXT", |
| | | XiTongMC: "随访系统", |
| | | YongHuID: "1400466972205912064", |
| | | YongHuXM: "JNRMYY", |
| | | ZuZhiJGID: localStorage.getItem("orgid"), |
| | | ZuZhiJGMC: localStorage.getItem("orgname"), |
| | | idp: "lyra", |
| | | }, |
| | | }, |
| | | }, |
| | | amendtag: false, |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | | serviceState: [], |
| | |
| | | this.getList(1); |
| | | }, |
| | | methods: { |
| | | /** 查询影像随访服务列表 */ |
| | | /** 查询随访服务列表 */ |
| | | getList(refresh) { |
| | | // 默认全部 |
| | | |
| | | if (this.topqueryParams.searchscope == 3) { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | Number(response.rows[0].wzx) + Number(response.rows[0].ysf); |
| | | this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[2].value = response.rows[0].ysf; |
| | | // this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[1].value = response.rows[0].ysf; |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dfs; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.cardlist[2].value = response.rows[0].fssb; |
| | | this.cardlist[3].value = response.rows[0].dfs; |
| | | this.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | }); |
| | | this.total = response.total; |
| | | }); |
| | | }, |
| | | affiliation() { |
| | | this.topqueryParams.drcode = store.getters.hisUserId; |
| | | this.topqueryParams.nurseId = store.getters.hisUserId; |
| | | this.getList(1); |
| | | }, |
| | | buidegetTasklist(type) { |
| | | if (this.topqueryParams.searchscope == 3) { |
| | |
| | | row.status = row.status === "0" ? "1" : "0"; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.addalteropen = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | |
| | | this.topqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | console.log("1"); |
| | | |
| | | this.topqueryParams.pageNum = 1; |
| | | this.topqueryParams.startOutHospTime = this.dateRange[0]; |
| | | this.topqueryParams.endOutHospTime = this.dateRange[1]; |
| | | this.topqueryParams.startSendDateTime = this.dateRangefs[0]; |
| | | this.topqueryParams.endSendDateTime = this.dateRangefs[1]; |
| | | console.log("2"); |
| | | this.getList(refresh); |
| | | }, |
| | | // 患者范围处理 |
| | |
| | | let code = value.slice(-1)[0]; |
| | | this.topqueryParams.leavehospitaldistrictcodes = []; |
| | | this.topqueryParams.leaveldeptcodes = []; |
| | | |
| | | if (type == 1) { |
| | | this.topqueryParams.leaveldeptcodes.push(code); |
| | | this.topqueryParams.leavehospitaldistrictcodes = []; |
| | |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.dateRangefs = []; |
| | | this.topqueryParams = { |
| | | (this.topqueryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | serviceType: 2, |
| | | sendstate: 2, |
| | | searchscope: 2, |
| | | sort: 2, |
| | | }; |
| | | this.handleQuery(1); |
| | | sort: 2, //0 出院时间(正序) 1 出院时间(倒序) 2 发送时间(正序) 3 发送时间(倒序) |
| | | serviceType: 2, |
| | | searchscope: 3, |
| | | scopetype: [], |
| | | leaveldeptcodes: [], |
| | | leavehospitaldistrictcodes: [], |
| | | }), |
| | | this.handleQuery(1); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | |
| | | }, |
| | | }); |
| | | }, |
| | | //患者360跳转 |
| | | gettoken360(sfzh, drcode, drname) { |
| | | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; |
| | | if (this.postData.XiaoXiTou.ZuHuMC == "丽水市中医院") { |
| | | this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728"; |
| | | this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY"; |
| | | } |
| | | query360PatInfo(this.postData).then((res) => { |
| | | if (res.data.url) { |
| | | window.open(res.data.url, "_blank"); |
| | | // this.linkUrl = res.data.url; |
| | | } else { |
| | | this.$modal.msgWarning("360查询无结果"); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** 重置密码按钮操作 */ |
| | | handleResetPwd(row) { |
| | |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.Labelchange = false; |
| | | this.reset(); |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm: function () { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.form.userId != undefined) { |
| | | updateUser(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.form.isoperation = 2; |
| | | this.form.notrequiredFlag = 1; |
| | | alterpatient(this.form) |
| | | .then((response) => { |
| | | console.log(response); |
| | | }) |
| | | .then(() => { |
| | | this.getList(1); |
| | | this.$modal.msgSuccess("患者过滤成功"); |
| | | }); |
| | | } else { |
| | | addUser(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(1); |
| | | }); |
| | | } |
| | | |
| | | this.reset(); |
| | | this.Labelchange = false; |
| | | } |
| | | }); |
| | | }, |
| | |
| | | // 再次随访 |
| | | followupvisit(row) { |
| | | this.zcform = row; |
| | | this.zcform.endtime = this.formatTime(this.zcform.endtime); |
| | | this.dialogFormVisible = true; |
| | | }, |
| | | onSubmit() {}, |
| | |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 患者过滤触发 |
| | | handleUpdate(row) { |
| | | particularpatient(row.patid).then((response) => { |
| | | this.form = response.data; |
| | | }); |
| | | this.amendtag = true; |
| | | this.Labelchange = true; |
| | | }, |
| | | // 便捷按钮 |
| | | toleadExport(too) { |
| | | if (too == 1) { |
| | |
| | | this.topqueryParams.pageNum = null; |
| | | this.topqueryParams.pageSize = null; |
| | | this.download( |
| | | "smartor/serviceSubtask/export", |
| | | "smartor/serviceSubtask/patItemExport", |
| | | { |
| | | ...this.topqueryParams, |
| | | }, |
| | |
| | | setupsubtask() { |
| | | this.$refs["zcform"].validate((valid) => { |
| | | if (valid) { |
| | | this.zcform.remark = |
| | | this.zcform.remark + "【" + this.getCurrentTime() + "】"; |
| | | let form = structuredClone(this.zcform); |
| | | form.longSendTime = this.formatTime(form.date1); |
| | | form.finishtime = ''; |
| | | form.finishtime = ""; |
| | | if (form.resource) { |
| | | if (form.resource == 2) { |
| | | form.serviceType = 10; |
| | | form.serviceType = 13; |
| | | } |
| | | } else { |
| | | this.$modal.msgError("未选择随访方式"); |
| | |
| | | form.id = null; |
| | | form.sendstate = 2; |
| | | form.preachform = form.preachformson; |
| | | form.longTask = 0; |
| | | addserviceSubtask(form).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("创建成功"); |
| | |
| | | } |
| | | }); |
| | | }, |
| | | getCurrentTime() { |
| | | const now = new Date(); |
| | | const year = now.getFullYear(); |
| | | const month = String(now.getMonth() + 1).padStart(2, "0"); |
| | | const day = String(now.getDate()).padStart(2, "0"); |
| | | const hours = String(now.getHours()).padStart(2, "0"); |
| | | const minutes = String(now.getMinutes()).padStart(2, "0"); |
| | | const seconds = String(now.getSeconds()).padStart(2, "0"); |
| | | |
| | | return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |