| | |
| | | <div class="app-container"> |
| | | <statistics-cards |
| | | :cardlist="cardlist" |
| | | :ycvalue="ycvalue" |
| | | :jgvalue="jgvalue" |
| | | :show-warning-condition="orgname == '省立同德翠苑院区'" |
| | | :show-extra="false" |
| | | :show-warning-condition="false" |
| | | /> |
| | | <el-row :gutter="20"> |
| | | <!--用户数据--> |
| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="任务名称"> |
| | | <el-input |
| | | v-model="topqueryParams.taskName" |
| | | placeholder="请选择任务名称" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="出院时间"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | |
| | | placeholder="请输入患者姓名" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="诊断名称" prop="leavediagname"> |
| | | <el-input |
| | | v-model="topqueryParams.leavediagname" |
| | | placeholder="请输入诊断名称" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="随访人员" prop="updateBy"> |
| | | <el-form-item label="处理人员" prop="updateBy"> |
| | | <el-input |
| | | v-model="topqueryParams.updateBy" |
| | | placeholder="请输入随访人员" |
| | | placeholder="请输入处理人员" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="主治医生" prop="drname"> |
| | | <el-form-item label="接诊医生" prop="drname"> |
| | | <el-input |
| | | v-model="topqueryParams.drname" |
| | | placeholder="请输入主治医生" |
| | | 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 |
| | | v-model="topqueryParams.scopetype" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | <el-form-item label="随访状态" prop="status"> |
| | | <el-form-item label="处理状态" prop="status"> |
| | | <el-cascader |
| | | v-model="serviceStatusValue" |
| | | placeholder="请选择" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="任务名称" |
| | | fixed |
| | | width="150" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | key="taskName" |
| | | prop="taskName" |
| | | /> |
| | | <!-- <el-table-column label="序号" fixed align="center" key="id" prop="id" /> --> |
| | | <el-table-column |
| | | label="姓名" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访状态" |
| | | label="处理状态" |
| | | align="center" |
| | | key="sendstateView" |
| | | prop="sendstateView" |
| | |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | | label="主治医生" |
| | | label="接诊医生" |
| | | width="120" |
| | | align="center" |
| | | key="drname" |
| | | prop="drname" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="经管医生" |
| | | align="center" |
| | | key="managementDoctor" |
| | | prop="managementDoctor" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="出院天数" |
| | | width="120" |
| | |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="诊断名称" |
| | | align="center" |
| | | key="leavediagname" |
| | | prop="leavediagname" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访人员" |
| | | label="处理人员" |
| | | align="center" |
| | | key="updateBy" |
| | | prop="updateBy" |
| | |
| | | size="medium" |
| | | type="text" |
| | | @click="handlestop(scope.row)" |
| | | v-hasPermi="['system:user:edit']" |
| | | |
| | | ><span class="button-sc" |
| | | ><i class="el-icon-remove-outline"></i>暂停服务</span |
| | | ></el-button |
| | |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | jgvalue: 0, |
| | | |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | |
| | | dynamicTags: ["选项一", "选项二", "选项三"], //选项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | loading: false, |
| | | cardlist: [ |
| | | { |
| | | name: "患者服务总量", |
| | | value: 0, |
| | | }, |
| | | |
| | | { |
| | | name: "无需随访", |
| | | name: "住院总量", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "需随访", |
| | | name: "发送任务量", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "待随访", |
| | | name: "待完成", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已完成", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "完成率", |
| | | value: "0%", |
| | | }, |
| | | ], |
| | | // 级联选择器绑定值 |
| | | serviceStatusValue: 10, |
| | | serviceStatusValue: null, |
| | | cascaderProps: { |
| | | expandTrigger: "hover", // 悬停展开 |
| | | checkStrictly: true, // ✅ 关键:允许选中任意一级 |
| | |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | sendstateView: |
| | | localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2, |
| | | sendstate: null, |
| | | sendstateView: null, |
| | | |
| | | sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 出院时间(正序) 1 出院时间(倒序) 2 发送时间(正序) 3 发送时间(倒序) 7应随访日期(倒序) 应随访日期(正序) |
| | | serviceType: 6, |
| | | searchscope: 3, |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | orgname: "", |
| | | |
| | | amendtag: false, |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.errtype = this.$route.query.errtype; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { |
| | |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | // 住院总量:暂无字段,保持 0 |
| | | // 发送任务量 = 患者服务总量(无需随访 + 需随访) |
| | | this.cardlist[1].value = |
| | | Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0; |
| | | // this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[1].value = response.rows[0].wxsf || 0; |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[2].value = response.rows[0].xsf || 0; |
| | | this.cardlist[3].value = response.rows[0].dsf || 0; |
| | | this.cardlist[4].value = response.rows[0].ywc || 0; |
| | | this.cardlist[2].value = response.rows[0].dsf || 0; // 待完成 = 待随访 |
| | | this.cardlist[3].value = response.rows[0].ywc || 0; // 已完成 = 已随访 |
| | | // 完成率 = 已完成 / (待完成 + 已完成) |
| | | const dsf = Number(response.rows[0].dsf) || 0; |
| | | const ywc = Number(response.rows[0].ywc) || 0; |
| | | const doneTotal = dsf + ywc; |
| | | this.cardlist[4].value = |
| | | doneTotal > 0 ? ((ywc / doneTotal) * 100).toFixed(2) + "%" : "0%"; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.options = []; |
| | | } |
| | | }, |
| | | // 影像随访状态修改 |
| | | // 影像处理状态修改 |
| | | handleStatusChange(row) { |
| | | let text = row.status === "0" ? "启用" : "停用"; |
| | | this.$modal |
| | |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.dateRangefs = []; |
| | | this.serviceStatusValue = 10; |
| | | this.serviceStatusValue = null; |
| | | this.topqueryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | sendstateView: |
| | | localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2, |
| | | sendstate: null, |
| | | sendstateView: null, |
| | | sort: 2, //0 出院时间(正序) 1 出院时间(倒序) 2 发送时间(正序) 3 发送时间(倒序) |
| | | serviceType: 6, |
| | | searchscope: 3, |
| | |
| | | <style lang="scss" scoped> |
| | | .el-button--primary.is-plain { |
| | | color: #ffffff; |
| | | background: #409eff; |
| | | border-color: #4fabe9; |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | |
| | | .document { |
| | |
| | | // font-size: 24px; |
| | | // } |
| | | // } |
| | | /* ================= 清新高级简约风 ================= */ |
| | | .app-container { |
| | | background: #f5f7fb; |
| | | border-radius: 14px; |
| | | padding: 20px; |
| | | } |
| | | |
| | | /* 查询表单:白色圆角卡片 */ |
| | | ::v-deep .el-form--inline { |
| | | background: #ffffff; |
| | | border-radius: 14px; |
| | | padding: 22px 22px 8px; |
| | | margin-bottom: 18px; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | |
| | | /* 隐藏分割线 */ |
| | | ::v-deep .el-divider { |
| | | display: none; |
| | | } |
| | | |
| | | /* 工具栏底部间距 */ |
| | | .mb8 { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | /* 按钮:圆角 + 柔和过渡 */ |
| | | ::v-deep .el-button { |
| | | border-radius: 8px; |
| | | font-weight: 500; |
| | | transition: all 0.25s ease; |
| | | } |
| | | |
| | | /* 主按钮:清新靛蓝 */ |
| | | ::v-deep .el-button--primary:not(.is-plain) { |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | ::v-deep .el-button--primary:not(.is-plain):hover, |
| | | ::v-deep .el-button--primary:not(.is-plain):focus { |
| | | background: #7593fb; |
| | | border-color: #7593fb; |
| | | } |
| | | |
| | | /* 表格:白色圆角卡片 + 柔和表头 */ |
| | | ::v-deep .el-table { |
| | | border-radius: 14px; |
| | | overflow: hidden; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | ::v-deep .el-table::before { |
| | | display: none; |
| | | } |
| | | ::v-deep .el-table th { |
| | | background: #f7f9fd !important; |
| | | color: #3f4d63; |
| | | font-weight: 600; |
| | | } |
| | | ::v-deep .el-table td { |
| | | padding: 12px 0; |
| | | } |
| | | |
| | | /* 标签圆角 */ |
| | | ::v-deep .el-tag { |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* 分页间距 */ |
| | | ::v-deep .pagination-container { |
| | | padding-top: 18px; |
| | | } |
| | | </style> |