11
WXL
2024-08-14 0ac2d43fce4d74f6eea5a51a2e16af4e6a536c7c
src/views/project/donationdetails/index.vue
@@ -3,55 +3,162 @@
    <div class="left-course">
      <div class="postfilx">
        <div class="title">工作进程</div>
        <div style="height: 666px;">
          <el-steps direction="vertical" :active="3">
        <div>
          <el-steps direction="vertical" :active="workflow">
            <el-step title="潜在捐献" icon="el-icon-user">
              <template slot="description">
                <p>提交时间:<span>2023-9-20</span></p>
                <p>审核时间:<span>2023-9-30</span></p>
              <template slot="description" v-if="donatebaseinfo.createtime">
                <p>
                  提交:<span
                    >{{ donatebaseinfo.createperson }}
                    {{ parseTime(donatebaseinfo.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span
                    >{{ donatebaseinfo.updateperson }}
                    {{ parseTime(donatebaseinfo.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
            <el-step title="医学评估" icon="el-icon-edit-outline">
              <template slot="description">
                <p>提交时间:<span>2023-9-20</span></p>
                <p>审核时间:<span>2023-9-30</span></p>
            <el-step
              title="医学评估"
              icon="el-icon-edit-outline"
              description="请先完成前部步骤"
            >
              <template slot="description" v-if="medicalevaluation.createtime">
                <p>
                  提交:<span>
                    {{ medicalevaluation.createperson }}
                    {{ parseTime(medicalevaluation.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ medicalevaluation.updateperson }}
                    {{ parseTime(medicalevaluation.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
            <el-step
              title="捐献确认"
              description="这是一段很长很长很长的描述性文字"
              description="请先完成前部步骤"
              icon="el-icon-folder-checked"
            >
              <template
                slot="description"
                v-if="relativesconfirmation.createtime"
              >
                <p>
                  提交:<span>
                    {{ relativesconfirmation.createperson }}
                    {{ parseTime(relativesconfirmation.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ relativesconfirmation.updateperson }}
                    {{ parseTime(relativesconfirmation.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
            <el-step
              title="伦理审查"
              description="这是一段很长很长很长的描述性文字"
              description="请先完成前部步骤"
              icon="el-icon-s-order"
            ></el-step>
            >
              <template slot="description" v-if="donateflowcharts.createtime">
                <p>
                  提交:<span>
                    {{ donateflowcharts.createperson }}
                    {{ parseTime(donateflowcharts.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ donateflowcharts.updateperson }}
                    {{ parseTime(donateflowcharts.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
            <el-step
              title="器官分配"
              description="这是一段很长很长很长的描述性文字"
              description="请先完成前部步骤"
              icon="el-icon-s-operation"
            ></el-step>
            >
              <template
                slot="description"
                v-if="donateorgansService.createtime"
              >
                <p>
                  提交:<span>
                    {{ donateorgansService.createperson }}
                    {{ parseTime(donateorgansService.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ donateorgansService.updateperson }}
                    {{ parseTime(donateorgansService.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
            <el-step
              title="获取见证"
              description="这是一段很长很长很长的描述性文字"
              description="请先完成前部步骤"
              icon="el-icon-s-management"
            ></el-step>
            >
              <template slot="description" v-if="donationwitness.createtime">
                <p>
                  提交:<span>
                    {{ donationwitness.createperson }}
                    {{ parseTime(donationwitness.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ donationwitness.updateperson }}
                    {{ parseTime(donationwitness.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
            <el-step
              title="完成登记"
              description="这是一段很长很长很长的描述性文字"
              description="请先完成前部步骤"
              icon="el-icon-circle-check"
            ></el-step>
            >
              <template
                slot="description"
                v-if="donatecompletioninfo.createtime"
              >
                <p>
                  提交:<span>
                    {{ donatecompletioninfo.createperson }}
                    {{ parseTime(donatecompletioninfo.createtime) }}</span
                  >
                </p>
                <p>
                  更新:<span>
                    {{ donatecompletioninfo.updateperson }}
                    {{ parseTime(donatecompletioninfo.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
          </el-steps>
        </div>
      </div>
    </div>
    <!-- 右侧数据 -->
    <div style="background: #fff;">
    <div style="background: #fff; width: 80%;">
      <!-- 顶部数据 -->
      <div class="boxdiv">
        <div class="top-text">捐献者记录工作台</div>
        <div class="top-text">捐献案例信息</div>
        <el-form
          ref="form"
          :model="form"
@@ -66,30 +173,47 @@
              "
          >
            <el-row style="margin-top: 10px">
              <el-col :span="8">
              <el-col :span="6">
                <el-form-item label="捐献编号" prop="donorno">
                  <el-input v-model="form.donorno" disabled />
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item
                  align="left"
                  label="医疗机构"
                  prop="treatmenthospitalno"
                >
                  <org-selecter
                    ref="addOrgSelect"
                    :org-type="'3'"
                    v-model="form.treatmenthospitalno"
              <el-col :span="6">
                <el-form-item label="报告人" prop="reporterno">
                  <el-select
                    ref="getReportname"
                    v-model="form.reporterno"
                    placeholder="请选择"
                  >
                    <el-option
                      v-for="item in reporters"
                      :key="item.reportNo"
                      :label="item.reportName"
                      :value="item.reportNo"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="联系电话" prop="reporterphone">
                  <el-input
                    v-model="form.reporterphone"
                    placeholder="请输入联系电话"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="科室" prop="treatmentdeptno">
                  <el-input
                    v-model="form.treatmentdeptname"
                    placeholder="请输入科室"
                  />
              <el-col :span="6">
                <el-form-item label="报告时间" align="left" prop="reporttime">
                  <el-date-picker
                    clearable
                    size="small"
                    v-model="form.reporttime"
                    type="datetime"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    placeholder="选择报告时间"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
            </el-row>
@@ -99,36 +223,6 @@
                  <el-input v-model="form.name" placeholder="必填项" />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="民族" prop="nation">
                  <el-select v-model="form.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="nativeplace">
                  <el-input
                    v-model="form.nativeplace"
                    placeholder="请输入国籍"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="国籍" prop="nationality">
                  <el-input
                    v-model="form.nationality"
                    placeholder="请输入国籍"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="6">
                <el-form-item label="证件类型" prop="idcardtype">
                  <el-select
@@ -147,7 +241,6 @@
              <el-col :span="6">
                <el-form-item label="证件号码" prop="idcardno">
                  <el-input
                    style="width: 174px"
                    ref="updateBSvalue"
                    class="sfzcode"
                    v-model="form.idcardno"
@@ -156,6 +249,21 @@
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="出生日期" prop="birthday">
                  <el-date-picker
                    clearable
                    size="small"
                    v-model="form.birthday"
                    type="date"
                    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 label="性别" prop="sex">
                  <el-select v-model="form.sex" placeholder="请输入性别">
@@ -173,84 +281,26 @@
                  <el-input v-model="form.age" placeholder="请输入年龄" />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="6">
                <el-form-item label="出生日期" prop="birthday">
                  <el-date-picker
                    clearable
                    size="small"
                    v-model="form.birthday"
                    type="date"
                    style="width: 174px"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    placeholder="选择出生日期"
                  >
                  </el-date-picker>
                <el-form-item
                  align="left"
                  label="医疗机构"
                  prop="treatmenthospitalno"
                >
                  <org-selecter
                    ref="addOrgSelect"
                    :org-type="'3'"
                    v-model="form.treatmenthospitalno"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="职业" prop="occupation">
                  <el-select v-model="form.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 label="科室" prop="treatmentdeptno">
                  <el-input
                    v-model="form.treatmentdeptname"
                    placeholder="请输入科室"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="学历" prop="education">
                  <el-select v-model="form.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-row>
            <el-row>
              <el-col :span="12">
                <el-form-item label="住址" prop="residenceaddress">
                  <div>
                    <li_area_select
                      ref="residenceSelect"
                      v-model="residenceAddresss"
                    ></li_area_select>
                    <!-- <div>{{defultAddress}}</div> -->
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="11" :push="1">
                <el-input
                  v-model="form.residenceaddress"
                  placeholder="请输入内容"
                />
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="12">
                <el-form-item label="现所在地" prop="registeraddress">
                  <div>
                    <li_area_select
                      ref="registerSelect"
                      v-model="registerAddresss"
                    ></li_area_select>
                    <!-- <div>{{defultAddress}}</div> -->
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="11" :push="1">
                <el-input
                  v-model="form.registeraddress"
                  placeholder="请输入内容"
                />
              </el-col>
            </el-row>
          </div>
@@ -296,6 +346,12 @@
          ></el-step>
        </el-steps>
      </div>
      <!-- 凭证文件 -->
      <div class="Ticket-button">
        <el-button @click.native.prevent="Filepopup" type="success"
          >凭证文件</el-button
        >
      </div>
      <!-- 潜在捐献 -->
      <div class="boxdiv" style="margin: 30px 0 66px 0;" v-show="actives == 0">
        <el-form
@@ -318,6 +374,95 @@
                  placeholder="请输入疾病诊断名称"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="民族" prop="nation">
                <el-select v-model="form.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="nativeplace">
                <el-input v-model="form.nativeplace" placeholder="请输入国籍" />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="国籍" prop="nationality">
                <el-input v-model="form.nationality" placeholder="请输入国籍" />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="职业" prop="occupation">
                <el-select v-model="form.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-col :span="6">
              <el-form-item label="学历" prop="education">
                <el-select v-model="form.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-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="住址" prop="residenceaddress">
                <div>
                  <li_area_select
                    ref="residenceSelect"
                    v-model="residenceAddresss"
                  ></li_area_select>
                  <!-- <div>{{defultAddress}}</div> -->
                </div>
              </el-form-item>
            </el-col>
            <el-col :span="11" :push="1">
              <el-input
                v-model="form.residenceaddress"
                placeholder="请输入内容"
              />
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="现所在地" prop="registeraddress">
                <div>
                  <li_area_select
                    ref="registerSelect"
                    v-model="registerAddresss"
                  ></li_area_select>
                  <!-- <div>{{defultAddress}}</div> -->
                </div>
              </el-form-item>
            </el-col>
            <el-col :span="11" :push="1">
              <el-input
                v-model="form.registeraddress"
                placeholder="请输入内容"
              />
            </el-col>
          </el-row>
          <el-row>
@@ -428,7 +573,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"
                      >
@@ -512,6 +657,20 @@
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="获取组织"
                prop="acquisitiontissuename"
              >
                <org-selecter
                  style="width: 260px"
                  ref="orgSelecter"
                  :org-type="'1'"
                  v-model="form.acquisitiontissueno"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="信息员" prop="infoname">
                <el-input v-model="form.infoname" placeholder="请输入信息员" />
@@ -559,82 +718,26 @@
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item
                align="left"
                label="获取组织"
                prop="acquisitiontissuename"
              >
                <org-selecter
                  style="width: 260px"
                  ref="orgSelecter"
                  :org-type="'1'"
                  v-model="form.acquisitiontissueno"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="报告人" prop="reporterno">
                <el-select
                  ref="getReportname"
                  v-model="form.reporterno"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in reporters"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="联系电话" prop="reporterphone">
                <el-input
                  v-model="form.reporterphone"
                  placeholder="请输入联系电话"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="报告时间" align="left" prop="reporttime">
                <el-date-picker
                  clearable
                  size="small"
                  style="width: 190px"
                  v-model="form.reporttime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择报告时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button v-show="showSaveBtn" type="primary" @click="submitForm"
            >保存捐献者信息</el-button
          <el-button
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="submitForm"
            >保存</el-button
          >
          <el-button
            v-show="showTerminationBtn"
            type="primary"
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >终止案例</el-button
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button v-show="Reportforreview" type="primary" @click="ReviewFn"
            >上报审核</el-button
          >
          <el-button v-show="makeastepforward" type="primary" @click="ReviewFn"
            >下一步</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          <!-- <el-button @click="handleapproval">提交审核</el-button> -->
          <!-- <el-button
            v-show="Reportforreview"
            type="primary"
            @click="Reportforreview"
            >提交</el-button
          > -->
        </div>
      </div>
      <!-- 医学评估 -->
@@ -841,19 +944,25 @@
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button v-show="showSaveBtn" type="primary" @click="Savethedetails"
            >保存评估信息</el-button
          <el-button
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-show="showTerminationBtn"
            type="primary"
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >终止案例</el-button
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button v-show="makeastepforward" type="primary" @click="ReviewFn"
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          > -->
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </div>
      <!-- 捐献确认 -->
@@ -865,34 +974,6 @@
          label-width="100px"
          label-position="right"
        >
          <el-row>
            <el-col :span="12">
              <el-form-item
                label="亲属关系"
                prop="kinship"
                class="relation"
                align="left"
              >
                <el-checkbox-group v-model="affirmform.kinship">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Kinship"
                    :key="dict.value"
                    :label="dict.value"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="子女数量" prop="kinshipChildrennum">
                <el-input
                  v-model="affirmform.kinshipChildrennum"
                  placeholder="请输入数量"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="亲属姓名" prop="name">
@@ -918,14 +999,21 @@
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="12">
            <el-col :span="6">
              <el-form-item label="身份证号" prop="idcardno">
                <el-input
                  ref="updateBSvalue"
                  class="sfzcode"
                  v-model="affirmform.idcardno"
                  placeholder="请输入证件号码"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="联系电话" prop="phone">
                <el-input
                  v-model="affirmform.phone"
                  placeholder="请输入联系电话"
                />
              </el-form-item>
            </el-col>
@@ -951,19 +1039,55 @@
              </el-form-item>
            </el-col>
          </el-row>
          <el-row> </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="签字亲属" prop="kinshipconfirmationsign">
                <el-checkbox-group v-model="kinship">
                  <el-checkbox
                    v-for="item in dict.type.sys_kinshipConfirm"
                    :label="item.value"
                    :value="item.value"
                  >
                    {{
                      item.label == "成年子女"
                        ? item.label + "(人)"
                        : item.label
                    }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="联系电话" prop="phone">
              <el-form-item label="成年子女数" prop="kinshipChildrennum">
                <el-input
                  v-model="affirmform.phone"
                  placeholder="请输入联系电话"
                  v-model="affirmform.kinshipChildrennum"
                  placeholder="请输入数量"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="其他亲属" prop="organdecisionOther">
                <el-input
                  v-model="affirmform.organdecisionOther"
                  placeholder="请输入其他"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="18">
            <el-form-item label-width="100px" label="捐献决定">
              <el-checkbox-group v-model="organdecision">
                <el-checkbox
                  v-for="item in organselection"
                  :key="item"
                  :label="item"
                  >{{ item }}
                </el-checkbox>
              </el-checkbox-group>
            </el-form-item>
          </el-row>
          <el-row>
            <!-- <el-col :span="18">
              <el-form-item align="left" label="捐献决定">
                <el-checkbox-group v-model="affirmform.organdecision">
                  <el-checkbox
@@ -975,12 +1099,16 @@
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="其他" prop="organdecisionOther">
                <el-input
                  v-model="affirmform.organdecisionOther"
                  placeholder="请输入其他"
            </el-col> -->
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="获取组织" prop="acquisitiontissuename">
                <org-selecter
                  style="width: 260px"
                  ref="orgSelecter"
                  :org-type="'1'"
                  v-model="form.acquisitiontissueno"
                />
              </el-form-item>
            </el-col>
@@ -1054,19 +1182,25 @@
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button v-show="showSaveBtn" type="primary" @click="Savethedetails"
            >保存捐献信息</el-button
          <el-button
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-show="showTerminationBtn"
            type="primary"
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >终止案例</el-button
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button v-show="makeastepforward" type="primary" @click="ReviewFn"
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          > -->
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </div>
      <!-- 伦理审查 -->
@@ -1078,18 +1212,10 @@
          label-width="100px"
          label-position="right"
        >
          <el-form-item label="审查意见">
            <el-input
              v-model="ethicform.flowcontent"
              type="textarea"
              placeholder="请输入内容"
            />
          </el-form-item>
          <el-row>
            <el-col :span="18">
              <el-form-item label="审查结论">
                <el-radio-group v-model="ethicform.flowconclusion">
                <el-radio-group v-model="ethicform.expertconclusion">
                  <el-radio
                    v-for="dict in dict.type.sys_EthicalReview"
                    :key="dict.value"
@@ -1099,169 +1225,223 @@
                </el-radio-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="18">
              <el-form-item label="审查意见">
                <el-input
                  v-model="ethicform.expertopinion"
                  type="textarea"
                  placeholder="请输入内容"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <!-- createtime   审查日期 -->
            <el-col :span="6" :pull="5">
            <el-col :span="18">
              <el-form-item label="审查日期">
                <el-date-picker
                  clearable
                  size="small"
                  v-model="ethicform.createTime"
                  v-model="ethicform.conclusiontime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择结论时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
              </el-form-item> </el-col
          ></el-row>
        </el-form>
        <div class="dialog-footer" style="min-height: 500px; margin: 20px 0; ">
          <el-button v-show="showSaveBtn" type="primary" @click="Savethedetails"
            >保存捐献信息</el-button
          <el-button
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-show="showTerminationBtn"
            type="primary"
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >终止案例</el-button
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button v-show="makeastepforward" type="primary" @click="ReviewFn"
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          > -->
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </div>
      <!-- 器官分配 -->
      <div class="boxdiv" v-show="actives == 4">
        <el-form
          ref="allocationform"
          :model="allocationform"
          ref="allocateddataform"
          :rules="allocationrules"
          label-width="100px"
          :model="allocateddataform"
          label-position="right"
        >
          <el-row>
            <el-col :span="8">
              <el-form-item label="分配状态" prop="organstate">
                <el-select
                  v-model="allocationform.organstate"
                  placeholder="请选择器官状态"
                >
                  <el-option
                    v-for="dict in dict.type.sys_organstate"
            <el-col>
              <el-form-item label-width="100px" label="分配器官">
                <el-checkbox-group v-model="organList.organallocated">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
                    :label="dict.value"
                    @change="changeorganState(dict.value)"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="捐献姓名" prop="curdonorname">
                <el-input
                  v-model="curdonorname"
                  placeholder="捐献者姓名"
                  disabled
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="器官名称" prop="organnumber">
                <el-select
                  ref="organNameSelect"
                  v-model="allocationform.organnumber"
                  placeholder="请选择器官编号"
                  clearable
                  size="small"
                  disabled
                >
                  <el-option
                    v-for="dict in dict.type.sys_Organ"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
            <el-col>
              <el-form-item>
                <el-table v-loading="loading" border :data="allocateddata">
                  <el-table-column
                    label="器官名称"
                    align="center"
                    width="110"
                    prop="organname"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.organname"
                        placeholder="器官名称"
                        :disabled="scope.row.organno != 'C01'"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="器官编号"
                    align="center"
                    width="90"
                    prop="organno"
                  />
                </el-select>
              </el-form-item> </el-col
            ><el-col :span="8">
              <el-form-item label="系统编号" prop="ageunit">
                <el-input
                  v-model="allocationform.ageunit"
                  placeholder="请输入系统编号"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row
            ><el-col :span="8">
              <el-form-item label="接收时间" prop="applicanttime">
                <el-date-picker
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="allocationform.applicanttime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择接收时间"
                >
                </el-date-picker>
              </el-form-item> </el-col
            ><el-col :span="16">
              <el-form-item label="移植医院" prop="treatmenthospitalno">
                <org-selecter
                  ref="tranHosSelect"
                  :org-type="'4'"
                  v-model="allocationform.transplanthospitalno"
                  style="width: 100%"
                />
              </el-form-item> </el-col></el-row
          ><el-row>
            <el-col :span="8">
              <el-form-item label="受体姓名" prop="name">
                <el-input v-model="allocationform.name" placeholder="姓名" />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="证件类型" prop="idcardtype">
                <el-select
                  v-model="allocationform.idcardtype"
                  placeholder="请选择移植人证件类型"
                >
                  <el-option
                    v-for="dict in dict.type.sys_IDType"
                    :key="dict.value"
                    :label="dict.label"
                    :value="parseInt(dict.value)"
                  ></el-option>
                </el-select>
              </el-form-item> </el-col
            ><el-col :span="8">
              <el-form-item label="证件号码" prop="idcardno">
                <el-input
                  v-model="allocationform.idcardno"
                  placeholder="请输入移植人证件号码"
                />
                  <el-table-column
                    label="分配系统编号"
                    align="center"
                    width="120"
                    prop="caseno"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.caseno"
                        placeholder="分配系统编号"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="分配接收时间"
                    align="center"
                    width="200"
                    prop="applicanttime"
                  >
                    <template slot-scope="scope">
                      <el-date-picker
                        clearable
                        size="small"
                        style="width: 100%"
                        v-model="scope.row.applicanttime"
                        type="datetime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="选择分配接收时间"
                      >
                      </el-date-picker>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="受体姓氏"
                    align="center"
                    width="120"
                    prop="name"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.name"
                        placeholder="受体姓氏"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="移植医院"
                    align="center"
                    width="230"
                    prop="transplanthospitalno"
                  >
                    <template slot-scope="scope">
                      <div class="elldiv">
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          :dataList="dataList"
                          v-model="scope.row.transplanthospitalno"
                        />
                      </div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="reallocationreason"
                    label="说明"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <el-input
                        type="textarea"
                        clearable
                        v-model="scope.row.reallocationreason"
                        placeholder="请输入说明"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="操作"
                    align="center"
                    width="100"
                    class-name="small-padding fixed-width"
                    v-if="actives == 4"
                  >
                    <template slot-scope="scope">
                      <el-button
                        size="mini"
                        type="text"
                        icon="el-icon-copy-document"
                        @click="redistribution(scope.row)"
                        >重分配</el-button
                      >
                    </template>
                  </el-table-column>
                </el-table>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button v-show="showSaveBtn" type="primary" @click="Savethedetails"
            >保存捐献信息</el-button
        <div class="dialog-footer" v-show="actives == 4">
          <el-button
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-show="showTerminationBtn"
            type="primary"
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >终止案例</el-button
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button v-show="makeastepforward" type="primary" @click="ReviewFn"
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          > -->
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </div>
      <!-- 获取见证 -->
@@ -1273,22 +1453,6 @@
          label-width="100px"
          label-position="right"
        >
          <el-row>
            <el-col :span="24">
              <el-form-item align="left" label="捐献决定">
                <el-checkbox-group v-model="witnessform.organdonation">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    :key="dict.value"
                    :label="dict.value"
                    disabled
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item
@@ -1309,30 +1473,39 @@
          </el-row>
          <el-row> </el-row>
          <el-row>
            <el-col :span="2">
              <el-form-item align="left" label="死亡判定:" />
            </el-col>
            <el-col :span="10">
              <el-form-item align="left" label="医生一" prop="deathjudgedocto">
            <el-col :span="6">
              <el-form-item
                align="left"
                label="死亡判定:医生一"
                label-width="140px"
                prop="deathjudgedocto"
              >
                <el-input
                  v-model="witnessform.deathjudgedocto"
                  placeholder="判定医生姓名"
                />
              </el-form-item>
            </el-col>
            <el-col :span="10">
              <el-form-item align="left" label="医生二" prop="deathjudgedoctt">
            <el-col :span="6">
              <el-form-item
                align="left"
                label="医生二"
                label-width="120px"
                prop="deathjudgedoctt"
              >
                <el-input
                  v-model="witnessform.deathjudgedoctt"
                  placeholder="判定医生姓名"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row
            ><el-col :span="2"><el-form-item align="left" label="" /> </el-col>
            <el-col :span="10">
              <el-form-item align="left" label="死亡时间" prop="deathtime">
            <el-col :span="6">
              <el-form-item
                align="left"
                label="死亡时间"
                label-width="120px"
                prop="deathtime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.deathtime"
@@ -1343,8 +1516,13 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="10">
              <el-form-item align="left" label="死亡原因" prop="deathreason">
            <el-col :span="6">
              <el-form-item
                align="left"
                label="死亡原因"
                label-width="120px"
                prop="deathreason"
              >
                <el-input
                  v-model="witnessform.deathreason"
                  placeholder="请输入死亡原因"
@@ -1353,13 +1531,11 @@
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="2">
              <el-form-item align="left" label="手术:" />
            </el-col>
            <el-col :span="10">
            <el-col :span="6">
              <el-form-item
                align="left"
                label="开始时间"
                label="手术:开始时间"
                label-width="140px"
                prop="operationbegtime"
              >
                <el-date-picker
@@ -1372,10 +1548,11 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="10">
            <el-col :span="6">
              <el-form-item
                align="left"
                label="结束时间"
                label-width="120px"
                prop="operationendtime"
              >
                <el-date-picker
@@ -1389,14 +1566,12 @@
              </el-form-item>
            </el-col>
          </el-row>
          <el-row
            ><el-col :span="2"
              ><el-form-item align="left" label="腹主动脉:" />
            </el-col>
            <el-col :span="10">
          <el-row>
            <el-col :span="6">
              <el-form-item
                label="插管时间"
                label="腹主动脉:插管时间"
                align="left"
                label-width="140px"
                prop="abdominalaortacannulatime"
              >
                <el-date-picker
@@ -1409,10 +1584,11 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="10">
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                align="left"
                label-width="120px"
                prop="abdominalaortaperfusiontime"
              >
                <el-date-picker
@@ -1425,16 +1601,11 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row
            ><el-col :span="2"
              ><el-form-item align="left" label="门静脉:" />
            </el-col>
            <el-col :span="10">
            <el-col :span="6">
              <el-form-item
                label="插管时间"
                label="门静脉:插管时间"
                align="left"
                label-width="140px"
                prop="portalveincannulatime"
              >
                <el-date-picker
@@ -1447,10 +1618,11 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="10">
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                align="left"
                label-width="120px"
                prop="portalveinperfusiontime"
              >
                <el-date-picker
@@ -1464,14 +1636,12 @@
              </el-form-item>
            </el-col>
          </el-row>
          <el-row
            ><el-col :span="2"
              ><el-form-item align="left" label="肺动脉:" />
            </el-col>
            <el-col :span="10">
          <el-row>
            <el-col :span="6">
              <el-form-item
                label="插管时间"
                label="肺动脉:插管时间"
                align="left"
                label-width="140px"
                prop="pulmonaryarterycannulatime"
              >
                <el-date-picker
@@ -1484,10 +1654,11 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="10">
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                align="left"
                label-width="120px"
                prop="pulmonaryarteryperfusiontime"
              >
                <el-date-picker
@@ -1500,16 +1671,11 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row
            ><el-col :span="2"
              ><el-form-item align="left" label="主动脉:" />
            </el-col>
            <el-col :span="10">
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                label="主动脉:灌注时间"
                align="left"
                label-width="140px"
                prop="aortacannulatime"
              >
                <el-date-picker
@@ -1522,10 +1688,11 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="10">
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                align="left"
                label-width="120px"
                prop="aortaperfusiontime"
              >
                <el-date-picker
@@ -1539,84 +1706,159 @@
              </el-form-item>
            </el-col>
          </el-row>
          <el-table :data="tableData" border>
            <el-table-column
              align="center"
              width="80px"
              prop="organname"
              label="器官名称"
            >
            </el-table-column>
            <el-table-column
              align="center"
              width="220px"
              prop="gainhospitalno"
              label="获取组织"
            >
              <template slot-scope="scope">
                <org-selecter
                  ref="gainhosselect"
                  :org-type="'4'"
                  v-model="scope.row.gainhospitalno"
                />
              </template>
            </el-table-column>
            <el-table-column
              align="center"
              width="140px"
              prop="organgetdoct"
              label="获取医师"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.organgetdoct"
                  placeholder="请输入获取医师"
                ></el-input>
              </template>
            </el-table-column>
            <el-table-column
              align="center"
              width="210px"
              prop="organgettime"
              label="获取日期"
            >
              <template slot-scope="scope">
                <el-row>
                  <el-date-picker
                    clearable
                    size="small"
                    style="width: 100%"
                    v-model="scope.row.organgettime"
                    type="datetime"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    placeholder="选择器官获取时间"
                  >
                  </el-date-picker>
                </el-row>
              </template>
            </el-table-column>
            <el-table-column
              label="器官状态"
              align="center"
              prop="organstate"
              width="180"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.organstate"
                  placeholder="请选择器官状态"
                >
                  <el-option
                    v-for="dict in dict.type.sys_organstate"
          <el-row>
            <el-col>
              <el-form-item label-width="100px" label="获取器官">
                <el-checkbox-group v-model="organList.organprocured">
                  <el-checkbox
                    v-for="dict in sysOrganlistL"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
          </el-table>
                    :label="dict.value"
                    @change="changeorganprocured(dict.value)"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col>
              <el-form-item>
                <el-table v-loading="loading" border :data="procureddata">
                  <el-table-column
                    label="器官名称"
                    align="center"
                    width="110"
                    prop="organname"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.organname"
                        placeholder="器官名称"
                        :disabled="scope.row.organno != 'C01'"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="器官编号"
                    align="center"
                    width="90"
                    prop="organno"
                  />
                  <!-- <el-table-column
                    label="系统编号"
                    align="center"
                    width="120"
                    prop="caseno"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.caseno"
                        placeholder="系统编号"
                      />
                    </template>
                  </el-table-column> -->
                  <el-table-column
                    label="器官离体时间"
                    align="center"
                    width="200"
                    prop="organgettime"
                  >
                    <template slot-scope="scope">
                      <el-date-picker
                        clearable
                        size="small"
                        style="width: 100%"
                        v-model="scope.row.organgettime"
                        type="datetime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="请输入器官离体时间"
                      >
                      </el-date-picker>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="获取医院"
                    align="center"
                    width="230"
                    prop="gainhospitalno"
                  >
                    <template slot-scope="scope">
                      <div class="elldiv">
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          :dataList="dataList"
                          v-model="scope.row.gainhospitalno"
                        />
                      </div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="获取医师"
                    align="center"
                    width="120"
                    prop="organgetdoct"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.organgetdoct"
                        placeholder="请输入医师姓名"
                      />
                    </template>
                  </el-table-column>
                  <!-- <el-table-column
                    label="受体姓氏"
                    align="center"
                    width="120"
                    prop="name"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.name"
                        placeholder="受体姓氏"
                      />
                    </template>
                  </el-table-column> -->
                  <el-table-column
                    label="获取状态"
                    align="center"
                    width="150"
                    prop="organstate"
                  >
                    <template slot-scope="scope">
                      <el-select
                        v-model="scope.row.organstate"
                        placeholder="请选择器官状态"
                      >
                        <el-option
                          v-for="dict in organstatelist"
                          :key="dict.value"
                          :label="dict.label"
                          :value="dict.value"
                        ></el-option>
                      </el-select>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="说明"
                    align="center"
                    prop="notgetreason"
                  >
                    <template slot-scope="scope">
                      <el-input
                        type="textarea"
                        clearable
                        v-model="scope.row.notgetreason"
                        placeholder="请输入未获取说明"
                      />
                    </template>
                  </el-table-column>
                </el-table>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item align="left" label="默哀缅怀仪式">
@@ -1643,9 +1885,7 @@
              </el-form-item></el-col
            >
          </el-row>
          <!-- <el-form-item align="left" label="死亡证明附件路径">
          <fileUpload v-model="witnessform.deathjudgeannex" />
        </el-form-item> -->
          <el-row>
            <el-col :span="8">
              <el-form-item
@@ -1695,19 +1935,26 @@
        </el-form>
        <div class="dialog-footer">
          <el-button v-show="showSaveBtn" type="primary" @click="Savethedetails"
            >保存捐献信息</el-button
          <el-button
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-show="showTerminationBtn"
            type="primary"
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >终止案例</el-button
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button v-show="makeastepforward" type="primary" @click="ReviewFn"
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          > -->
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </div>
      <!-- 完成登记 -->
@@ -1720,138 +1967,160 @@
          label-position="right"
        >
          <el-row>
            <el-col :span="8">
              <el-form-item label="完成时间" prop="completetime">
                <el-date-picker
                  style="width: 167px"
                  clearable
                  size="small"
                  v-model="accomplishform.completetime"
                  type="date"
                  value-format="yyyy-MM-dd hh:mm:ss"
                  placeholder="选择完成时间"
                >
                </el-date-picker>
            <el-col>
              <el-form-item label-width="100px" label="移植器官">
                <el-checkbox-group v-model="organList.organtransplant">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    :key="dict.value"
                    :label="dict.value"
                    @change="changeorgantransplant(dict.value)"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-form-item label="器官组织">
              <el-checkbox-group
                align="left"
                v-model="accomplishform.donateorganList"
              >
                <el-checkbox
                  v-for="dict in dict.type.sys_Organ"
                  :key="dict.value"
                  :label="dict.value"
                  disabled
                >
                  {{ dict.label }}
                </el-checkbox>
              </el-checkbox-group>
            </el-form-item>
          </el-row>
          <el-row style="margin-bottom: 22px">
            <el-table v-loading="loading" border :data="tableData">
              <el-table-column
                label="器官名称"
                align="center"
                prop="organname"
                width="80"
              />
              <el-table-column
                label="移植医院(接收单位)"
                align="center"
                prop="transplanthospitalno"
                width="240"
              >
                <template slot-scope="scope">
                  <org-selecter
                    ref="transplanthosselect"
                    :org-type="'4'"
                    v-model="scope.row.transplanthospitalno"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="移植负责人"
                align="center"
                prop="transplantdoct"
                width="120"
              >
                <template slot-scope="scope">
                  <el-input
                    v-model="scope.row.transplantdoct"
                    placeholder="请输入负责人"
                  ></el-input>
                </template>
              </el-table-column>
              <el-table-column
                label="移植日期"
                align="center"
                prop="transplanttime"
                width="230"
              >
                <template slot-scope="scope">
                  <el-row>
                    <el-date-picker
                      clearable
                      size="small"
                      style="width: 90%"
                      v-model="scope.row.transplanttime"
                      type="date"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      placeholder="选择器官移植时间"
                    >
                    </el-date-picker>
                  </el-row>
                </template>
              </el-table-column>
              <el-table-column
                prop="abandonreason"
                label="弃用原因"
                align="center"
                width="260"
              >
                <template slot-scope="scope">
                  <el-row>
                    <el-input
                      clearable
                      v-model="scope.row.abandonreason"
                      placeholder="请输入弃用原因"
                    />
                  </el-row>
                </template>
              </el-table-column>
              <el-table-column
                label="器官状态"
                align="center"
                prop="organstate"
                width="130"
              >
                <template slot-scope="scope">
                  <el-select
                    v-model="scope.row.organstate"
                    placeholder="请选择器官状态"
                    value-key="value"
                    @change="selectOrganstate(scope.row)"
            <el-col>
              <el-form-item>
                <el-table v-loading="loading" border :data="transplantdata">
                  <el-table-column
                    label="器官名称"
                    align="center"
                    width="110"
                    prop="organname"
                  >
                    <el-option
                      v-for="dict in dict.type.sys_organstate"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </template>
              </el-table-column>
            </el-table>
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.organname"
                        placeholder="器官名称"
                        :disabled="scope.row.organno != 'C01'"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="器官编号"
                    align="center"
                    width="90"
                    prop="organno"
                  />
                  <el-table-column
                    label="系统编号"
                    align="center"
                    width="120"
                    prop="caseno"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.caseno"
                        placeholder="系统编号"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="移植医院"
                    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%"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="受体姓氏"
                    align="center"
                    width="120"
                    prop="name"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.name"
                        placeholder="受体姓氏"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="移植负责人"
                    align="center"
                    width="120"
                    prop="transplantdoct"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.transplantdoct"
                        placeholder="医师姓名"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="移植时间"
                    align="center"
                    width="200"
                    prop="transplanttime"
                  >
                    <template slot-scope="scope">
                      <el-date-picker
                        clearable
                        size="small"
                        style="width: 100%"
                        v-model="scope.row.transplanttime"
                        type="date"
                        value-format="yyyy-MM-dd"
                        placeholder="选择移植时间"
                      >
                      </el-date-picker>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="移植状态"
                    align="center"
                    width="150"
                    prop="transplantstate"
                  >
                    <template slot-scope="scope">
                      <el-select
                        v-model="scope.row.transplantstate"
                        placeholder="请选择器官状态"
                      >
                        <el-option
                          v-for="dict in transplantstatelist"
                          :key="dict.value"
                          :label="dict.label"
                          :value="dict.value"
                        ></el-option>
                      </el-select>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="abandonreason"
                    label="说明"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <el-input
                        type="textarea"
                        clearable
                        v-model="scope.row.abandonreason"
                        placeholder="请输入弃用说明"
                      />
                    </template>
                  </el-table-column>
                </el-table>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="7">
            <el-col :span="6">
              <el-form-item align="left" label="遗体捐献" prop="isbodydonation">
                <el-radio-group v-model="accomplishform.isbodydonation">
                  <el-radio
@@ -1863,7 +2132,7 @@
                </el-radio-group>
              </el-form-item>
            </el-col>
            <el-col :span="7">
            <el-col :span="12">
              <el-form-item align="left" label="接收单位" prop="receivingunit">
                <el-input
                  v-model="accomplishform.receivingunit"
@@ -1872,9 +2141,8 @@
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="7">
            <el-col :span="6">
              <el-form-item label="负责人" prop="responsibleuserid">
                <el-select
                  v-model="accomplishform.responsibleuserid"
@@ -1890,7 +2158,7 @@
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="7">
            <el-col :span="6">
              <el-form-item label="协调员一" prop="coordinateduserido">
                <el-select
                  v-model="accomplishform.coordinateduserido"
@@ -1906,7 +2174,7 @@
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="7">
            <el-col :span="6">
              <el-form-item label="协调员二" prop="coordinateduseridt">
                <el-select
                  v-model="accomplishform.coordinateduseridt"
@@ -1922,33 +2190,222 @@
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="完成时间" prop="completetime">
                <el-date-picker
                  style="width: 167px"
                  clearable
                  size="small"
                  v-model="accomplishform.completetime"
                  type="date"
                  value-format="yyyy-MM-dd hh:mm:ss"
                  placeholder="选择完成时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button v-show="showSaveBtn" type="primary" @click="Savethedetails"
            >保存捐献者信息</el-button
          <el-button
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-show="showTerminationBtn"
            type="primary"
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >终止案例</el-button
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button v-show="Reportforreview" type="primary" @click="ReviewFn"
            >上报审核</el-button
          <el-button
            v-if="workflow != 9"
            type="success"
            @click="Reportforreview"
            >提交归档</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          <el-button v-else type="danger" @click="Reportforreview"
            >撤销归档</el-button
          >
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </div>
      <!-- 完结流程 -->
      <div class="boxdiv" v-show="actives > 6">
        <div style="display:flex; line-height: 100px; justify-content: center;">
          <div style="padding: 20px 0; margin: 0 30px">
            <img
              style="width: 60px; height: 60px"
              src="@/assets/images/wanc.png"
              class="user-avatar"
            />
          </div>
          <div style="font-size: 28px;">全部流程已完结!</div>
          <img
            style="width: 100px; height: 100px"
            src="@/assets/images/zhan.png"
            class="user-avatar"
          />
        </div>
      </div>
    </div>
    <!-- 附件弹窗 -->
    <el-dialog
      v-dialogDrags
      :modal="false"
      :close-on-click-modal="false"
      :title="pdftitle"
      :visible.sync="pdfVisible"
      width="68%"
    >
      <!-- <el-tabs style="margin-top: 20px;" v-model="activeName" type="card">
        <el-tab-pane :label="activetele" name="1"> </el-tab-pane>
      </el-tabs> -->
      <div class="pdfimg">
        <div>
          <el-tabs
            tab-position="right"
            style="height: 600px;"
            v-model="annextype"
            @tab-click="selecttab"
          >
            <el-tab-pane
              v-for="dict in dict.type.materials_DBD"
              :label="dict.label"
              :name="dict.value"
            ></el-tab-pane>
          </el-tabs>
        </div>
        <div class="box-pdf">
          <div>
            <el-upload
              size="mini"
              class="upload-demo"
              :action="uploadFileUrl"
              :file-list="fileList"
              :show-file-list="false"
              multiple
              drag
              :headers="headers"
              :on-success="
                (response, file, fileList) =>
                  uploadSccess(response, file, fileList)
              "
              :on-preview="downFile"
              :on-error="handleUploadError"
              :on-remove="remove"
              accept="image/*,.pdf"
            >
              <i class="el-icon-upload"></i>
              <div class="el-upload__text">
                将发票文件拖到此处,或
                <em
                  ><el-button size="small" type="primary"
                    >点击上传</el-button
                  ></em
                >
              </div>
            </el-upload>
            <el-table
              :data="fileListto"
              @row-click="downFile"
              style="width: 100%"
              height="400"
            >
              <el-table-column
                prop="annexname"
                align="center"
                :show-overflow-tooltip="true"
                label="名称"
              >
                <template slot-scope="scope">
                  <i style="color:#409EFF" class=" el-icon-s-order" />{{
                    scope.row.annexname
                  }}
                </template>
              </el-table-column>
              <el-table-column
                prop="name"
                align="center"
                :show-overflow-tooltip="true"
                label="功能"
              >
                <template slot-scope="scope">
                  <el-button
                    type="danger"
                    size="mini"
                    @click.native.prevent.stop="deletedowfile(scope.row)"
                    >删除</el-button
                  >
                </template>
              </el-table-column>
            </el-table>
          </div>
        </div>
        <div v-if="previewpdf && pdfimgsrcList.length" class="pdfimgmin">
          <!-- <img :src="pdfimg" /> -->
          <el-image
            style="width: 95%; height: 90%"
            :src="pdfimg"
            :preview-src-list="pdfimgsrcList"
          >
          </el-image>
        </div>
        <div v-else class="pdfimgmins">{{ hintitle }}</div>
      </div>
    </el-dialog>
    <!-- 批量抽屉 -->
    <el-drawer title="器官捐献相关附件" :visible.sync="drawer" direction="rtl">
      <div style="padding:20px">
        <el-button @click="clearFilter">取消筛选</el-button>
        <el-table ref="filterTable" :data="tableDatafile" style="width: 100%">
          <el-table-column prop="name" label="文件名" width="250">
          </el-table-column>
          <el-table-column
            prop="tag"
            label="类型"
            :filters="[
              { text: '中国一类(DBD)', value: '中国一类(DBD)' },
              { text: '中国二类(DCD)', value: '中国二类(DCD)' },
              { text: '中国三类(DBCD)', value: '中国三类(DBCD)' }
            ]"
            :filter-method="filterTag"
            filter-placement="bottom-end"
          >
            <template slot-scope="scope">
              <el-tag :type="scope.row.type" disable-transitions>{{
                scope.row.tag
              }}</el-tag>
            </template>
          </el-table-column>
        </el-table>
      </div>
      <div style="margin-left: 20px;">
        <el-button @click="drawer = false">取 消</el-button>
      </div>
    </el-drawer>
  </div>
</template>
<script>
import {
  listDonateannex,
  Modifydonationattachment
} from "@/api/project/donateannex";
import { listReportname } from "@/api/project/organization";
import {
  getDonatebaseinfo,
  addDonatebaseinfo,
  updateDonatebaseinfo
  updateDonatebaseinfo,
  getDonatebaseinfoflow,
  fileCase,
  getDonationNumber
} from "@/api/project/donatebaseinfo";
import {
  listMedicalevaluation,
@@ -1956,25 +2413,68 @@
  updateMedicalevaluation
} from "@/api/project/medicalevaluation";
import {
  listRelativesconfirmation,
  getRelativesconfirmation,
  addRelativesconfirmation,
  updateRelativesconfirmation
} from "@/api/project/relativesconfirmation";
import {
  listEthicalreviewopinions,
  getEthicalreviewopinions,
  addEthicalreviewopinions,
  updateEthicalreviewopinions,
  listnewEthicalreviewopinions
} from "@/api/project/ethicalreviewopinions";
import {
  addDonateflowchart,
  listDonateflowchart,
  updateDonateflowchart
} from "@/api/project/DonationEvaluation";
import {
  listDonateorgan,
  addDonateorgan,
  delDonateorgan,
  updateDonateorgan,
  saveDonateorgan
} from "@/api/project/donateorgan";
import {
  listOrganallocation,
  addOrganallocation,
  updateOrganallocation
} from "@/api/project/organallocation";
import {
  listDonateorgan,
  addDonateorgan,
  delDonateorgan,
  updateDonateorgan
} from "@/api/project/donateorgan";
  addDonationwitness,
  updateDonationwitness,
  getDonationwitness,
  getByInfoId,
  listDonationwitnessorgan,
  saveDonationwitnessorgan,
  delDonationwitnessorgan
} from "@/api/project/donationwitness";
import {
  listnewDonatecompletioninfo,
  listDonatecompletioninfo,
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecomporgan,
  saveDonatecomporgan,
  delDonatecomporgan
} from "@/api/project/donatecompletioninfo";
import {
  listDonorchargeorgan,
  updateDonorchargeorgan,
  addDonorchargeorgan,
  saveDonorchargeorgan,
  delDonorchargeorgan
} from "@/api/project/donorcharge";
import Li_area_select from "@/components/Address";
import OrgSelecter from "@/views/project/components/orgselect";
import AnnexUpload from "@/views/project/components/annexupload";
import ReportName from "@/views/project/components/organizationUser";
import { getToken } from "@/utils/auth";
import { formatDate } from "@/utils/index";
import { forEach } from "lodash";
export default {
  name: "donationdetails",
  components: {
@@ -1983,45 +2483,117 @@
    AnnexUpload,
    ReportName
  },
  dicts: [
    "sys_nation",
    "sys_occupation",
    "sys_education",
    "sys_Organ",
    "sys_organstate",
    "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"
  ],
  data() {
    return {
      id: 736,
      infoid: 736,
      drawer: false,
      form: {},
      medicineform: {},
      affirmform: {},
      ethicform: {},
      allocationform: {},
      witnessform: {},
      accomplishform: {},
      tableData:[],
      actives: 0,
      istb: false,
      activeName: "",
      tableDatafile: [
        {
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
          tag: "中国一类(DBD)",
          type: "success"
        }
      ],
      dataList: [],
      medicineform: {
        infoid: null
      },
      affirmform: {
        infoid: null,
        organdecision: [],
        kinship: []
      },
      organdecision: [],
      kinship: [],
      ethicform: {
        infoid: null
      },
      kinshiplist: ["配偶", "父亲", "母亲", "子女", "受托人"],
      organselection: [
        "肝脏",
        "双肾脏",
        "心脏",
        "肺脏",
        "胰腺",
        "小肠",
        "双眼组织",
        "遗体",
        "其他"
      ],
      //选择器官表单
      organList: {
        //分配列表
        organallocated: [],
        //获取列表
        organprocured: [],
        //完成列表
        organtransplant: []
      },
      //器官状态
      allocationstatuslist: [
        { value: 1, label: "已分配" },
        { value: 2, label: "重分配" }
      ],
      organstatelist: [
        { value: "1", label: "已获取" },
        { value: "2", label: "回纳" }
      ],
      transplantstatelist: [
        { value: 1, label: "已移植" },
        { value: 2, label: "库存" },
        { value: 3, label: "弃用" }
      ],
      //器官数据
      allocateddata: [],
      allocateddataform: {},
      procureddata: [],
      transplantdata: [],
      sysOrganlistL: [
        { label: "心脏", value: "C38" },
        { label: "肝脏", value: "C22" },
        { label: "左肾", value: "C64L" },
        { label: "右肾", value: "C64R" },
        { label: "全肺", value: "C34" },
        { label: "左肺", value: "C34L" },
        { label: "右肺", value: "C34R" },
        { label: "小肠", value: "C17" },
        { label: "胰腺", value: "C25" },
        { label: "遗体", value: "C00" },
        { label: "左眼角膜", value: "C69L" },
        { label: "右眼角膜", value: "C69R" },
        { label: "其他", value: "C01" }
      ],
      witnessform: {
        infoid: null
      },
      accomplishform: {
        infoid: null
      },
      tableData: [],
      coordinatorlist1: [],
      leaderlist: [],
      actives: 0, //进程
      workflow: 0,
      loading: false,
      //   保存、终止按钮确认
      showSaveBtn: true,
      showTerminationBtn: true,
      showTerminationBtn: 0, //终止状态 0-未终止 1-已终止
      // 流程数据:donatebaseinfo[createtime,updatetime]、medicalevaluation、relativesconfirmation、donateflowcharts、donateorgansService、donationwitness、donatecompletioninfo
      Processdata: {},
      donatebaseinfo: {},
      medicalevaluation: {},
      relativesconfirmation: {},
      donateflowcharts: {},
      donateorgansService: {},
      donationwitness: {},
      donatecompletioninfo: {},
      //省市区默认值设置,可为空
      searchAddress: {
        sheng: "",
@@ -2030,6 +2602,11 @@
        organizationname: null
      },
      residenceAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: ""
      },
      defultAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: ""
@@ -2111,26 +2688,124 @@
          { required: true, message: "请输入报告人联系电话", trigger: "blur" }
        ]
      },
      // 各级明细效验
      medicinerules: {},
      affirmrules: {},
      affirmrules: {
        name: [
          { required: true, message: "亲属姓名不能为空", trigger: "blur" }
        ],
        phone: [
          { required: true, message: "家属联系电话不为空", trigger: "blur" }
        ],
        signfamilyrelations: [
          { required: true, message: "与捐献者关系", trigger: "blur" }
        ],
        idcardno: [
          { required: true, message: "证件号不能为空", trigger: "blur" }
        ],
        organdecision: [
          { required: true, message: "捐献决定不能为空", trigger: "blur" }
        ],
        responsibleuserid: [
          { required: true, message: "负责人不能为空", trigger: "blur" }
        ],
        coordinateduserido: [
          { required: true, message: "协调员1不能为空", trigger: "blur" }
        ],
        coordinateduseridt: [
          { required: true, message: "协调员2不能为空", trigger: "blur" }
        ]
      },
      ethicrules: {},
      allocationrules: {},
      witnessrules: {},
      accomplishrules: {}
      accomplishrules: {},
      //报告人列表
      reporters: [],
      //附件列表
      annextype: "1", //附件type
      annexfilesList: [], //附件展示列
      potentiallist: [], //潜在附件
      medicinelist: [], //医学附件
      affirmlist: [], //确认附件
      ethiclist: [], //伦理附件
      registerlist: [], //完成附件
      fileList: [],
      fileListto: [],
      donatelist: [], //总
      activetele: "潜在捐献",
      //上传附件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      //文件上传token
      headers: {
        Authorization: "Bearer " + getToken()
      },
      ICDtoken: getToken(),
      // 网络请求头
      Networkheader: null,
      //票据文件
      pdftitle: "",
      pdfimg: "",
      pdfimgsrcList: [],
      pdfVisible: false,
      previewpdf: false,
      hintitle: "请上传文件后查看",
      atpresent: ""
    };
  },
  created() {
    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 => {
      this.reporters = res.data;
    });
    //获取协调员列
    listReportname("xty1").then(res => {
      this.coordinatorlist1 = res.data;
    });
    //获取负责人列
    listReportname("fzr").then(res => {
      this.leaderlist = res.data;
    });
  },
  methods: {
    // 获取主表数据
    // 获取主表及附属数据
    Getbasicinformation() {
      getDonatebaseinfo(this.id).then(response => {
      // 左侧流程数据
      getDonatebaseinfoflow(this.infoid).then(res => {
        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;
        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(",");
@@ -2148,108 +2823,205 @@
        this.residenceAddresss.shi = response.data.residencecityname;
        this.residenceAddresss.qu = response.data.residencetownname;
        this.registerAddresss.qu = response.data.registertownname;
        // 获取二级表
        this.GetAttacheddata();
      });
    },
    // 获取二级表数据
    GetAttacheddata() {
      let searchParam = {
        id: this.form.id
        infoid: this.infoid
      };
      if (this.actives == 2) {
      console.log(this.procureddata, "procureddata");
      if (this.actives == 1) {
        this.activetele = "医学评估";
        listMedicalevaluation(searchParam).then(response => {
          if (response.code == 200 && response.rows.length == 1) {
          if (response.code == 200 && response.rows[0]) {
            this.medicineform = response.rows[0];
          } else {
            this.$modal.msgError(
              "获取医学评估记录失败:" + JSON.stringify(response)
            );
            // this.$modal.msgError(
            //   "获取医学评估记录失败:" + JSON.stringify(response)
            // );
          }
        });
      } else if (this.actives == 3) {
      } else if (this.actives == 2) {
        this.activetele = "捐献确认";
        listRelativesconfirmation(searchParam).then(response => {
          if (response.code == 200 && response.rows.length == 1) {
          if (response.code == 200 && response.rows[0]) {
            this.affirmform = response.rows[0];
            this.affirmform.donorno = row.donorno;
            this.affirmform.doname = row.name;
            this.affirmform.dosex = row.sex;
            // 出生日期
            this.affirmform.dobirthday = row.birthday;
            // 民族
            this.affirmform.donationality = row.nationality;
            // 学历
            this.affirmform.doeducation = row.education;
            // 职业
            this.affirmform.dooccupation = row.occupation;
            this.affirmform.donation = row.nation;
            this.affirmform.doidcardtype = row.idcardtype;
            this.affirmform.doidcardno = row.idcardno;
            this.affirmform.donativeplace = row.nativeplace;
            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 = {};
              this.affirmform.residenceprovincename = "";
              this.affirmform.residencecityname = "";
              this.affirmform.residencetownname = "";
            }
            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)
            );
            // this.$modal.msgError(
            //   "查询是否存在确认登记记录失败" + JSON.stringify(response)
            // );
          }
        });
      } else if (this.actives == 3) {
        this.activetele = "伦理审查";
        //listDonateflowchart(searchParam).then(response => {
        listEthicalreviewopinions(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
            this.ethicform = response.rows[0];
          } else {
            console.log("伦理审查数据为空");
          }
        });
      } else if (this.actives == 4) {
        listDonateflowchart(searchParam).then(response => {
          if (response.code == 200 && response.rows.length == 1) {
            this.form = response.rows[0];
          } else if (response.rows.length == 0) {
            this.$modal.msgError("未找到本案例的伦理审查记录,请联系管理员!");
        listDonateorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.allocateddata = res.rows;
              console.log("this.allocateddata", this.allocateddata);
              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 {
            this.$modal.msgError("数据重复");
            // this.$modal.msgError(
            //   "获取器官分配信息失败:" + JSON.stringify(res)
            // );
          }
        });
      } else if (this.actives == 5) {
        listOrganallocation(searchParam).then(response => {
          if (response.code == 200 && response.rows.length == 1) {
            this.form = response.rows[0];
            this.form.infoid = data.id;
            this.open = true;
        // 不存在时获取器官信息
        if (this.procureddata[0] && !this.istb) {
          return;
        }
        listDonationwitnessorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.procureddata = res.rows;
              // this.procureddata.infoid = this.infoid;
            } else {
              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++) {
              this.organList.organprocured.push(this.procureddata[i].organno);
            }
          } else {
            this.$modal.msgError(
              "获取器官分配信息失败:" + JSON.stringify(response)
            );
            // this.$modal.msgError(
            //   "器官列表获取失败:" + JSON.stringify(resall)
            // );
          }
        });
        // 获取当前见证信息
        getByInfoId(searchParam.infoid).then(response => {
          if (response.code == 200) {
            if (response.data) {
              this.witnessform = response.data;
              this.witnessform.infoid = this.infoid;
              this.istb = false;
            }
          } else {
            // this.$modal.msgError(
            //   "获取见证信息拿取失败:" + JSON.stringify(response)
            // );
          }
        });
      } else if (this.actives == 6) {
        listMedicalevaluation(searchParam).then(response => {
          if (response.code == 200 && response.rows.length == 1) {
            this.form = response.rows[0];
            this.form.infoid = data.id;
            this.open = true;
        this.activetele = "完成登记";
        if (this.transplantdata[0] && !this.istb) {
          return;
        }
        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 = 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(response)
            );
            // this.$modal.msgError(
            //   "器官列表获取失败:" + JSON.stringify(resall)
            // );
          }
        });
      } else if (this.actives == 7) {
        listMedicalevaluation(searchParam).then(response => {
          if (response.code == 200 && response.rows.length == 1) {
            this.form = response.rows[0];
            this.form.infoid = data.id;
            this.open = true;
        // 获取完成登记信息
        listDonatecompletioninfo(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
            this.accomplishform = response.rows[0];
            this.accomplishform.infoid = this.infoid;
          } else {
            this.$modal.msgError(
              "获取医学评估记录失败:" + JSON.stringify(response)
            );
            // this.$modal.msgError("完成登记失败:" + JSON.stringify(response));
          }
        });
      } else if (this.actives == 0) {
        this.activetele = "潜在捐献";
      }
      if (!this.allocateddata[0]) {
        listDonateorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.allocateddata = res.rows;
              console.log("this.allocateddata", this.allocateddata);
              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 {
          }
        });
      }
    },
    /** 保存主表按钮 */
    submitForm() {
      this.$refs["form"].validate(valid => {
        console.log("提交的数据们:", this.form);
@@ -2257,7 +3029,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(",");
@@ -2300,23 +3074,38 @@
            this.form.redorganname = this.form.redorganno;
          }
          //尝试生成捐献编号(已经由addDonatebaseinfo接口中生成取代)
          // getdonatorno(this.form).then((response) => {
          //   // alert(JSON.stringify(response));
          //   this.reset();
          // });
          //案例时间更新成获取时间
          if (this.actives == 5) {
            this.$refs["witnessform"].validate(valid1 => {
              this.$refs["form"].validate(valid2 => {
                this.form.donatetime = this.witnessform.operationbegtime;
              });
            });
          }
          if (this.form.id != null) {
            if (this.form.workflow == 0) {
              this.form.workflow = 1;
            }
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.$modal.msgSuccess("保存成功");
              Modifydonationattachment(this.donatelist).then(res => {
                this.listDonateannex();
              });
              this.Getbasicinformation();
              // this.Processvalidation();
              this.open = false;
            });
          } else {
            this.form.recordstate = 0;
            this.form.workflow = 0;
            addDonatebaseinfo(this.form).then(response => {
              if (response.code == 200) {
                this.$modal.msgSuccess("新增成功");
                Modifydonationattachment(this.donatelist).then(res => {
                  this.listDonateannex();
                });
                this.Getbasicinformation();
                // this.Processvalidation();
                this.open = false;
              } else {
                this.$modal.msgError("新增失败:" + response.msg);
@@ -2326,176 +3115,862 @@
        }
      });
    },
    // 保存明细表
    // 保存二级表按钮
    Savethedetails() {
      if (this.actives == 2) {
      console.log(this.actives);
      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("修改成功");
                this.$modal.msgSuccess("医学评估信息修改成功");
                this.$modal.closeLoading();
              });
            } else {
              addMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("新增成功");
                this.$modal.msgSuccess("医学评估信息新增成功");
                this.$modal.closeLoading();
              });
            }
            this.submitForm();
            this.Processvalidation();
          }
        });
      } 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;
              this.affirmform.residencetownname = this.defultAddresss.qu;
              updateRelativesconfirmation(this.affirmform).then(response => {
                this.$modal.msgSuccess("捐献确认信息修改成功");
                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();
              });
            }
            this.Processvalidation();
          }
        });
      } else if (this.actives == 3) {
        this.$refs["affirmform"].validate(valid => {
        this.ethicform.infoid = this.infoid;
        this.$refs["ethicform"].validate(valid => {
          if (valid) {
            if (this.affirmform.id != null) {
              updateMedicalevaluation(this.affirmform).then(response => {
                this.$modal.msgSuccess("修改成功");
            this.$modal.loading("正在提交,请稍候!");
            if (this.ethicform.id != null) {
              // updateDonateflowchart(this.ethicform).then(response => {
              updateEthicalreviewopinions(this.ethicform).then(res => {
                this.$modal.msgSuccess("伦理审查信息修改成功");
                this.$modal.closeLoading();
              });
            } else {
              addMedicalevaluation(this.affirmform).then(response => {
                this.$modal.msgSuccess("新增成功");
              //addDonateflowchart(this.ethicform).then(response => {
              addEthicalreviewopinions(this.ethicform).then(res => {
                this.$modal.msgSuccess("伦理审查信息新增成功");
                this.$modal.closeLoading();
              });
            }
            this.submitForm();
            this.Processvalidation();
          }
        });
      } else if (this.actives == 4) {
        this.$refs["ethicform"].validate(valid => {
          if (valid) {
            if (this.ethicform.id != null) {
              updateDonateflowchart(this.ethicform).then(response => {
                this.$modal.msgSuccess("修改成功");
              });
            } else {
              addDonateflowchart(this.ethicform).then(response => {
                this.$modal.msgSuccess("新增成功");
              });
        // this.procureddata.infoid = this.infoid;
        this.$refs["allocateddataform"].validate(valid => {
          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;
            }
            this.submitForm();
          }
          });
          saveDonateorgan(this.allocateddata).then(res => {
            if (res.code == 200) {
              this.$modal.msgSuccess("器官捐献分配信息保存成功!");
              this.$modal.closeLoading();
            }
          });
          this.Processvalidation();
        });
      } else if (this.actives == 5) {
        this.$refs["allocationform"].validate(valid => {
        this.witnessform.infoid = this.infoid;
        this.$refs["witnessform"].validate(valid => {
          let coordinatedusernameIndex = this.coordinatorlist1.findIndex(
            item => this.witnessform.coordinateduserido == item.reportNo
          );
          if (coordinatedusernameIndex > -1) {
            this.witnessform.coordinatedusernameo = this.coordinatorlist1[
              coordinatedusernameIndex
            ].reportName;
          }
          //协调员2
          let coordinatedusernametIndex = this.coordinatorlist1.findIndex(
            item => this.witnessform.coordinateduseridt == item.reportNo
          );
          if (coordinatedusernametIndex > -1) {
            this.witnessform.coordinatedusernamet = this.coordinatorlist1[
              coordinatedusernametIndex
            ].reportName;
          }
          if (valid) {
            if (this.allocationform.id != null) {
              updateOrganallocation(this.allocationform).then(response => {
                this.$modal.msgSuccess("修改成功");
            this.$modal.loading("正在提交,请稍候!");
            if (this.witnessform.id != null) {
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
                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 {
              addOrganallocation(this.allocationform).then(response => {
                this.$modal.msgSuccess("新增成功");
              addDonationwitness(this.witnessform).then(response => {
                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.submitForm();
          }
        });
      } else if (this.actives == 6) {
        this.$refs["witnessform"].validate(valid => {
          if (valid) {
            if (this.witnessform.id != null) {
              // 获取捐献器官列表
              listDonateorgan(oraganqueryParam).then(response => {
                this.loading = false;
                if (response.code == 200) {
                  this.organdonation = [];
                  this.tableData = response.rows;
                  //获取医院默认是移植医院
                  for (let i = 0; i < this.tableData.length; i++) {
                    if (
                      this.tableData[i].gainhospitalname == null ||
                      this.tableData[i].gainhospitalname == ""
                    ) {
                      this.tableData[i].gainhospitalname = this.tableData[
                        i
                      ].transplanthospitalname;
                    }
                    if (
                      this.tableData[i].gainhospitalno == null ||
                      this.tableData[i].gainhospitalno == ""
                    ) {
                      this.tableData[i].gainhospitalno = this.tableData[
                        i
                      ].transplanthospitalno;
                    }
                  }
                  //this.organalForm.organname = [];
                  for (let i = 0; i < response.rows.length; i++) {
                    this.form.organdonation.push(response.rows[i].organno);
                  }
                } else {
                  this.$modal.msgError("获取捐献器官失败:" + response.msg);
                }
              });
              // 获取信息
            } else {
              addMedicalevaluation(this.witnessform).then(response => {
                this.$modal.msgSuccess("新增成功");
              });
            }
            this.submitForm();
          }
        });
      } else if (this.actives == 7) {
        this.accomplishform.infoid = this.infoid;
        this.$refs["accomplishform"].validate(valid => {
          if (valid) {
            if (this.accomplishform.id != null) {
              updateMedicalevaluation(this.accomplishform).then(response => {
                this.$modal.msgSuccess("修改成功");
            this.$modal.loading("正在提交,请稍候!");
            this.transplantdata.forEach(item => {
              item.donorname = this.form.name;
            });
            this.transplantdata.forEach(item => {
              const objs = this.dataList.find(
                obj => obj.organizationid == item.hospitalno
              );
              if (objs) {
                item.hospitalname = objs.organizationname;
              }
            });
            // 保存确认信息
            if (this.accomplishform.id) {
              updateDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记信息修改成功");
                saveDonatecomporgan(this.transplantdata).then(res => {
                  if (res == 200) {
                    this.$modal.msgSuccess("捐献器官登记信息保存成功!");
                  } else {
                    this.$modal.msgSuccess(res.msg);
                  }
                  this.$modal.closeLoading();
                });
              });
            } else {
              addMedicalevaluation(this.accomplishform).then(response => {
                this.$modal.msgSuccess("新增成功");
              addDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记成功");
                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(() => {});
              });
            }
            this.submitForm();
            this.Processvalidation();
          }
        });
      }
    },
    // 切换tab
    on_click(e) {
      console.log(e);
      if (e != "" || e != null) {
      // if (e != "" || e != null) {
      let asdx = this.form.workflow + 1;
      if (asdx >= e) {
        this.actives = e;
        this.GetAttacheddata();
      } else {
        this.$modal.msgWarning("请先完成前部步骤");
      }
      // }
    },
    // 获取部门数据缓存
    getdataList() {
      this.$store.dispatch("getdataList").then(() => {});
    },
    // 器官分配栏目控制
    changeorganState(value) {
      let selectedIndex = this.organList.organallocated.findIndex(
        item => item == value
      );
      let organIndex = this.allocateddata.findIndex(
        item => item.organno == value
      );
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        if (organIndex != -1) {
          if (this.allocateddata[organIndex].id > 0) {
            this.$confirm(
              "删除器官分配数据后将不法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonateorgan(this.allocateddata[organIndex].id).then(res => {
                  this.allocateddata.splice(organIndex, 1);
                  this.loading = false;
                  this.$modal.msgSuccess(
                    "删除成功,如果需要增加该器官,请重新选择器官!"
                  );
                });
              })
              .catch(() => {
                this.organList.organallocated.push(value);
              });
          } else {
            //新记录直接删除
            this.allocateddata.splice(organIndex, 1);
          }
        }
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
          let temporganname = "";
          for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
            if (value == this.dict.type.sys_Organ[i].value) {
              temporganname = this.dict.type.sys_Organ[i].label;
              break;
            }
          }
          if (temporganname != "") {
            this.allocateddata.push({
              organname: temporganname,
              organno: value,
              id: null,
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: 1
            });
          }
        } else {
          this.$modal.msgWarning("该器官已经分配,请勿重复选择!");
        }
      }
    },
    // 器官获取选择控制
    changeorganprocured(value) {
      let selectedIndex = this.organList.organprocured.findIndex(
        item => item == value
      );
      let organIndex = this.procureddata.findIndex(
        item => item.organno == value
      );
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        if (organIndex != -1) {
          if (this.procureddata[organIndex].id > 0) {
            this.$confirm(
              "删除器官分配数据后将不法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonationwitnessorgan(this.procureddata[organIndex].id).then(
                  res => {
                    this.procureddata.splice(organIndex, 1);
                    this.loading = false;
                    this.$modal.msgSuccess(
                      "删除成功,如果需要增加该器官,请重新选择器官!"
                    );
                  }
                );
              })
              .catch(() => {
                this.organList.organprocured.push(value);
              });
          } else {
            //新记录直接删除
            this.procureddata.splice(organIndex, 1);
          }
        }
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
          let temporganname = "";
          for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
            if (value == this.dict.type.sys_Organ[i].value) {
              temporganname = this.dict.type.sys_Organ[i].label;
              break;
            }
          }
          if (temporganname != "") {
            this.procureddata.push({
              organname: temporganname,
              organno: value,
              id: null,
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: "1"
            });
          }
        } else {
          this.$modal.msgWarning("该器官已经分配,请勿重复选择!");
        }
      }
    },
    // 器官移植选择控制
    changeorgantransplant(value) {
      let selectedIndex = this.organList.organtransplant.findIndex(
        item => item == value
      );
      let organIndex = this.transplantdata.findIndex(
        item => item.organno == value
      );
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        if (organIndex != -1) {
          if (this.transplantdata[organIndex].id > 0) {
            this.$confirm(
              "删除器官数据后将无法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonatecomporgan(this.transplantdata[organIndex].id).then(
                  res => {
                    this.transplantdata.splice(organIndex, 1);
                    this.loading = false;
                    this.$modal.msgSuccess(
                      "删除成功,如果需要增加该器官,请重新选择器官!"
                    );
                    listDonorchargeorgan({
                      infoid: this.transplantdata[organIndex].infoid,
                      organno: this.transplantdata[organIndex].organno
                    }).then(res => {
                      delDonorchargeorgan(res.rows[0].id);
                    });
                  }
                );
              })
              .catch(() => {
                this.organList.organtransplant.push(value);
              });
          } else {
            //新记录直接删除
            this.transplantdata.splice(organIndex, 1);
          }
        }
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
          let temporganname = "";
          for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
            if (value == this.dict.type.sys_Organ[i].value) {
              temporganname = this.dict.type.sys_Organ[i].label;
              break;
            }
          }
          if (temporganname != "") {
            this.transplantdata.push({
              organname: temporganname,
              organno: value,
              id: null,
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: 1,
              transplantstate: 1
            });
          }
        } else {
          this.$modal.msgWarning("该器官已经选择,请勿重复选择!");
        }
      }
    },
    // 前进步骤
    makeastepforward() {},
    // 上报审核
    Reportforreview() {},
    makeastepforward() {
      if (this.actives <= 6) {
        this.actives++;
        this.GetAttacheddata();
      } else {
        console.log("已到达最大值");
      }
    },
    // 更改进程效验
    Processvalidation() {
      if (this.form.workflow + 1 == this.actives) {
        if (this.form.workflow < 6) {
          this.form.workflow++;
        } else {
        }
        this.submitForm();
        // this.GetAttacheddata();
      } else if (this.form.workflow > this.actives) {
        this.submitForm();
        // Modifydonationattachment(this.donatelist).then(res => {});
        // this.GetAttacheddata();
      } else {
        this.submitForm();
        // this.$modal.msgWarning("请先完成前部步骤");
        return;
      }
    },
    // 提交归档
    Reportforreview() {
      if (this.form.workflow == 8) {
        this.form.workflow = 7;
        this.submitForm();
        this.$router.go(-1);
        this.$message({
          type: "success",
          message: "撤销成功!"
        });
      } else {
        this.$confirm("即将进行案例归档, 确认所有数据已保存?", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        })
          .then(() => {
            fileCase({ infoId: this.infoid }).then(res => {
              if (res.code == 500) {
                this.$message.error(res.msg);
              } else {
                this.form.workflow = 8;
                this.submitForm();
                this.$message({
                  type: "success",
                  message: "归档成功!"
                });
                this.$router.go(-1);
              }
            });
          })
          .catch(() => {
            this.$message({
              type: "info",
              message: "已取消归档"
            });
          });
      }
    },
    // 终止案例
    Terminationcase() {},
    Terminationcase() {
      this.form.terminationCase == 1
        ? (this.form.terminationCase = 0)
        : (this.form.terminationCase = 1);
      this.submitForm();
    },
    // 返回上一页
    cancel() {}
  }
    cancel() {},
    // ----------------------------------文件
    // 点击分类
    selecttab(row) {
      console.log(row.label);
      this.annextype = row.name;
      this.Filepopup();
    },
    // 获取请求头
    Getnetworkheader() {
      let string = window.location.href;
      if (string.includes("9091")) {
        const index = string.indexOf("9091");
        this.Networkheader = string.slice(0, index + 4); // 截取9091及其前部字符
      } else {
        const index = string.indexOf("8032");
        this.Networkheader = string.slice(0, index + 4); // 截取8032及其前部字符
      }
    },
    // 获取附件数据并分类二级列
    listDonateannex() {
      let parmi = {};
      parmi.infoid = this.infoid.toString();
      listDonateannex(parmi).then(res => {
        this.donatelist = res.rows;
      });
    },
    // 附件修改数据转存封装
    Newconversion(arr, delvalue, addvalue) {
      // 删除时修改主列delFlag
      const index = this.donatelist.indexOf(delvalue);
      if (index != -1) {
        if (delvalue.id) {
          this.donatelist[index].delFlag = 1;
          console.log("修改老数据后", this.donatelist);
        } else {
          this.donatelist.splice(index, 1);
          console.log("删除新数据后", this.donatelist);
        }
      } else {
        console.log("查询不到可能是新数据无id");
      }
      // 新增时修改主列
      if (addvalue.annexurl) {
        this.donatelist.push(addvalue);
        console.log("新增后", this.donatelist);
      }
      this.pdftitle = "共" + this.donatelist.length + "项";
    },
    //文件上传
    handleUploadError() {},
    remove(file, fileList) {
      this.fileListto.splice(this.fileListto.indexOf(file), 1);
      this.annexfilesList = this.fileListto;
    },
    // 上传成功
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
      console.log(this.Networkheader);
      //获取票据信息位置
      if (response.code == 200) {
        this.previewpdf = true;
        fetch(pdfimg, config)
          .then(response => response.blob())
          .then(blob => {
            // 将获取的数据流转换为URL
            this.pdfimg = URL.createObjectURL(blob);
            this.pdfimgsrcList.push(URL.createObjectURL(blob));
            let addvalue = {
              annexname: file.name,
              annexurl: URL.createObjectURL(blob),
              delFlag: 0,
              infoid: this.infoid,
              annexfilestype: this.annextype
            };
            this.fileListto.push(addvalue);
          })
          .catch(error => {
            console.error("Error loading image", error);
            return;
          });
        this.$modal.msgSuccess(response.msg);
        console.log(this.fileListto, "新增后");
        if (!this.annexfilesList) {
          this.annexfilesList = [];
        }
        let addvalues = {
          annexname: file.name,
          annexurl: response.fileName,
          delFlag: 0,
          infoid: this.infoid,
          annexfilestype: this.annextype
        };
        this.annexfilesList.push(addvalues);
        this.Newconversion(this.annexfilesList, "", addvalues);
      } else {
        console.log(response.msg);
      }
    },
    // 文件弹窗触发
    Filepopup() {
      this.annexfilesList = this.donatelist.filter(
        obj => obj.annexfilestype == this.annextype
      );
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      this.fileListto = [];
      this.pdfimgsrcList = [];
      this.pdfimg = "";
      this.pdfVisible = true;
      if (this.annexfilesList.length) {
        this.annexfilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.annexurl;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // 将获取的数据流转换为URL
              this.fileListto.push({
                annexname: value.annexname,
                annexurl: URL.createObjectURL(blob),
                delFlag: 0,
                infoid: this.infoid,
                annexfilestype: value.annexfilestype
              });
              if (this.fileListto.length == 1) {
                this.pdfimg = URL.createObjectURL(blob);
              }
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        this.previewpdf = true;
      } else {
        this.fileListto = [];
        this.pdfimg = "";
        this.pdftitle = "";
      }
      this.pdftitle = "共" + this.donatelist.length + "项";
    },
    // 点击已上传文件
    downFile(item) {
      console.log(item, "点击文件拿item");
      this.pdftitle =
        "共" + this.donatelist.length + "项,当前选中" + item.annexname;
      let name = item.annexname.split(".");
      if (name[1] == "pdf") {
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
        this.hintitle = "当前文件暂不支持预览";
      } else if (name[1] == "jpg" || "png") {
        this.previewpdf = true;
        if (item.annexurl) {
          this.pdfimg = item.annexurl;
        } else {
          this.pdfimg = "";
        }
      } else {
        this.hintitle = "当前文件暂不支持预览";
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
      }
    },
    // 查询索引封装
    getIndexInArray(arr, obj) {
      return arr.indexOf(obj);
    },
    // 点击删除
    deletedowfile(row) {
      let indexvalue = "";
      const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.annexurl);
      this.pdfimgsrcList.splice(indexlist, 1);
      const index = this.getIndexInArray(this.fileListto, row);
      this.fileListto.splice(index, 1);
      indexvalue = this.annexfilesList.find((item, index) => {
        return item.annexname == row.annexname;
      });
      console.log(indexvalue, "删除索引");
      this.annexfilesList.splice(indexvalue, 1);
      this.Newconversion(this.annexfilesList, indexvalue, "");
    },
    clearFilter() {
      this.$refs.filterTable.clearFilter();
    },
    formatter(row, column) {
      return row.address;
    },
    filterTag(value, row) {
      return row.tag === value;
    },
    //身份证校验赋值
    updateMessage() {
      try {
        const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
        if (reg.test(this.form.idcardno)) {
          // 身份证号码是否合法
          var org_birthday = this.form.idcardno.substring(6, 14);
          var org_gender = this.form.idcardno.substring(16, 17);
          var sex = org_gender % 2 == 1 ? 1 : 2;
          var birthday =
            org_birthday.substring(0, 4) +
            "-" +
            org_birthday.substring(4, 6) +
            "-" +
            org_birthday.substring(6, 8);
          var birthdays = new Date(birthday.replace(/-/g, "/"));
          let d = new Date();
          let age =
            d.getFullYear() -
            birthdays.getFullYear() -
            (d.getMonth() < birthdays.getMonth() ||
            (d.getMonth() == birthdays.getMonth() &&
              d.getDate() < birthdays.getDate())
              ? 1
              : 0);
          // 赋值给表格
          this.form.sex = sex;
          this.form.birthday = birthday;
          this.form.age = age;
        } else {
        }
      } catch {}
    },
    //重新分配器官
    redistribution(row) {
      console.log("redistribution", row);
      row.reallocationreason =
        "已重新分配,原分配信息(姓名:" +
        row.name +
        "、系统编号:" +
        row.caseno +
        "、接收时间:" +
        row.applicanttime +
        ")";
      row.name = null;
      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",
    "sys_kinshipConfirm"
  ]
};
</script>
<style lang="scss" scoped>
.particularsdiv {
  display: flex;
  display: -webkit-box;
  background-color: #f5f7fa;
  height: 100%;
  .left-course {
    background: #fff;
    width: 20%;
    width: 17vw;
    text-align: center;
    margin: 20px 10px;
    padding: 10px;
    margin-top: 0;
    min-height: 888px;
    .postfilx {
      width: 15%;
      width: 15vw;
      text-align: center;
      margin: 20px 10px;
      padding: 10px;
      margin-top: 0;
      z-index: 999;
      position: -webkit-sticky;
      position: fixed;
      top: 50;
      // z-index: 999;
      // position: -webkit-sticky;
      // position: fixed;
      // top: 50;
    }
    .title {
      background: #22a2c3;
      margin-bottom: 20px;
@@ -2504,11 +3979,62 @@
    }
  }
}
.upload-demo {
  text-align: center;
}
.pdfimg {
  display: flex; // text-align: center;
  width: 100%;
  height: 600px;
  .box-pdf {
    width: 400px;
    margin-right: 30px;
    border: 1px solid #dcdfe6;
    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
      0 0 6px 0 rgba(0, 0, 0, 0.04);
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix.
  }
  .pdftit {
    width: 200px;
    padding: 20px;
    font-size: 18px;
  }
  .pdftit:hover {
    background: #c0cef7;
  }
  .pdfimgmin {
    width: 60%;
    img {
      width: 100%;
    }
  }
  .pdfimgmins {
    font-size: 28px;
    width: 60%;
    text-align: center;
  }
}
.Ticket-button {
  margin-top: 10px;
  text-align: right;
  padding-right: 66px;
}
.boxdiv {
  max-width: 85vw;
  font-size: 18px;
  padding: 0 30px;
  padding-bottom: 10px;
  margin-top: 20px;
  margin-top: 10px;
  .top-text {
    text-align: center;
@@ -2518,14 +4044,26 @@
    margin-bottom: 30px;
  }
}
::v-deep .el-step__head.is-finish {
  color: #22a2c3;
  border-color: #22a2c3;
}
::v-deep .el-step__title.is-finish {
  color: #22a2c3;
}
::v-deep .el-step__description.is-finish {
  color: #22a2c3;
}
:v-deep .el-select {
  display: inline-block;
  position: relative;
  width: 80%;
}
:v-deep .el-tabs__nav-scroll {
  overflow: auto;
}
</style>