BMI
wwl
昨天 d4be39fedaed04b0f1f34808dc55369ed5b94e21
BMI
4个文件已修改
438 ■■■■ 已修改文件
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/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/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 {