su
su1124
2023-12-27 26f7101ada1cfe8b52dd03c132a0fe8f4fcaf129
src/views/hosp/history/index.vue
@@ -138,421 +138,10 @@
        </div>
      </div>
      <div class="hist3">
        <span class="txt">问诊信息</span>
        <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"
            >
              <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>
                </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>
                </el-form-item>
                <el-form-item label="接触毒物" prop="contactPoison">
                  <el-input
                    type="textarea"
                    rows="4"
                    v-model="form.contactPoison"
                    placeholder="请输入接触毒物"
                    style="width: 700px"
                  />
                </el-form-item>
                <el-form-item label="既往病史" prop="medicalHistory">
                  <el-input
                    type="textarea"
                    rows="4"
                    v-model="form.medicalHistory"
                    placeholder="请输入既往病史"
                    style="width: 700px"
                  />
                </el-form-item>
              </div>
            </el-collapse-item>
            <el-collapse-item title="月经史" name="2" v-show="sex">
              <div style="width: 900px">
                <el-form-item label="初潮(岁)" prop="chuchao">
                  <el-input v-model="form.chuchao" style="width: 70px" />
                </el-form-item>
                <el-form-item label="经期" prop="jingqi">
                  <el-input v-model="form.jingqi" style="width: 70px" />天
                </el-form-item>
                <el-form-item label="周期" prop="zhouqi">
                  <el-input v-model="form.zhouqi" style="width: 70px" />天
                </el-form-item>
                <el-form-item label="末次月经" prop="mociage">
                  <el-input v-model="form.mociage" style="width: 100px" />
                </el-form-item>
              </div>
            </el-collapse-item>
            <el-collapse-item title="生育史" name="3" v-show="sex">
              <div style="width: 900px">
                <el-form-item label="现有子女(人)" prop="zinv">
                  <el-input v-model="form.zinv" style="width: 70px" />
                </el-form-item>
                <el-form-item label="流产(次)" prop="liuchan">
                  <el-input v-model="form.liuchan" style="width: 70px" />
                </el-form-item>
                <el-form-item label="早产(次)" prop="zaochan">
                  <el-input v-model="form.zaochan" style="width: 70px" />
                </el-form-item>
                <el-form-item label="死产(次)" prop="sichan">
                  <el-input v-model="form.sichan" style="width: 70px" />
                </el-form-item>
                <el-form-item label="异常胎(次)" prop="yichangtai">
                  <el-input v-model="form.yichangtai" style="width: 70px" />
                </el-form-item>
              </div>
            </el-collapse-item>
            <el-collapse-item title="烟酒史" name="4">
              <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>
                </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-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>
                </el-form-item>
                <el-form-item label="饮酒频率" prop="yinjiupinlv">
                  <el-input
                    v-model="form.yinjiupinlv"
                    style="width: 70px"
                  />ml/天
                </el-form-item>
                <el-form-item label="饮酒时间" prop="yinjiuyear">
                  <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-form-item>
              </div>
            </el-collapse-item>
            <el-collapse-item title="急慢性职业病史信息" name="5">
              <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="diseaseName">
                    <template slot-scope="scope">
                      <el-input
                        size="mini"
                        v-model="scope.row.diseaseName"
                        placeholder="请输入疾病名称"
                      />
                    </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 title="职业史" name="7">
              <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="addmemberss()"
                      >添加
                    </el-button>
                  </el-col>
                  <el-col :span="1.5">
                    <el-button
                      type="danger"
                      icon="el-icon-delete"
                      size="mini"
                      @click="delememberss()"
                      >删除
                    </el-button>
                  </el-col>
                </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="选择日期"
                        :picker-options="pickerOptions"
                        style="width: 130px"
                        value-format="yyyy-MM-dd"
                      >
                      </el-date-picker>
                    </template>
                  </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"
                        placeholder="选择日期"
                        :picker-options="pickerOptions"
                        style="width: 130px"
                        value-format="yyyy-MM-dd"
                      >
                      </el-date-picker>
                    </template>
                  </el-table-column>
                  <el-table-column label="工作单位" prop="workCompany">
                    <template slot-scope="scope">
                      <el-input
                        size="mini"
                        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="请输入部门"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column label="工种" prop="workType">
                    <template slot-scope="scope">
                      <el-input
                        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
                        placeholder="请选择有害因素"
                        clearable
                      >
                        <el-option
                          v-for="dict in harmTypeList"
                          :key="dict.aid"
                          :label="dict.harmType"
                          :value="dict.aid"
                        />
                      </el-select>
                    </template>
                  </el-table-column>
                  <el-table-column label="防护措施" prop="fangHu">
                    <template slot-scope="scope">
                      <el-input
                        size="mini"
                        v-model="scope.row.fangHu"
                        placeholder="请输入防护措施"
                      />
                    </template>
                  </el-table-column>
                </el-table>
              </div>
            </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
          >
        </div>
        <jianqianwenzhen
          :jianqianwenzhendata="jianqianwenzhendata"
          :dataList="dataList"
        ></jianqianwenzhen>
      </div>
    </div>
@@ -568,12 +157,14 @@
</template>
<script>
import jianqianwenzhen from "@/components/jianqianwenzhen";
import { updateHistory, getInfoById } from "@/api/hosp/history";
import { Message } from "element-ui";
import { getOrderList } from "@/api/hosp/order";
import { listHarmType } from "@/api/hosp/harmType";
export default {
  name: "History",
  components: { jianqianwenzhen },
  dicts: [
    "tj_smoking_pinlv",
    "sys_yes_no",
@@ -595,6 +186,7 @@
      }
    };
    return {
      jianqianwenzhendata: [],
      selectList: [],
      dataList: [],
      pickerOptions: {
@@ -812,7 +404,7 @@
      });
      let tjNumber = selection.map((item) => item.tjNumber);
      getInfoById(tjNumber).then((response) => {
        this.form = response.data;
        this.jianqianwenzhendata = response.data;
        if (this.form.xiyan == null) {
          this.form.xiyan = "1";
        }
@@ -841,41 +433,6 @@
          return "warning-row";
        }
      }
    },
    // 新增行
    addmembers() {
      if (this.form.cusName) {
        if (!this.form.tjAskHistorysList) {
          this.form.tjAskHistorysList = [];
          this.form.tjAskHistorysList.push({
            id: parseInt(length),
            diseaseName: "",
            diseaseData: "",
            diseaseCompany: "",
            isOk: "",
            remark: "",
            Selection,
          });
        } else {
          this.form.tjAskHistorysList.push({
            id: parseInt(length),
            diseaseName: "",
            diseaseData: "",
            diseaseCompany: "",
            isOk: "",
            remark: "",
            Selection,
          });
        }
      } else {
        Message.warning("请先填写客户名");
      }
      this.$forceUpdate();
    },
    handlebingChange(selection) {
      this.bingshiall = [];
      this.bingshiall = selection;
    },
    delemembers() {
@@ -927,11 +484,6 @@
      this.$forceUpdate();
    },
    handlezhiyeChange(selection) {
      this.chageall = [];
      this.chageall = selection;
    },
    delememberss() {
      let that = this;
      if (that.form.workLogs.length == that.chageall.length) {
@@ -945,13 +497,6 @@
          });
        });
      }
    },
    /** 提交按钮 */
    submitForm() {
      this.form.tjNum = this.dataList[0].tjNumber;
      updateHistory(this.form).then((response) => {
        this.$modal.msgSuccess("修改成功");
      });
    },
  },
};
@@ -978,22 +523,9 @@
  margin-top: 60px;
}
.coll {
  width: 100%;
}
::v-deep .el-collapse-item__header {
  font-weight: 800;
  font-size: 16px;
}
.txt {
  font-size: 16px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.el-table .warning-row {