3a9a85b30e8d6bad1d215babcb9c72698d1ac158..d4be39fedaed04b0f1f34808dc55369ed5b94e21
23 小时以前 wwl
BMI
d4be39 对比 | 目录
23 小时以前 qx
qx
54cfdd 对比 | 目录
6个文件已修改
1292 ■■■■■ 已修改文件
src/api/system/tijian.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/check/index.vue 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/examination/index.vue 359 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/advicerules/index.vue 495 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/zhiye/index.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/tijian.js
@@ -82,7 +82,17 @@
    // }
  });
}
export function getOrderzhiye(data) {
  return request({
    url: "/zhiye/order",
    method: "post",
    data: data,
    // responseType: 'blob',
    // headers:{
    //   "type": 'application/pdf'
    // }
  });
}
// 根据身份证显示信息
export function getCusIdcard(cusIdcard) {
  return request({
src/views/doctor/check/index.vue
@@ -289,12 +289,15 @@
                        :disabled="row.project.proName === 'BMI'"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center">
                    <template slot-scope="scope">
                      <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)"
                        :disabled="scope.row.project.sfcyyc === 1"></el-checkbox>
                    </template>
                  </el-table-column>
               <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center">
  <template slot-scope="scope">
    <el-checkbox
      v-model="scope.row.exceptionDesc"
      @change="changDesc(scope.row)"
      :disabled="scope.row.project.sfcyyc === 1 || scope.row.project.proName === 'BMI'"
    ></el-checkbox>
  </template>
</el-table-column>
                  <el-table-column label="规则" width="70">
                    <template slot-scope="scope">
                      <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button>
@@ -302,7 +305,12 @@
                  </el-table-column>
                  <el-table-column prop="project.proMetering" label="单位" width="55">
                  </el-table-column>
                  <el-table-column prop="project.proScope" label="参考范围" width="70">
                  <el-table-column label="参考范围" width="70" align="center">
                    <template slot-scope="scope">
                      {{ scope.row.project.proScope }}
                    </template>
                  </el-table-column>
                  <el-table-column prop="conclusion" label="结果结论" width="200">
                    <template slot-scope="scope">
@@ -966,10 +974,27 @@
  },
  methods: {
    getBMIStatus(row) {
      const bmi = parseFloat(row.proResult);
      if (isNaN(bmi) || !row.proResult) return ''; // 处理无效或空的BMI值
      if (bmi > 28) {
        row.exceptionDesc = true; // 自动勾选异常复选框
        row.conclusion = '偏高'; // 设置结论
        return '偏高';
      }
      if (bmi < 12) {
        row.exceptionDesc = true; // 自动勾选异常复选框
        row.conclusion = '偏低'; // 设置结论
        return '偏低';
      }
      row.exceptionDesc = false; // 正常范围内取消勾选
      row.conclusion = '正常'; // 设置结论
      return '正常';
    },
    // 计算 BMI
    calculateBMI(height, weight) {
      if (height && weight) {
        const heightInMeters = parseFloat(height) / 100; // cm 转换为 m
        const heightInMeters = parseFloat(height) / 100; // 厘米转换为米
        const weightInKg = parseFloat(weight);
        const bmi = weightInKg / (heightInMeters * heightInMeters);
        return bmi.toFixed(1); // 保留一位小数
@@ -994,25 +1019,15 @@
          const height = row.project.proName === '身高' ? value : heightRow.proResult;
          const weight = row.project.proName === '体重' ? value : weightRow.proResult;
          const bmi = this.calculateBMI(height, weight);
          bmiRow.proResult = bmi || ''; // 实时更新 BMI
          bmiRow.proResult = bmi || ''; // 实时更新BMI值
          this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框
        }
      }
    },
    // 输入确认时更新 BMI
    handleInputConfirm(row, params) {
      console.log(row, params, 55555)
      // 如果有 params 且为空,取消异常状态并清空相关字段
      if (params && params.length === 0) {
        row.exceptionDesc = false;
        row.proResult = "";
        row.conclusion = "";
        row.proAdvice = "";
        row.rulesList = [];
        return;
      }
      // 现有 BMI 计算逻辑
    // 输入确认时更新 BMI
    handleInputConfirm(row) {
      if (row.proResult) {
        if (row.project.proName === '身高' || row.project.proName === '体重') {
          const heightRow = this.proParentList.sons.find(
@@ -1030,85 +1045,48 @@
            const weight = weightRow.proResult;
            const bmi = this.calculateBMI(height, weight);
            bmiRow.proResult = bmi || '';
            this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框
          }
        }
        this.focusrow = row;
        this.proResult = row;
        const pattern3 = new RegExp("[0-9]+");
        if (pattern3.test(row.proResult)) {
          let data = {
            proId: this.focusrow.proId,
            cusId: this.tableAll.cusId,
            tjNum: this.tableAll.tjNumber,
            keyNum: this.proResult.proResult,
          };
          AutoGetRule(data).then((res) => {
            this.focusrow.conclusion = "";
            if (res.data) {
              this.autorule = res.data;
              this.focusrow.rulesList = res.data;
              if (row.project.sfcyyc == 1) {
                return
              } else {
                if (res.data.length > 0) {
                  const conditions = ["正常", "未见异常", "阴性", "未见明显异常"];
                  this.focusrow.exceptionDesc = !conditions.some((condition) =>
                    this.autorule[0].bz.includes(condition)
                  );
                } else {
                  this.focusrow.exceptionDesc = false;
                }
              }
              if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) {
                this.focusrow.proAdvice = this.autorule[0].nr;
              }
              this.autorule.forEach((item) => {
                this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz;
              });
            }
          });
        } else {
          let data = {
            proId: this.focusrow.proId,
            cusId: this.tableAll.cusId,
            keyWord: this.proResult.proResult, // 修改为 proResult.proResult
            tjNum: this.tableAll.tjNumber,
            keyNum: this.proResult.proResult,
          };
          AutoGetRule(data).then((res) => {
            this.focusrow.conclusion = "";
            if (res.data) {
              this.autorule = res.data;
              this.focusrow.rulesList = res.data;
              if (row.project.sfcyyc == 1) {
                return
              } else {
                if (res.data.length > 0) {
                  const conditions = ["正常", "未见异常", "阴性", "未见明显异常"];
                  this.focusrow.exceptionDesc = !conditions.some((condition) =>
                    this.autorule[0].bz.includes(condition)
                  );
                } else {
                  this.focusrow.exceptionDesc = false;
                }
              }
              if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) {
                this.focusrow.proAdvice = this.autorule[0].nr;
              }
              this.autorule.forEach((item) => {
                this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz;
              });
            }
          });
        }
        // 将当前行添加到 rows 中
        this.rows.push(row);
        console.log(this.rows, row);
      }
      // 现有的规则检查逻辑保持不变
      this.focusrow = row;
      this.proResult = row;
      const pattern3 = new RegExp("[0-9]+");
      if (pattern3.test(row.proResult)) {
        let data = {
          proId: this.focusrow.proId,
          cusId: this.tableAll.cusId,
          tjNum: this.tableAll.tjNumber,
          keyNum: this.proResult.proResult,
        };
        AutoGetRule(data).then((res) => {
          this.focusrow.conclusion = "";
          if (res.data) {
            this.autorule = res.data;
            this.focusrow.rulesList = res.data;
            if (row.project.sfcyyc == 1) {
              return;
            } else {
              if (res.data.length > 0) {
                const conditions = ["正常", "未见异常", "阴性", "未见明显异常"];
                this.focusrow.exceptionDesc = !conditions.some((condition) =>
                  this.autorule[0].bz.includes(condition)
                );
              } else {
                this.focusrow.exceptionDesc = false;
              }
            }
            if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) {
              this.focusrow.proAdvice = this.autorule[0].nr;
            }
            this.autorule.forEach((item) => {
              this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz;
            });
          }
        });
      }
      this.rows.push(row);
    },
    // 初始化数据时计算 BMI
@@ -1178,7 +1156,7 @@
    handleFocus(row) {
      this.autorule = [];
      if (!row.resultType || row.resultType == 2 ) {
      if (!row.resultType || row.resultType == 2) {
        return;
      } else {
        this.curindex = row;
src/views/doctor/checkAll/index.vue
@@ -274,11 +274,10 @@
            <el-form v-if="tableAll && tableAll.tjCategory === '02'" ref="numberValidateForm" label-width="80px"
              class="demo-ruleForm">
              <el-form-item label="检查结论">
                <el-input type="textarea" placeholder="请输入内容" v-model="textarea1" :rows="3"
                  style="width: 96%"></el-input>
                <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJl" :rows="3" style="width: 96%"></el-input>
              </el-form-item>
              <el-form-item label="体检结果">
                <el-input type="textarea" placeholder="请输入内容" v-model="res" :rows="3" style="width: 96%"></el-input>
                <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJg" :rows="3" style="width: 96%"></el-input>
              </el-form-item>
            </el-form>
            <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
@@ -807,7 +806,8 @@
  isPdfOrJimu,
  addOrder,
  addOrder1,
  getFcList, UpdFcPro
  getFcList,
  UpdFcPro
} from "@/api/doctor/checkAll";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
@@ -848,14 +848,15 @@
  name: "checkAll",
  data() {
    return {
      res: '未发现目标性疾病',
      zhiyeJl: '', // 初始化检查结论为空
      zhiyeJg: '未发现目标性疾病', // 初始化体检结果为默认值
      selectedAdvice: null,
      activeAdviceIndex: 0,
      advicerulesList: [],
      xmChange: [],
      showjianyi: false,
      adviceLoading: false, // 控制表格加载状态
      adviceEmptyText: '暂无数据', // 自定义空数据提示
      adviceLoading: false,
      adviceEmptyText: '暂无数据',
      total1: 0,
      forms: {
        pacName: ""
@@ -865,9 +866,9 @@
      queryParams1: {
        pageNum: 1,
        pageSize: 10,
        zyzd: '', // 建议名称
        zyzd: '',
      },
      adviceCache: new Map(), // 缓存建议数据
      adviceCache: new Map(),
      addNewDialogVisible: false,
      newItem: {
        parentName: '',
@@ -1009,7 +1010,7 @@
  },
  created() {
    console.log(this.dict.type.dict_tjtype, "职业体检"); // 打印字典数据
    console.log(this.dict.type.dict_tjtype, "职业体检");
    this.getConfigKey();
    this.getdate();
  },
@@ -1031,10 +1032,10 @@
      this.queryParams1.pageNum = 1;
      this.queryParams1.pageSize = 10;
      this.queryParams1.zyzd = '';
      this.selectedAdvice = null; // 重置选中建议
      this.advicerulesList = []; // 清空建议列表
      this.selectedAdvice = null;
      this.advicerulesList = [];
      this.total1 = 0;
      this.adviceCache.clear(); // 清空缓存
      this.adviceCache.clear();
      this.filterAdvices();
      this.showjianyi = true;
    },
@@ -1045,10 +1046,8 @@
        this.queryParams1.pageNum = 1;
      }
      // 生成缓存 key,仅使用 zyzd 和分页参数
      const cacheKey = `${this.queryParams1.zyzd || ''}_${this.queryParams1.pageNum}_${this.queryParams1.pageSize}`;
      // 检查缓存
      if (this.adviceCache.has(cacheKey)) {
        const cachedData = this.adviceCache.get(cacheKey);
        this.advicerulesList = cachedData.rows;
@@ -1057,7 +1056,6 @@
        return;
      }
      // 显示加载状态
      this.adviceLoading = true;
      this.adviceEmptyText = '加载中...';
@@ -1066,13 +1064,11 @@
          this.advicerulesList = response.rows || [];
          this.total1 = response.total || 0;
          // 存入缓存
          this.adviceCache.set(cacheKey, {
            rows: this.advicerulesList,
            total: this.total1,
          });
          // 更新空数据提示
          this.adviceEmptyText = this.advicerulesList.length === 0 ? '暂无匹配的建议' : '暂无数据';
        })
        .catch((error) => {
@@ -1085,7 +1081,7 @@
        .finally(() => {
          this.adviceLoading = false;
        });
    }, 800), // 防抖时间为 800ms
    }, 800),
    handleCurrentChangeAdvice(currentRow) {
      this.selectedAdvice = currentRow;
@@ -1112,7 +1108,6 @@
      }
    },
    // 取消选择并关闭对话框
    cancelAdviceDialog() {
      this.showjianyi = false;
      this.selectedAdvice = null;
@@ -1123,7 +1118,6 @@
      this.adviceCache.clear();
    },
    // 关闭对话框前的确认
    handleCloseAdviceDialog(done) {
      if (this.selectedAdvice) {
        this.$confirm('您已选择一条建议,确定要关闭吗?', '提示', {
@@ -1135,7 +1129,7 @@
            this.cancelAdviceDialog();
            done();
          })
          .catch(() => { });
          .catch(() => {});
      } else {
        this.cancelAdviceDialog();
        done();
@@ -1251,6 +1245,7 @@
        this.newItem.jcxm = value;
      }
    },
    change(val) {
      console.log('选中的值是:', val);
    },
@@ -1313,63 +1308,50 @@
    },
    handleQuery() {
      this.xmopen = true
      this.xmopen = true;
      let data = {
        tjNum: this.tjNumber,
        type: 0
      }
      };
      getFcList(data).then(res => {
        this.datasList = res.data
      })
        this.datasList = res.data;
      });
    },
    handleaddClick() {
      console.log(this.xmChange)
      console.log(this.xmChange);
      let data = {
        orderId: this.xmChange[0].orderId,
        data: [{
          proId: this.xmChange[0].proId,
          type: 1
        }]
      }
      UpdFcPro(data).then(res => {
        if (res.code == 200) {
          this.xmChange = []
          this.fuchaxiangmu()
        }
      })
      };
      UpdFcPro(data).then(res => {});
    },
    handledeleteClick(row) {
      let data = {
        orderId: row.orderId,
        data: [{
          proId: row.proId,
          type: 0
        }]
      }
      UpdFcPro(data).then(res => {
        if (res.code == 200) {
          this.fuchaxiangmu()
        }
      })
    handledeleteClick() {
      UpdFcPro(data).then(res => {});
    },
    handlexmChange(selection) {
      this.xmChange = []
      this.xmChange = selection
      this.xmChange = [];
      this.xmChange = selection;
      if (selection.length > 1) {
        let del_row = selection.shift();
        this.$refs.elTable.toggleRowSelection(del_row, false); //设置这一行取消选中
        this.$refs.elTable.toggleRowSelection(del_row, false);
      }
    },
    submitFormxm() {
      this.xmopen = false
      this.xmopen = false;
    },
    cancels() {
      this.xmopen = false
      this.xmChange = []
      this.xmopen = false;
      this.xmChange = [];
    },
    getExpends() {
      this.expends = this.yichangList.flatMap(item =>
        item.sone.map(soneItem => soneItem.orderDetailId)
@@ -1391,6 +1373,7 @@
    getRowKeys(row) {
      return row.orderDetailId;
    },
    xiangmuqingkuang() {
      this.loading = true;
      cSWebGetPro(this.tjNumber)
@@ -1452,9 +1435,6 @@
      getFcList(data)
        .then((res) => {
          this.fcList = res.data;
          this.fcList.forEach((item, index) => {
            item.newID = index + 1;
          })
        })
        .catch((error) => {
          console.error('获取复查项目失败:', error);
@@ -1910,11 +1890,17 @@
                      for (let i = 0; i < this.changedate.length; i++) {
                        this.remark = this.changedate[i].remark;
                      }
                      // 回显 zhiyeJl 和 zhiyeJg
                      this.zhiyeJl = response.data.zhiyeJl || '';
                      this.zhiyeJg = response.data.zhiyeJg || '未发现目标性疾病';
                    } else {
                      this.$message({
                        type: "warning",
                        message: "该客户没有体检项目数据",
                      });
                      // 如果没有数据,清空字段
                      this.zhiyeJl = '';
                      this.zhiyeJg = '未发现目标性疾病';
                    }
                  });
                });
@@ -1949,11 +1935,17 @@
                          this.changedate.forEach((item) => {
                            this.textarea1 = item.checkAdvice || "";
                          });
                          // 回显 zhiyeJl 和 zhiyeJg
                          this.zhiyeJl = response.data.zhiyeJl || '';
                          this.zhiyeJg = response.data.zhiyeJg || '未发现目标性疾病';
                        } else {
                          this.$message({
                            type: "warning",
                            message: "该客户没有体检项目数据",
                          });
                          // 如果没有数据,清空字段
                          this.zhiyeJl = '';
                          this.zhiyeJg = '未发现目标性疾病';
                        }
                      });
                    });
@@ -1989,7 +1981,7 @@
              done();
            });
          })
          .catch(() => { });
          .catch(() => {});
      } else {
        let data = {
          userId: this.userId,
@@ -2017,10 +2009,9 @@
        tjNumber,
        advice,
        checkStatus: 1,
        zhiyeJl: this.zhiyeJl, // 添加检查结论
        zhiyeJg: this.zhiyeJg  // 添加体检结果
      };
      console.log(this.yichangList, 6644);
      let dataList = this.yichangList
        .map((item) => {
          return item.sone.map((soneItem) => ({
@@ -2034,14 +2025,17 @@
            dw: soneItem.proAdvice,
          }));
        })
        .flat(); // 使用 flat() 方法将嵌套数组展平
        .flat();
      this.loading = true;
      getTjdetailList(data)
        .then((response) => {
          if (response.code === 200) {
            this.$modal.msgSuccess("提交成功");
            // 清空字段
            this.zhiyeJl = '';
            this.zhiyeJg = '';
            // 准备生成报告的请求数据
            let reportData = {
              userId: this.userId,
              tjNumber: tjNumber,
@@ -2049,12 +2043,8 @@
              id: this.MsgId,
            };
            // 调用 addOrderPromise
            console.log(dataList, 5555);
            addOrder(dataList)
              .then((res) => {
                console.log(res, 999);
                if (res.code == 200) {
                  gettoPdf(tjNumber)
                    .then((res) => {
@@ -2080,41 +2070,36 @@
                        remarks,
                      },
                    ];
                    return getModified(updateOrderRemarkVos); // 返回 Promise
                    return getModified(updateOrderRemarkVos);
                  });
                  // 等待所有请求完成
                  Promise.all([statePromise, ...updatePromises])
                    .then(() => {
                      // 所有请求完成,关闭 loading
                      this.loading = false;
                      // 更新分页信息
                      this.queryParams.page = 1;
                      this.queryParams.pageSize = 10;
                      this.submitForm();
                      this.$forceUpdate();
                    })
                    .catch((error) => {
                      // 处理错误情况
                      this.loading = false;
                      console.error("发生错误:", error);
                    });
                }
              })
              .catch((error) => {
                // 如果 addOrderPromise 失败,处理错误
                this.loading = false;
                console.error("addOrderPromise 失败:", error);
              });
          } else {
            // 提交失败,关闭 loading
            this.loading = false;
            this.$modal.msgError("提交失败");
          }
        })
        .catch((error) => {
          // 提交请求失败,关闭 loading
          this.loading = false;
          console.error("提交请求失败:", error);
          this.$modal.msgError("提交请求失败");
        });
    },
src/views/doctor/examination/index.vue
@@ -1,129 +1,46 @@
<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      label-width="68px"
    >
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
      <el-form-item label="姓名" prop="name">
        <el-input
          v-model="queryParams.name"
          placeholder="请输入姓名"
          clearable
          @keyup.enter.native="handleQuery"
          style="width: 110px"
        />
        <el-input v-model="queryParams.name" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery"
          style="width: 110px" />
      </el-form-item>
      <el-form-item label="体检号" prop="tjNumber">
        <el-input
          ref="inputName"
          v-model="queryParams.tjNumber"
          placeholder="请输入体检号"
          clearable
          @keyup.enter.native="handleQuery"
          @blur="hb"
          style="width: 170px"
        />
        <el-input ref="inputName" v-model="queryParams.tjNumber" placeholder="请输入体检号" clearable
          @keyup.enter.native="handleQuery" @blur="hb" style="width: 170px" />
      </el-form-item>
      <el-form-item
        label="单位名称"
        prop="tjCompName"
        style="margin-left: 20px"
      >
        <el-select
          :remote-method="getRemoteData"
          v-model="queryParams.tjCompName"
          value-key="drugManufacturerId"
          style="width: 180px"
          remote
          filterable
          placeholder="请选择单位名称"
          clearable
          @change="searchSelect"
        >
          <el-option
            v-for="dict in CompanyList"
            :key="dict.drugManufacturerId"
            :label="dict.cnName"
            :value="dict"
          />
      <el-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px">
        <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId"
          style="width: 180px" remote filterable placeholder="请选择单位名称" clearable @change="searchSelect">
          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
        </el-select>
      </el-form-item>
      <el-form-item label="登记时间" prop="createTimeList">
        <el-date-picker
          v-model="createTimeList"
          type="datetimerange"
          align="right"
          :picker-options="pickerOptions"
          style="width: 310px"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          :default-time="['00:00:00', '23:00:00']"
          format="yyyy-MM-dd HH:mm"
          value-format="yyyy-MM-dd HH:mm"
          @change="dateChangebirthday1"
        >
        <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions"
          style="width: 310px" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:00:00']"
          format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1">
        </el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          style="margin-right: 15px"
          >查询</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置</el-button
        >
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
          style="margin-right: 15px">查询</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <el-radio-group
      v-model="checkStatus"
      @input="radioChange"
      style="margin: 10px 15px"
    >
    <el-radio-group v-model="checkStatus" @input="radioChange" style="margin: 10px 15px">
      <el-radio-button label="0">未审核</el-radio-button>
      <el-radio-button label="1">已审核</el-radio-button>
    </el-radio-group>
    <div style="width: 100%; margin-left: 10px; display: flex">
      <div style="width: 45%">
        <el-table
          id="ta"
          v-loading="loading"
          ref="tb"
          :data="exaList"
          border
          height="520"
          :row-class-name="tableRowClassName"
          highlight-current-row
          @current-change="handleCurrentChange"
        >
        <el-table id="ta" v-loading="loading" ref="tb" :data="exaList" border height="520"
          :row-class-name="tableRowClassName" highlight-current-row @current-change="handleCurrentChange">
          <!-- <el-table-column type="selection" width="40" align="center" /> -->
          <el-table-column
            label="体检号"
            align="center"
            prop="tjNumber"
            min-width="160"
          />
          <el-table-column
            label="姓名"
            align="center"
            prop="cusName"
            min-width="80"
          />
          <el-table-column
            label="性别"
            align="center"
            prop="cusSex"
            min-width="50"
          >
          <el-table-column label="体检号" align="center" prop="tjNumber" min-width="160" />
          <el-table-column label="姓名" align="center" prop="cusName" min-width="80" />
          <el-table-column label="性别" align="center" prop="cusSex" min-width="50">
            <template slot-scope="scope">
              <span v-if="scope.row.cusSex == '0'">男</span>
              <span v-if="scope.row.cusSex == '1'">女</span>
@@ -136,70 +53,28 @@
            <!-- <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex " /> -->
            <!-- </template> -->
          </el-table-column>
          <el-table-column
            label="手机号"
            align="center"
            prop="cusPhone"
            min-width="100"
          />
          <el-table-column
            label="登记时间"
            align="center"
            prop="tjTime"
            min-width="120"
          />
          <el-table-column
            v-if="checkStatus == '1'"
            label="审核状态"
            align="center"
            prop="confirmStatus"
            min-width="80"
          >
          <el-table-column label="手机号" align="center" prop="cusPhone" min-width="100" />
          <el-table-column label="登记时间" align="center" prop="tjTime" min-width="120" />
          <el-table-column v-if="checkStatus == '1'" label="审核状态" align="center" prop="confirmStatus" min-width="80">
            <template slot-scope="scope">
              <span
                :style="{
                  color:
                    scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29',
                }"
                v-if="scope.row.confirmStatus == '301'"
                >已通过</span
              >
              <span
                :style="{
                  color:
                    scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29',
                }"
                v-if="scope.row.confirmStatus == '299'"
                >已驳回</span
              >
              <span :style="{
                color:
                  scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29',
              }" v-if="scope.row.confirmStatus == '301'">已通过</span>
              <span :style="{
                color:
                  scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29',
              }" v-if="scope.row.confirmStatus == '299'">已驳回</span>
            </template>
          </el-table-column>
          <!--   v-hasPermi="['reservation:reservation:edit']" -->
          <el-table-column label="操作" align="center" min-width="120px">
            <template slot-scope="scope">
              <el-button
                size="mini"
                type="text"
                @click="tongbu(scope.row)"
                disabled
                >同步</el-button
              >
              <el-button size="mini" type="text" @click="tongbu(scope.row)" disabled>同步</el-button>
              <!-- :disabled="dis" -->
              <el-button
                disabled
                size="mini"
                type="text"
                @click="tongguo(scope.row)"
                >通过</el-button
              >
              <el-button disabled size="mini" type="text" @click="tongguo(scope.row)">通过</el-button>
              <el-button
                size="mini"
                type="text"
                disabled
                @click="bohui(scope.row)"
                >驳回</el-button
              >
              <el-button size="mini" type="text" disabled @click="bohui(scope.row)">驳回</el-button>
            </template>
            <!--    v-show="
                  (xianshi == 'Y' || xianshi == 'y') &&
@@ -210,45 +85,15 @@
        </el-table>
      </div>
      <div style="width: 45%; margin-left: 5%">
        <el-table
          v-loading="loading"
          border
          :row-class-name="tableRowClassName"
          height="520"
          ref="tab1"
          :data="xiangmuList"
          highlight-current-row
          @row-click="handleRowClick"
        >
        <el-table v-loading="loading" border :row-class-name="tableRowClassName" height="520" ref="tab1"
          :data="xiangmuList" highlight-current-row @row-click="handleRowClick">
          <!-- <el-table-column type="selection" width="40" align="center" /> -->
          <el-table-column
            label="科室"
            align="center"
            prop="deptName"
            min-width="100"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="项目"
            align="center"
            prop="proName"
            min-width="150"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="状态"
            align="center"
            prop="type"
            :show-overflow-tooltip="true"
            min-width="100"
          >
          <el-table-column label="科室" align="center" prop="deptName" min-width="100" :show-overflow-tooltip="true" />
          <el-table-column label="项目" align="center" prop="proName" min-width="150" :show-overflow-tooltip="true" />
          <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" min-width="100">
            <template slot-scope="scope">
              <span
                v-if="scope.row.type == '0'"
                :style="type == 0 ? { color: 'red' } : { color: '#409EFF' }"
              >
                {{ type == 0 ? "未  检" : "在  检" }}
              <span v-if="scope.row.type == '0'" :style="type == 0 ? { color: 'red' } : { color: '#409EFF' }">
                {{ type == 0 ? "未 检" : "在 检" }}
              </span>
              <span v-if="scope.row.type == '1'">已完成</span>
              <span v-if="scope.row.type == '2'">弃检</span>
@@ -281,12 +126,7 @@
            prop="doctorName"
            width="100"
          /> -->
          <el-table-column
            label="检查时间"
            align="center"
            prop="bcupdateTime"
            min-width="160"
          />
          <el-table-column label="检查时间" align="center" prop="bcupdateTime" min-width="160" />
          <!-- <el-table-column
            label="保存医生"
            align="center"
@@ -301,28 +141,11 @@
          /> -->
          <el-table-column label="操作" align="center" min-width="120px">
            <template slot-scope="scope">
              <el-button
                size="mini"
                type="text"
                :disabled="scope.row.type === 1"
                :loading="scope.row.isLoading"
                @click="qijian(scope.row)"
                >{{ scope.row.type === 0 ? "弃检" : "恢复" }}</el-button
              >
              <el-button
                size="mini"
                type="text"
                @click="yijian(scope.row)"
                v-if="yijiantype == 'N'"
                >已检</el-button
              >
              <el-button
                size="mini"
                type="text"
                :disabled="scope.row.type === 0 || scope.row.type === 2"
                @click="queryResultone(scope.row)"
                >结果</el-button
              >
              <el-button size="mini" type="text" :disabled="scope.row.type === 1" :loading="scope.row.isLoading"
                @click="qijian(scope.row)">{{ scope.row.type === 0 ? "弃检" : "恢复" }}</el-button>
              <el-button size="mini" type="text" @click="yijian(scope.row)" v-if="yijiantype == 'N'">已检</el-button>
              <el-button size="mini" type="text" :disabled="scope.row.type === 0 || scope.row.type === 2"
                @click="queryResultone(scope.row)">结果</el-button>
              <!--  @click="chaxun(scope.row) " -->
            </template>
          </el-table-column>
@@ -336,13 +159,8 @@
      </div>
      <div class="a">
        <div v-if="jyjc == 0">
          <el-table
            :data="jieguoList"
            border
            :row-style="changRed"
            style="width: 100%"
            :header-cell-style="{ background: '#AAD8DF' }"
          >
          <el-table :data="jieguoList" border :row-style="changRed" style="width: 100%"
            :header-cell-style="{ background: '#AAD8DF' }">
            <el-table-column label="检测项目" prop="pro_name">
            </el-table-column>
            <el-table-column label="检测结果" prop="pro_result">
@@ -356,20 +174,14 @@
          <div class="check-result-container">
            <div class="check-item">
              <div class="check-title">检查所见:</div>
              <div
                class="check-description"
                :style="{ color: isRed ? 'red' : '' }"
              >
              <div class="check-description" :style="{ color: isRed ? 'red' : '' }">
                {{ jieguoList[0].pro_result }}
              </div>
            </div>
            <div class="check-item">
              <div class="check-title">检查结论:</div>
              <div
                class="check-description"
                :style="{ color: isRed ? 'red' : '' }"
              >
              <div class="check-description" :style="{ color: isRed ? 'red' : '' }">
                {{ jieguoList[0].yxzd || "暂无结论" }}
              </div>
            </div>
@@ -383,16 +195,29 @@
        <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :pager-count="5" :current-page.sync="currentPage1" :current-page="page"
                :page-sizes="pageSize" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total">
            </el-pagination> -->
        <pagination
          v-show="total > 0"
          :total="total"
          :pager-count="5"
          :page.sync="queryParams.page"
          :limit.sync="queryParams.pageSize"
          @pagination="submitForm"
        />
        <pagination v-show="total > 0" :total="total" :pager-count="5" :page.sync="queryParams.page"
          :limit.sync="queryParams.pageSize" @pagination="submitForm" />
      </div>
    </div>
    <el-dialog :visible.sync="open" width="980px" append-to-body>
      <el-form ref="form" :model="form" label-width="98px" @submit.native.prevent>
        <el-form-item label="弃检原因" prop="isZybUnit">
          <el-radio-group v-model="form.isZybUnit">
            <el-radio :label="0">自动放弃</el-radio>
            <el-radio :label="1">妊娠</el-radio>
            <el-radio :label="1">怀孕</el-radio>
            <el-radio :label="1">其他</el-radio>
          </el-radio-group>
        </el-form-item>
        <br />
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitFormqijian">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
  </div>
</template>
@@ -420,7 +245,8 @@
      jieguoList: [],
      jyjc: null,
      dis: false,
      isLoading:false,
      isLoading: false,
      open: false,
      createTimeList: "",
      currentRow: null,
      total: 0,
@@ -789,6 +615,23 @@
        });
      });
    },
    cancel() {
      this.open = false
    },
    submitFormqijian() {
      this.open = false
      qijian(tjNUm, proId).then((res) => {
        if (res.code == 200) {
          cSWebGetPro(tjNUm).then((res) => {
            if (res.code === 200) {
              // 更新右边表格的数据
              this.xiangmuList = res.data;
              this.isLoading = false
            }
          });
        }
      });
    },
    // 弃检按钮
    qijian(row) {
@@ -808,6 +651,7 @@
          }
        });
      } else {
        // this.open = true
        qijian(tjNUm, proId).then((res) => {
          if (res.code == 200) {
            cSWebGetPro(tjNUm).then((res) => {
@@ -934,7 +778,8 @@
.el-table .warning-row {
  background: #e5f3ff !important;
}
::v-deep .el-table__body tr.current-row > td {
::v-deep .el-table__body tr.current-row>td {
  background: #edf2fa !important;
}
@@ -943,6 +788,7 @@
  display: flex;
  justify-content: center;
}
.red-text {
  color: red !important;
}
@@ -954,6 +800,7 @@
.a ::v-deep .el-table__cell {
  padding: 1px 0 !important;
}
.check-result-container {
  // background-color: #fafafa;
  padding: 20px;
@@ -976,13 +823,17 @@
.check-description {
  font-size: 14px;
  color: #555; /* 中灰色文字 */
  line-height: 1.6; /* 行高,增加可读性 */
  padding: 8px 0; /* 上下内边距 */
  color: #555;
  /* 中灰色文字 */
  line-height: 1.6;
  /* 行高,增加可读性 */
  padding: 8px 0;
  /* 上下内边距 */
}
.check-description.no-result {
  color: #bbb; /* 如果没有结论,文字为淡灰色 */
  color: #bbb;
  /* 如果没有结论,文字为淡灰色 */
}
::v-deep .el-table {
src/views/hosp/advicerules/index.vue
@@ -1,86 +1,56 @@
<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
      <el-form-item label="科室" prop="ks">
        <el-input
          v-model="queryParams.ks"
          placeholder="请输入科室"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="检查项目" prop="jcxm">
        <el-input
          v-model="queryParams.jcxm"
          placeholder="请输入检查项目"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="主要诊断" prop="zyzd">
        <el-input
          v-model="queryParams.zyzd"
          placeholder="请输入主要诊断"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          >搜索</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置</el-button
        >
      </el-form-item>
    </el-form>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['hosp:advicerules:add']"
          >新增
        </el-button>
    <el-row :gutter="20" style="display: flex">
      <el-col :span="4" :xs="24">
        <div class="head-container">
          <el-input v-model="xmmc" placeholder="请输入项目名" clearable size="small" prefix-icon="el-icon-search"
            style="margin-bottom: 18px" />
        </div>
        <div class="scrollable-container">
          <div class="content">
            <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false"
              :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId"
              highlight-current @node-click="handleNodeClick" />
          </div>
        </div>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['hosp:advicerules:edit']"
          >修改
        </el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['hosp:advicerules:remove']"
          >删除
        </el-button>
      </el-col>
      <!-- <el-col :span="1.5">
      <el-col :span="19" :xs="24">
        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
          label-width="68px">
          <el-form-item label="科室" prop="ks">
            <el-input v-model="queryParams.ks" placeholder="请输入科室" clearable @keyup.enter.native="handleQuery" />
          </el-form-item>
          <el-form-item label="检查项目" prop="jcxm">
            <el-input v-model="queryParams.jcxm" placeholder="请输入检查项目" clearable @keyup.enter.native="handleQuery" />
          </el-form-item>
          <el-form-item label="主要诊断" prop="zyzd">
            <el-input v-model="queryParams.zyzd" placeholder="请输入主要诊断" clearable @keyup.enter.native="handleQuery" />
          </el-form-item>
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
          </el-form-item>
        </el-form>
        <el-row :gutter="10" class="mb8">
          <el-col :span="1.5">
            <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
              v-hasPermi="['hosp:advicerules:add']">新增
            </el-button>
          </el-col>
          <el-col :span="1.5">
            <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
              v-hasPermi="['hosp:advicerules:edit']">修改
            </el-button>
          </el-col>
          <el-col :span="1.5">
            <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
              v-hasPermi="['hosp:advicerules:remove']">删除
            </el-button>
          </el-col>
          <!-- <el-col :span="1.5">
        <el-button
          type="warning"
          plain
@@ -101,47 +71,9 @@
          >导出
        </el-button>
      </el-col> -->
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
    </el-row>
    <el-row :gutter="20" style="display: flex">
      <el-col :span="3" :xs="24">
        <div class="head-container">
          <el-input
            v-model="xmmc"
            placeholder="请输入项目名"
            clearable
            size="small"
            prefix-icon="el-icon-search"
            style="margin-bottom: 20px"
          />
        </div>
        <div class="scrollable-container">
          <div class="content">
            <el-tree
              :data="deptOptions"
              :props="defaultProps"
              :expand-on-click-node="false"
              :filter-node-method="filterNode"
              ref="tree"
              node-key="id"
              :default-expanded-keys="treeId"
              highlight-current
              @node-click="handleNodeClick"
            />
          </div>
        </div>
      </el-col>
      <el-col :span="20" :xs="24">
        <el-table
          v-loading="loading"
          :data="advicerulesList"
          @selection-change="handleSelectionChange"
          height="520"
        >
          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
        </el-row>
        <el-table v-loading="loading" :data="advicerulesList" @selection-change="handleSelectionChange" height="520">
          <el-table-column type="selection" width="55" align="center" />
          <el-table-column label="序号" width="50" align="center">
            <template slot-scope="scope">
@@ -152,33 +84,10 @@
          <el-table-column label="编码" align="center" prop="bm" />
          <el-table-column label="科室" align="center" prop="ks" />
          <el-table-column label="检查项目" align="center" prop="jcxm" />
          <el-table-column
            label="主要诊断"
            align="center"
            :show-overflow-tooltip="true"
            width="120"
            prop="zyzd"
          />
          <el-table-column
            label="建议名称"
            align="center"
            :show-overflow-tooltip="true"
            width="150"
            prop="jymc"
          />
          <el-table-column
            label="建议内容"
            align="center"
            :show-overflow-tooltip="true"
            width="200"
            prop="jynr"
          />
          <el-table-column
            label="性别"
            align="center"
            prop="xb"
            :formatter="formatSex"
          />
          <el-table-column label="主要诊断" align="center" :show-overflow-tooltip="true" width="120" prop="zyzd" />
          <el-table-column label="建议名称" align="center" :show-overflow-tooltip="true" width="150" prop="jymc" />
          <el-table-column label="建议内容" align="center" :show-overflow-tooltip="true" width="200" prop="jynr" />
          <el-table-column label="性别" align="center" prop="xb" :formatter="formatSex" />
          <el-table-column label="范围" align="center" prop="fwz" />
          <el-table-column label="范围最小值" align="center" prop="fwzxz" />
          <el-table-column label="范围最大值" align="center" prop="fwzdz" />
@@ -189,51 +98,27 @@
          </el-table-column>
          <el-table-column label="是否慢性病" align="center" prop="sfmxb">
          </el-table-column>
          <el-table-column
            label="是否重大疾病"
            align="center"
            width="120"
            prop="sfzdjb"
          ></el-table-column>
          <el-table-column
            label="操作"
            align="center"
            class-name="small-padding fixed-width"
          >
          <el-table-column label="是否重大疾病" align="center" width="120" prop="sfzdjb"></el-table-column>
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
            <template slot-scope="scope">
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['hosp:advicerules:edit']"
              >
              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
                v-hasPermi="['hosp:advicerules:edit']">
              </el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleDelete(scope.row)"
                v-hasPermi="['hosp:advicerules:remove']"
              >
              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
                v-hasPermi="['hosp:advicerules:remove']">
              </el-button>
            </template>
          </el-table-column>
        </el-table>
        <div class="pag">
          <div class="pag1">
            <pagination
              v-show="total > 0"
              :total="total"
              :page.sync="queryParams.pageNum"
              :limit.sync="queryParams.pageSize"
              @pagination="getListByXmId"
            />
            <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
              :limit.sync="queryParams.pageSize" @pagination="getListByXmId" />
          </div>
        </div>
      </el-col>
    </el-row>
<!--
    <!--
    <pagination
      v-show="total > 0"
      :total="total"
@@ -243,70 +128,28 @@
    /> -->
    <!-- 添加或修改体检项目建议规则新表对话框 -->
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="1000px"
      append-to-body
      :close-on-click-modal="false"
    >
      <el-form
        ref="form"
        :model="form"
        :rules="rules"
        label-width="80px"
        :inline="true"
      >
    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false">
      <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true">
        <el-form-item label="科室" prop="ks">
          <el-select
            v-model="form.ks"
            placeholder="请选择科室"
            style="width: 200px"
            @change="idFn"
          >
            <el-option
              v-for="item in departmentOptions"
              :key="item.id"
              :label="item.label"
              :value="item.label"
            />
          <el-select v-model="form.ks" allow-create filterable placeholder="请选择科室" style="width: 200px" @change="idFn">
            <el-option v-for="item in departmentOptions" :key="item.id" :label="item.label" :value="item.label" />
          </el-select>
        </el-form-item>
        <el-form-item label="检查项目" prop="jcxm">
          <el-input
            v-model="form.jcxm"
            placeholder="请输入检查项目"
            style="width: 200px"
          />
          <el-input v-model="form.jcxm" placeholder="请输入检查项目" style="width: 200px" />
        </el-form-item>
        <el-form-item label="主要诊断" prop="zyzd">
          <el-input
            v-model="form.zyzd"
            placeholder="请输入主要诊断"
            style="width: 200px"
          />
          <el-input v-model="form.zyzd" placeholder="请输入主要诊断" style="width: 200px" />
        </el-form-item>
        <el-form-item label="范围" prop="fwz">
          <el-input
            v-model="form.fwz"
            placeholder="请输入范围"
            style="width: 200px"
          />
          <el-input v-model="form.fwz" placeholder="请输入范围" style="width: 200px" />
        </el-form-item>
        <el-form-item label="最小值" prop="fwzxz">
          <el-input
            v-model="form.fwzxz"
            style="width: 200px"
            placeholder="请输入范围最小值"
          />
          <el-input v-model="form.fwzxz" style="width: 200px" placeholder="请输入范围最小值" />
        </el-form-item>
        <el-form-item label="最大值" prop="fwzdz">
          <el-input
            v-model="form.fwzdz"
            style="width: 200px"
            placeholder="请输入范围最大值"
          />
          <el-input v-model="form.fwzdz" style="width: 200px" placeholder="请输入范围最大值" />
        </el-form-item>
        <el-form-item label="异常标志" prop="ycbz">
          <!-- <el-input
@@ -314,18 +157,8 @@
            style="width: 200px"
            placeholder="请输入异常标志"
          /> -->
          <el-select
            v-model="form.ycbz"
            placeholder="请选择异常标志"
            style="width: 200px"
            clearable
          >
            <el-option
              v-for="item in ycdata"
              :key="item.value"
              :label="item.label"
              :value="item.label"
            ></el-option>
          <el-select v-model="form.ycbz" placeholder="请选择异常标志" style="width: 200px" clearable>
            <el-option v-for="item in ycdata" :key="item.value" :label="item.label" :value="item.label"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="疾病" prop="sfjb">
@@ -333,66 +166,31 @@
          </el-checkbox>
        </el-form-item>
        <el-form-item label="常见病" prop="sfcjb">
          <el-checkbox
            v-model="form.sfcjb"
            true-label="是"
            false-label=""
          ></el-checkbox>
          <el-checkbox v-model="form.sfcjb" true-label="是" false-label=""></el-checkbox>
        </el-form-item>
        <el-form-item label="慢性病" prop="sfmxb">
          <el-checkbox
            v-model="form.sfmxb"
            true-label="是"
            false-label=""
          ></el-checkbox>
          <el-checkbox v-model="form.sfmxb" true-label="是" false-label=""></el-checkbox>
        </el-form-item>
        <el-form-item label="重大疾病" prop="sfzdjb">
          <el-checkbox
            v-model="form.sfzdjb"
            true-label="是"
            false-label=""
          ></el-checkbox>
          <el-checkbox v-model="form.sfzdjb" true-label="是" false-label=""></el-checkbox>
        </el-form-item>
        <el-form-item label="性别" prop="xb">
          <el-select
            v-model="form.xb"
            placeholder="请选择体检人性别"
            style="width: 200px"
            clearable
          >
            <el-option
              v-for="dict in dict.type.sys_user_sex"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          <el-select v-model="form.xb" placeholder="请选择体检人性别" style="width: 200px" clearable>
            <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="建议名称" prop="jymc" style="display: block">
          <el-input
            v-model="form.jymc"
            placeholder="请输入建议名称"
            style="width: 200px"
          />
          <el-input v-model="form.jymc" placeholder="请输入建议名称" style="width: 200px" />
        </el-form-item>
        <el-form-item label="建议内容" prop="jynr">
          <span
            slot="label"
            style="display: inline-block; border-bottom: 2px solid blue"
            @click="getDetailed"
          >
          <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="getDetailed">
            建议内容
          </span>
          <el-input
            v-if="key !== 'N'"
            style="width: 782px"
            type="textarea"
            :rows="3"
            v-model="form.jynr"
            placeholder="请输入建议内容"
          >
          <el-input v-if="key !== 'N'" style="width: 782px" type="textarea" :rows="3" v-model="form.jynr"
            placeholder="请输入建议内容">
          </el-input>
        </el-form-item>
      </el-form>
@@ -402,25 +200,10 @@
      </div>
    </el-dialog>
    <el-dialog
      :title="upload.title"
      :visible.sync="upload.open"
      width="400px"
      append-to-body
    >
      <el-upload
        ref="upload"
        :limit="1"
        accept=".xlsx, .xls"
        :headers="upload.headers"
        :data="data"
        :action="upload.url"
        :disabled="upload.isUploading"
        :on-progress="handleFileUploadProgress"
        :on-success="handleFileSuccess"
        :auto-upload="false"
        drag
      >
    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
      <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :data="data"
        :action="upload.url" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress"
        :on-success="handleFileSuccess" :auto-upload="false" drag>
        <i class="el-icon-upload"></i>
        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
        <div class="el-upload__tip text-center" slot="tip">
@@ -445,87 +228,32 @@
    </el-dialog>
    <!-- 建议内容及建议名称弹框 -->
    <el-dialog
      title="建议内容"
      :visible.sync="dialogTableVisible"
      width="80%"
      :close-on-click-modal="false"
      @close="clearForm"
    >
    <el-dialog title="建议内容" :visible.sync="dialogTableVisible" width="80%" :close-on-click-modal="false"
      @close="clearForm">
      <div class="app-container">
        <el-form
          :model="form"
          ref="queryForm"
          size="small"
          :inline="true"
          v-show="showSearch"
          label-width="68px"
        >
        <el-form :model="form" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
          <el-form-item label="标题" prop="title">
            <el-input
              v-model="queryParam1.bt"
              placeholder="请输入标题"
              clearable
              @keyup.enter.native="handlecharge"
            />
            <el-input v-model="queryParam1.bt" placeholder="请输入标题" clearable @keyup.enter.native="handlecharge" />
          </el-form-item>
          <el-form-item label="建议内容" prop="jynr">
            <el-input
              v-model="queryParam1.nr"
              placeholder="请输入建议"
              clearable
              @keyup.enter.native="handlecharge"
            />
            <el-input v-model="queryParam1.nr" placeholder="请输入建议" clearable @keyup.enter.native="handlecharge" />
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handlecharge"
              >搜索</el-button
            >
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handlecharge">搜索</el-button>
          </el-form-item>
        </el-form>
        <el-table
          v-loading="loading"
          :data="adviceList"
          ref="tb"
          @selection-change="handleSelectionChange1"
          border
        >
        <el-table v-loading="loading" :data="adviceList" ref="tb" @selection-change="handleSelectionChange1" border>
          <el-table-column type="selection" align="center" fixed />
          <el-table-column
            label="序号"
            align="center"
            width="60"
            prop="newID"
          />
          <el-table-column
            label="标题"
            align="center"
            prop="title"
            width="120"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="建议"
            align="center"
            prop="advice"
            :show-overflow-tooltip="true"
          />
          <el-table-column label="序号" align="center" width="60" prop="newID" />
          <el-table-column label="标题" align="center" prop="title" width="120" :show-overflow-tooltip="true" />
          <el-table-column label="建议" align="center" prop="advice" :show-overflow-tooltip="true" />
        </el-table>
        <div class="pag">
          <div class="pag1">
            <pagination
              v-show="total > 0"
              :total="total"
              :page.sync="queryParam1.page"
              :limit.sync="queryParam1.pageSize"
              @pagination="getlistJynr"
            />
            <pagination v-show="total > 0" :total="total" :page.sync="queryParam1.page"
              :limit.sync="queryParam1.pageSize" @pagination="getlistJynr" />
          </div>
        </div>
      </div>
@@ -739,6 +467,15 @@
          this.form.ks = item.label;
        }
      });
      // 如果输入的值不在选项中,自动添加到列表
      if (!this.departmentOptions.some(item => item.value === value)) {
        this.departmentOptions.push({
          value: value,
          label: value
        });
      }
    },
    // 取消按钮
    cancel() {
@@ -966,6 +703,16 @@
</script>
<style scoped>
.pag {
  width: 100%;
  display: flex;
  justify-content: center;
}
.pag1 {
  width: 60%;
}
.scrollable-container {
  width: 200px;
  height: 520px;
src/views/system/zhiye/index.vue
@@ -222,22 +222,7 @@
            <el-form-item label="查体分类" prop="examCategory" label-width="99px">
              <el-input :disabled="isDisabled" v-model="form.examCategory" placeholder="请输入查体分类" />
            </el-form-item>
            <el-form-item label="接害工龄年" prop="hazardYears" label-width="104px">
              <el-input :disabled="isDisabled" v-model="form.hazardYears" placeholder="请输入接害工龄年" type="number" />
            </el-form-item>
            <el-form-item label="接害工龄月" prop="hazardMonths" label-width="106px">
              <el-input :disabled="isDisabled" v-model="form.hazardMonths" placeholder="请输入接害工龄月" type="number" />
            </el-form-item>
            <el-form-item label="开始接害日期" prop="hazardStartDate" label-width="100px">
              <el-date-picker :disabled="isDisabled" clearable v-model="form.hazardStartDate" type="date"
                value-format="yyyy-MM-dd" placeholder="请选择开始接害日期" style="width: 93%" />
            </el-form-item>
            <el-form-item label="工号" label-width="103px">
              <el-input :disabled="isDisabled" v-model="form.wenHua" placeholder="请输入工号" />
            </el-form-item>
            <el-form-item label="车间" label-width="106px">
              <el-input :disabled="isDisabled" v-model="form.wenHua" placeholder="请输入车间" />
            </el-form-item>
          </el-form>
          <el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="106px"
            v-show="top">
@@ -466,6 +451,7 @@
                <span slot="label"> 证件号码 </span>
                <el-input :disabled="isDisabled" v-model="form.cusIdcard" placeholder="请输入身份证号" @input="inputChange" />
              </el-form-item>
              <el-form-item label="单位名称" prop="firmName">
                <el-select v-model="form.firmName" remote default-first-option allow-create filterable
                  style="width: 200px" placeholder="请选择单位名称" clearable @change="idFn1" @clear="clear">
@@ -477,7 +463,7 @@
              </el-form-item>
              <el-form-item label="体检类型">
                <el-select v-model="form.tjType" placeholder="请选择体检类型">
                  <el-option v-for="dict in dict.type.dict_team" :key="dict.value" :label="dict.label"
                  <el-option v-for="dict in filteredDictTeam" :key="dict.value" :label="dict.label"
                    :value="dict.value"></el-option>
                </el-select>
              </el-form-item>
@@ -500,6 +486,22 @@
              <el-form-item label="实收金额">
                <el-input placeholder="实收金额" v-model="TotalPrice" style="width: 206px" @input="changeXianjia"
                  @blur="numberChangeXianPrice(discount, discount)" />
              </el-form-item>
              <el-form-item label="接害工龄年" prop="zhiyeJhgln" label-width="84px">
                <el-input  v-model="form.zhiyeJhgln"  type="number" style="width: 140px"/>
              </el-form-item>
              <el-form-item label="接害工龄月" prop="zhiyeJhgln" label-width="84px">
                <el-input  v-model="form.zhiyeJhgly" style="width: 140px" type="number" />
              </el-form-item>
              <el-form-item label="开始接害日期" prop="zhiyeKsjhrq" label-width="100px">
                <el-date-picker clearable v-model="form.zhiyeKsjhrq" type="date"
                  value-format="yyyy-MM-dd" style="width: 200px" />
              </el-form-item>
              <el-form-item label="工号" label-width="50px">
                <el-input  v-model="form.zhiyeGh"  />
              </el-form-item>
              <el-form-item label="车间" label-width="106px">
                <el-input  v-model="form.zhiyeCj" />
              </el-form-item>
              <br />
@@ -753,13 +755,13 @@
  getfindTj,
  getByTjNum,
} from "@/api/hosp/customer";
import { getPrintSetUp } from "@/api/system/examcharge";
import cnchar from 'cnchar';
import {
  tuantiSelect,
  deptTreeSelect,
  projectGetList,
  getOrder,
  getOrderzhiye,
  getProParentIdDxList,
  getProSonDxList,
  getCusIdcard,
@@ -804,6 +806,7 @@
  },
  data() {
    return {
      tjLei: [],
      isSubmitting: false,
      open1: false,
      filterage: "",
@@ -1013,9 +1016,11 @@
      form: {
        educationLevel: "", // 文化程度
        examCategory: "", // 查体分类
        hazardYears: "", // 接害工龄年
        hazardMonths: "", // 接害工龄月
        hazardStartDate: "", // 开始接害日期
        zhiyeJhgln: "", // 接害工龄年
        zhiyeJhgly: "", // 接害工龄月
        zhiyeKsjhrq: "", // 开始接害日期
        zhiyeGh: "", // 工号
        zhiyeCj: "", // 车间
        cusIdcard: "",
        tjType: "",
        cusSex: 1,
@@ -1083,6 +1088,14 @@
      this.$refs.treas.filter(val);
    },
  },
  computed: {
    filteredDictTeam() {
      // 过滤 dict.type.dict_team,只保留 value 在 tjLei 中的项
      return this.dict.type.dict_team.filter(dict =>
        this.tjLei.includes(dict.value.toString())
      );
    }
  },
  created() {
    this.getCompanyList();
@@ -1096,6 +1109,13 @@
    this.TreedataList = [];
    this.DataList = [];
    this.marryall = 0;
    getconfigKey("zhiye_tj_type").then((res) => {
      if (res.code === 200) {
        const values = res.msg.split(",");
        this.tjLei.push(...values);
      }
    });
  },
  methods: {
    handleIdCardInput(value) {
@@ -1266,9 +1286,9 @@
      }
      if (this.form.firmName) {
        this.form.tjType = this.dict.type.dict_team[1].value;
        this.form.tjType = "6";
      } else {
        this.form.tjType = this.dict.type.dict_team[0].value;
        this.form.tjType = "5";
      }
    },
@@ -1627,6 +1647,12 @@
        deleted: null,
        firmid: "",
        firmDeptName: "",
        examCategory: "", // 查体分类
        zhiyeJhgln: "", // 接害工龄年
        zhiyeJhgly: "", // 接害工龄月
        zhiyeKsjhrq: "", // 开始接害日期
        zhiyeGh: "", // 工号
        zhiyeCj: "", // 车间
      };
      this.resetForm("form");
    },
@@ -1754,14 +1780,11 @@
            if (formData.cusSex === "未知") {
              formData.cusSex = 2;
            }
            if (formData.tjType === "") {
              formData.tjType = this.dict.type.dict_team[0].value;
            }
            addCustomer(formData).then((response) => {
              this.responseList = response.data;
              this.form.tjType = this.dict.type.dict_team[0].value;
              this.form.tjType = '';
              this.$modal.msgSuccess("新增成功");
              _this.tcShow = true;
              _this.isDisabled = true;
@@ -1797,7 +1820,7 @@
              this.discount = this.form.discount;
            }
            if (this.form.tjType === null) {
              this.form.tjType = this.dict.type.dict_team[0].value;
              this.form.tjType = null;
            }
            if (this.form.cusMarryStatus === "null") {
              this.form.cusMarryStatus = "5";
@@ -1808,12 +1831,7 @@
            if (this.form.reservationId != null) {
              if (this.form.groupingId) {
                this.form.firmName = this.form.compName;
                this.dict.type.dict_team.forEach((item) => {
                  if (item.label == "团队") {
                    this.form.tjType = item.value;
                  }
                })
                // this.form.tjType = this.dict.type.dict_team[1].value;
                this.CompanyList.forEach((item) => {
                  if (item.cnName == this.form.firmName) {
                    this.form.firmId = item.drugManufacturerId;
@@ -3078,7 +3096,7 @@
          };
        }
        getOrder(data).then((res) => {
        getOrderzhiye(data).then((res) => {
          this.$modal.msgSuccess("提交成功");
          this.tjNumbers = res.msg;
          this.charge = true;
@@ -3128,14 +3146,17 @@
          cusPhone: item.tjPhone,
          cusSex: item.sex === "男" ? "0" : "1",
        };
        // 动态从filteredDictTeam获取tjType
        const dictItem = this.filteredDictTeam.find(dict => dict.label === item.tjType);
        const tjTypeValue = dictItem ? dictItem.value : (this.filteredDictTeam.length > 0 ? this.filteredDictTeam[0].value : "0"); // 回退到第一个值或默认"0"
        if (item.tjComp != null) {
          this.standard = {
            company: item.tjComp,
            tjType: item.tjType === "团队" ? "1" : "2",
            tjType: tjTypeValue,
          };
        } else {
          this.standard = {
            tjType: item.tjType === "团队" ? "1" : "2",
            tjType: tjTypeValue,
          };
        }
      });
@@ -3166,19 +3187,15 @@
                this.formInline.paidIn = item.proPrice;
              }
            });
            const r = /^\+?[0-9][0-9]*$/; //正整数(可以以打头)
            //const r=/^\+?[1-9][0-9]*$/;//正整数
            const r = /^\+?[0-9][0-9]*$/; // 正整数
            if (r.test(this.formInline.paidIn)) {
              this.formInline.paidIn = this.formInline.paidIn + ".00";
            }
            this.discount =
              (this.formInline.paidIn / this.formInline.price) * 10;
            this.discount = (this.formInline.paidIn / this.formInline.price) * 10;
          } else {
            this.discount = 10;
            this.formInline.paidIn = "0.00";
          }
          this.total = response.data.total;
        } else {
          this.tableList = [];
@@ -3252,7 +3269,7 @@
    },
    listgetOrder(data) {
      getOrder(data).then((res) => {
      getOrderzhiye(data).then((res) => {
        this.$modal.msgSuccess("提交成功");
        //调接口显示导检单
        const tjNumber = res.msg;
@@ -3336,6 +3353,10 @@
                firmId: this.form.firmId,
                firmName: this.form.firmName,
                firmDeptName: this.form.firmDeptName,
                zhiyeJhgly: this.form.zhiyeJhgly,
                zhiyeKsjhrq: this.form.zhiyeKsjhrq,
                zhiyeGh: this.form.zhiyeGh,
                zhiyeCj: this.form.zhiyeCj
              };
              this.listgetOrder(data);
@@ -3350,6 +3371,12 @@
                firmId: this.form.firmId,
                firmName: this.form.firmName,
                firmDeptName: this.form.firmDeptName,
                zhiyeJhgly: this.form.zhiyeJhgly,
                zhiyeKsjhrq: this.form.zhiyeKsjhrq,
                zhiyeGh: this.form.zhiyeGh,
                zhiyeCj: this.form.zhiyeCj
              };
              this.listgetOrder(data);
            } else {