| | |
| | | <template> |
| | | <div class="Questionnairemanagement"> |
| | | <!-- 左侧栏 --> |
| | | <!-- <div class="sidecolumn"> |
| | | <div class="sidecolumn-top"> |
| | | <div class="top-wj">患者范围</div> |
| | | </div> |
| | | |
| | | <div class="bottom-fl"> |
| | | <el-tabs |
| | | tab-position="right" |
| | | v-model="activeName" |
| | | @tab-click="handleClick" |
| | | > |
| | | <el-tab-pane label="全部" name="first"></el-tab-pane> |
| | | <el-tab-pane label="住院" name="bhospitalized"></el-tab-pane> |
| | | <el-tab-pane label="在院" name="Inhospital"></el-tab-pane> |
| | | <el-tab-pane label="门诊" name="outpatient"></el-tab-pane> |
| | | <el-tab-pane label="体检" name="physical"></el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </div> --> |
| | | <!-- 右侧数据 --> |
| | | <div class="leftvlue"> |
| | | <!-- <div class="leftvlue-top"> |
| | | <el-tabs v-model="topactiveName" @tab-click="tophandleClick"> |
| | | <el-tab-pane name="Local"> |
| | | <span class="mulsz" slot="label">按出院病区统计 </span> |
| | | </el-tab-pane> |
| | | <el-tab-pane name="sharing"> |
| | | <span class="mulsz" slot="label">按出院科室统计 </span> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> --> |
| | | <div class="leftvlue-bg"> |
| | | <el-row :gutter="20"> |
| | | <!--标签数据--> |
| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <!-- <el-form-item label="医院" prop="userName"> |
| | | <el-select v-model="queryParams.value1" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | <el-form-item label="统计类型" prop="userName"> |
| | | <el-select |
| | | v-model="queryParams.statisticaltype" |
| | |
| | | > |
| | | </el-form-item> |
| | | <el-col :span="19"> |
| | | <el-button |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | |
| | | @click="handleExport" |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-data-line" |
| | | size="medium" |
| | | @click="showChartDialog" |
| | | >统计趋势图</el-button |
| | | > |
| | | </el-col> |
| | | </el-form> |
| | | <!-- <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | :columns="columns" |
| | | ></right-toolbar> --> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="userList" |
| | | :border="true" |
| | | @selection-change="handleSelectionChange" |
| | | @row-click="handleRowClick" |
| | | @expand-change="handleRowClick" |
| | | :row-key="getRowKey" |
| | | :expand-row-keys="expands" |
| | | > |
| | | <!-- 展开行箭头列 --> |
| | | <el-table-column type="expand"> |
| | | <template slot-scope="props"> |
| | | <el-table |
| | | :data="props.row.doctorStats" |
| | | border |
| | | style="width: 95%; margin: 0 auto" |
| | | class="inner-table" |
| | | > |
| | | <el-table-column |
| | | label="医生姓名" |
| | | prop="drname" |
| | | align="center" |
| | | /> |
| | | <el-table-column |
| | | label="科室" |
| | | width="120" |
| | | prop="deptname" |
| | | align="center" |
| | | /> |
| | | <el-table-column |
| | | label="出院人次" |
| | | prop="dischargeCount" |
| | | align="center" |
| | | /> |
| | | <el-table-column |
| | | label="出院人次" |
| | | align="center" |
| | | key="dischargeCount" |
| | | prop="dischargeCount" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="无需随访人次" |
| | | align="center" |
| | | width="100" |
| | | key="nonFollowUp" |
| | | prop="nonFollowUp" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="应随访人次" |
| | | align="center" |
| | | width="100" |
| | | key="followUpNeeded" |
| | | prop="followUpNeeded" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column align="center" label="首次出院随访"> |
| | | <el-table-column |
| | | label="应随访" |
| | | align="center" |
| | | key="needFollowUp" |
| | | prop="needFollowUp" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="待随访" |
| | | align="center" |
| | | key="pendingFollowUp" |
| | | prop="pendingFollowUp" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访成功" |
| | | align="center" |
| | | key="followUpSuccess" |
| | | prop="followUpSuccess" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访失败" |
| | | align="center" |
| | | key="followUpFail" |
| | | prop="followUpFail" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访率" |
| | | align="center" |
| | | width="120" |
| | | key="followUpRate" |
| | | prop="followUpRate" |
| | | > |
| | | <!-- <template slot-scope="scope"> |
| | | <span |
| | | >{{ |
| | | (Number(scope.row.followUpRate) * 100).toFixed(2) |
| | | }}%</span |
| | | > |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="及时率" |
| | | align="center" |
| | | width="120" |
| | | key="rate" |
| | | prop="rate" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="Seedetails(scope.row)" |
| | | ><span class="button-zx" |
| | | >{{ |
| | | (Number(scope.row.rate) * 100).toFixed(2) |
| | | }}%</span |
| | | ></el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="人工" |
| | | align="center" |
| | | key="manual" |
| | | prop="manual" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="短信" |
| | | align="center" |
| | | key="sms" |
| | | prop="sms" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="微信" |
| | | align="center" |
| | | key="weChat" |
| | | prop="weChat" |
| | | > |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="再次出院随访"> |
| | | <el-table-column |
| | | label="应随访" |
| | | align="center" |
| | | key="needFollowUpAgain" |
| | | prop="needFollowUpAgain" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="待随访" |
| | | align="center" |
| | | key="pendingFollowUpAgain" |
| | | prop="pendingFollowUpAgain" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访成功" |
| | | align="center" |
| | | key="followUpSuccessAgain" |
| | | prop="followUpSuccessAgain" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访失败" |
| | | align="center" |
| | | key="followUpFailAgain" |
| | | prop="followUpFailAgain" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访率" |
| | | align="center" |
| | | width="120" |
| | | key="followUpRateAgain" |
| | | prop="followUpRateAgain" |
| | | > |
| | | <!-- <template slot-scope="scope"> |
| | | <span |
| | | >{{ |
| | | (Number(scope.row.FollowUpRateAgain) * 100).toFixed(2) |
| | | }}%</span |
| | | > |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="人工" |
| | | align="center" |
| | | key="manualAgain" |
| | | prop="manualAgain" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="短信" |
| | | align="center" |
| | | key="smsAgain" |
| | | prop="smsAgain" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="微信" |
| | | align="center" |
| | | key="weChatAgain" |
| | | prop="weChatAgain" |
| | | > |
| | | </el-table-column> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="出院病区" |
| | | align="center" |
| | |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <!-- 统计趋势图弹窗 --> |
| | | <el-dialog |
| | | title="随访统计趋势图" |
| | | :visible.sync="chartDialogVisible" |
| | | width="80%" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="chart-container"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <div class="chart-title">随访状态分布</div> |
| | | <div id="pieChart" style="width: 100%; height: 400px"></div> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <div class="chart-title">随访趋势分析</div> |
| | | <div id="barLineChart" style="width: 100%; height: 400px"></div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="未及时随访患者服务" |
| | | :visible.sync="SeedetailsVisible" |
| | |
| | | return { |
| | | topactiveName: "Local", //顶部选择 |
| | | activeName: "first", //侧边选择 |
| | | expands: [], |
| | | // 遮罩层 |
| | | loading: false, |
| | | Seedloading: false, |
| | | chartDialogVisible: false, |
| | | pieChart: null, |
| | | barLineChart: null, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | |
| | | postOptions: [], |
| | | // 角色选项 |
| | | roleOptions: [], |
| | | // 存储所有科室代码 |
| | | allDeptCodes: [], |
| | | // 存储所有病区代码 |
| | | allWardCodes: [], |
| | | // 表单参数 |
| | | form: {}, |
| | | forms: { |
| | |
| | | serviceType: [2], |
| | | dateRange: [], |
| | | statisticaltype: 1, |
| | | leavehospitaldistrictcodes: ["all"], // 默认选中全部病区 |
| | | deptcodes: [], // 默认选中全部科室 |
| | | }, |
| | | // 列信息 |
| | | columns: [ |
| | |
| | | }, |
| | | watch: {}, |
| | | created() { |
| | | this.getList(); |
| | | this.getDeptTree(); |
| | | this.getList(); |
| | | }, |
| | | |
| | | methods: { |
| | | /** 查询标签列表 */ |
| | | getList() { |
| | | getSfStatistics(this.queryParams).then((response) => { |
| | | // 处理查询参数 |
| | | const params = { |
| | | ...this.queryParams, |
| | | // 如果选择了"全部",则传所有病区/科室代码 |
| | | leavehospitaldistrictcodes: |
| | | this.queryParams.leavehospitaldistrictcodes.includes("all") |
| | | ? this.allWardCodes |
| | | : this.queryParams.leavehospitaldistrictcodes, |
| | | deptcodes: this.queryParams.deptcodes.includes("all") |
| | | ? this.allDeptCodes |
| | | : this.queryParams.deptcodes, |
| | | }; |
| | | |
| | | // 移除可能存在的"all"值 |
| | | delete params.leavehospitaldistrictcodes.all; |
| | | delete params.deptcodes.all; |
| | | getSfStatistics(params).then((response) => { |
| | | console.log(response); |
| | | // this.total = response.total; |
| | | this.userList = response.data; |
| | | }); |
| | | }, |
| | | getRowKey(row) { |
| | | return row.statisticaltype === 1 |
| | | ? row.leavehospitaldistrictcode |
| | | : row.deptcode; |
| | | }, |
| | | |
| | | // 处理行点击展开 |
| | | handleRowClick(row) { |
| | | console.log(row, "row"); |
| | | |
| | | // 如果已经展开则收起 |
| | | if (this.expands.includes(this.getRowKey(row))) { |
| | | this.expands = []; |
| | | return; |
| | | } |
| | | // 处理查询参数 |
| | | const params = { |
| | | ...this.queryParams, |
| | | // 如果选择了"全部",则传所有病区/科室代码 |
| | | leavehospitaldistrictcodes: [row.leavehospitaldistrictcode], |
| | | drcode: "1", |
| | | }; |
| | | // 如果该行还没有加载医生数据,则加载 |
| | | if (!row.doctorStats) { |
| | | this.loading = true; |
| | | getSfStatistics(params).then((res) => { |
| | | this.$set(row, "doctorStats", res.data); |
| | | this.expands = [this.getRowKey(row)]; |
| | | this.loading = false; |
| | | }); |
| | | } else { |
| | | this.expands = [this.getRowKey(row)]; |
| | | } |
| | | }, |
| | | /** 修改标签 */ |
| | | handleUpdate(row) { |
| | |
| | | value: dept.deptCode, |
| | | }; |
| | | }); |
| | | this.flatArrayhospit = store.getters.belongWards.map((dept) => { |
| | | // 存储所有科室代码 |
| | | this.allDeptCodes = store.getters.belongDepts.map( |
| | | (dept) => dept.deptCode |
| | | ); |
| | | |
| | | // 病区列表 |
| | | this.flatArrayhospit = store.getters.belongWards.map((ward) => { |
| | | return { |
| | | label: dept.districtName, |
| | | value: dept.districtCode, |
| | | label: ward.districtName, |
| | | value: ward.districtCode, |
| | | }; |
| | | }); |
| | | // deptTreeSelect().then((response) => { |
| | | // this.deptOptions = response.data; |
| | | // console.log(this.deptOptions, " this.deptOptions"); |
| | | // this.flatArray = this.flattenArray(response.data); |
| | | // }); |
| | | |
| | | // 存储所有病区代码 |
| | | this.allWardCodes = store.getters.belongWards.map( |
| | | (ward) => ward.districtCode |
| | | ); |
| | | this.flatArraydept.push({ label: "全部", value: "all" }); |
| | | this.flatArrayhospit.push({ label: "全部", value: "all" }); |
| | | }, |
| | | flattenArray(multiArray) { |
| | | let result = []; |
| | |
| | | `user_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, |
| | | // 显示图表弹窗 |
| | | |
| | | showChartDialog() { |
| | | this.chartDialogVisible = true; |
| | | this.$nextTick(() => { |
| | | this.initPieChart(); |
| | | this.initBarLineChart(); |
| | | }); |
| | | }, |
| | | // 在methods中修改统计方法 |
| | | showChartDialog() { |
| | | this.chartDialogVisible = true; |
| | | this.$nextTick(() => { |
| | | console.log(this.userList, "this.userList"); |
| | | |
| | | this.initCharts(); |
| | | }); |
| | | }, |
| | | |
| | | // 新增初始化图表方法 |
| | | initCharts() { |
| | | this.initPieChart(); |
| | | this.initBarLineChart(); |
| | | }, |
| | | |
| | | // 初始化饼图 |
| | | initPieChart() { |
| | | const echarts = require("echarts"); |
| | | const pieDom = document.getElementById("pieChart"); |
| | | if (!pieDom) return; |
| | | |
| | | if (this.pieChart) { |
| | | this.pieChart.dispose(); |
| | | } |
| | | |
| | | this.pieChart = echarts.init(pieDom); |
| | | |
| | | // 计算饼图数据 |
| | | const followUpData = { |
| | | pending: 0, |
| | | success: 0, |
| | | fail: 0, |
| | | }; |
| | | |
| | | this.userList.forEach((item) => { |
| | | followUpData.pending += item.pendingFollowUp || 0; |
| | | followUpData.success += item.followUpSuccess || 0; |
| | | followUpData.fail += item.followUpFail || 0; |
| | | }); |
| | | |
| | | // 使用更美观的颜色方案 |
| | | const pieOption = { |
| | | title: { |
| | | text: "随访状态分布", |
| | | left: "center", |
| | | textStyle: { |
| | | color: '#333', |
| | | fontSize: 16 |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: "item", |
| | | formatter: "{a} <br/>{b}: {c} ({d}%)", |
| | | }, |
| | | legend: { |
| | | orient: "vertical", |
| | | left: "left", |
| | | data: ["待随访", "随访成功", "随访失败"], |
| | | textStyle: { |
| | | color: '#666' |
| | | } |
| | | }, |
| | | color: ['#FF9D4D', '#36B37E', '#FF5C5C'], // 新的配色方案 |
| | | series: [ |
| | | { |
| | | name: "随访状态", |
| | | type: "pie", |
| | | radius: ["40%", "70%"], |
| | | avoidLabelOverlap: true, |
| | | itemStyle: { |
| | | borderRadius: 10, |
| | | borderColor: "#fff", |
| | | borderWidth: 2 |
| | | }, |
| | | label: { |
| | | show: true, |
| | | formatter: "{b}: {c} ({d}%)", |
| | | color: '#333' |
| | | }, |
| | | emphasis: { |
| | | label: { |
| | | show: true, |
| | | fontSize: "18", |
| | | fontWeight: "bold" |
| | | }, |
| | | itemStyle: { |
| | | shadowBlur: 10, |
| | | shadowOffsetX: 0, |
| | | shadowColor: 'rgba(0, 0, 0, 0.5)' |
| | | } |
| | | }, |
| | | data: [ |
| | | { |
| | | value: followUpData.pending, |
| | | name: "待随访" |
| | | }, |
| | | { |
| | | value: followUpData.success, |
| | | name: "随访成功" |
| | | }, |
| | | { |
| | | value: followUpData.fail, |
| | | name: "随访失败" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | this.pieChart.setOption(pieOption); |
| | | window.addEventListener("resize", this.resizePieChart); |
| | | }, |
| | | |
| | | // 初始化柱状折线图 |
| | | initBarLineChart() { |
| | | const echarts = require("echarts"); |
| | | const barDom = document.getElementById("barLineChart"); |
| | | if (!barDom) return; |
| | | |
| | | if (this.barLineChart) { |
| | | this.barLineChart.dispose(); |
| | | } |
| | | |
| | | this.barLineChart = echarts.init(barDom); |
| | | |
| | | // 准备数据 |
| | | const categories = this.userList.map( |
| | | (item) => item.leavehospitaldistrictname || item.deptname |
| | | ); |
| | | |
| | | const dischargeData = this.userList.map( |
| | | (item) => item.dischargeCount || 0 |
| | | ); |
| | | const followUpData = this.userList.map( |
| | | (item) => item.followUpNeeded || 0 |
| | | ); |
| | | |
| | | // 新增两条折线数据 |
| | | const followUpRateData = this.userList.map(item => { |
| | | if (!item.followUpRate) return 0; |
| | | // 去掉百分号并转为数字 |
| | | const rateStr = String(item.followUpRate).replace('%', ''); |
| | | return parseFloat(rateStr) || 0; |
| | | }); |
| | | |
| | | const timelyRateData = this.userList.map(item => |
| | | item.rate ? (Number(item.rate) * 100).toFixed(2) : 0 |
| | | ); |
| | | |
| | | const option = { |
| | | title: { |
| | | text: "科室/病区随访趋势", |
| | | left: "center", |
| | | textStyle: { |
| | | color: '#333', |
| | | fontSize: 16 |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: "axis", |
| | | axisPointer: { |
| | | type: "cross", |
| | | crossStyle: { |
| | | color: "#999", |
| | | }, |
| | | }, |
| | | }, |
| | | legend: { |
| | | data: ["出院人次", "应随访人次", "随访率(%)", "及时率(%)"], |
| | | top: "bottom", |
| | | textStyle: { |
| | | color: '#666' |
| | | } |
| | | }, |
| | | color: ['#5470C6', '#91CC75', '#EE6666', '#9A60B4'], // 新增紫色用于及时率 |
| | | xAxis: { |
| | | type: "category", |
| | | data: categories, |
| | | axisLabel: { |
| | | interval: 0, |
| | | rotate: 30, |
| | | color: '#666' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#ddd' |
| | | } |
| | | } |
| | | }, |
| | | yAxis: [ |
| | | { |
| | | type: "value", |
| | | name: "人次", |
| | | min: 0, |
| | | axisLabel: { |
| | | color: '#666' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#ddd' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | lineStyle: { |
| | | color: '#f0f0f0' |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | type: "value", |
| | | name: "百分比(%)", |
| | | min: 0, |
| | | max: 100, |
| | | axisLabel: { |
| | | color: '#666', |
| | | formatter: '{value}%' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#ddd' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: "出院人次", |
| | | type: "bar", |
| | | barWidth: "25%", |
| | | data: dischargeData, |
| | | itemStyle: { |
| | | borderRadius: [4, 4, 0, 0] |
| | | } |
| | | }, |
| | | { |
| | | name: "应随访人次", |
| | | type: "bar", |
| | | barWidth: "25%", |
| | | data: followUpData, |
| | | itemStyle: { |
| | | borderRadius: [4, 4, 0, 0] |
| | | } |
| | | }, |
| | | { |
| | | name: "随访率(%)", |
| | | type: "line", |
| | | yAxisIndex: 1, |
| | | data: followUpRateData, |
| | | symbolSize: 8, |
| | | lineStyle: { |
| | | width: 3 |
| | | }, |
| | | markLine: { |
| | | silent: true, |
| | | data: [{ |
| | | yAxis: 80, |
| | | lineStyle: { |
| | | color: '#EE6666', |
| | | type: 'dashed' |
| | | }, |
| | | // label: { |
| | | // position: 'end', |
| | | // formatter: '目标80%' |
| | | // } |
| | | }] |
| | | } |
| | | }, |
| | | { |
| | | name: "及时率(%)", |
| | | type: "line", |
| | | yAxisIndex: 1, |
| | | data: timelyRateData, |
| | | symbolSize: 8, |
| | | lineStyle: { |
| | | width: 3, |
| | | type: 'dotted' // 使用虚线区分 |
| | | }, |
| | | markLine: { |
| | | silent: true, |
| | | data: [{ |
| | | yAxis: 90, |
| | | lineStyle: { |
| | | color: '#9A60B4', |
| | | type: 'dashed' |
| | | }, |
| | | // label: { |
| | | // position: 'end', |
| | | // formatter: '目标90%' |
| | | // } |
| | | }] |
| | | } |
| | | } |
| | | ], |
| | | grid: { |
| | | top: '15%', |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '15%', |
| | | containLabel: true |
| | | } |
| | | }; |
| | | |
| | | this.barLineChart.setOption(option); |
| | | window.addEventListener("resize", this.resizeBarLineChart); |
| | | }, |
| | | |
| | | // 图表响应式调整方法 |
| | | resizePieChart() { |
| | | if (this.pieChart) { |
| | | this.pieChart.resize(); |
| | | } |
| | | }, |
| | | |
| | | resizeBarLineChart() { |
| | | if (this.barLineChart) { |
| | | this.barLineChart.resize(); |
| | | } |
| | | }, |
| | | |
| | | // 在组件销毁时清理 |
| | | beforeDestroy() { |
| | | // 移除事件监听 |
| | | window.removeEventListener("resize", this.resizePieChart); |
| | | window.removeEventListener("resize", this.resizeBarLineChart); |
| | | |
| | | // 销毁图表实例 |
| | | if (this.pieChart) { |
| | | this.pieChart.dispose(); |
| | | this.pieChart = null; |
| | | } |
| | | if (this.barLineChart) { |
| | | this.barLineChart.dispose(); |
| | | this.barLineChart = null; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | font-size: 20px; |
| | | } |
| | | } |
| | | /* 使行有手型指针 */ |
| | | .el-table__row { |
| | | cursor: pointer; |
| | | } |
| | | /* 内层医生表格样式 */ |
| | | .inner-table { |
| | | // 表头背景色 |
| | | ::v-deep .el-table__header-wrapper { |
| | | background-color: #f0f7ff !important; |
| | | |
| | | th { |
| | | background-color: #f0f7ff !important; |
| | | } |
| | | } |
| | | |
| | | // 表格行背景色 |
| | | ::v-deep .el-table__body-wrapper { |
| | | tr { |
| | | background-color: #f9fbfe !important; |
| | | |
| | | &:hover { |
| | | background-color: #e6f1ff !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 边框颜色 |
| | | ::v-deep .el-table--border { |
| | | border-color: #d9e8ff !important; |
| | | |
| | | td, |
| | | th { |
| | | border-color: #d9e8ff !important; |
| | | } |
| | | } |
| | | |
| | | // 斑马纹效果 |
| | | ::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td { |
| | | background-color: #f5f9ff !important; |
| | | } |
| | | } |
| | | /* 展开行样式 */ |
| | | .el-table__expanded-cell { |
| | | padding: 10px 0 !important; |
| | | background: #f8f8f8; |
| | | } |
| | | .document { |
| | | width: 100px; |
| | | height: 50px; |