131c012530f465da4fe376a3ff78997102af95a5..c75699ddaed0b8c12d381c17baee193936f806e4
3 天以前 qx
Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb_region
c75699 对比 | 目录
3 天以前 qx
qx
531edd 对比 | 目录
3 天以前 lkk
11
17ba25 对比 | 目录
4个文件已修改
991 ■■■■ 已修改文件
src/api/hosp/history.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/jianqianwenzhen/index.vue 914 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/comp/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/hosp/history.js
@@ -59,3 +59,11 @@
    })
}
// 删除职业症状或职业病史接口
export function removeAskHistorys(historyId) {
    return request({
        url: '/hosp/history/removeAskHistorys',
        method: 'post',
        data: historyId
    })
}
src/components/jianqianwenzhen/index.vue
@@ -1,47 +1,271 @@
<template>
  <div>
    <span class="txt"></span>
    <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true" size="mini">
    <el-form
      ref="form"
      :model="form"
      :rules="rules"
      label-width="100px"
      :inline="true"
      size="mini"
    >
      <el-collapse class="coll" v-model="activeName" accordion>
        <el-collapse-item class="coll" title="基本信息" name="1" style="width: 900px; font-weight: 600">
        <el-collapse-item
          class="coll"
          title="基本信息"
          name="1"
          style="width: 900px; font-weight: 600"
        >
          <div style="width: 900px">
            <el-form-item label="姓名" prop="cusName">
              <el-input v-model="form.cusName" placeholder="请输入姓名" />
            </el-form-item>
            <el-form-item label="职业" prop="work">
              <el-select filterable v-model="form.work" placeholder="请选择职业" clearable style="width: 150px">
                <el-option v-for="dict in dict.type.tj_work" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              <el-select
                filterable
                v-model="form.work"
                placeholder="请选择职业"
                clearable
                style="width: 150px"
              >
                <el-option
                  v-for="dict in dict.type.tj_work"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="工作状态" prop="workStatus">
              <el-select filterable v-model="form.workStatus" placeholder="请选择工作状态" clearable style="width: 150px">
                <el-option v-for="dict in dict.type.tj_work_status" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              <el-select
                filterable
                v-model="form.workStatus"
                placeholder="请选择工作状态"
                clearable
                style="width: 150px"
              >
                <el-option
                  v-for="dict in dict.type.tj_work_status"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="工种" prop="gongZhong">
              <el-input v-model="form.gongZhong" placeholder="请输入工种" />
            </el-form-item>
            <el-form-item label="工龄" prop="gongLing">
              <!-- <el-input v-model="form.cusName" placeholder="请输入工龄" style="width: 150px" />年 -->
              <el-input-number v-model="form.gongLing" label="请输入工龄"></el-input-number>年
            <el-form-item label="单位名称" prop="dwmc">
              <el-input
                v-model="form.dwmc"
                placeholder="请输入单位名称"
                style="width: 710px"
              />
            </el-form-item>
            <el-form-item label="接触毒物" prop="contactPoison">
            <el-form-item label="用工单位" prop="ygdw">
              <el-input
                v-model="form.ygdw"
                placeholder="请输入用工单位"
                style="width: 710px"
              />
            </el-form-item>
            <el-form-item label="总工龄" prop="gongLing">
              <!-- <el-input v-model="form.cusName" placeholder="请输入工龄" style="width: 150px" />年 -->
              <el-input-number
                v-model="form.gongLing"
                label="请输入总工龄"
              ></el-input-number
              >年
            </el-form-item>
            <el-form-item
              label="接触有害物工龄"
              prop="zgongLing"
              label-width="150px"
            >
              <!-- <el-input v-model="form.cusName" placeholder="请输入工龄" style="width: 150px" />年 -->
              <el-input-number
                v-model="form.zgongLing"
                label="请输入接触有害物工龄"
              ></el-input-number
              >年
            </el-form-item>
            <el-form-item label="是否复诊" prop="">
              <el-radio-group v-model="radio">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="2">否</el-radio>
              </el-radio-group>
            </el-form-item>
            <!--  <el-form-item label="接触毒物" prop="contactPoison">
              <el-input @focus="change" type="textarea" rows="4" v-model="form.contactPoison" placeholder="请输入接触毒物"
                style="width: 700px" />
            </el-form-item> -->
            <el-form-item label="体检危害因素" prop="tjwhyx">
              <el-select
                filterable
                v-model="form.tjwhyx"
                placeholder="请选择体检危害因素"
                clearable
                style="width: 180px"
              >
                <el-option
                  v-for="dict in dict.type.tj_work_status"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="既往病史" prop="medicalHistory">
              <el-input @focus="changemedicalhistory" type="textarea" rows="4" v-model="form.medicalHistory"
                placeholder="请输入既往病史" style="width: 700px" />
            <el-form-item
              label="接触危害因素"
              prop="tcwhyx"
              style="margin-left: 30px"
            >
              <el-select
                filterable
                v-model="form.tcwhyx"
                placeholder="请选择接触危害因素"
                clearable
                style="width: 180px"
              >
                <el-option
                  v-for="dict in dict.type.tj_work_status"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="症状" prop="zzsjj">
            <el-form-item label="既往病史" prop="mediHistoryq">
              <el-select
                v-model="form.mediHistoryq"
                multiple
                allow-create
                filterable
                placeholder="请选择或输入既往病史"
                style="width: 700px"
              >
                <!-- <el-option
                  v-for="item in rulesList"
                  :key="item.id"
                  :label="item.icdname"
                  :value="item.icdname"
                /> -->
                <el-option
                  v-for="item in rulesList"
                  :key="item.id"
                  :label="item.icdname"
                  :value="item.id"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="既往病史" prop="medicalHistoryOther">
              <el-input
                type="textarea"
                rows="4"
                v-model="form.medicalHistoryOther"
                placeholder="请输入既往病史"
                style="width: 700px"
              />
            </el-form-item>
            <!-- <el-form-item label="症状" prop="zzsjj">
              <el-select multiple filterable  v-model="form.zzsjj" placeholder="请选择症状" clearable style="width: 700px">
                <el-option v-for="dict in zhenghuzangList" :key="dict.id" :label="dict.proName" :value="dict.proName" />
              </el-select>
            </el-form-item>
            </el-form-item> -->
          </div>
        </el-collapse-item>
        <el-collapse-item title="职业症状" name="6">
          <div style="width: 900px">
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button
                  type="primary"
                  icon="el-icon-plus"
                  size="mini"
                  @click="addzj()"
                  >添加
                </el-button>
              </el-col>
              <el-col :span="1.5">
                <el-button
                  type="danger"
                  icon="el-icon-delete"
                  size="mini"
                  @click="delezz()"
                  >删除
                </el-button>
              </el-col>
            </el-row>
            <el-table
              border
              :data="form.zhiyezzList"
              ref="zhiyezzList"
              style="width: 98%"
              @selection-change="handlezzChange"
            >
              <el-table-column type="selection" width="40" align="center" />
              <el-table-column
                label="序号"
                width="80"
                align="center"
                type="index"
                :index="indexMethod"
              />
              <el-table-column label="症状名称" prop="name" align="center">
                <template slot-scope="scope">
                  <el-select
                    :remote-method="getZzData"
                    v-model="scope.row.diseaseName"
                    remote
                    filterable
                    placeholder="请选择症状名称"
                    clearable
                    @change="zz"
                  >
                    <el-option
                      v-for="dict in zhenghuzangList"
                      :key="dict.id"
                      :label="dict.proName"
                      :value="dict.proName"
                    />
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column
                label="症状日期"
                width="160"
                prop="diseaseData"
                align="center"
              >
                <template slot-scope="scope">
                  <el-date-picker
                    size="mini"
                    v-model="scope.row.diseaseData"
                    align="right"
                    type="date"
                    placeholder="选择日期"
                    :picker-options="pickerOptions"
                    style="width: 130px"
                    value-format="yyyy-MM-dd"
                  >
                  </el-date-picker>
                </template>
              </el-table-column>
              <el-table-column label="备注" prop="bz" align="center">
                <template slot-scope="scope">
                  <el-input
                    size="mini"
                    v-model="scope.row.bz"
                    placeholder="请输入备注"
                  />
                </template>
              </el-table-column>
            </el-table>
          </div>
        </el-collapse-item>
        <el-collapse-item title="月经史" name="2" v-show="sex">
          <div style="width: 900px">
            <el-form-item label="初潮(岁)" prop="chuchao">
@@ -57,10 +281,23 @@
              <el-input v-model="form.mociage" style="width: 100px" />
            </el-form-item>
            <el-form-item label="是否异常" prop="yjsfyc">
              <el-select filterable v-model="form.yjsfyc" placeholder="请选择是否异常" clearable style="width: 150px">
                <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              <el-select
                filterable
                v-model="form.yjsfyc"
                placeholder="请选择是否异常"
                clearable
                style="width: 150px"
              >
                <el-option
                  v-for="dict in dict.type.sys_yes_no"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="月经异常描述" prop="ycms">
              <el-input v-model="form.ycms" style="width: 490px" />
            </el-form-item>
          </div>
        </el-collapse-item>
@@ -87,21 +324,45 @@
          <div style="width: 900px">
            <el-form-item label="是否吸烟" prop="xiyan">
              <!-- <el-input v-model="form.xiyanpinlv" placeholder="请输入吸烟频率" /> -->
              <el-select filterable v-model="form.xiyan" placeholder="请选择是否吸烟" clearable style="width: 150px">
                <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              <el-select
                filterable
                v-model="form.xiyan"
                placeholder="请选择是否吸烟"
                clearable
                style="width: 150px"
              >
                <el-option
                  v-for="dict in dict.type.tj_smoking_pinlv"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="吸烟频率" prop="xiyanpinlv">
              <el-input v-model="form.xiyanpinlv" style="width: 70px" />支/天
            </el-form-item>
            <el-form-item label="吸烟时间" prop="xiyanyear">
              <el-input v-model="form.xiyanyear" style="width: 70px" />年 </el-form-item><br />
              <el-input
                v-model="form.xiyanyear"
                style="width: 70px"
              />年 </el-form-item
            ><br />
            <el-form-item label="是否饮酒" prop="yinjiu">
              <!-- <el-input v-model="form.yinjiupinlv" placeholder="请输入饮酒频率" /> -->
              <el-select filterable v-model="form.yinjiu" placeholder="请选择是否饮酒" clearable style="width: 150px">
                <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              <el-select
                filterable
                v-model="form.yinjiu"
                placeholder="请选择是否饮酒"
                clearable
                style="width: 150px"
              >
                <el-option
                  v-for="dict in dict.type.tj_smoking_pinlv"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="饮酒频率" prop="yinjiupinlv">
@@ -111,11 +372,157 @@
              <el-input v-model="form.yinjiuyear" style="width: 70px" />年
            </el-form-item>
            <el-form-item label="其他" prop="qita">
              <el-input v-model="form.qita" placeholder="请输入其他" type="textarea" style="width: 600px" rows="2" />
              <el-input
                v-model="form.qita"
                placeholder="请输入其他"
                type="textarea"
                style="width: 600px"
                rows="2"
              />
            </el-form-item>
          </div>
        </el-collapse-item>
        <el-collapse-item title="职业病" name="5" v-show="zhiyebingshi">
        <el-collapse-item title="职业病史" name="5" v-show="zhiyebingshi">
          <div style="width: 900px">
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button
                  type="primary"
                  icon="el-icon-plus"
                  size="mini"
                  @click="addmembers()"
                  >添加
                </el-button>
              </el-col>
              <el-col :span="1.5">
                <el-button
                  type="danger"
                  icon="el-icon-delete"
                  size="mini"
                  @click="delemembers()"
                  >删除
                </el-button>
              </el-col>
            </el-row>
            <el-table
              border
              :data="form.tjAskHistorysList"
              ref="tjAskHistorys"
              style="width: 98%"
              @selection-change="handlebingChange"
            >
              <el-table-column type="selection" width="40" align="center" />
              <el-table-column label="疾病类型" prop="type">
                <template slot-scope="scope">
                  <el-select
                    v-model="scope.row.type"
                    remote
                    filterable
                    placeholder="请选择疾病类型"
                    clearable
                  >
                    <el-option
                      v-for="item in options"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    />
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="疾病id" prop="icdId" v-if="false">
                <el-select
                  :remote-method="getRemoteData"
                  v-model="icdId"
                  remote
                  filterable
                  placeholder="请选择病种名"
                  clearable
                >
                  <el-option
                    v-for="dict in rulesList"
                    :key="dict.id"
                    :label="dict.icdname"
                    :value="dict.id"
                  />
                </el-select>
              </el-table-column>
              <el-table-column label="疾病名称" prop="diseaseName">
                <template slot-scope="scope">
                  <el-select
                    :remote-method="getRemoteData"
                    v-model="scope.row.diseaseName"
                    remote
                    filterable
                    placeholder="请选择病种名"
                    clearable
                    @change="jibing"
                  >
                    <el-option
                      v-for="dict in rulesList"
                      :key="dict.id"
                      :label="dict.icdname"
                      :value="dict.icdname"
                    />
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="诊断日期" prop="diseaseData">
                <template slot-scope="scope">
                  <el-date-picker
                    size="mini"
                    v-model="scope.row.diseaseData"
                    align="right"
                    type="date"
                    placeholder="选择日期"
                    :picker-options="pickerOptions"
                    style="width: 130px"
                    value-format="yyyy-MM-dd"
                  >
                  </el-date-picker>
                </template>
              </el-table-column>
              <el-table-column label="诊断单位" prop="diseaseCompany">
                <template slot-scope="scope">
                  <el-input
                    size="mini"
                    v-model="scope.row.diseaseCompany"
                    placeholder="请输入诊断单位"
                  />
                </template>
              </el-table-column>
              <el-table-column label="是否痊愈" prop="isOk">
                <template slot-scope="scope">
                  <!-- <el-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                  <el-select
                    filterable
                    size="mini"
                    v-model="scope.row.isOk"
                    placeholder="请选择是否痊愈"
                    clearable
                  >
                    <el-option
                      v-for="dict in dict.type.sys_yes_no"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    />
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="备注" prop="remark">
                <template slot-scope="scope">
                  <el-input
                    size="mini"
                    v-model="scope.row.remark"
                    placeholder="请输入备注"
                  />
                </template>
              </el-table-column>
            </el-table>
          </div>
        </el-collapse-item>
        <!--  <el-collapse-item title="既往病史" name="5" v-show="jiwangbingshi">
          <div style="width: 900px">
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
@@ -130,39 +537,21 @@
            <el-table border :data="form.tjAskHistorysList" ref="tjAskHistorys" style="width: 98%"
              @selection-change="handlebingChange">
              <el-table-column type="selection" width="40" align="center" />
              <!-- <el-table-column
            label="序号"
            align="center"
            prop="index"
            width="50"
          /> -->
              <el-table-column label="疾病类型" prop="type">
                <template slot-scope="scope">
                  <!-- <el-input
                    size="mini"
                    v-model="scope.row.diseaseName"
                    placeholder="请输入疾病名称"
                  /> -->
                  <el-select v-model="scope.row.type" remote filterable placeholder="请选择疾病类型" clearable>
                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="疾病id" prop="icdId" v-if="false">
                <!-- <template slot-scope="scope"> -->
                <el-select :remote-method="getRemoteData" v-model="icdId" remote filterable placeholder="请选择病种名"
                  clearable>
                  <el-option v-for="dict in rulesList" :key="dict.id" :label="dict.icdname" :value="dict.id" />
                </el-select>
                <!-- </template> -->
              </el-table-column>
              <el-table-column label="疾病名称" prop="diseaseName">
                <template slot-scope="scope">
                  <!-- <el-input
                    size="mini"
                    v-model="scope.row.diseaseName"
                    placeholder="请输入疾病名称"
                  /> -->
                  <el-select :remote-method="getRemoteData" v-model="scope.row.diseaseName" remote filterable
                    placeholder="请选择病种名" clearable @change="jibing">
                    <el-option v-for="dict in rulesList" :key="dict.id" :label="dict.icdname" :value="dict.icdname" />
@@ -171,10 +560,6 @@
              </el-table-column>
              <el-table-column label="诊断日期" prop="diseaseData">
                <template slot-scope="scope">
                  <!-- <el-input
                v-model="scope.row.diseaseData"
                placeholder="请输入诊断日期"
              /> -->
                  <el-date-picker size="mini" v-model="scope.row.diseaseData" align="right" type="date"
                    placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px" value-format="yyyy-MM-dd">
                  </el-date-picker>
@@ -187,7 +572,6 @@
              </el-table-column>
              <el-table-column label="是否痊愈" prop="isOk">
                <template slot-scope="scope">
                  <!-- <el-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                  <el-select filterable size="mini" v-model="scope.row.isOk" placeholder="请选择是否痊愈" clearable>
                    <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
                      :value="dict.value" />
@@ -201,96 +585,9 @@
              </el-table-column>
            </el-table>
          </div>
        </el-collapse-item>
        <el-collapse-item title="既往病史" name="5" v-show="jiwangbingshi">
          <div style="width: 900px">
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button type="primary" icon="el-icon-plus" size="mini" @click="addmembers()">添加
                </el-button>
              </el-col>
              <el-col :span="1.5">
                <el-button type="danger" icon="el-icon-delete" size="mini" @click="delemembers()">删除
                </el-button>
              </el-col>
            </el-row>
            <el-table border :data="form.tjAskHistorysList" ref="tjAskHistorys" style="width: 98%"
              @selection-change="handlebingChange">
              <el-table-column type="selection" width="40" align="center" />
              <!-- <el-table-column
            label="序号"
            align="center"
            prop="index"
            width="50"
          /> -->
              <el-table-column label="疾病类型" prop="type">
                <template slot-scope="scope">
                  <!-- <el-input
                    size="mini"
                    v-model="scope.row.diseaseName"
                    placeholder="请输入疾病名称"
                  /> -->
                  <el-select v-model="scope.row.type" remote filterable placeholder="请选择疾病类型" clearable>
                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="疾病id" prop="icdId" v-if="false">
                <!-- <template slot-scope="scope"> -->
                <el-select :remote-method="getRemoteData" v-model="icdId" remote filterable placeholder="请选择病种名"
                  clearable>
                  <el-option v-for="dict in rulesList" :key="dict.id" :label="dict.icdname" :value="dict.id" />
                </el-select>
                <!-- </template> -->
              </el-table-column>
              <el-table-column label="疾病名称" prop="diseaseName">
                <template slot-scope="scope">
                  <!-- <el-input
                    size="mini"
                    v-model="scope.row.diseaseName"
                    placeholder="请输入疾病名称"
                  /> -->
                  <el-select :remote-method="getRemoteData" v-model="scope.row.diseaseName" remote filterable
                    placeholder="请选择病种名" clearable @change="jibing">
                    <el-option v-for="dict in rulesList" :key="dict.id" :label="dict.icdname" :value="dict.icdname" />
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="诊断日期" prop="diseaseData">
                <template slot-scope="scope">
                  <!-- <el-input
                v-model="scope.row.diseaseData"
                placeholder="请输入诊断日期"
              /> -->
                  <el-date-picker size="mini" v-model="scope.row.diseaseData" align="right" type="date"
                    placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px" value-format="yyyy-MM-dd">
                  </el-date-picker>
                </template>
              </el-table-column>
              <el-table-column label="诊断单位" prop="diseaseCompany">
                <template slot-scope="scope">
                  <el-input size="mini" v-model="scope.row.diseaseCompany" placeholder="请输入诊断单位" />
                </template>
              </el-table-column>
              <el-table-column label="是否痊愈" prop="isOk">
                <template slot-scope="scope">
                  <!-- <el-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                  <el-select filterable size="mini" v-model="scope.row.isOk" placeholder="请选择是否痊愈" clearable>
                    <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
                      :value="dict.value" />
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="备注" prop="remark">
                <template slot-scope="scope">
                  <el-input size="mini" v-model="scope.row.remark" placeholder="请输入备注" />
                </template>
              </el-table-column>
            </el-table>
          </div>
        </el-collapse-item>
        </el-collapse-item> -->
        <el-collapse-item title="职业史" name="7" v-show="zhiye">
        <!-- <el-collapse-item title="职业史" name="7" v-show="zhiye">
          <div style="width: 900px">
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
@@ -304,12 +601,6 @@
            </el-row>
            <el-table border :data="form.workLogs" style="width: 98%" @selection-change="handlezhiyeChange">
              <el-table-column type="selection" width="40" align="center" />
              <!-- <el-table-column
            label="序号"
            align="center"
            prop="index"
            width="50"
          /> -->
              <el-table-column label="开始时间" prop="beginTime">
                <template slot-scope="scope">
                  <el-date-picker size="mini" v-model="scope.row.beginTime" align="right" type="date" placeholder="选择日期"
@@ -341,7 +632,6 @@
              </el-table-column>
              <el-table-column label="有害因素" prop="harmTypeLogs">
                <template slot-scope="scope">
                  <!-- <el-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                  <el-select filterable size="mini" v-model="scope.row.harmTypeLogs" multiple placeholder="请选择有害因素"
                    clearable>
                    <el-option v-for="dict in harmTypeList" :key="dict.aid" :label="dict.harmType" :value="dict.aid" />
@@ -355,20 +645,36 @@
              </el-table-column>
            </el-table>
          </div>
        </el-collapse-item>
        </el-collapse-item> -->
      </el-collapse>
    </el-form>
    <div slot="footer" class="dialog-footer">
      <el-button type="primary" @click="submitForm" style="margin-top: 10px" :disabled="isdisabled">提交</el-button>
      <el-button
        type="primary"
        @click="submitForm"
        style="margin-top: 10px"
        :disabled="isdisabled"
        >提交</el-button
      >
    </div>
    <el-dialog title="接触毒物" :visible.sync="dialogTableVisible">
      <el-table :data="gridData" ref="multipleTable" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55">
        </el-table-column>
        <el-table-column property="date" label="序号" width="150"></el-table-column>
        <el-table-column property="value" label="毒物" width="200"></el-table-column>
      <el-table
        :data="gridData"
        ref="multipleTable"
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column
          property="date"
          label="序号"
          width="150"
        ></el-table-column>
        <el-table-column
          property="value"
          label="毒物"
          width="200"
        ></el-table-column>
      </el-table>
      <div slot="footer" class="dialog-footer">
@@ -378,11 +684,22 @@
    </el-dialog>
    <el-dialog title="既往病史" :visible.sync="dialogHistoryVisible">
      <el-table :data="historyData" ref="historyTable" @selection-change="handleHistoryChange">
        <el-table-column type="selection" width="55">
        </el-table-column>
        <el-table-column property="date" label="序号" width="150"></el-table-column>
        <el-table-column property="value" label="毒物" width="200"></el-table-column>
      <el-table
        :data="historyData"
        ref="historyTable"
        @selection-change="handleHistoryChange"
      >
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column
          property="date"
          label="序号"
          width="150"
        ></el-table-column>
        <el-table-column
          property="value"
          label="毒物"
          width="200"
        ></el-table-column>
      </el-table>
      <div slot="footer" class="dialog-footer">
@@ -394,9 +711,13 @@
</template>
<script>
import { updateHistory, getInfoById, getZhengZhuang } from "@/api/hosp/history";
import {
  updateHistory,
  getInfoById,
  getZhengZhuang,
  removeAskHistorys,
} from "@/api/hosp/history";
import { list } from "@/api/hosp/rules";
import { listIcd } from "@/api/system/icd";
export default {
  dicts: ["tj_smoking_pinlv", "sys_yes_no", "tj_work_status", "tj_work"],
  name: "jianqianwenzhen",
@@ -457,6 +778,7 @@
        },
      ],
      icdId: "",
      radio: 1,
      zhiye: true,
      queryParams: {
        pageNum: 1,
@@ -500,15 +822,36 @@
      multiple: true,
      // ${subTable.functionName}表格数据
      tjAskHistorysList: [],
      zhiyezzList: [],
      // 弹出层标题
      title: "",
      harmTypeList: [],
      // 表单参数
      form: {
        contactPoison: "",
        cusName: "",
        work: "",
        workStatus: "",
        gongZhong: "",
        dwmc: "",
        ygdw: "",
        gongLing: "",
        zgongLing: "",
        yjsfyc: "", // 是否异常
        ycms: "", // 异常描述
        xiyan: "",
        xiyanpinlv: "",
        xiyanyear: "",
        yinjiu: "",
        yinjiupinlv: "",
        yinjiuyear: "",
        qita: "",
        medicalHistoryOther: "",
        mediHistoryq: [],
      },
      chageall: [],
      bingshiall: [],
      selectedZhiyezz: [],
      // 疾病字典表格数据
      icdList: [],
      rulesList: [],
@@ -521,6 +864,18 @@
            trigger: "blur",
          },
        ],
        ycms: [
          {
            validator: (rule, value, callback) => {
              if (this.form.yjsfyc === "Y" && !value) {
                callback(new Error("月经异常描述不能为空"));
              } else {
                callback();
              }
            },
            trigger: "blur",
          },
        ], // 初始不设置为必填
      },
    };
  },
@@ -530,13 +885,21 @@
        val.forEach((item) => {
          let tjNumber = item;
          getInfoById(tjNumber).then((response) => {
            this.form = response.data;
            // this.form = response.data;
            Object.assign(this.form, response.data);
            console.log(response.data.medicalHistoryIds, 8888);
            const medicalHistoryIds = response.data.medicalHistoryIds;
            const splitIds = medicalHistoryIds
              ? medicalHistoryIds.split(",")
              : [];
            this.form.mediHistoryq = splitIds;
            if (this.form.cusSex === "1") {
              this.sex = true;
            } else {
              this.sex = false;
            }
            if (this.form.tjLx === "02") {
            /*  if (this.form.tjLx === "02") {
              this.zhiye = true;
              this.zhiyebingshi = true;
              this.jiwangbingshi = false;
@@ -544,7 +907,7 @@
              this.zhiye = false;
              this.zhiyebingshi = false;
              this.jiwangbingshi = true;
            }
            } */
            if (this.form.xiyan == null) {
              this.form.xiyan = "1";
            }
@@ -571,6 +934,7 @@
              this.form.gongLing = 1; // 工龄默认值
            }
            this.form.tjAskHistorysList = response.data.tjAskHistorysList;
            this.form.zhiyezzList = response.data.zhiyezzList;
            // this.isdisabled= true
          });
        });
@@ -586,7 +950,12 @@
      this.jianqianwenzhendata.forEach((item) => {
        let tjNumber = item;
        getInfoById(tjNumber).then((response) => {
          this.form = response.data;
          // this.form = response.data;
          Object.assign(this.form, response.data);
          const splitIds = response.data.medicalHistoryIds.split(",");
          this.form.mediHistoryq = splitIds;
          this.form.medicalHistoryOther = response.data.medicalHistoryOther;
          if (this.form.cusSex === "1") {
            this.sex = true;
          } else {
@@ -623,13 +992,13 @@
            this.form.yinjiuyear = "0";
          }
          this.form.tjAskHistorysList = response.data.tjAskHistorysList;
          this.form.zhiyezzList = response.data.zhiyezzList;
          // this.isdisabled= true
        });
      });
      this.loading = false;
    }
  },
  methods: {
    /** 查询疾病字典列表 */
@@ -643,6 +1012,64 @@
      getZhengZhuang().then((response) => {
        this.zhenghuzangList = response.data;
      });
    },
    addzj() {
      if (this.form.cusName) {
        if (!this.form.zhiyezzList) {
          this.form.zhiyezzList = [];
          this.form.zhiyezzList.push({
            id: parseInt(length),
            diseaseName: "",
            diseaseData: "",
            diseaseCompany: "",
            isOk: "",
            remark: "",
            icdId: "",
            type: "",
          });
        } else {
          this.form.zhiyezzList.push({
            id: parseInt(length),
            diseaseName: "",
            diseaseData: "",
            diseaseCompany: "",
            isOk: "",
            remark: "",
            icdId: "",
            type: "",
          });
        }
      } else {
        Message.warning("请先填写客户名");
      }
      this.$forceUpdate();
    },
    delezz() {
      if (this.selectedZhiyezz && this.selectedZhiyezz.length > 0) {
        const historyId = this.selectedZhiyezz.map((item) => item.diseaseId);
        console.log(historyId, "准备删除的 diseaseId");
        // 发请求
        removeAskHistorys(historyId).then((res) => {
          console.log(res, "删除接口响应");
          this.$message.success("删除成功");
          // 接口成功后再本地删除
          this.form.zhiyezzList = this.form.zhiyezzList.filter(
            (item) =>
              !this.selectedZhiyezz.some(
                (selected) => selected.diseaseId === item.diseaseId
              )
          );
          this.selectedZhiyezz = [];
          this.$forceUpdate();
        });
      } else {
        this.$message.warning("请先选择要删除的项");
      }
    },
    // 新增行
    addmembers() {
@@ -712,6 +1139,12 @@
      this.$forceUpdate();
    },
    indexMethod(index) {
      return (
        (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1
      );
    },
    jibing(sel) {
      this.diseaseNames = sel;
      this.rulesList.forEach((item) => {
@@ -721,6 +1154,19 @@
      });
      this.form.tjAskHistorysList.forEach((item) => {
        if (item.diseaseName == sel) {
          item.icdId = this.icdId;
        }
      });
    },
    zz(sel) {
      this.name = sel;
      this.zhenghuzangList.forEach((item) => {
        if (sel == item.icdname) {
          this.icdId = item.id;
        }
      });
      this.form.zhiyezzList.forEach((item) => {
        if (item.name == sel) {
          item.icdId = this.icdId;
        }
      });
@@ -739,21 +1185,32 @@
      }
    },
    change() {
      this.multipleSelection = []
      this.dialogTableVisible = true
      if (this.form.contactPoison == null || this.form.contactPoison == "") {
        this.form.contactPoison = ""
    getZzData(query) {
      if (query) {
        let data = {
          icdname: query,
          pageNum: 1,
          pageSize: 200,
        };
        getZhengZhuang(data).then((response) => {
          this.zhenghuzangList = response.data;
        });
      }
    },
    change() {
      this.multipleSelection = [];
      this.dialogTableVisible = true;
      if (this.form.contactPoison == null || this.form.contactPoison == "") {
        this.form.contactPoison = "";
      }
    },
    changemedicalhistory() {
      this.multipleSelection = []
      this.dialogHistoryVisible = true
      this.multipleSelection = [];
      this.dialogHistoryVisible = true;
      if (this.form.medicalHistory == null || this.form.medicalHistory == "") {
        this.form.medicalHistory = ""
        this.form.medicalHistory = "";
      }
    },
@@ -762,9 +1219,9 @@
    },
    dialogVisible() {
      this.historySelection.forEach((item) => {
        this.form.medicalHistory += item.value + ","
      })
      this.dialogHistoryVisible = false
        this.form.medicalHistory += item.value + ",";
      });
      this.dialogHistoryVisible = false;
      this.$refs.historyTable.clearSelection();
    },
@@ -774,9 +1231,9 @@
    dialogFormVisible() {
      this.multipleSelection.forEach((item) => {
        this.form.contactPoison += item.value + ","
      })
      this.dialogTableVisible = false
        this.form.contactPoison += item.value + ",";
      });
      this.dialogTableVisible = false;
      this.$refs.multipleTable.clearSelection();
    },
@@ -795,22 +1252,37 @@
      }
    },
    delemembers() {
      let that = this;
      if (that.form.tjAskHistorysList.length == that.bingshiall.length) {
        that.form.tjAskHistorysList = [];
      } else {
        that.bingshiall.forEach((item1, index1) => {
          that.form.tjAskHistorysList.forEach((item, index) => {
            if (item == item1) {
              that.form.tjAskHistorysList.splice(index, 1);
            }
          });
      if (this.bingshiall && this.bingshiall.length > 0) {
        const historyId = this.bingshiall.map((item) => item.diseaseId);
        // 发请求
        removeAskHistorys(historyId).then((res) => {
          console.log(res, "删除接口响应");
          this.$message.success("删除成功");
          // 接口成功后再本地删除
          this.form.tjAskHistorysList = this.form.tjAskHistorysList.filter(
            (item) =>
              !this.bingshiall.some(
                (selected) => selected.diseaseId === item.diseaseId
              )
          );
          this.bingshiall = [];
          this.$forceUpdate();
        });
      } else {
        this.$message.warning("请先选择要删除的项");
      }
    },
    handlebingChange(selection) {
      this.bingshiall = [];
      this.bingshiall = selection;
    },
    handlezzChange(val) {
      // 更新选中的项
      this.selectedZhiyezz = val;
    },
    handlezhiyeChange(selection) {
      this.chageall = [];
@@ -826,7 +1298,7 @@
        this.form = response.data;
      });
    }, */
    submitForm() {
    /*  submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          this.$emit('submitLoading', true);
@@ -845,7 +1317,48 @@
          this.$message.error("请检查表单内容");
        }
      });
    }
    } */
    submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          this.$emit("submitLoading", true);
          // this.form.medicalHistory =this.form.mediHistory
          const selected = this.form.mediHistoryq || [];
          this.form.medicalHistory = selected.map((name) => {
            const match = this.rulesList.find((item) => item.id === name);
            // console.log(match);
            return {
              icdname: match.icdname,
              id: match ? match.id : "",
            };
          });
          console.log(this.form.medicalHistory, 1236);
          updateHistory(this.form)
            .then((response) => {
              this.$message.success("修改成功");
              // this.form = response.data; // 更新表单数据
              Object.assign(this.form, response.data);
              const splitIds = response.data.medicalHistoryIds.split(",");
              this.form.medicalHistoryOther = response.data.medicalHistoryOther;
              this.form.mediHistoryq = splitIds;
            })
            .catch((error) => {
              this.$message.error("修改失败");
            })
            .finally(() => {
              this.$emit("submitLoading", false);
            });
        } else {
          this.$message.error("请检查表单内容");
        }
      });
    },
  },
};
</script>
@@ -865,10 +1378,9 @@
}
/* 调整下拉框位置和层级 */
.el-select-dropdown{
        position: absolute !important;
        top: 30px !important;
        left: 0px !important;
    }
.el-select-dropdown {
  position: absolute !important;
  top: 30px !important;
  left: 0px !important;
}
</style>
src/views/doctor/checkAll/index.vue
@@ -1,6 +1,6 @@
<template>
  <div class="mainbox">
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px">
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" v-if="tjStatus == 0">
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
          @keyup.enter.native="submitForm"></el-input>
@@ -27,6 +27,49 @@
      </el-form-item>
    </el-form>
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" v-if="tjStatus == 1">
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
          @keyup.enter.native="submitForm"></el-input>
      </el-form-item>
      <el-form-item label="体检号" prop="tjNumber">
        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="请输入体检号" clearable
          @keyup.enter.native="submitForm" @blur="hb"></el-input>
      </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-select>
      </el-form-item>
       <el-form-item label="审核医师" prop="shys">
        <el-input ref="inputName" v-model="queryParams.shys" style="width: 180px" placeholder="请输入审核医师" clearable
          @keyup.enter.native="submitForm"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button>
        <el-button size="mini" @click="resetQuery">重置</el-button>
        <el-button type="primary" size="mini" @click="toggleCollapse" style="margin-right: 15px"
          v-show="isCollapsed == 0">高级搜索</el-button>
        <el-button type="primary" size="mini" @click="toggleCollapse3" style="margin-right: 15px"
          v-show="isCollapsed == 1">高级搜索</el-button>
      </el-form-item>
      <el-row v-show="isCollapsed == 1" :gutter="20">
        <el-col :span="8">
          <el-form-item label="体检时间" prop="tjTime">
            <el-date-picker v-model="startTime" 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-col>
      </el-row>
    </el-form>
    <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 20px">
      <el-radio-button label="0">未审核</el-radio-button>
      <el-radio-button label="1">已审核</el-radio-button>
@@ -51,11 +94,12 @@
        <el-table-column label="电话" align="center" prop="cusPhone" :show-overflow-tooltip="true" width="130px" />
        <el-table-column label="审核时间" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" />
        <el-table-column label="完成时间" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" />
        <el-table-column label="状态" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="120px">
          <template slot-scope="scope">
        <el-table-column label="状态" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="120px" v-if="tjStatus == 0">
          <template slot-scope="scope" v-if="tjStatus == 0">
            <span>{{ scope.row.tjStatus == "1" ? "已审核" : "未审核" }}</span>
          </template>
        </el-table-column>
         <el-table-column label="审核医师" align="center" prop="shys"  width="120px" v-if="tjStatus == 1"/>
        <el-table-column label="单位名称" align="center" prop="tjCompName" :show-overflow-tooltip="true" />
        <el-table-column label="体检类别" align="center" prop="tjCategory">
          <template slot-scope="scope">
@@ -906,6 +950,7 @@
      Testitems: [],
      CheckBox: {},
      startTime: [],
       isCollapsed: 0,
      textarea1: "",
      loading: true,
      selectLettercurrent: " ",
@@ -927,6 +972,7 @@
        compId: null,
        name: null,
        checkStatus: null,
        shys: null,
      },
      formobj: {},
      yichangList: [],
@@ -1043,6 +1089,14 @@
    handleCurrentChangeAdvice(currentRow) {
      this.selectedAdvice = currentRow;
    },
     toggleCollapse3() {
      this.isCollapsed = 0;
    },
    toggleCollapse() {
      this.isCollapsed = 1;
    },
    applySelectedAdvice() {
@@ -1398,7 +1452,7 @@
      getFcList(data)
        .then((res) => {
          this.fcList = res.data;
          this.fcList.forEach((item,index) => {
          this.fcList.forEach((item, index) => {
            item.newID = index + 1;
          })
        })
src/views/system/comp/index.vue
@@ -59,7 +59,7 @@
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table border v-loading="loading" :data="compList" @selection-change="handleSelectionChange">
    <el-table border v-loading="loading" :data="compList"  ref="tab" @selection-change="handleSelectionChange">
      <el-table-column fixed="left" type="selection" width="40px" align="center" />
      <el-table-column label="序号" align="center" prop="newID" :show-overflow-tooltip="true" width="50px" fixed="left" />
      <el-table-column label="单位名称" align="center" prop="cnName" width="240px" />
@@ -1028,6 +1028,11 @@
      this.ids = selection.map((item) => item.drugManufacturerId);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
      if (selection.length > 1) {
        // 如果选择了多行,保留最后一行
        this.$refs.tab.clearSelection();  // 清空所有选择
        this.$refs.tab.toggleRowSelection(selection[selection.length - 1]);  // 重新选择最后一项
      }
    },
    // 部门表格单行获取
    handleSelection(selection) {