su
su1124
2024-04-25 1073d84e9e9af6b9ac5c0136dfd2b828c676ef8a
src/views/doctor/checkAll/index.vue
@@ -3,18 +3,19 @@
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px">
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
          @keyup.enter.native="handleQuery"></el-input>
          @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="handleQuery"></el-input>
          @keyup.enter.native="submitForm" @blur="hb"></el-input>
      </el-form-item>
      <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-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px;">
        </el-date-picker>
      </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" />
@@ -68,9 +69,8 @@
            <el-button fixed="right" title="详情" type="text" size="mini" @click="handleClick(scope.row)"
              icon="el-icon-document-copy"></el-button>
            <!-- <el-button type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">生成</el-button> -->
            <el-button type="text" size="mini" @click="
              viewReport(scope.row);
            " v-if="scope.row.tjStatus == '1'" title="预览" icon="el-icon-view"></el-button>
            <el-button type="text" size="mini" @click="viewReport(scope.row)" v-if="scope.row.tjStatus == '1'" title="预览"
              icon="el-icon-view"></el-button>
            <el-button type="text" size="mini" v-if="scope.row.tjStatus == '1'" title="撤销" @click="getRevoke(scope.row)"
              icon="el-icon-refresh-left"></el-button>
          </template>
@@ -110,7 +110,7 @@
              性别:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ tableAll.cusSex }}
              {{ tableAll.cusSex == 0? "男" :tableAll.cusSex == 1?"女":"未知"}}
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -129,24 +129,45 @@
          </tr>
        </table>
      </div>
      <div style="display:flex;">
        <div style="margin: 10px 10px;">
          <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
        </div>
        <div style="margin: 10px 10px;" v-if="tableAll.tjCategory == '02'">
          <el-button type="primary" size="mini" @click="medicalhistory()">职业病史</el-button>
        </div>
      <div>
        <el-row>
          <el-col :span="18">
            <div style="margin: 10px 10px">
              <el-radio-group v-model="tjproject" @input="radiotjprojectChange" style="margin-left: 20px">
                <el-radio-button label="0">体检项目</el-radio-button>
                <el-radio-button label="1">化验项目</el-radio-button>
              </el-radio-group>
            </div>
          </el-col>
          <el-col :span="6">
            <div style="margin-right: 10px;display: flex ">
              <div style="margin: 10px 2px">
                <el-button type="primary" size="mini" @click="Graphicreport()">图文报告</el-button>
              </div>
              <div style="margin: 10px 5px">
                <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
              </div>
              <div style="margin: 10px 5px" v-if="tableAll.tjCategory == '02'">
                <el-button type="primary" size="mini" @click="medicalhistory()">职业病史</el-button>
              </div>
              <div style="margin: 10px 5px">
                <el-button type="primary" size="mini" @click="jianqian()">检前问诊</el-button>
              </div>
            </div>
          </el-col>
        </el-row>
      </div>
      <el-row>
        <el-col :span="18">
          <div style="font-size: 14px; overflow-y: auto; height: calc(100% - 11%)">
            <table style="
            width: 96%;
            margin: 10px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          " cellspacing="4" v-for="(item, index) in changedate" :key="index">
                width: 96%;
                margin: 10px 10px;
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
              " cellspacing="4" v-for="(item, index) in changedate" :key="index">
              <caption style="background-color: #f8f8f9">
                {{
                  item.parent || ""
@@ -154,133 +175,146 @@
              </caption>
              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse" align="center">
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  检测项目
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  检测结果
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  单位
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  参考范围
                </th>
              </tr>
              <tr style="
              border: 1px solid #dfe6ec;
              border-collapse: collapse;
              width: 200px;
              height: 35px;
              text-align: center;
            " v-for="item1 in item.sons" :key="item1.proId">
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                  height: 35px;
                  text-align: center;
                " v-for="item1 in item.sons" :key="item1.proId">
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              " v-if="item1.project != null">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  " v-if="item1.project != null">
                  {{ item1.project.proName || "" }}
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              " v-else>
                  {{ "" }}
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  " v-else>
                  {{ item1.proName }}
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  {{ item1.proResult }}
                  <!-- <el-input v-model="item1.proResult" placeholder="请输入内容"></el-input> -->
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  " v-if="item1.project != null">
                  {{ item1.standard.company }}
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  " v-else>
                  {{ item1.proAdvice }}
                </td>
                <td style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  " v-if="item1.project != null">
                  {{
                    item1.standard.tjStandardGtValue +
                    "-" +
                    item1.standard.tjStandardLtValue
                  }}
                </td>
                <td style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  " v-else>
                  {{ item1.stanId }}
                </td>
              </tr>
              <tr style="
              border: 1px solid #dfe6ec;
              border-collapse: collapse;
              width: 200px;
            ">
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                ">
                <td>小结:</td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              " v-if="item.parentAdvice">
                  <el-input v-model="item.parentAdvice[index].title" disabled></el-input>
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  <el-input v-model="item.remark" disabled></el-input>
                  <!-- <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width: 100%" @change="xiAoJieChange($event, item)">
                <el-option v-for="item1 in item.parentAdvice" :key="item1.id" :label="item1.title" :value="item1.id">
                </el-option>
              </el-select> -->
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  主检医师:
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  {{ item.doctorName }}
                </td>
              </tr>
              <tr style="
              border: 1px solid #dfe6ec;
              border-collapse: collapse;
              width: 200px;
            ">
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                ">
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              ">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  ">
                  备注:
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              " colspan="2">
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  " colspan="2">
                  <textarea placeholder="请输入内容" :autosize="{ minRows: 2, maxRows: 2 }" style="width: 100%; height: 100%"
                    v-model="changedate[index].remark" v-on:input="change"></textarea>
                  <!-- <el-input type="textarea" autosize >
@@ -294,7 +328,7 @@
                </el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers">
            <div slot="footer" class="dialog-footers" v-if="tjproject == '0'">
              <el-button type="primary" @click="determine" :disabled="isdisabled">提交并生成报告</el-button>
            </div>
          </div>
@@ -311,27 +345,28 @@
                <el-collapse-item class="coll" title="基本信息" name="1" style="width: 100%; font-weight: 600">
                  <div style="width: 100%">
                    <el-form-item label="姓名" prop="cusName">
                      <el-input v-model="formobj.cusName" placeholder="请输入姓名" />
                      <el-input disabled v-model="formobj.cusName" placeholder="请输入姓名" />
                    </el-form-item>
                    <el-form-item label="职业" prop="work">
                      <el-select filterable v-model="formobj.work" placeholder="请选择职业" clearable style="width: 150px">
                      <el-select filterable v-model="formobj.work" placeholder="请选择职业" clearable style="width: 150px"
                        disabled>
                        <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="formobj.workStatus" placeholder="请选择工作状态" clearable
                      <el-select disabled filterable v-model="formobj.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="contactPoison">
                      <el-input type="textarea" rows="4" v-model="formobj.contactPoison" placeholder="请输入接触毒物"
                      <el-input disabled type="textarea" rows="4" v-model="formobj.contactPoison" placeholder="请输入接触毒物"
                        style="width: 700px" />
                    </el-form-item>
                    <el-form-item label="既往病史" prop="medicalHistory">
                      <el-input type="textarea" rows="4" v-model="formobj.medicalHistory" placeholder="请输入既往病史"
                      <el-input disabled type="textarea" rows="4" v-model="formobj.medicalHistory" placeholder="请输入既往病史"
                        style="width: 700px" />
                    </el-form-item>
                  </div>
@@ -339,35 +374,35 @@
                <el-collapse-item title="月经史" name="2" v-show="sex">
                  <div style="width: 100%">
                    <el-form-item label="初潮(岁)" prop="chuchao">
                      <el-input v-model="formobj.chuchao" style="width: 70px" />
                      <el-input v-model="formobj.chuchao" style="width: 70px" disabled />
                    </el-form-item>
                    <el-form-item label="经期" prop="jingqi">
                      <el-input v-model="formobj.jingqi" style="width: 70px" />天
                      <el-input v-model="formobj.jingqi" disabled style="width: 70px" />天
                    </el-form-item>
                    <el-form-item label="周期" prop="zhouqi">
                      <el-input v-model="formobj.zhouqi" style="width: 70px" />天
                      <el-input v-model="formobj.zhouqi" disabled style="width: 70px" />天
                    </el-form-item>
                    <el-form-item label="末次月经" prop="mociage">
                      <el-input v-model="formobj.mociage" style="width: 100px" />
                      <el-input v-model="formobj.mociage" disabled style="width: 100px" />
                    </el-form-item>
                  </div>
                </el-collapse-item>
                <el-collapse-item title="生育史" name="3" v-show="sex">
                  <div style="width: 100%">
                    <el-form-item label="现有子女(人)" prop="zinv">
                      <el-input v-model="formobj.zinv" style="width: 70px" />
                      <el-input v-model="formobj.zinv" style="width: 70px" disabled />
                    </el-form-item>
                    <el-form-item label="流产(次)" prop="liuchan">
                      <el-input v-model="formobj.liuchan" style="width: 70px" />
                      <el-input v-model="formobj.liuchan" style="width: 70px" disabled />
                    </el-form-item>
                    <el-form-item label="早产(次)" prop="zaochan">
                      <el-input v-model="formobj.zaochan" style="width: 70px" />
                      <el-input v-model="formobj.zaochan" style="width: 70px" disabled />
                    </el-form-item>
                    <el-form-item label="死产(次)" prop="sichan">
                      <el-input v-model="formobj.sichan" style="width: 70px" />
                      <el-input v-model="formobj.sichan" style="width: 70px" disabled />
                    </el-form-item>
                    <el-form-item label="异常胎(次)" prop="yichangtai">
                      <el-input v-model="formobj.yichangtai" style="width: 70px" />
                      <el-input v-model="formobj.yichangtai" style="width: 70px" disabled />
                    </el-form-item>
                  </div>
                </el-collapse-item>
@@ -375,31 +410,33 @@
                  <div style="width: 100%">
                    <el-form-item label="是否吸烟" prop="xiyan">
                      <!-- <el-input v-model="form.xiyanpinlv" placeholder="请输入吸烟频率" /> -->
                      <el-select filterable v-model="formobj.xiyan" placeholder="请选择是否吸烟" clearable style="width: 150px">
                      <el-select disabled filterable v-model="formobj.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="formobj.xiyanpinlv" style="width: 70px" />支/天
                      <el-input v-model="formobj.xiyanpinlv" disabled style="width: 70px" />支/天
                    </el-form-item>
                    <el-form-item label="吸烟时间" prop="xiyanyear">
                      <el-input v-model="formobj.xiyanyear" style="width: 70px" />年 </el-form-item><br />
                      <el-input v-model="formobj.xiyanyear" disabled 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="formobj.yinjiu" placeholder="请选择是否饮酒" clearable style="width: 150px">
                      <el-select filterable v-model="formobj.yinjiu" disabled 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">
                      <el-input v-model="formobj.yinjiupinlv" style="width: 70px" />ml/天
                      <el-input v-model="formobj.yinjiupinlv" disabled style="width: 70px" />ml/天
                    </el-form-item>
                    <el-form-item label="饮酒时间" prop="yinjiuyear">
                      <el-input v-model="formobj.yinjiuyear" style="width: 70px" />年
                      <el-input v-model="formobj.yinjiuyear" disabled style="width: 70px" />年
                    </el-form-item>
                    <el-form-item label="其他" prop="qita">
                      <el-input v-model="formobj.qita" placeholder="请输入其他" type="textarea" style="width: 600px"
                      <el-input v-model="formobj.qita" placeholder="请输入其他" disabled type="textarea" style="width: 600px"
                        rows="2" />
                    </el-form-item>
                  </div>
@@ -410,7 +447,7 @@
                      <el-table-column type="selection" width="40" align="center" />
                      <el-table-column label="疾病名称" prop="diseaseName">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.diseaseName" placeholder="请输入疾病名称" />
                          <el-input size="mini" disabled v-model="scope.row.diseaseName" placeholder="请输入疾病名称" />
                        </template>
                      </el-table-column>
                      <el-table-column label="诊断日期" prop="diseaseData">
@@ -423,13 +460,14 @@
                      </el-table-column>
                      <el-table-column label="诊断单位" prop="diseaseCompany">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.diseaseCompany" placeholder="请输入诊断单位" />
                          <el-input size="mini" disabled 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-select disabled 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>
@@ -437,7 +475,7 @@
                      </el-table-column>
                      <el-table-column label="备注" prop="remark">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.remark" placeholder="请输入备注" />
                          <el-input disabled size="mini" v-model="scope.row.remark" placeholder="请输入备注" />
                        </template>
                      </el-table-column>
                    </el-table>
@@ -458,7 +496,7 @@
                      </el-table-column>
                      <el-table-column label="结束时间" prop="endTime">
                        <template slot-scope="scope">
                          <el-date-picker size="mini" v-model="scope.row.endTime" align="right" type="date"
                          <el-date-picker size="mini" disabled v-model="scope.row.endTime" align="right" type="date"
                            placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                            value-format="yyyy-MM-dd">
                          </el-date-picker>
@@ -466,23 +504,23 @@
                      </el-table-column>
                      <el-table-column label="工作单位" prop="workCompany">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workCompany" placeholder="请输入工作单位" />
                          <el-input size="mini" disabled v-model="scope.row.workCompany" placeholder="请输入工作单位" />
                        </template>
                      </el-table-column>
                      <el-table-column label="部门" prop="workDept">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workDept" placeholder="请输入部门" />
                          <el-input disabled size="mini" v-model="scope.row.workDept" placeholder="请输入部门" />
                        </template>
                      </el-table-column>
                      <el-table-column label="工种" prop="workType">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workType" placeholder="请输入工种" />
                          <el-input disabled size="mini" v-model="scope.row.workType" placeholder="请输入工种" />
                        </template>
                      </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
                          <el-select filterable disabled 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" />
@@ -491,7 +529,7 @@
                      </el-table-column>
                      <el-table-column label="防护措施" prop="fangHu">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.fangHu" placeholder="请输入防护措施" />
                          <el-input disabled size="mini" v-model="scope.row.fangHu" placeholder="请输入防护措施" />
                        </template>
                      </el-table-column>
                    </el-table>
@@ -509,42 +547,71 @@
        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
      </div>
    </el-dialog>
    <el-dialog title="提示" :visible.sync="jianqians" width="1000px" :before-close="handleClose1">
      <jianqianwenzhen :jianqianwenzhendata="jianqianwenzhendata" v-if="flags"></jianqianwenzhen>
      <span slot="footer" class="dialog-footer">
        <el-button @click="jianqians = false">取 消</el-button>
      </span>
    </el-dialog>
    <Packages ref="bbb" :baogao="baogao" />
  </div>
</template>
  
<script>
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Packages from "@/components/Packages";
import {
  getcheckList,
  getTjdetailList,
  getupdateCheckType,
  getupdateCheckTypeHuaYan,
  getModifiedState,
  getfiedState,
  getState,
  getforceIn,
  gettoPdf,
  getModified,
  getModified, isPdfOrJimu
} from "@/api/doctor/checkAll";
import {
  getInfoById,
} from "@/api/hosp/history";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
import { getCompany, queryCompany } from "@/api/team/tuanti";
import { reportHistory } from "@/api/doctor/check";
import { getPdf, revoke } from "@/api/hosp/order";
import ViewPdf from "@/components/ViewPdf";
import Historicalreport from "@/components/Historicalreport";
import { getDicts } from "@/api/system/dict/data";
import {
  getTjYxjcList
} from "@/api/system/package";
import { getNewDateList } from "@/api/hosp/order";
import moment from "moment";
export default {
  components: {
    ViewPdf, Historicalreport
    ViewPdf,
    Historicalreport,
    jianqianwenzhen,
    Packages
  },
  dicts: [
    "dict_tjtype", "sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"
    "dict_tjtype",
    "sys_user_sex",
    "sys_yes_no",
    "tj_result_type",
    "lj_positive",
    "tj_work",
    "tj_work_status",
    "tj_smoking_pinlv",
    "tj_work",
  ],
  name: "checkAll",
  data() {
    return {
      baogao: [],
      flags: false,
      jianqianwenzhendata: [],
      jianqians: false,
      sex: true,
      activeName: "1",
      wenzhen: false,
@@ -598,8 +665,10 @@
      checkList: [],
      // 绑定单选按钮
      tjStatus: "0",
      tjproject: "0",
      total: 0,
      CompanyList: [],
      Testitems: [],
      CheckBox: {},
      startTime: [],
      textarea1: "",
@@ -658,8 +727,9 @@
  },
  created() {
    this.getNowTime();
    this.getList();
    // this.getNowTime();
    this.getdate();
  },
  mounted() {
@@ -668,6 +738,15 @@
    });
  },
  methods: {
    getdate() {
      getNewDateList().then((res) => {
        this.startTime = [
          moment(res.data).format("YYYY-MM-DD 00:00:00"),
          moment(res.data).format("YYYY-MM-DD 23:59:00"),
        ];
        this.getList();
      });
    },
    // / 处理默认选中当前日期
    getNowTime() {
      var curDate = new Date().getTime();
@@ -699,6 +778,12 @@
        this.add0(mm)
      );
    },
    jianqian() {
      this.flags = true;
      this.jianqians = true;
      let tjNumber = this.tableAll.tjNumber;
      this.jianqianwenzhendata.push(tjNumber);
    },
    getList() {
      this.loading = true;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
@@ -727,7 +812,6 @@
            this.checkList = [];
          }
        }
      }),
        // 获取单位信息集合
        getCompany(this.queryParam).then((response) => {
@@ -738,69 +822,119 @@
    viewReport(row) {
      const tjNumber = row.tjNumber;
      const flag = true;
      getPdf(tjNumber, flag).then((response) => {
        if (response.size === 0) {
          const loading = this.$loading({
            lock: true,
            text: 'Loading',
            spinner: 'el-icon-loading',
            background: 'rgba(0, 0, 0, 0.7)'
      isPdfOrJimu(tjNumber).then((response) => {
        if (response.data.flag == "0") {
          const flag = true;
          getPdf(tjNumber, flag).then((response) => {
            if (response.size === 0) {
              const loading = this.$loading({
                lock: true,
                text: "Loading",
                spinner: "el-icon-loading",
                background: "rgba(0, 0, 0, 0.7)",
              });
              setTimeout(() => {
                loading.close();
              }, 3000);
              this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
            } else {
              this.dialogVisible = true;
              this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
            }
          });
          setTimeout(() => {
            loading.close();
          }, 3000);
          this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
        } else {
          this.dialogVisible = true;
          this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
          let url = response.data.url
          const params = { url };
          this.$tab.openPage("健康证检查表", "/report/zongjianjiankangzheng", params);
        }
      });
      })
    },
    historicalreport() {
      this.loading = true
      this.wenzhen = false
      this.hosproy = true
      let data = {
        cusId: this.tableAll.cusId
      }
      reportHistory(data).then(res => {
        this.loading = false
        if (res.data[0] != null) {
          this.reportHistorydata = res.data
        } else {
          this.reportHistorydata = []
    Graphicreport() {
      let dictType = "dict_ageunit"
      getDicts(dictType).then(res => {
        if (res.code == 200) {
          res.data.forEach(item => {
            if (this.tableAll.age_unit == item.dictValue) {
              this.tableAll.age_unit = item.dictLabel
            }
          })
          let dictTypes = "sys_user_sex"
          getDicts(dictTypes).then(res => {
            if (res.code == 200) {
              res.data.forEach(item => {
                if (this.tableAll.cusSex == item.dictValue) {
                  this.tableAll.cusSex = item.dictLabel
                }
              })
              let data = {
                patname: this.tableAll.cusName,
                sex: this.tableAll.cusSex,
                patage: this.tableAll.age,
                patagename: this.tableAll.age_unit,
                patbirth: this.tableAll.cusBrithday
              }
              // let data = {
              //   patname: "脱能娥",
              //   sex: "女",
              //   patage: "60",
              //   patagename: "岁",
              //   patbirth: "1963-01-01"
              // }
              getTjYxjcList(data).then(res => {
                this.baogao = res.data
              })
              this.$refs.bbb.open = true;
              // this.$refs.bbb.getAllList();
              this.$refs.bbb.title = "报告字典";
            }
          })
        }
      })
    },
    historicalreport() {
      this.loading = true;
      this.wenzhen = false;
      this.hosproy = true;
      let data = {
        cusId: this.tableAll.cusId,
      };
      reportHistory(data).then((res) => {
        this.loading = false;
        if (res.data[0] != null) {
          this.reportHistorydata = res.data;
        } else {
          this.reportHistorydata = [];
        }
      });
    },
    medicalhistory() {
      this.wenzhen = true
      this.hosproy = false
      let tjNumber = this.tableAll.tjNumber
      this.wenzhen = true;
      this.hosproy = false;
      let tjNumber = this.tableAll.tjNumber;
      getInfoById(tjNumber).then((response) => {
        this.formobj = response.data;
        if (this.formobj.xiyan == null) {
          this.formobj.xiyan = "1"
          this.formobj.xiyan = "1";
        }
        if (this.formobj.xiyanpinlv == null) {
          this.formobj.xiyanpinlv = "0"
          this.formobj.xiyanpinlv = "0";
        }
        if (this.formobj.xiyanyear == null) {
          this.formobj.xiyanyear = "0"
          this.formobj.xiyanyear = "0";
        }
        if (this.formobj.yinjiu == null) {
          this.formobj.yinjiu = "1"
          this.formobj.yinjiu = "1";
        }
        if (this.formobj.yinjiupinlv == null) {
          this.formobj.yinjiupinlv = "0"
          this.formobj.yinjiupinlv = "0";
        }
        if (this.formobj.yinjiuyear == null) {
          this.formobj.yinjiuyear = "0"
          this.formobj.yinjiuyear = "0";
        }
      });
    },
@@ -838,6 +972,71 @@
        this.loading = false;
      });
    },
    radiotjprojectChange() {
      if (this.tjproject == "0") {
        getupdateCheckType(this.tjNumber).then((response) => {
          this.changedate = response.data;
          this.changedate.forEach((item) => {
            this.textarea1 = item.checkAdvice;
          });
          if (this.changedate) {
            for (let i = 0; i < this.changedate.length; i++) {
              this.remark = this.changedate[i].remark;
            }
            this.changedate.forEach((item) => {
              // this.remark = item.remark;
              item.sons.forEach((item3) => {
                if (item3.standard.tjStandardGtValue === null) {
                  item3.standard.tjStandardGtValue = "";
                }
                if (item3.standard.tjStandardLtValue === null) {
                  item3.standard.tjStandardLtValue = "";
                }
              });
              // item.remark = "";
            });
          } else {
            this.$message({
              type: "warning ",
              message: "该客户没有体检项目数据",
            });
          }
        });
      } else if (this.tjproject == "1") {
        getupdateCheckTypeHuaYan(this.tjNumber).then(res => {
          if (res.data) {
            // this.Testitems = res.data
            this.changedate = res.data;
            this.changedate.forEach((item) => {
              this.textarea1 = item.checkAdvice;
            });
            if (this.changedate) {
              for (let i = 0; i < this.changedate.length; i++) {
                this.remark = this.changedate[i].remark;
              }
              this.changedate.forEach((item) => {
                // this.remark = item.remark;
                item.sons.forEach((item3) => {
                  if (item3.standard.tjStandardGtValue === null) {
                    item3.standard.tjStandardGtValue = "";
                  }
                  if (item3.standard.tjStandardLtValue === null) {
                    item3.standard.tjStandardLtValue = "";
                  }
                });
                // item.remark = "";
              });
            }
          } else {
            this.$message({
              type: "warning ",
              message: "该客户没有化验项目数据",
            });
          }
        })
      }
    },
    // 体检公司拼音搜索
    getRemoteData(query) {
@@ -857,6 +1056,12 @@
    // 时间
    dateChangebirthday1(val) {
      this.startTime = val;
    },
    hb() {
      if (this.queryParams.tjNumber != "") {
        this.submitForm();
      }
    },
    // 搜索
@@ -887,24 +1092,29 @@
            this.checkList = [];
          }
        }
      });
    },
    // 重置
    resetQuery() {
      this.startTime=[]
      this.resetForm("tableList");
      this.submitForm();
    },
    // 点击详情
    handleClick(row) {
      this.tableAll = row;
      if (this.tableAll.cusSex === 0) {
        this.tableAll.cusSex = "男";
      }
      if (this.tableAll.cusSex === 1) {
        this.tableAll.cusSex = "女";
      }
      this.tjproject = "0"
      // if (this.tableAll.cusSex === 0) {
      //   this.tableAll.cusSex = "男";
      // }
      // if (this.tableAll.cusSex === 1) {
      //   this.tableAll.cusSex = "女";
      // }
      // if (this.tableAll.cusSex === 2) {
      //   this.tableAll.cusSex = "未知";
      // }
      this.tjNumber = this.tableAll.tjNumber;
      getState(this.tjNumber).then((res) => {
        this.status = res.data;
@@ -922,10 +1132,10 @@
                this.drawer = true;
                getupdateCheckType(this.tjNumber).then((response) => {
                  this.changedate = response.data;
                  this.changedate.forEach((item) => {
                  if (this.changedate) {
                    this.changedate.forEach((item) => {
                    this.textarea1 = item.checkAdvice;
                  });
                  if (this.changedate) {
                    for (let i = 0; i < this.changedate.length; i++) {
                      this.remark = this.changedate[i].remark;
                    }
@@ -1011,6 +1221,7 @@
              });
            });
          this.drawer = false;
        }
      });
@@ -1023,9 +1234,14 @@
    },
    // 撤销
    getRevoke(row) {
      this.loading = true;
      const tjNumber = row.tjNumber;
      revoke(tjNumber).then((response) => {
        this.$modal.msgSuccess("撤回成功");
        if (response.code == 200) {
          this.loading = false;
          this.getList();
        }
      });
    },
@@ -1057,7 +1273,9 @@
          getfiedState(data).then((res) => { });
        });
    },
    handleClose1() {
      this.jianqians = false;
    },
    // 生成报告
    // generate(row) {
    //   const tjNumber = row.tjNumber;
@@ -1121,8 +1339,8 @@
        ];
        getModified(updateOrderRemarkVos).then((response) => { });
      }
      this.submitForm()
      this.$forceUpdate()
      this.submitForm();
      this.$forceUpdate();
      // this.changedate.forEach((item) => {
      //   this.proIds = item.parentId;
      //   // this.remark = item.remark;