| | |
| | | primary-color="#1890ff" |
| | | /> |
| | | <!-- 右下角:当前登录人待处理随访任务(按出院年月) --> |
| | | <PendingTaskBox v-if="Assvite" /> |
| | | <!-- <PendingTaskBox v-if="Assvite" /> --> |
| | | <!-- 临近超时任务登录后弹窗(仅景宁/新华两家机构触发) --> |
| | | <NearTimeoutDialog v-if="Assvite" /> |
| | | <!-- <NearTimeoutDialog v-if="Assvite" /> --> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | Vue.mixin({ |
| | | computed: { |
| | | isTongdeOrg() { |
| | | return this.$store.getters.isTongdeOrg; |
| | | return this.$store.getters.isTongdeOrg; // 是否省立同德系列院区(含南华大学附属第一医院) |
| | | }, |
| | | isTongdeCampus() { |
| | | return this.$store.getters.isTongdeCampus; |
| | | return this.$store.getters.isTongdeCampus;// 是否纯省立同德院区(不含南华大学附属第一医院) |
| | | }, |
| | | }, |
| | | }); |
| | |
| | | <charts-panel v-if="activeTab === 'chartsPanel'" /> |
| | | </el-tab-pane> |
| | | <!-- 满意度分析:患者表单 + 问题详情占比(表/柱状图/饼图) --> |
| | | <el-tab-pane label="患者随访信息表单" name="analysisForm"> |
| | | <el-tab-pane label="患者随访信息表单" name="analysisForm" |
| | | v-if="isTongdeOrg" |
| | | > |
| | | <completed-detail |
| | | v-if="activeTab === 'analysisForm'" |
| | | :rows="completedRows" |
| | |
| | | :loading="completedLoading" |
| | | /> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="问题详情占比" name="analysisRatio"> |
| | | <el-tab-pane label="问题详情占比" name="analysisRatio" |
| | | v-if="isTongdeOrg" |
| | | > |
| | | <question-ratio-table |
| | | v-if="activeTab === 'analysisRatio'" |
| | | :topic-list="topicList" |
| | | :loading="topicLoading" |
| | | /> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="问题详情占比图表" name="analysisBar"> |
| | | <el-tab-pane label="问题详情占比图表" name="analysisBar" |
| | | v-if="isTongdeOrg" |
| | | > |
| | | <question-chart |
| | | v-if="activeTab === 'analysisBar'" |
| | | view="bar" |
| | |
| | | :loading="topicLoading" |
| | | /> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="问题详情占比饼图" name="analysisPie"> |
| | | <el-tab-pane label="问题详情占比饼图" name="analysisPie" |
| | | v-if="isTongdeOrg" |
| | | > |
| | | <question-chart |
| | | v-if="activeTab === 'analysisPie'" |
| | | view="pie" |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | orgname: "", |
| | | amendtag: false, |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | |
| | | } |
| | | |
| | | if (item.preachform) { |
| | | if (item.endtime) { |
| | | item.preachformson = item.preachform; |
| | | idArray = item.preachform.split(","); |
| | | } |
| | | |
| | | item.preachform = idArray.map((value) => { |
| | | // 查找id对应的对象 |
| | |
| | | }, |
| | | //患者360跳转 |
| | | gettoken360(sfzh, drcode, drname, id) { |
| | | // const orgname = localStorage.getItem("orgname"); |
| | | const orgname = localStorage.getItem("orgname"); |
| | | if (orgname == "南华大学附属第一医院") { |
| | | query360PatInfonh(id).then((res) => { |
| | | if (res.data) { |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | orgname:'', |
| | | amendtag: false, |
| | | errtype: "", |
| | | jgvalue: 0, |
| | |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | orgname:'', |
| | | amendtag: false, |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | |
| | | </el-row> |
| | | <div v-if="cardFilter" class="card-filter-tip"> |
| | | 当前按顶部卡片筛选:<b>{{ cardFilter }}</b> |
| | | <span class="tip-desc">(不影响上方表单条件,点「搜索」可恢复表单条件)</span> |
| | | <el-button type="text" size="mini" @click="clearCardFilter">清除</el-button> |
| | | <span class="tip-desc" |
| | | >(不影响上方表单条件,点「搜索」可恢复表单条件)</span |
| | | > |
| | | <el-button type="text" size="mini" @click="clearCardFilter" |
| | | >清除</el-button |
| | | > |
| | | </div> |
| | | <div class="selected-info"> |
| | | 已选中 |
| | |
| | | /> |
| | | <el-table-column |
| | | v-if=" |
| | | orgname == '景宁畲族自治县人民医院' || |
| | | orgname == '丽水市中医院' |
| | | orgname == '景宁畲族自治县人民医院' || orgname == '丽水市中医院' |
| | | " |
| | | label="拨号状态" |
| | | width="120" |
| | |
| | | btstatus: "", |
| | | }, |
| | | // endOut: 1, |
| | | endOut: |
| | | localStorage.getItem("orgname") == "丽水市中医院" ? 0 : 1, //0 出院时间(正序) 1 出院时间(倒序) 2 发送时间(正序) 3 发送时间(倒序) 7应随访日期(倒序) 应随访日期(正序) |
| | | endOut: localStorage.getItem("orgname") == "丽水市中医院" ? 0 : 1, //0 出院时间(正序) 1 出院时间(倒序) 2 发送时间(正序) 3 发送时间(倒序) 7应随访日期(倒序) 应随访日期(正序) |
| | | endOuts: [ |
| | | { |
| | | value: 0, |
| | |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | // 顶部卡片的数字不跟「随访状态/异常」走:单独查一次去掉状态条件的统计, |
| | | // 否则筛了「待随访」后「已完成」永远是 0,看着像算错了 |
| | | this.refreshCardCounts(query); |
| | | this.refreshCardCounts(params); |
| | | } |
| | | |
| | | // ✅ 第五步:处理 preachform 等其他数据 |
| | |
| | | if (item.endtime) { |
| | | item.endDay = this.daysBetween(item.endtime); |
| | | } |
| | | console.log(item,'3'); |
| | | |
| | | if (item.preachform) { |
| | | item.preachformson = item.preachform; |
| | | idArray = item.preachform.split(","); |
| | | console.log(this.checkboxlist); |
| | | console.log(idArray); |
| | | |
| | | item.preachform = idArray.map((value) => { |
| | | const item = this.checkboxlist.find( |
| | |
| | | }); |
| | | } |
| | | if (item.currentPreachform) { |
| | | |
| | | |
| | | item.currentPreachform = this.checkboxlist.find( |
| | | (items) => items.value == item.currentPreachform |
| | | )?.label; |
| | |
| | | label: "正常", |
| | | }, |
| | | ], |
| | | orgname: "", |
| | | |
| | | url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo", |
| | | postData: { |
| | | XiaoXiTou: { |
| | |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | |
| | | : "", |
| | | leavehospitaldistrictcodes: [], |
| | | }, |
| | | orgname: "", |
| | | propss: { multiple: true }, |
| | | options: [], |
| | | |
| | |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | |
| | | visitCount: 1, |
| | | again: 1, |
| | | visitCount: this.topqueryParams.visitCount, |
| | | |
| | | }, |
| | | }); |
| | | }, |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <statistics-cards |
| | | <statistics-cards |
| | | :cardlist="cardlist" |
| | | :ycvalue="ycvalue" |
| | | :jgvalue="jgvalue" |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | icon="el-icon-plus" |
| | | size="medium" |
| | | @click="handleAdd" |
| | | >新增</el-button |
| | |
| | | size="medium" |
| | | type="text" |
| | | @click=" |
| | | gettoken360(scope.row.sfzh,scope.row.drcode,scope.row.drname,scope.row.patid,) |
| | | gettoken360( |
| | | scope.row.sfzh, |
| | | scope.row.drcode, |
| | | scope.row.drname, |
| | | scope.row.patid |
| | | ) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | | scope.row.sendname |
| | |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="scope.row.remark" |
| | |
| | | prop="templatename" |
| | | width="200" |
| | | /> |
| | | <el-table-column |
| | | <el-table-column |
| | | label="任务状态" |
| | | align="center" |
| | | key="sendstate" |
| | |
| | | size="medium" |
| | | type="text" |
| | | @click="handlestop(scope.row)" |
| | | |
| | | ><span class="button-sc" |
| | | ><i class="el-icon-remove-outline"></i>暂停服务</span |
| | | ></el-button |
| | |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { getTaskservelist, buidegetTasklist,query360PatInfo } from "@/api/AiCentre/index"; |
| | | import { |
| | | getTaskservelist, |
| | | buidegetTasklist, |
| | | query360PatInfo, |
| | | } from "@/api/AiCentre/index"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import store from "@/store"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | |
| | | export default { |
| | | name: "Discharge", |
| | | dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], |
| | | components: { Treeselect,StatisticsCards }, |
| | | components: { Treeselect, StatisticsCards }, |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | |
| | | }, |
| | | YeWuXX: { |
| | | BingRenXX: { |
| | | ZhengJianHM: '', |
| | | ZhengJianHM: "", |
| | | ZhengJianLXDM: "01", |
| | | ZhengJianLXMC: "居民身份证", |
| | | ZuZhiJGID: localStorage.getItem("orgid"), |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | orgname: "", |
| | | // 表单参数 |
| | | form: { |
| | | phonenumber: "", |
| | |
| | | pageSize: 10, |
| | | serviceType: 10, |
| | | searchscope: 3, |
| | | sendstate:2, |
| | | sendstate: 2, |
| | | scopetype: [], |
| | | leaveldeptcodes: [], |
| | | leavehospitaldistrictcodes: [], |
| | |
| | | propss: { multiple: true }, |
| | | options: [], |
| | | |
| | | topicoptions: [ |
| | | topicoptions: [ |
| | | { |
| | | value: null, |
| | | label: "全部", |
| | |
| | | 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) => { |
| | |
| | | console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); |
| | | } |
| | | this.loading = true; |
| | | if (this.topqueryParams.leavehospitaldistrictcodes[0]&&this.topqueryParams.leaveldeptcodes[0]) { |
| | | this.topqueryParams.deptOrDistrict=2; |
| | | }else{ |
| | | this.topqueryParams.deptOrDistrict=1; |
| | | if ( |
| | | this.topqueryParams.leavehospitaldistrictcodes[0] && |
| | | this.topqueryParams.leaveldeptcodes[0] |
| | | ) { |
| | | this.topqueryParams.deptOrDistrict = 2; |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | |
| | | }); |
| | | }, |
| | | //患者360跳转 |
| | | gettoken360(sfzh,drcode,drname,id) { |
| | | gettoken360(sfzh, drcode, drname, id) { |
| | | const orgname = localStorage.getItem("orgname"); |
| | | if (orgname == "南华大学附属第一医院") { |
| | | query360PatInfonh(id).then((res) => { |
| | |
| | | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; |
| | | query360PatInfo(this.postData).then((res) => { |
| | | if (res.data.url) { |
| | | window.open(res.data.url, '_blank'); |
| | | window.open(res.data.url, "_blank"); |
| | | // this.linkUrl = res.data.url; |
| | | }else{ |
| | | } else { |
| | | this.$modal.msgWarning("360查询无结果"); |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | // 查看门诊随访详情 |
| | | Referencequestion(row) { |
| | |
| | | pageSize: 10, |
| | | serviceType: 10, |
| | | searchscope: 2, |
| | | sendstate:2, |
| | | sendstate: 2, |
| | | }; |
| | | this.handleQuery(1); |
| | | }, |
| | |
| | | Seedetails(row) { |
| | | let type = ""; |
| | | console.log(row, "rwo"); |
| | | if (row.type == 1) { |
| | | type = 1; |
| | | } |
| | | if (row.type == 1) { |
| | | type = 1; |
| | | } |
| | | this.$router.push({ |
| | | path: "/followvisit/record/detailpage/", |
| | | query: { |
| | |
| | | '"的数据项?' |
| | | ) |
| | | .then(() => { |
| | | |
| | | getTaskservelist({ |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | } |
| | | } |
| | | ::v-deep.leftvlue .el-card__body { |
| | | background: #F2F8FF; |
| | | color: #324A9B; |
| | | background: #f2f8ff; |
| | | color: #324a9b; |
| | | } |
| | | ::v-deep.leftvlue .el-card__body:hover { |
| | | background: #3664D9; |
| | | background: #3664d9; |
| | | color: #fff; |
| | | cursor: pointer; /* 鼠标悬浮时变为手形 */ |
| | | } |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | orgname:'', |
| | | amendtag: false, |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | |
| | | :loading="followupRowsLoading" |
| | | /> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="问题详情占比" name="followupRatio"> |
| | | <el-tab-pane |
| | | label="问题详情占比" |
| | | name="followupRatio" |
| | | v-if="isTongdeOrg" |
| | | > |
| | | <div v-if="followupTaskName" class="analysis-task-title"> |
| | | 任务名称:{{ followupTaskName }} |
| | | </div> |
| | |
| | | :loading="followupTopicLoading" |
| | | /> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="问题详情占比图表" name="followupBar"> |
| | | <el-tab-pane |
| | | label="问题详情占比图表" |
| | | name="followupBar" |
| | | v-if="isTongdeOrg" |
| | | > |
| | | <div v-if="followupTaskName" class="analysis-task-title"> |
| | | 任务名称:{{ followupTaskName }} |
| | | </div> |
| | |
| | | :loading="followupTopicLoading" |
| | | /> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="问题详情占比饼图" name="followupPie"> |
| | | <el-tab-pane |
| | | label="问题详情占比饼图" |
| | | name="followupPie" |
| | | v-if="isTongdeOrg" |
| | | > |
| | | <div v-if="followupTaskName" class="analysis-task-title"> |
| | | 任务名称:{{ followupTaskName }} |
| | | </div> |
| | |
| | | <el-tab-pane |
| | | label="延续护理统计" |
| | | name="continued" |
| | | v-if="orgname == '省立同德翠苑院区'" |
| | | v-if="isTongdeCampus" |
| | | > |
| | | <ContinuedCare |
| | | ref="continuedCare" |