| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="任务名称"> |
| | | <!-- <el-form-item label="任务名称"> |
| | | <el-input |
| | | v-model="topqueryParams.taskName" |
| | | placeholder="请选择任务名称" |
| | |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item label="应随访时间"> |
| | | <el-date-picker |
| | | v-model="dateRangefs" |
| | |
| | | placeholder="请输入患者姓名" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="诊断名称" prop="leavediagname"> |
| | | <!-- <el-form-item label="诊断名称" prop="leavediagname"> |
| | | <el-input |
| | | v-model="topqueryParams.leavediagname" |
| | | placeholder="请输入诊断名称" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item label="随访人员" prop="updateBy"> |
| | | <el-input |
| | | v-model="topqueryParams.updateBy" |
| | | placeholder="请输入随访人员" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="主治医生" prop="drname"> |
| | | <el-input |
| | | v-model="topqueryParams.drname" |
| | | placeholder="请输入主治医生" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="经管医生" prop="managementDoctor"> |
| | | <el-input |
| | | v-model="topqueryParams.managementDoctor" |
| | | placeholder="请输入主治医生" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | |
| | | <el-form-item label="患者范围" prop="status"> |
| | | <el-cascader |
| | |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <!-- <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="medium" |
| | | @click="handleAdd" |
| | |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <!-- <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | </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-col> --> |
| | | <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <!-- <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | | :disabled="multiple" |
| | | style="background: #983680; color: azure" |
| | | @click="scoreDialogVisible = true" |
| | | >满意度调查</el-button |
| | | <el-tooltip |
| | | content="请先选中服务" |
| | | placement="top" |
| | | :disabled="!multiple" |
| | | > |
| | | <div class="tooltip-wrapper"> |
| | | <el-button |
| | | type="primary" |
| | | :disabled="multiple" |
| | | class="purple-button" |
| | | @click="scoreDialogVisible = true" |
| | | > |
| | | 满意度调查 |
| | | </el-button> |
| | | </div> |
| | | </el-tooltip> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | </el-row> |
| | | <el-table |
| | | v-loading="loading" |
| | | ref="userform" |
| | | :data="userList" |
| | | :row-class-name="tableRowClassName" |
| | | @selection-change="handleSelectionChange" |
| | |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="经管医生" |
| | | align="center" |
| | | key="managementDoctor" |
| | | prop="managementDoctor" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="出院天数" |
| | | width="120" |
| | | align="center" |
| | |
| | | <!-- <el-table-column label="性别"width="100" align="center" key="sex" prop="sex" /> --> |
| | | <!-- <el-table-column label="床号" align="center" key="badNo" prop="badNo" /> --> |
| | | <el-table-column |
| | | label="科室" |
| | | label="课题组" |
| | | align="center" |
| | | key="deptname" |
| | | prop="deptname" |
| | |
| | | </el-row> |
| | | <!-- 满意度弹框 --> |
| | | <el-dialog |
| | | title="随访评分" |
| | | title="随访满意度评分" |
| | | :visible.sync="scoreDialogVisible" |
| | | width="80%" |
| | | :close-on-click-modal="false" |
| | |
| | | /> |
| | | <el-table-column |
| | | label="任务名称" |
| | | width="150" |
| | | width="180" |
| | | align="center" |
| | | prop="taskName" |
| | | /> |
| | |
| | | align="center" |
| | | key="authenticity" |
| | | prop="authenticity" |
| | | sortable |
| | | width="120" |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | |
| | | align="center" |
| | | key="weekFinish" |
| | | prop="weekFinish" |
| | | sortable |
| | | width="120" |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | |
| | | align="center" |
| | | key="standard" |
| | | prop="standard" |
| | | sortable |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | |
| | | align="center" |
| | | key="timeliness" |
| | | prop="timeliness" |
| | | sortable |
| | | width="120" |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | |
| | | align="center" |
| | | key="library" |
| | | prop="library" |
| | | sortable |
| | | width="120" |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | |
| | | align="center" |
| | | key="environment" |
| | | prop="environment" |
| | | sortable |
| | | width="120" |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | |
| | | align="center" |
| | | key="doctorSatisfaction" |
| | | prop="doctorSatisfaction" |
| | | width="120" |
| | | sortable |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | |
| | | align="center" |
| | | key="nurseSatisfaction" |
| | | prop="nurseSatisfaction" |
| | | width="120" |
| | | sortable |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input-number |
| | |
| | | align="center" |
| | | key="total" |
| | | prop="total" |
| | | sortable |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ calculateTotal(scope.row) }}</span> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="过滤医生" width="100" prop="filterDrname"> |
| | | <el-input |
| | | v-model="form.filterDrname" |
| | | placeholder="请输入医生姓名" |
| | | maxlength="30" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="过滤原因"> |
| | |
| | | v-model="zcform.age" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="科室"> |
| | | <el-form-item label="课题组"> |
| | | <el-input |
| | | style="width: 400px" |
| | | disabled |
| | |
| | | buidegetTasklist, |
| | | addserviceSubtask, |
| | | query360PatInfo, |
| | | addsatisfaction, |
| | | } from "@/api/AiCentre/index"; |
| | | import { alterpatient, particularpatient } from "@/api/patient/homepage"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | |
| | | sourcetype: [ |
| | | { |
| | | value: 1, |
| | | label: "科室", |
| | | label: "课题组", |
| | | children: [], |
| | | }, |
| | | { |
| | |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "应随访", |
| | | name: "需随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "已发送", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | |
| | | pageSize: 10, |
| | | sendstate: 2, |
| | | sort: 2, //0 出院时间(正序) 1 出院时间(倒序) 2 发送时间(正序) 3 发送时间(倒序) |
| | | serviceType: 2, |
| | | serviceType: 16, |
| | | searchscope: 3, |
| | | visitCount: 1, |
| | | scopetype: [], |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[2].value = response.rows[0].fssb; |
| | | this.cardlist[3].value = response.rows[0].dsf; |
| | | this.cardlist[4].value = response.rows[0].yfs2; |
| | | // this.cardlist[4].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | }); |
| | | }, |
| | | affiliation() { |
| | | this.topqueryParams.drcode = store.getters.hisUserId; |
| | | this.topqueryParams.nurseId = store.getters.hisUserId; |
| | | this.topqueryParams.managementDoctor = store.getters.hisUserId; |
| | | this.getList(1); |
| | | }, |
| | | onthatday() { |
| | |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dsf; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | pageSize: 10, |
| | | sendstate: 2, |
| | | sort: 2, //0 出院时间(正序) 1 出院时间(倒序) 2 发送时间(正序) 3 发送时间(倒序) |
| | | serviceType: 2, |
| | | serviceType: 16, |
| | | searchscope: 3, |
| | | visitCount: 1, |
| | | scopetype: [], |
| | |
| | | }); |
| | | |
| | | if (this.selectedRows.length > 0) { |
| | | this.multiple = false; |
| | | } else { |
| | | this.multiple = true; |
| | | } |
| | | }, |
| | |
| | | |
| | | // 保存评分 |
| | | saveScores() { |
| | | // 这里可以添加保存逻辑,如调用API保存评分 |
| | | this.$message.success("评分保存成功"); |
| | | this.scoreDialogVisible = false; |
| | | |
| | | // 更新主表格数据 |
| | | this.userList = this.userList.map((user) => { |
| | | const updatedUser = this.selectedRows.find((row) => row.id === user.id); |
| | | return updatedUser ? updatedUser : user; |
| | | this.selectedRows.forEach((item) => { |
| | | item.createBy = null; |
| | | item.patName = item.sendname; |
| | | item.hospitaldistrictname = item.leavehospitaldistrictname; |
| | | }); |
| | | addsatisfaction(this.selectedRows).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$message.success("评分保存成功"); |
| | | this.scoreDialogVisible = false; |
| | | this.selectedRows = []; |
| | | this.$refs.userform.clearSelection(); |
| | | } else { |
| | | this.$modal.msgWarning("评分保存失败"); |
| | | this.scoreDialogVisible = false; |
| | | this.selectedRows = []; |
| | | this.$refs.userform.clearSelection(); |
| | | } |
| | | }); |
| | | // 这里可以添加保存逻辑,如调用API保存评分 |
| | | }, |
| | | //删除选项 |
| | | handleClose(tag) { |
| | |
| | | path: "/followvisit/QuestionnaireTask", |
| | | query: { |
| | | type: 2, |
| | | serviceType: 2, |
| | | serviceType: 16, |
| | | }, |
| | | }); |
| | | }, |
| | | //患者360跳转 |
| | | gettoken360(sfzh, drcode, drname) { |
| | | this.$modal.msgWarning("360功能暂未开通"); |
| | | return; // 阻止后续代码执行 |
| | | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; |
| | | if (this.postData.XiaoXiTou.ZuHuMC == "丽水市中医院") { |
| | | this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728"; |
| | |
| | | handleUpdate(row) { |
| | | particularpatient(row.patid).then((response) => { |
| | | this.form = response.data; |
| | | this.form.filterDrname = store.getters.nickName; |
| | | }); |
| | | this.amendtag = true; |
| | | this.Labelchange = true; |
| | |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (row.excep == 1) { |
| | | return "warning-row"; |
| | | } else if (row.excep == 2) { |
| | | return "remind-row"; |
| | | } |
| | | return ""; |
| | | }, |
| | |
| | | } |
| | | ::v-deep.el-table .warning-row { |
| | | background: #eec4c4; |
| | | } |
| | | ::v-deep.el-table .remind-row { |
| | | background: #fcf5aa; |
| | | } |
| | | |
| | | .documentf { |
| | |
| | | } |
| | | } |
| | | ::v-deep.leftvlue .el-card__body { |
| | | background: #d0e9fd; |
| | | background: #f2f8ff; |
| | | color: #324a9b; |
| | | } |
| | | ::v-deep.leftvlue .el-card__body:hover { |
| | | background: #8dc8f8; |
| | | background: #3664d9; |
| | | color: #fff; |
| | | cursor: pointer; /* 鼠标悬浮时变为手形 */ |
| | | } |
| | | ::v-deep.errleftvlue .el-card__body { |
| | |
| | | background: #d0fdd8; |
| | | } |
| | | ::v-deep.ysfleftvlue .el-card__body:hover { |
| | | background: #8df8a4; |
| | | background: #0abc54; |
| | | cursor: pointer; /* 鼠标悬浮时变为手形 */ |
| | | } |
| | | .button-bb { |
| | |
| | | color: #ffffff; |
| | | } |
| | | .button-zx { |
| | | background: #4fabe9; |
| | | background: #324a9b; |
| | | padding: 5px; |
| | | border-radius: 1px; |
| | | color: #ffffff; |
| | |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | .purple-button { |
| | | background-color: #7e22ce; |
| | | border-color: #7e22ce; |
| | | color: #fff; |
| | | } |
| | | |
| | | .purple-button:hover, |
| | | .purple-button:focus { |
| | | background-color: #9333ea; |
| | | border-color: #9333ea; |
| | | } |
| | | |
| | | .purple-button:active { |
| | | background-color: #6b21a8; |
| | | border-color: #6b21a8; |
| | | } |
| | | .button-textxga { |
| | | color: #de7897; |
| | | } |
| | | .purple-button.is-disabled { |
| | | background-color: #d8b4fe; |
| | | border-color: #d8b4fe; |
| | | opacity: 1; /* 保持禁用状态透明度 */ |
| | | } |
| | | // 选项字体放大 |
| | | // ::v-deep.el-checkbox-group { |
| | | // span { |