11
WXL
4 天以前 64a95255d239d7e97f7417d431cc2ddd7e63c11e
src/views/project/donationdetails/index.vue
@@ -6,20 +6,17 @@
        <div>
          <el-steps direction="vertical" :active="workflow">
            <el-step title="潜在捐献" icon="el-icon-user">
              <template
                slot="description"
                v-if="Processdata.donatebaseinfo.createtime"
              >
              <template slot="description" v-if="donatebaseinfo.createtime">
                <p>
                  提交:<span
                    >{{ Processdata.donatebaseinfo.createperson }}
                    {{ parseTime(Processdata.donatebaseinfo.createtime) }}</span
                    >{{ donatebaseinfo.createperson }}
                    {{ parseTime(donatebaseinfo.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span
                    >{{ Processdata.donatebaseinfo.updateperson }}
                    {{ parseTime(Processdata.donatebaseinfo.updatetime) }}</span
                    >{{ donatebaseinfo.updateperson }}
                    {{ parseTime(donatebaseinfo.updatetime) }}</span
                  >
                </p>
              </template>
@@ -29,24 +26,17 @@
              icon="el-icon-edit-outline"
              description="请先完成前部步骤"
            >
              <template
                slot="description"
                v-if="Processdata.medicalevaluation.createtime"
              >
              <template slot="description" v-if="medicalevaluation.createtime">
                <p>
                  提交:<span>
                    {{ Processdata.medicalevaluation.createperson }}
                    {{
                      parseTime(Processdata.medicalevaluation.createtime)
                    }}</span
                    {{ medicalevaluation.createperson }}
                    {{ parseTime(medicalevaluation.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ Processdata.medicalevaluation.updateperson }}
                    {{
                      parseTime(Processdata.medicalevaluation.updatetime)
                    }}</span
                    {{ medicalevaluation.updateperson }}
                    {{ parseTime(medicalevaluation.updatetime) }}</span
                  >
                </p>
              </template>
@@ -58,22 +48,18 @@
            >
              <template
                slot="description"
                v-if="Processdata.relativesconfirmation.createtime"
                v-if="relativesconfirmation.createtime"
              >
                <p>
                  提交:<span>
                    {{ Processdata.relativesconfirmation.createperson }}
                    {{
                      parseTime(Processdata.relativesconfirmation.createtime)
                    }}</span
                    {{ relativesconfirmation.createperson }}
                    {{ parseTime(relativesconfirmation.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ Processdata.relativesconfirmation.updateperson }}
                    {{
                      parseTime(Processdata.relativesconfirmation.updatetime)
                    }}</span
                    {{ relativesconfirmation.updateperson }}
                    {{ parseTime(relativesconfirmation.updatetime) }}</span
                  >
                </p>
              </template>
@@ -83,24 +69,17 @@
              description="请先完成前部步骤"
              icon="el-icon-s-order"
            >
              <template
                slot="description"
                v-if="Processdata.donateflowcharts.createtime"
              >
              <template slot="description" v-if="donateflowcharts.createtime">
                <p>
                  提交:<span>
                    {{ Processdata.donateflowcharts.createperson }}
                    {{
                      parseTime(Processdata.donateflowcharts.createtime)
                    }}</span
                    {{ donateflowcharts.createperson }}
                    {{ parseTime(donateflowcharts.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ Processdata.donateflowcharts.updateperson }}
                    {{
                      parseTime(Processdata.donateflowcharts.updatetime)
                    }}</span
                    {{ donateflowcharts.updateperson }}
                    {{ parseTime(donateflowcharts.updatetime) }}</span
                  >
                </p>
              </template>
@@ -112,22 +91,18 @@
            >
              <template
                slot="description"
                v-if="Processdata.donateorgansService.createtime"
                v-if="donateorgansService.createtime"
              >
                <p>
                  提交:<span>
                    {{ Processdata.donateorgansService.createperson }}
                    {{
                      parseTime(Processdata.donateorgansService.createtime)
                    }}</span
                    {{ donateorgansService.createperson }}
                    {{ parseTime(donateorgansService.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ Processdata.donateorgansService.updateperson }}
                    {{
                      parseTime(Processdata.donateorgansService.updatetime)
                    }}</span
                    {{ donateorgansService.updateperson }}
                    {{ parseTime(donateorgansService.updatetime) }}</span
                  >
                </p>
              </template>
@@ -137,24 +112,17 @@
              description="请先完成前部步骤"
              icon="el-icon-s-management"
            >
              <template
                slot="description"
                v-if="Processdata.donationwitness.createtime"
              >
              <template slot="description" v-if="donationwitness.createtime">
                <p>
                  提交:<span>
                    {{ Processdata.donationwitness.createperson }}
                    {{
                      parseTime(Processdata.donationwitness.createtime)
                    }}</span
                    {{ donationwitness.createperson }}
                    {{ parseTime(donationwitness.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ Processdata.donationwitness.updateperson }}
                    {{
                      parseTime(Processdata.donationwitness.updatetime)
                    }}</span
                    {{ donationwitness.updateperson }}
                    {{ parseTime(donationwitness.updatetime) }}</span
                  >
                </p>
              </template>
@@ -166,22 +134,18 @@
            >
              <template
                slot="description"
                v-if="Processdata.donatecompletioninfo.createtime"
                v-if="donatecompletioninfo.createtime"
              >
                <p>
                  提交:<span>
                    {{ Processdata.donatecompletioninfo.createperson }}
                    {{
                      parseTime(Processdata.donatecompletioninfo.createtime)
                    }}</span
                    {{ donatecompletioninfo.createperson }}
                    {{ parseTime(donatecompletioninfo.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ Processdata.donatecompletioninfo.updateperson }}
                    {{
                      parseTime(Processdata.donatecompletioninfo.updatetime)
                    }}</span
                    {{ donatecompletioninfo.updateperson }}
                    {{ parseTime(donatecompletioninfo.updatetime) }}</span
                  >
                </p>
              </template>
@@ -266,7 +230,7 @@
                    placeholder="请选择证件类型"
                  >
                    <el-option
                      v-for="dict in dict.type.sys_IDType"
                      v-for="dict in dict.type.sys_IDType || []"
                      :key="dict.value"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
@@ -304,7 +268,7 @@
                <el-form-item label="性别" prop="sex">
                  <el-select v-model="form.sex" placeholder="请输入性别">
                    <el-option
                      v-for="dict in dict.type.sys_user_sex"
                      v-for="dict in dict.type.sys_user_sex || []"
                      :key="dict.label"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
@@ -417,7 +381,7 @@
              <el-form-item label="民族" prop="nation">
                <el-select v-model="form.nation" placeholder="请选择民族">
                  <el-option
                    v-for="dict in dict.type.sys_nation"
                    v-for="dict in dict.type.sys_nation || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
@@ -441,7 +405,7 @@
              <el-form-item label="职业" prop="occupation">
                <el-select v-model="form.occupation" placeholder="请选择职业">
                  <el-option
                    v-for="dict in dict.type.sys_occupation"
                    v-for="dict in dict.type.sys_occupation || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
@@ -453,12 +417,36 @@
              <el-form-item label="学历" prop="education">
                <el-select v-model="form.education" placeholder="请选择学历">
                  <el-option
                    v-for="dict in dict.type.sys_education"
                    v-for="dict in dict.type.sys_education || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="当前医疗机构" prop="occupation">
                <el-input v-model="form.currentMedicalInstitution" placeholder="请输入" />
              </el-form-item>
            </el-col>
            <el-col :span="10">
              <el-form-item label-width="130px" label="当前医疗机构科室" prop="education">
                <el-input v-model="form.currentDept" placeholder="请输入" />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="首次医疗机构" prop="occupation">
                <el-input v-model="form.firstMedicalInstitution" placeholder="请输入" />
              </el-form-item>
            </el-col>
            <el-col :span="10">
              <el-form-item label-width="130px" label="首次医疗机构科室" prop="education">
                <el-input v-model="form.firstDept" placeholder="请输入" />
              </el-form-item>
            </el-col>
          </el-row>
@@ -506,7 +494,7 @@
              <el-form-item align="left" label="血型" prop="bloodtype">
                <el-radio-group v-model="form.bloodtype">
                  <el-radio
                    v-for="dict in dict.type.sys_BloodType"
                    v-for="dict in dict.type.sys_BloodType || []"
                    :key="dict.value"
                    :label="dict.value"
                    >{{ dict.label }}</el-radio
@@ -518,7 +506,7 @@
              <el-form-item label="Rh(D)" align="left" prop="rhyin">
                <el-radio-group v-model="form.rhyin">
                  <el-radio
                    v-for="dict in dict.type.sys_bloodtype_rhd"
                    v-for="dict in dict.type.sys_bloodtype_rhd || []"
                    :key="dict.value"
                    :label="dict.value"
                    >{{ dict.label }}</el-radio
@@ -531,7 +519,7 @@
            <el-form-item label="疾病类型" align="left">
              <el-checkbox-group v-model="form.diseasetype">
                <el-checkbox
                  v-for="dict in dict.type.sys_DiseaseType"
                  v-for="dict in dict.type.sys_DiseaseType || []"
                  :key="dict.value"
                  :label="dict.value"
                >
@@ -551,7 +539,7 @@
              <el-form-item align="left" label="传染病">
                <el-checkbox-group v-model="form.infectious">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Infectious"
                    v-for="dict in dict.type.sys_Infectious || []"
                    :key="dict.value"
                    :label="dict.value"
                  >
@@ -574,7 +562,7 @@
              <el-form-item align="left" label="病人状况">
                <el-checkbox-group v-model="form.patientstate">
                  <el-checkbox
                    v-for="dict in dict.type.sys_patientstate"
                    v-for="dict in dict.type.sys_patientstate || []"
                    :key="dict.value"
                    :label="dict.value"
                  >
@@ -587,7 +575,7 @@
              <el-form-item label="其他情况">
                <el-checkbox-group v-model="form.othercases">
                  <el-checkbox
                    v-for="dict in dict.type.sys_OtherCases"
                    v-for="dict in dict.type.sys_OtherCases || []"
                    :key="dict.value"
                    :label="dict.value"
                  >
@@ -609,7 +597,7 @@
                  >
                    <el-checkbox-group v-model="form.kinship">
                      <el-checkbox
                        v-for="dict in dict.type.sys_Kinship"
                        v-for="dict in dict.type.sys_kinship || []"
                        :key="dict.value"
                        :label="dict.value"
                      >
@@ -634,7 +622,7 @@
              <el-form-item align="left" label="本人意愿 ">
                <el-checkbox-group v-model="form.selfwill">
                  <el-checkbox
                    v-for="dict in dict.type.sys_SelfWill"
                    v-for="dict in dict.type.sys_SelfWill || []"
                    :key="dict.value"
                    :label="dict.value"
                  >
@@ -660,7 +648,7 @@
                  placeholder="请选择与捐赠者关系"
                >
                  <el-option
                    v-for="dict in dict.type.sys_FamilyRelation"
                    v-for="dict in dict.type.sys_FamilyRelation || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
@@ -674,7 +662,7 @@
              <el-form-item align="left" label="信息来源">
                <el-checkbox-group v-model="form.infosources">
                  <el-checkbox
                    v-for="dict in dict.type.sys_InfoSources"
                    v-for="dict in dict.type.sys_InfoSources || []"
                    :key="dict.value"
                    :label="dict.value"
                  >
@@ -846,7 +834,7 @@
                  placeholder="请选择院级评估结论"
                >
                  <el-option
                    v-for="dict in dict.type.sys_BaseAssessConclusion"
                    v-for="dict in dict.type.sys_BaseAssessConclusion || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
@@ -898,7 +886,7 @@
                  placeholder="请选择省级评估结论"
                >
                  <el-option
                    v-for="dict in dict.type.sys_BaseAssessConclusion"
                    v-for="dict in dict.type.sys_BaseAssessConclusion || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
@@ -954,7 +942,7 @@
                  placeholder="请选择核心成员结论"
                >
                  <el-option
                    v-for="dict in dict.type.sys_CoreAssessConclusion"
                    v-for="dict in dict.type.sys_CoreAssessConclusion || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
@@ -1027,7 +1015,7 @@
                  placeholder="请选择与捐赠者关系"
                >
                  <el-option
                    v-for="dict in dict.type.sys_FamilyRelation"
                    v-for="dict in dict.type.sys_FamilyRelation || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
@@ -1055,6 +1043,44 @@
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="民族" prop="nation">
                <el-select v-model="affirmform.nation" placeholder="请选择民族">
                  <el-option
                    v-for="dict in dict.type.sys_nation || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="学历" prop="education">
                <el-select v-model="affirmform.education" placeholder="请选择学历">
                  <el-option
                    v-for="dict in dict.type.sys_education || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
           <el-col :span="6">
              <el-form-item label="职业" prop="occupation">
                <el-select v-model="affirmform.occupation" placeholder="请选择职业">
                  <el-option
                    v-for="dict in dict.type.sys_occupation || []"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="亲属籍贯" prop="residenceaddresss">
                <div>
@@ -1078,13 +1104,17 @@
          <el-row>
            <el-col :span="12">
              <el-form-item label="签字亲属" prop="kinshipconfirmationsign">
                <el-checkbox-group v-model="organdecision">
                <el-checkbox-group v-model="kinship">
                  <el-checkbox
                    v-for="item in kinshiplist"
                    :key="item"
                    :label="item"
                    v-for="dict in dict.type.sys_kinshipConfirm || []"
                    :label="dict.value"
                    :value="dict.value"
                  >
                    {{ item == "子女" ? item + "(人)" : item }}
                    {{
                      dict.label == "成年子女"
                        ? dict.label + "(人)"
                        : dict.label
                    }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
@@ -1249,7 +1279,7 @@
              <el-form-item label="审查结论">
                <el-radio-group v-model="ethicform.expertconclusion">
                  <el-radio
                    v-for="dict in dict.type.sys_EthicalReview"
                    v-for="dict in dict.type.sys_EthicalReview || []"
                    :key="dict.value"
                    :label="parseInt(dict.value)"
                    >{{ dict.label }}</el-radio
@@ -1320,7 +1350,7 @@
              <el-form-item label-width="100px" label="分配器官">
                <el-checkbox-group v-model="organList.organallocated">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    v-for="dict in dict.type.sys_Organ || []"
                    :key="dict.value"
                    :label="dict.value"
                    @change="changeorganState(dict.value)"
@@ -1356,7 +1386,7 @@
                    prop="organno"
                  />
                  <el-table-column
                    label="系统编号"
                    label="分配系统编号"
                    align="center"
                    width="120"
                    prop="caseno"
@@ -1364,12 +1394,12 @@
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.caseno"
                        placeholder="系统编号"
                        placeholder="分配系统编号"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="接收时间"
                    label="分配接收时间"
                    align="center"
                    width="200"
                    prop="applicanttime"
@@ -1382,7 +1412,7 @@
                        v-model="scope.row.applicanttime"
                        type="datetime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="选择接收时间"
                        placeholder="选择分配接收时间"
                      >
                      </el-date-picker>
                    </template>
@@ -1411,6 +1441,7 @@
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          :dataList="dataList"
                          v-model="scope.row.transplanthospitalno"
                        />
                      </div>
@@ -1493,7 +1524,7 @@
              >
                <el-radio-group v-model="witnessform.donationcategory">
                  <el-radio
                    v-for="dict in dict.type.sys_DonationCategory"
                    v-for="dict in dict.type.sys_DonationCategory || []"
                    :key="dict.value"
                    :label="dict.value"
                    >{{ dict.label }}</el-radio
@@ -1589,6 +1620,59 @@
                <el-date-picker
                  clearable
                  v-model="witnessform.operationendtime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择手术结束时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="协调员:进手术室时间"
                label-width="160px"
                prop="coordinatorInOperating"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.coordinatorInOperating"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择手术开始时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="出手术室时间"
                label-width="120px"
                prop="coordinatorOutOperating"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.coordinatorOutOperating"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择手术结束时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="签字时间"
                label-width="120px"
                prop="coorinatorSignTime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.coorinatorSignTime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择手术结束时间"
@@ -1820,6 +1904,7 @@
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          :dataList="dataList"
                          v-model="scope.row.gainhospitalno"
                        />
                      </div>
@@ -1894,7 +1979,7 @@
              <el-form-item align="left" label="默哀缅怀仪式">
                <el-radio-group v-model="witnessform.isspendremember">
                  <el-radio
                    v-for="dict in dict.type.sys_0_1"
                    v-for="dict in dict.type.sys_0_1 || []"
                    :key="dict.value"
                    :label="parseInt(dict.value)"
                    >{{ dict.label }}</el-radio
@@ -1906,7 +1991,7 @@
              <el-form-item align="left" label="恢复遗体仪容">
                <el-radio-group v-model="witnessform.isrestoreremains">
                  <el-radio
                    v-for="dict in dict.type.sys_0_1"
                    v-for="dict in dict.type.sys_0_1 || []"
                    :key="dict.value"
                    :label="parseInt(dict.value)"
                    >{{ dict.label }}</el-radio
@@ -2001,7 +2086,7 @@
              <el-form-item label-width="100px" label="移植器官">
                <el-checkbox-group v-model="organList.organtransplant">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    v-for="dict in dict.type.sys_Organ || []"
                    :key="dict.value"
                    :label="dict.value"
                    @change="changeorgantransplant(dict.value)"
@@ -2054,12 +2139,12 @@
                    align="center"
                    width="220"
                    prop="hospitalno"
                    v-if="actives == 6"
                  >
                    <template slot-scope="scope">
                      <org-selecter
                        ref="tranHosSelect"
                        :org-type="'4'"
                        :dataList="dataList"
                        v-model="scope.row.hospitalno"
                        style="width: 100%"
                      />
@@ -2153,7 +2238,7 @@
              <el-form-item align="left" label="遗体捐献" prop="isbodydonation">
                <el-radio-group v-model="accomplishform.isbodydonation">
                  <el-radio
                    v-for="dict in dict.type.sys_0_1"
                    v-for="dict in dict.type.sys_0_1 || []"
                    :key="dict.value"
                    :label="dict.value"
                    >{{ dict.label }}</el-radio
@@ -2300,7 +2385,7 @@
            @tab-click="selecttab"
          >
            <el-tab-pane
              v-for="dict in dict.type.materials_DBD"
              v-for="dict in dict.type.materials_DBD || []"
              :label="dict.label"
              :name="dict.value"
            ></el-tab-pane>
@@ -2433,7 +2518,8 @@
  addDonatebaseinfo,
  updateDonatebaseinfo,
  getDonatebaseinfoflow,
  fileCase
  fileCase,
  getDonationNumber
} from "@/api/project/donatebaseinfo";
import {
  listMedicalevaluation,
@@ -2511,12 +2597,81 @@
    AnnexUpload,
    ReportName
  },
  dicts: [
    "sys_nation",
    "sys_occupation",
    "sys_education",
    "sys_Organ",
    "sys_user_sex",
    "sys_IDType",
    "sys_BloodType",
    "sys_0_1",
    "sys_patientstate",
    "sys_DonationCategory",
    "sys_kinship",
    "sys_Infectious",
    "sys_bloodtype_rhd",
    "sys_InfoSources",
    "sys_OtherCases",
    "sys_DiseaseType",
    "sys_SelfWill",
    "sys_FamilyRelation",
    "sys_OrganDecision",
    "sys_CoreAssessConclusion",
    "sys_BaseAssessConclusion",
    "sys_EthicalReview",
    "materials_DBD",
    "sys_kinshipConfirm"
  ],
  data() {
    return {
      infoid: 736,
      drawer: false,
      form: {},
      form: {
        donorno: "",
        reporterno: "",
        reporterphone: "",
        name: "",
        idcardtype: "",
        idcardno: "",
        birthday: "",
        sex: "",
        age: "",
        treatmenthospitalno: "",
        treatmentdeptname: "",
        inpatientno: "",
        diagnosisname: "",
        nation: "",
        nativeplace: "",
        nationality: "",
        occupation: "",
        education: "",
        residenceaddress: "",
        registeraddress: "",
        bloodtype: "",
        rhyin: "",
        diseasetype: [],
        diseasetypeOther: "",
        infectious: [],
        infectiousOther: "",
        patientstate: [],
        othercases: [],
        kinship: [],
        kinshipOther: "",
        selfwill: [],
        majorrelatives: "",
        familyrelations: "",
        infosources: [],
        infosourcesOther: "",
        acquisitiontissueno: "",
        infoname: "",
        infophone: "",
        redorganno: "",
        contactperson: "",
        contacttime: "",
        reporttime: ""
      },
      istb: false,
      activeName: "",
      tableDatafile: [
        {
@@ -2526,18 +2681,20 @@
          type: "success"
        }
      ],
      dataList: [],
      medicineform: {
        infoid: null
      },
      affirmform: {
        infoid: null,
        organdecision: []
        organdecision: [],
        kinship: []
      },
      organdecision: [],
      kinship: [],
      ethicform: {
        infoid: null
      },
      kinshiplist: ["配偶", "父亲", "母亲", "子女", "受托人"],
      organselection: [
        "肝脏",
@@ -2611,7 +2768,13 @@
      showTerminationBtn: 0, //终止状态 0-未终止 1-已终止
      // 流程数据:donatebaseinfo[createtime,updatetime]、medicalevaluation、relativesconfirmation、donateflowcharts、donateorgansService、donationwitness、donatecompletioninfo
      Processdata: {},
      donatebaseinfo: {},
      medicalevaluation: {},
      relativesconfirmation: {},
      donateflowcharts: {},
      donateorgansService: {},
      donationwitness: {},
      donatecompletioninfo: {},
      //省市区默认值设置,可为空
      searchAddress: {
        sheng: "",
@@ -2773,12 +2936,15 @@
  },
  created() {
    console.log("加载的字典数据:", this.dict.type);
    this.Getnetworkheader();
    this.getdataList();
    this.infoid = this.$route.query.id;
  },
  mounted() {
    // this.id = this.$route.query.id;
    this.Getbasicinformation();
    this.listDonateannex();
    //获取报告人列表:专职人员
    listReportname("zzry").then(res => {
@@ -2799,21 +2965,36 @@
    Getbasicinformation() {
      // 左侧流程数据
      getDonatebaseinfoflow(this.infoid).then(res => {
        this.Processdata = res.data;
        if (res.code == 200) {
          this.Processdata = res.data;
          this.donatebaseinfo = this.Processdata.donatebaseinfo;
          this.medicalevaluation = this.Processdata.medicalevaluation;
          this.relativesconfirmation = this.Processdata.relativesconfirmation;
          this.donateflowcharts = this.Processdata.donateflowcharts;
          this.donateorgansService = this.Processdata.donateorgansService;
          this.donationwitness = this.Processdata.donationwitness;
          this.donatecompletioninfo = this.Processdata.donatecompletioninfo;
        } else {
          this.$message.error("侧边栏信息获取失败");
        }
      });
      // 表单数据
      getDonatebaseinfo(this.infoid).then(response => {
        this.form = response.data;
        console.log(this.form, "form");
        if (response.data.terminationCase) {
          this.showTerminationBtn = response.data.terminationCase;
        } else {
          this.showTerminationBtn = 0;
        }
        this.actives = response.data.workflow;
        this.workflow = response.data.workflow;
        response.data.sex = parseInt(response.data.sex);
        this.form.id = response.data.id;
        this.form.diseasetype = this.form.diseasetype.split(",");
        this.form.infectious = this.form.infectious.split(",");
        this.form.selfwill = this.form.selfwill.split(",");
@@ -2821,6 +3002,7 @@
        this.form.infosources = this.form.infosources.split(",");
        this.form.kinship = this.form.kinship.split(",");
        this.form.patientstate = this.form.patientstate.split(",");
        this.open = true;
        this.title = "人体器官潜在捐献者登记表";
        this.registerAddresss.sheng = response.data.registerprovincename;
@@ -2829,6 +3011,7 @@
        this.residenceAddresss.shi = response.data.residencecityname;
        this.residenceAddresss.qu = response.data.residencetownname;
        this.registerAddresss.qu = response.data.registertownname;
        // 获取二级表
        this.GetAttacheddata();
      });
@@ -2840,9 +3023,7 @@
      };
      if (this.actives == 1) {
        this.activetele = "医学评估";
        if (this.medicineform.infoid) {
          return;
        }
        listMedicalevaluation(searchParam).then(response => {
          if (response.code == 200 && response.rows[0]) {
            this.medicineform = response.rows[0];
@@ -2854,14 +3035,15 @@
        });
      } else if (this.actives == 2) {
        this.activetele = "捐献确认";
        if (this.affirmform.infoid) {
          return;
        }
        listRelativesconfirmation(searchParam).then(response => {
          if (response.code == 200 && response.rows[0]) {
            this.affirmform = response.rows[0];
            if (this.affirmform.organdecision) {
              this.organdecision = this.affirmform.organdecision.split(",");
            }
            if (this.affirmform.kinship) {
              this.kinship = this.affirmform.kinship.split(",");
            }
            if (!this.affirmform) {
              this.affirmform = {};
@@ -2872,14 +3054,6 @@
            this.defultAddresss.sheng = this.affirmform.residenceprovincename;
            this.defultAddresss.shi = this.affirmform.residencecityname;
            this.defultAddresss.qu = this.affirmform.residencetownname;
            // if (this.affirmform.kinship) {
            //   this.affirmform.kinship = this.affirmform.kinship.split(",");
            // }
            // if (this.affirmform.organdecision) {
            //   this.affirmform.organdecision = this.affirmform.organdecision.split(
            //     ","
            //   );
            // }
          } else {
            // this.$modal.msgError(
            //   "查询是否存在确认登记记录失败" + JSON.stringify(response)
@@ -2888,9 +3062,7 @@
        });
      } else if (this.actives == 3) {
        this.activetele = "伦理审查";
        if (this.ethicform.infoid) {
          return;
        }
        //listDonateflowchart(searchParam).then(response => {
        listEthicalreviewopinions(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
@@ -2899,7 +3071,7 @@
            console.log("伦理审查数据为空");
          }
        });
      } else if (this.actives == 4 && !this.allocateddata[0]) {
      } else if (this.actives == 4) {
        listDonateorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
@@ -2917,9 +3089,9 @@
            // );
          }
        });
      } else if (this.actives == 5 && !this.witnessform.infoid) {
      } else if (this.actives == 5) {
        // 不存在时获取器官信息
        if (this.witnessform.infoid) {
        if (this.procureddata[0] && !this.istb) {
          return;
        }
@@ -2927,10 +3099,22 @@
          if (res.code == 200) {
            if (res.rows[0]) {
              this.procureddata = res.rows;
              this.procureddata.infoid = this.infoid;
              // this.procureddata.infoid = this.infoid;
            } else {
              this.procureddata = this.allocateddata;
              this.procureddata.infoid = this.infoid;
              this.procureddata = this.allocateddata.filter(
                obj =>
                  obj.organname !== "左半肝" &&
                  obj.organname !== "右半肝" &&
                  obj.organname !== "左外叶" &&
                  obj.organname !== "右三叶" &&
                  obj.organname !== "左肝" &&
                  obj.organname !== "右肝"
              );
              this.procureddata = this.procureddata.map(obj => {
                obj.id = null;
                return obj;
              });
              // this.procureddata.infoid = this.infoid;
            }
            this.organList.organprocured = [];
            for (let i = 0; i < this.procureddata.length; i++) {
@@ -2949,6 +3133,7 @@
            if (response.data) {
              this.witnessform = response.data;
              this.witnessform.infoid = this.infoid;
              this.istb = false;
            }
          } else {
            // this.$modal.msgError(
@@ -2958,35 +3143,50 @@
        });
      } else if (this.actives == 6) {
        this.activetele = "完成登记";
        if (this.accomplishform.infoid) {
        if (this.transplantdata[0] && !this.istb) {
          return;
        }
        console.log("完成登记加载数据...");
        if (!this.organList.organtransplant[0]) {
          listDonatecomporgan(searchParam).then(res => {
            if (res.code == 200) {
              if (res.rows[0]) {
                this.transplantdata = res.rows;
                this.transplantdata.infoid = this.infoid;
              } else {
                this.transplantdata = this.allocateddata;
                this.transplantdata.infoid = this.infoid;
              }
              for (let i = 0; i < this.transplantdata.length; i++) {
                this.organList.organtransplant.push(
                  this.transplantdata[i].organno
                );
              }
        listDonatecomporgan(searchParam).then(res => {
          if (res.code == 200) {
            console.log("listDonatecomporgan 数据:", res.rows);
            if (res.rows[0]) {
              this.transplantdata = res.rows;
              // this.transplantdata.infoid = this.infoid;
            } else {
              // this.$modal.msgError(
              //   "器官列表获取失败:" + JSON.stringify(resall)
              // );
              this.transplantdata = this.allocateddata;
              this.transplantdata = this.transplantdata.map(obj => {
                obj.id = null;
                if (
                  obj.organname == "左眼角膜" ||
                  obj.organname == "右眼角膜"
                ) {
                  obj.transplantstate = 2;
                }
                return obj;
              });
              this.transplantdata.infoid = this.infoid;
            }
          });
        }
            for (let i = 0; i < this.transplantdata.length; i++) {
              this.organList.organtransplant.push(
                this.transplantdata[i].organno
              );
            }
          } else {
            // this.$modal.msgError(
            //   "器官列表获取失败:" + JSON.stringify(resall)
            // );
          }
        });
        // 获取完成登记信息
        listDonatecompletioninfo(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
            console.log("listDonatecompletioninfo 数据:", response.rows[0]);
            this.accomplishform = response.rows[0];
            this.accomplishform.infoid = this.infoid;
          } else {
@@ -2995,6 +3195,22 @@
        });
      } else if (this.actives == 0) {
        this.activetele = "潜在捐献";
      }
      if (!this.allocateddata[0]) {
        listDonateorgan(searchParam).then(res => {
          if (res.code == 200) {
            console.log("listDonateorgan 数据:", res.rows);
            if (res.rows[0]) {
              this.allocateddata = res.rows;
              this.allocateddataform.allocateddata = this.allocateddata;
            }
            this.organList.organallocated = [];
            for (let i = 0; i < res.rows.length; i++) {
              this.organList.organallocated.push(this.allocateddata[i].organno);
            }
          } else {
          }
        });
      }
    },
    /** 保存主表按钮 */
@@ -3006,7 +3222,9 @@
          this.form.birthday = this.$moment(this.form.birthday).format(
            "YYYY-MM-DD HH:mm:ss"
          );
          this.form.diseasetype = this.form.diseasetype.join(",");
          this.form.infectious = this.form.infectious.join(",");
          this.form.selfwill = this.form.selfwill.join(",");
          this.form.othercases = this.form.othercases.join(",");
@@ -3064,7 +3282,9 @@
            }
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              Modifydonationattachment(this.donatelist).then(res => {});
              Modifydonationattachment(this.donatelist).then(res => {
                this.listDonateannex();
              });
              this.Getbasicinformation();
              // this.Processvalidation();
              this.open = false;
@@ -3074,7 +3294,9 @@
            addDonatebaseinfo(this.form).then(response => {
              if (response.code == 200) {
                this.$modal.msgSuccess("新增成功");
                Modifydonationattachment(this.donatelist).then(res => {});
                Modifydonationattachment(this.donatelist).then(res => {
                  this.listDonateannex();
                });
                this.Getbasicinformation();
                // this.Processvalidation();
                this.open = false;
@@ -3089,11 +3311,11 @@
    // 保存二级表按钮
    Savethedetails() {
      console.log(this.actives);
      this.$modal.loading("正在提交,请稍候!");
      if (this.actives == 1) {
        this.medicineform.infoid = this.infoid;
        this.$refs["medicineform"].validate(valid => {
          if (valid) {
            this.$modal.loading("正在提交,请稍候!");
            if (this.medicineform.id != null) {
              updateMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("医学评估信息修改成功");
@@ -3111,8 +3333,10 @@
      } else if (this.actives == 2) {
        this.affirmform.infoid = this.infoid;
        this.affirmform.organdecision = this.organdecision.join(",");
        this.affirmform.kinship = this.kinship.join(",");
        this.$refs["affirmform"].validate(valid => {
          if (valid) {
            this.$modal.loading("正在提交,请稍候!");
            if (this.affirmform.id != null) {
              this.affirmform.residenceprovincename = this.defultAddresss.sheng;
              this.affirmform.residencecityname = this.defultAddresss.shi;
@@ -3122,6 +3346,9 @@
                this.$modal.closeLoading();
              });
            } else {
              this.affirmform.residenceprovincename = this.defultAddresss.sheng;
              this.affirmform.residencecityname = this.defultAddresss.shi;
              this.affirmform.residencetownname = this.defultAddresss.qu;
              addRelativesconfirmation(this.affirmform).then(response => {
                this.$modal.msgSuccess("捐献确认信息新增成功");
                this.$modal.closeLoading();
@@ -3134,6 +3361,7 @@
        this.ethicform.infoid = this.infoid;
        this.$refs["ethicform"].validate(valid => {
          if (valid) {
            this.$modal.loading("正在提交,请稍候!");
            if (this.ethicform.id != null) {
              // updateDonateflowchart(this.ethicform).then(response => {
              updateEthicalreviewopinions(this.ethicform).then(res => {
@@ -3151,27 +3379,20 @@
          }
        });
      } else if (this.actives == 4) {
        this.procureddata.infoid = this.infoid;
        // this.procureddata.infoid = this.infoid;
        this.$refs["allocateddataform"].validate(valid => {
          /**
          let rows = [];
          this.allocateddata.map(item => {
            if (item.id) {
              item.applicanttime = formatDate(item.applicanttime);
              updateDonateorgan(item).then(response => { });
            } else {
              item.infoid=this.infoid;
              rows.push(item);
            }
          });
          if (rows.length) {
            addOrganallocation(rows).then(res => {
              this.$modal.msgSuccess("器官捐献信息新增成功");
            });
          }
           */
          this.$modal.loading("正在提交,请稍候!");
          this.allocateddata.map(item => {
            item.applicanttime = formatDate(item.applicanttime);
          });
          this.allocateddata.forEach(item => {
            const objs = this.dataList.find(
              obj => obj.organizationid == item.transplanthospitalno
            );
            if (objs) {
              item.transplanthospitalname = objs.organizationname;
            }
          });
          saveDonateorgan(this.allocateddata).then(res => {
            if (res.code == 200) {
@@ -3192,6 +3413,7 @@
              coordinatedusernameIndex
            ].reportName;
          }
          //协调员2
          let coordinatedusernametIndex = this.coordinatorlist1.findIndex(
            item => this.witnessform.coordinateduseridt == item.reportNo
@@ -3203,87 +3425,115 @@
          }
          if (valid) {
            this.$modal.loading("正在提交,请稍候!");
            if (this.witnessform.id != null) {
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
                this.$modal.closeLoading();
                this.form.donationcategory = this.witnessform.donationcategory;
                this.Processvalidation();
                this.procureddata.forEach(item => {
                  const objs = this.dataList.find(
                    obj => obj.organizationid == item.gainhospitalno
                  );
                  if (objs) {
                    item.gainhospitalname = objs.organizationname;
                  }
                });
                //保存器官获取表数据
                saveDonationwitnessorgan(this.procureddata).then(res => {
                  if (res == 200) {
                    this.$modal.msgSuccess("捐献器官获取信息保存成功!");
                  }
                  this.$modal.closeLoading();
                });
              });
            } else {
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
                this.$modal.closeLoading();
                if (response.code === 200) {
                  this.$modal.msgSuccess("获取见证信息新增成功");
                  this.form.donationcategory = this.witnessform.donationcategory;
                  let data = JSON.parse(JSON.stringify(this.form));
                  data.diseasetype = "";
                  data.infectious = data.infectious.join(",");
                  data.selfwill = data.selfwill.join(",");
                  data.othercases = data.othercases.join(",");
                  data.infosources = data.infosources.join(",");
                  data.kinship = data.kinship.join(",");
                  data.patientstate = data.patientstate.join(",");
                  // 获取捐献编号
                  getDonationNumber(data).then(res => {
                    this.form.donorno = res.msg;
                    this.istb = true;
                    this.Processvalidation();
                  });
                  //保存器官获取表数据
                  saveDonationwitnessorgan(this.procureddata).then(res => {
                    if (res == 200) {
                      this.$modal.msgSuccess("捐献器官获取信息保存成功!");
                    }
                    this.$modal.closeLoading();
                  });
                } else {
                  this.$modal.msgError("获取见证信息新增失败");
                  this.$modal.closeLoading();
                }
              });
            }
            //保存器官获取表数据
            this.procureddata.infoid = this.infoid;
            saveDonationwitnessorgan(this.procureddata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
              }
            });
            this.form.donationcategory = this.witnessform.donationcategory;
            this.Processvalidation();
          }
        });
      } else if (this.actives == 6) {
        this.accomplishform.infoid = this.infoid;
        this.$refs["accomplishform"].validate(valid => {
          if (valid) {
            // 保存捐献器官移植信息
            this.transplantdata.infoid = this.infoid;
            console.log(this.form);
            this.transplantdata.forEach(item => {
              listDonorchargeorgan({
                infoid: item.infoid,
                organno: item.organno
              }).then(res => {
                console.log("aaa");
                if (res.rows[0]) {
                  let objfn = res.rows[0];
                  console.log(objfn, "sass");
            this.$modal.loading("正在提交,请稍候!");
                  objfn.caseno = item.caseno;
                  objfn.hospitalno = item.hospitalno;
                  objfn.name = item.name;
                  objfn.receiveTime = item.transplanttime;
                  console.log(objfn, "sass");
                  updateDonorchargeorgan(objfn).then(res1 => {});
                } else {
                  addDonorchargeorgan(item).then(res2 => {});
                }
              });
            this.transplantdata.forEach(item => {
              item.donorname = this.form.name;
            });
            saveDonatecomporgan(this.transplantdata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
              } else {
                this.$modal.msgSuccess(res.msg);
                return;
            this.transplantdata.forEach(item => {
              const objs = this.dataList.find(
                obj => obj.organizationid == item.hospitalno
              );
              if (objs) {
                item.hospitalname = objs.organizationname;
              }
            });
            console.log(this.accomplishform.id, "完成id");
            // 保存确认信息
            if (this.accomplishform.id) {
              updateDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记信息修改成功");
                this.$modal.closeLoading();
                saveDonatecomporgan(this.transplantdata).then(res => {
                  if (res == 200) {
                    this.$modal.msgSuccess("捐献器官登记信息保存成功!");
                  } else {
                    this.$modal.msgSuccess(res.msg);
                  }
                  this.$modal.closeLoading();
                });
              });
            } else {
              addDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记成功");
                this.$modal.closeLoading();
                this.$modal
                  .confirm("案例已完成是否跳转案例费用页面进行费用单保存?")
                  .then(() => {
                    this.$router.push({
                      path: "/finance/donorchargedetail/",
                      query: { id: 0, operation: "add", data: this.form }
                    });
                  })
                  .catch(() => {});
                saveDonatecomporgan(this.transplantdata).then(res => {
                  if (res.code == 200) {
                    this.$modal.msgSuccess("捐献器官登记信息保存成功!");
                  } else {
                    this.$modal.msgError(res.msg);
                  }
                  this.$modal.closeLoading();
                });
                this.istb = true;
                // this.$modal
                //   .confirm("案例已完成是否跳转案例费用页面进行费用单保存?")
                //   .then(() => {
                //     this.$router.push({
                //       path: "/finance/donorchargedetail/",
                //       query: { gxinzt: true, operation: "add", data: this.form, }
                //     });
                //   })
                //   .catch(() => {});
              });
            }
@@ -3304,6 +3554,10 @@
        this.$modal.msgWarning("请先完成前部步骤");
      }
      // }
    },
    // 获取部门数据缓存
    getdataList() {
      this.$store.dispatch("getdataList").then(() => {});
    },
    // 器官分配栏目控制
    changeorganState(value) {
@@ -3512,7 +3766,7 @@
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: 1,
              transplantstate:1,
              transplantstate: 1
            });
          }
        } else {
@@ -3532,8 +3786,8 @@
    },
    // 更改进程效验
    Processvalidation() {
      if (this.form.workflow + 1 == this.actives || this.actives == 6) {
        if (this.form.workflow <= 6) {
      if (this.form.workflow + 1 == this.actives) {
        if (this.form.workflow < 6) {
          this.form.workflow++;
        } else {
        }
@@ -3541,9 +3795,8 @@
        // this.GetAttacheddata();
      } else if (this.form.workflow > this.actives) {
        this.submitForm();
        Modifydonationattachment(this.donatelist).then(res => {});
        this.listDonateannex();
        this.GetAttacheddata();
        // Modifydonationattachment(this.donatelist).then(res => {});
        // this.GetAttacheddata();
      } else {
        this.submitForm();
        // this.$modal.msgWarning("请先完成前部步骤");
@@ -3552,9 +3805,14 @@
    },
    // 提交归档
    Reportforreview() {
      if (this.form.workflow == 9) {
        this.form.workflow = 8;
      if (this.form.workflow == 8) {
        this.form.workflow = 7;
        this.submitForm();
        this.$router.go(-1);
        this.$message({
          type: "success",
          message: "撤销成功!"
        });
      } else {
        this.$confirm("即将进行案例归档, 确认所有数据已保存?", "提示", {
          confirmButtonText: "确定",
@@ -3566,7 +3824,7 @@
              if (res.code == 500) {
                this.$message.error(res.msg);
              } else {
                this.form.workflow = 9;
                this.form.workflow = 8;
                this.submitForm();
                this.$message({
                  type: "success",
@@ -3616,8 +3874,11 @@
    // 获取附件数据并分类二级列
    listDonateannex() {
      let parmi = {};
      console.log(222);
      parmi.infoid = this.infoid.toString();
      listDonateannex(parmi).then(res => {
        console.log(333);
        this.donatelist = res.rows;
      });
    },
@@ -3848,33 +4109,7 @@
      row.caseno = null;
      row.applicanttime = null;
    }
  },
  dicts: [
    "sys_nation",
    "sys_occupation",
    "sys_education",
    "sys_Organ",
    "sys_user_sex",
    "sys_IDType",
    "sys_BloodType",
    "sys_0_1",
    "sys_patientstate",
    "sys_DonationCategory",
    "sys_Kinship",
    "sys_Infectious",
    "sys_bloodtype_rhd",
    "sys_InfoSources",
    "sys_OtherCases",
    "sys_DiseaseType",
    "sys_SelfWill",
    "sys_FamilyRelation",
    "sys_OrganDecision",
    "sys_CoreAssessConclusion",
    "sys_BaseAssessConclusion",
    "sys_EthicalReview",
    "materials_DBD"
  ]
  }
};
</script>