| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="leftvlue" style="margin-bottom: 20px"> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> |
| | | <el-card |
| | | shadow="hover" |
| | | :body-style="item.router ? ' cursor: pointer' : 'cursor: default'" |
| | | > |
| | | <div style="padding: 8px" @click="$router.push(item.router)"> |
| | | <span>{{ item.name }}</span> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | font-size: 18px; |
| | | margin-top: 10px; |
| | | font-weight: 600; |
| | | " |
| | | > |
| | | {{ item.value ? item.value : 0 }} |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | <el-col :span="2.5"> |
| | | <div class="ysfleftvlue"> |
| | | <el-card shadow="hover"> |
| | | <div style="padding: 8px"> |
| | | <span>表单已发送</span> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | font-size: 18px; |
| | | margin-top: 10px; |
| | | font-weight: 600; |
| | | " |
| | | > |
| | | {{ yfsvalue }} |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="2.5"> |
| | | <div class="errleftvlue"> |
| | | <el-card shadow="hover"> |
| | | <div style="padding: 8px"> |
| | | <span>异常</span> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | font-size: 18px; |
| | | margin-top: 10px; |
| | | font-weight: 600; |
| | | " |
| | | > |
| | | {{ ycvalue }} |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <statistics-cards |
| | | :cardlist="cardlist" |
| | | :ycvalue="ycvalue" |
| | | :jgvalue="jgvalue" |
| | | :show-warning-condition="orgname == '省立同德翠苑院区'" |
| | | /> |
| | | <el-row :gutter="20"> |
| | | <!--用户数据--> |
| | | <el-form |
| | |
| | | v-model="topqueryParams.scopetype" |
| | | placeholder="默认全部" |
| | | :options="sourcetype" |
| | | filterable |
| | | clearable |
| | | :props="{ expandTrigger: 'hover' }" |
| | | @change="handleChange" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="任务状态" prop="status"> |
| | | <el-select v-model="topqueryParams.sendstate" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in topicoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-form-item label="随访状态" prop="status"> |
| | | <el-cascader |
| | | v-model="serviceStatusValue" |
| | | placeholder="请选择" |
| | | :options="serviceStatusOptions" |
| | | :props="cascaderProps" |
| | | @change="handleServiceStatusChange" |
| | | clearable |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | icon="el-icon-plus" |
| | | size="medium" |
| | | @click="handleAdd" |
| | | >新增</el-button |
| | |
| | | icon="el-icon-upload2" |
| | | size="medium" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:user:export']" |
| | | >导出</el-button |
| | | > |
| | | </div> |
| | |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="userList" |
| | | height="660" |
| | | height="808" |
| | | :row-class-name="tableRowClassName" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | |
| | | <!-- <el-table-column label="序号" fixed align="center" key="id" prop="id" /> --> |
| | | <el-table-column |
| | | label="姓名" |
| | | width="100" |
| | | align="center" |
| | | key="sendname" |
| | | prop="sendname" |
| | |
| | | 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,scope.row.patid,) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | | scope.row.sendname |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="任务状态" |
| | | label="随访状态" |
| | | align="center" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | key="sendstateView" |
| | | prop="sendstateView" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="scope.row.remark" |
| | | placement="top-start" |
| | | > |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <div v-if="scope.row.sendstateView == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >表单已领取</el-tag |
| | | >待随访</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 2"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >待执行</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 3"> |
| | | <div v-if="scope.row.sendstateView == 2"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >表单已发送</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 4"> |
| | | <el-tag type="info" :disable-transitions="false">不执行</el-tag> |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 5"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >发送失败</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >已完成</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstateView == 3"> |
| | | <el-tag type="warning" :disable-transitions="false" |
| | | >无需随访</el-tag |
| | | > |
| | | </div> |
| | | </el-tooltip> |
| | |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="人工处理意见" |
| | | label="处理意见" |
| | | align="center" |
| | | key="suggest" |
| | | prop="suggest" |
| | |
| | | <el-table-column |
| | | label="随访人员" |
| | | align="center" |
| | | key="createBy" |
| | | prop="createBy" |
| | | key="updateBy" |
| | | prop="updateBy" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="随访时间" |
| | | label="随访完成时间" |
| | | sortable |
| | | align="center" |
| | | prop="finishtime" |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="出院日期" |
| | | width="200" |
| | | width="146" |
| | | align="center" |
| | | key="endtime" |
| | | prop="endtime" |
| | |
| | | > |
| | | <el-table-column |
| | | label="应随访日期" |
| | | width="200" |
| | | width="146" |
| | | align="center" |
| | | key="longSendTime" |
| | | prop="longSendTime" |
| | | key="visitTime" |
| | | prop="visitTime" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ formatTime(scope.row.longSendTime) }}</span> |
| | | <span>{{ formatTime(scope.row.visitTime) }}</span> |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | |
| | | /> --> |
| | | |
| | | <!-- <el-table-column label="年龄" align="center" key="age" prop="age" /> --> |
| | | <!-- <el-table-column label="性别" align="center" key="sex" prop="sex" /> --> |
| | | <!-- <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="科室" |
| | |
| | | prop="templatename" |
| | | width="200" |
| | | /> |
| | | <el-table-column |
| | | label="任务状态" |
| | | align="center" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="scope.row.remark" |
| | | placement="top-start" |
| | | > |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >表单已领取</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 2"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >待随访</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 3"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >表单已发送</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 4"> |
| | | <el-tag type="info" :disable-transitions="false">不执行</el-tag> |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 5"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >发送失败</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >已完成</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 7"> |
| | | <el-tag type="danger" :disable-transitions="false">超时</el-tag> |
| | | </div> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="任务执行方式" |
| | | align="center" |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="再次随访" |
| | |
| | | ><i class="el-icon-s-promotion"></i>再次随访</span |
| | | ></el-button |
| | | > |
| | | </el-tooltip> |
| | | </el-tooltip> --> |
| | | <el-tooltip |
| | | v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2" |
| | | class="item" |
| | |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { getTaskservelist, buidegetTasklist } 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"; |
| | | import StatisticsCards from "@/components/StatisticsCards"; |
| | | |
| | | export default { |
| | | name: "Discharge", |
| | | dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], |
| | | components: { Treeselect }, |
| | | components: { Treeselect,StatisticsCards }, |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | |
| | | }, |
| | | ], |
| | | loading: false, |
| | | serviceStatusValue: 10, |
| | | cascaderProps: { |
| | | expandTrigger: "hover", // 悬停展开 |
| | | checkStrictly: true, // ✅ 关键:允许选中任意一级 |
| | | emitPath: false, // ✅ 只返回选中的值,不返回路径数组 |
| | | }, |
| | | // 随访状态级联选择器 |
| | | serviceStatusOptions: [ |
| | | { |
| | | value: null, |
| | | label: "全部", |
| | | }, |
| | | { |
| | | value: 10, // 一级:待随访 |
| | | label: "待随访", |
| | | children: [ |
| | | { value: 1, label: "被领取" }, |
| | | { value: 2, label: "待发送" }, |
| | | { value: 3, label: "已发送" }, |
| | | { value: 5, label: "发送失败" }, |
| | | { value: 7, label: "超时" }, |
| | | ], |
| | | }, |
| | | { |
| | | value: 20, // 一级:已完成 |
| | | label: "已完成", |
| | | children: [{ value: 6, label: "已完成" }], |
| | | }, |
| | | { |
| | | value: 30, // 一级:无需随访 |
| | | label: "无需随访", |
| | | children: [{ value: 4, label: "不执行" }], |
| | | }, |
| | | ], |
| | | cardlist: [ |
| | | { |
| | | name: "出院服务总量", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "患者过滤", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "应随访", |
| | | name: "患者服务总量", |
| | | value: 0, |
| | | }, |
| | | |
| | | // { |
| | | // name: "异常", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "发送失败", |
| | | name: "无需随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "待执行", |
| | | name: "需随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送", |
| | | name: "待随访", |
| | | value: 0, |
| | | }, |
| | | |
| | | // { |
| | | // name: "表单已发送", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "已完成", |
| | | value: 0, |
| | | }, |
| | | ], |
| | | |
| | | 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: localStorage.getItem("YongHuID"), |
| | | YongHuXM: localStorage.getItem("YongHuXM"), |
| | | ZuZhiJGID: localStorage.getItem("orgid"), |
| | | ZuZhiJGMC: localStorage.getItem("orgname"), |
| | | idp: "lyra", |
| | | }, |
| | | }, |
| | | }, |
| | | // 表单参数 |
| | | form: { |
| | | phonenumber: "", |
| | |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | serviceType: 11, |
| | | serviceType: 10, |
| | | searchscope: 3, |
| | | sendstate:2, |
| | | scopetype: [], |
| | | leaveldeptcodes: [], |
| | | leavehospitaldistrictcodes: [], |
| | |
| | | propss: { multiple: true }, |
| | | options: [], |
| | | |
| | | topicoptions: [ |
| | | topicoptions: [ |
| | | { |
| | | value: null, |
| | | label: "全部", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "表单已领取", |
| | | label: "待随访", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "待执行", |
| | | label: "随访中", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "表单已发送", |
| | | label: "未完成", |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: "不执行", |
| | | label: "已完成", |
| | | }, |
| | | { |
| | | value: 5, |
| | | label: "发送失败", |
| | | }, |
| | | { |
| | | value: 6, |
| | | label: "已完成", |
| | | label: "无需随访", |
| | | }, |
| | | ], |
| | | topicoptionsyj: [ |
| | |
| | | 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.followupAuthority()) { |
| | | this.$message.warning("未配置科室/病区相关权限不可查询"); |
| | | return Promise.reject(new Error("无权限查询")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | | 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; |
| | | 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[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].xsf || 0; |
| | | this.cardlist[3].value = response.rows[0].dsf || 0; |
| | | this.cardlist[4].value = response.rows[0].ywc || 0; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.total = response.total; |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | Number(response.rows[0].wzx) + Number(response.rows[0].ysf); |
| | | Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0; |
| | | this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[2].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[4].value = response.rows[0].dsf; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | }); |
| | | this.total = response.total; |
| | | }); |
| | | }, |
| | | //患者360跳转 |
| | | gettoken360(sfzh,drcode,drname,id) { |
| | | const orgname = localStorage.getItem("orgname"); |
| | | if (orgname == "南华大学附属第一医院") { |
| | | query360PatInfonh(id).then((res) => { |
| | | if (res.data) { |
| | | window.open(res.data, "_blank"); |
| | | } else { |
| | | this.$modal.msgWarning("360查询无结果"); |
| | | } |
| | | }); |
| | | return; |
| | | } else if ( |
| | | orgname == "第一人民医院湖滨院区" || |
| | | orgname == "第一人民医院吴山院区" |
| | | ) { |
| | | let url = `http://192.200.81.189:9100/blj/view?BINGRENID=${id}&YONGHUID=DBA`; |
| | | window.open(url, "_blank"); |
| | | return; |
| | | } |
| | | |
| | | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; |
| | | 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查询无结果"); |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | // 查看门诊随访详情 |
| | | Referencequestion(row) { |
| | |
| | | |
| | | this.getList(refresh); |
| | | }, |
| | | // 随访状态变更处理 |
| | | handleServiceStatusChange(value) { |
| | | // 清空选择 |
| | | if (value === null || value === undefined || value === "") { |
| | | this.topqueryParams.sendstateView = null; |
| | | this.topqueryParams.sendstate = null; |
| | | return; |
| | | } |
| | | console.log(value, "value"); |
| | | |
| | | // 一级节点的值(大于等于10) |
| | | if (value >= 10) { |
| | | // 选中了一级 |
| | | switch (value) { |
| | | case 10: |
| | | this.topqueryParams.sendstateView = 1; // 待随访 |
| | | break; |
| | | case 20: |
| | | this.topqueryParams.sendstateView = 2; // 已完成 |
| | | break; |
| | | case 30: |
| | | this.topqueryParams.sendstateView = 3; // 无需随访 |
| | | break; |
| | | } |
| | | this.topqueryParams.sendstate = null; |
| | | } else { |
| | | // 选中了二级(具体状态) |
| | | this.topqueryParams.sendstateView = null; |
| | | this.topqueryParams.sendstate = value; |
| | | } |
| | | }, |
| | | // 患者范围处理 |
| | | handleChange(value) { |
| | | let type = value[0]; |
| | |
| | | this.topqueryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | serviceType: 11, |
| | | serviceType: 10, |
| | | searchscope: 2, |
| | | sendstate:2, |
| | | }; |
| | | this.handleQuery(1); |
| | | }, |
| | |
| | | path: "/followvisit/QuestionnaireTask", |
| | | query: { |
| | | type: 2, |
| | | serviceType: 11, |
| | | serviceType: 10, |
| | | }, |
| | | }); |
| | | }, |
| | |
| | | Seedetails(row) { |
| | | let type = ""; |
| | | console.log(row, "rwo"); |
| | | if (row.preachformson) { |
| | | if (row.preachformson.includes("3")) { |
| | | if (row.type == 1) { |
| | | type = 1; |
| | | console.log(type, "rwo"); |
| | | } |
| | | } |
| | | this.$router.push({ |
| | | path: "/followvisit/record/detailpage/", |
| | | query: { |
| | |
| | | '"的数据项?' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | this.topqueryParams.pageNum = null; |
| | | this.topqueryParams.pageSize = null; |
| | | this.download( |
| | | "smartor/serviceSubtask/export", |
| | | "smartor/serviceSubtask/patItemExport", |
| | | { |
| | | ...this.topqueryParams, |
| | | }, |
| | |
| | | } |
| | | } |
| | | ::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 { |