11
WXL
2023-11-24 d85c168ade991c13f68727d544ccb7107b4a48ad
src/views/project/donationdetails/index.vue
@@ -8,16 +8,16 @@
            <el-step title="潜在捐献" icon="el-icon-user">
              <template
                slot="description"
                v-if="Processdata.donateorgan.createtime"
                v-if="Processdata.donatebaseinfo.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donateorgan.createtime)
                    parseTime(Processdata.donatebaseinfo.createtime)
                  }}</span>
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donateorgan.updatetime)
                    parseTime(Processdata.donatebaseinfo.updatetime)
                  }}</span>
                </p>
              </template>
@@ -33,7 +33,7 @@
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.medicalevaluation.updatetime)
                    parseTime(Processdata.medicalevaluation.createtime)
                  }}</span>
                </p>
                <p>
@@ -54,7 +54,7 @@
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.relativesconfirmation.updatetime)
                    parseTime(Processdata.relativesconfirmation.createtime)
                  }}</span>
                </p>
                <p>
@@ -71,16 +71,16 @@
            >
              <template
                slot="description"
                v-if="Processdata.ethicalreviewopinions.createtime"
                v-if="Processdata.donateflowcharts.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.ethicalreviewopinions.updatetime)
                    parseTime(Processdata.donateflowcharts.createtime)
                  }}</span>
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.ethicalreviewopinions.updatetime)
                    parseTime(Processdata.donateflowcharts.updatetime)
                  }}</span>
                </p>
              </template>
@@ -92,16 +92,16 @@
            >
              <template
                slot="description"
                v-if="Processdata.organallocationService.createtime"
                v-if="Processdata.donateorgansService.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.organallocationService.updatetime)
                    parseTime(Processdata.donateorgansService.createtime)
                  }}</span>
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.organallocationService.updatetime)
                    parseTime(Processdata.donateorgansService.updatetime)
                  }}</span>
                </p>
              </template>
@@ -117,7 +117,7 @@
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donationwitness.updatetime)
                    parseTime(Processdata.donationwitness.createtime)
                  }}</span>
                </p>
                <p>
@@ -138,7 +138,7 @@
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donatecompletioninfo.updatetime)
                    parseTime(Processdata.donatecompletioninfo.createtime)
                  }}</span>
                </p>
                <p>
@@ -156,7 +156,7 @@
    <div style="background: #fff;">
      <!-- 顶部数据 -->
      <div class="boxdiv">
        <div class="top-text">捐献者记录工作台</div>
        <div class="top-text">捐献案例信息</div>
        <el-form
          ref="form"
          :model="form"
@@ -205,31 +205,34 @@
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="民族" prop="nation">
                  <el-select v-model="form.nation" placeholder="请选择民族">
                <el-form-item label="性别" prop="sex">
                  <el-select v-model="form.sex" placeholder="请输入性别">
                    <el-option
                      v-for="dict in dict.type.sys_nation"
                      :key="dict.value"
                      v-for="dict in dict.type.sys_user_sex"
                      :key="dict.label"
                      :label="dict.label"
                      :value="dict.value"
                      :value="parseInt(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 label="年龄" prop="age">
                  <el-input v-model="form.age" 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 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>
              </el-col>
            </el-row>
@@ -261,101 +264,46 @@
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="性别" prop="sex">
                  <el-select v-model="form.sex" placeholder="请输入性别">
            </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="dict in dict.type.sys_user_sex"
                      :key="dict.label"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
                    ></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="age">
                  <el-input v-model="form.age" placeholder="请输入年龄" />
              <el-col :span="8">
                <el-form-item label="联系电话" prop="reporterphone">
                  <el-input
                    v-model="form.reporterphone"
                    placeholder="请输入联系电话"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="6">
                <el-form-item label="出生日期" prop="birthday">
              <el-col :span="8">
                <el-form-item label="报告时间" align="left" prop="reporttime">
                  <el-date-picker
                    clearable
                    size="small"
                    v-model="form.birthday"
                    type="date"
                    style="width: 174px"
                    style="width: 190px"
                    v-model="form.reporttime"
                    type="datetime"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    placeholder="选择出生日期"
                    placeholder="选择报告时间"
                  >
                  </el-date-picker>
                </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>
              </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>
@@ -429,6 +377,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>
@@ -623,6 +660,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="请输入信息员" />
@@ -670,63 +721,6 @@
              </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
@@ -746,13 +740,8 @@
            @click="Reportforreview"
            >上报审核</el-button
          >
          <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          <!-- <el-button @click="cancel">取 消</el-button> -->
          <!-- <el-button @click="handleapproval">提交审核</el-button> -->
        </div>
      </div>
@@ -971,13 +960,13 @@
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止案例" : "恢复案例" }}</el-button
          >
          <el-button
          <!-- <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>
      <!-- 捐献确认 -->
@@ -1171,13 +1160,13 @@
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止案例" : "恢复案例" }}</el-button
          >
          <el-button
          <!-- <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>
      <!-- 伦理审查 -->
@@ -1239,24 +1228,28 @@
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止案例" : "恢复案例" }}</el-button
          >
          <el-button
          <!-- <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">
      <div class="boxdiv" v-show="actives == 4 || actives == 5 || actives == 6">
        <el-form
          ref="allocationform"
          :model="allocationform"
          :rules="allocationrules"
          label-position="right"
        >
          <el-form-item label-width="100px" label="选择器官">
          <el-form-item
            label-width="100px"
            label="选择器官"
            v-show="actives == 4"
          >
            <el-checkbox-group v-model="organalForm.organname">
              <el-checkbox
                v-for="dict in dict.type.sys_Organ"
@@ -1273,20 +1266,42 @@
              <el-table-column
                label="器官名称"
                align="center"
                width="70"
                width="100"
                prop="organname"
              />
              <el-table-column
                label="器官编号"
                align="center"
                width="70"
                width="100"
                prop="organno"
              />
              <el-table-column
                label="分配状态"
                align="center"
                width="120"
                width="150"
                prop="allocationstatus"
                v-if="actives == 4"
              >
                <template slot-scope="scope">
                  <el-select
                    v-model="scope.row.allocationstatus"
                    placeholder="请选择器官状态"
                  >
                    <el-option
                      v-for="dict in allocationstatuslist"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column
                label="获取状态"
                align="center"
                width="150"
                prop="organstate"
                v-if="actives == 5"
              >
                <template slot-scope="scope">
                  <el-select
@@ -1294,7 +1309,28 @@
                    placeholder="请选择器官状态"
                  >
                    <el-option
                      v-for="dict in dict.type.sys_organstate"
                      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"
                width="150"
                prop="transplantstate"
                v-if="actives == 6"
              >
                <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"
@@ -1310,9 +1346,35 @@
              >
                <template slot-scope="scope">
                  <org-selecter
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    ref="tranHosSelect"
                    :org-type="'4'"
                    v-model="scope.row.transplanthospitalno"
                    style="width: 100%"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="获取组织"
                align="center"
                width="230"
                prop="gainhospitalno"
                v-if="actives == 5"
              >
                <template slot-scope="scope">
                  <org-selecter
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    ref="tranHosSelect"
                    :org-type="'4'"
                    v-model="scope.row.gainhospitalno"
                    style="width: 100%"
                  />
                </template>
@@ -1322,9 +1384,15 @@
                align="center"
                width="120"
                prop="ageunit"
                v-if="actives == 4"
              >
                <template slot-scope="scope">
                  <el-input
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    v-model="scope.row.ageunit"
                    placeholder="系统编号"
                  />
@@ -1335,9 +1403,15 @@
                align="center"
                width="200"
                prop="applicanttime"
                v-if="actives == 4"
              >
                <template slot-scope="scope">
                  <el-date-picker
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    clearable
                    size="small"
                    style="width: 100%"
@@ -1354,9 +1428,106 @@
                align="center"
                width="120"
                prop="name"
                v-if="actives == 4"
              >
                <template slot-scope="scope">
                  <el-input v-model="scope.row.name" placeholder="受体姓名" />
                  <el-input
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    v-model="scope.row.name"
                    placeholder="受体姓名"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="移植负责人"
                align="center"
                width="120"
                prop="transplantdoct"
                v-if="actives == 6"
              >
                <template slot-scope="scope">
                  <el-input
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    v-model="scope.row.transplantdoct"
                    placeholder="医师姓名"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="移植时间"
                align="center"
                width="200"
                prop="transplanttime"
                v-if="actives == 6"
              >
                <template slot-scope="scope">
                  <el-date-picker
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    clearable
                    size="small"
                    style="width: 100%"
                    v-model="scope.row.transplanttime"
                    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="organgetdoct"
                v-if="actives == 5"
              >
                <template slot-scope="scope">
                  <el-input
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    v-model="scope.row.organgetdoct"
                    placeholder="医师姓名"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="获取时间"
                align="center"
                width="200"
                prop="organgettime"
                v-if="actives == 5"
              >
                <template slot-scope="scope">
                  <el-date-picker
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    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
@@ -1364,9 +1535,15 @@
                align="center"
                width="150"
                prop="idcardtype"
                v-if="actives == 4"
              >
                <template slot-scope="scope">
                  <el-select
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    v-model="scope.row.idcardtype"
                    placeholder="移植人证件类型"
                  >
@@ -1384,18 +1561,40 @@
                align="center"
                width="200"
                prop="idcardno"
                v-if="actives == 4"
              >
                <template slot-scope="scope">
                  <el-input
                    :disabled="
                      scope.row.allocationstatus == 2 ||
                        scope.row.organstate == 2 ||
                        scope.row.transplantstate == 2
                    "
                    v-model="scope.row.idcardno"
                    placeholder="证件号码"
                  />
                </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>
          </el-form-item>
        </el-form>
        <div class="dialog-footer">
        <div class="dialog-footer" v-show="actives == 4">
          <el-button
            v-show="!showTerminationBtn"
            type="primary"
@@ -1407,13 +1606,13 @@
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止案例" : "恢复案例" }}</el-button
          >
          <el-button
          <!-- <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>
      <!-- 获取见证 -->
@@ -1762,13 +1961,14 @@
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止案例" : "恢复案例" }}</el-button
          >
          <el-button
          <!-- <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>
      <!-- 完成登记 -->
@@ -1889,12 +2089,12 @@
            @click="Reportforreview"
            >上报审核</el-button
          >
          <el-button @click="cancel">取 消</el-button>
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
      </div>
      <!-- 完结流程 -->
      <div class="boxdiv" v-show="actives > 6">
         <h3>全部流程已完结!</h3>
        <h3>全部流程已完结!</h3>
      </div>
    </div>
    <!-- 附件弹窗 -->
@@ -1906,6 +2106,11 @@
      :visible.sync="pdfVisible"
      width="60%"
    >
      <!-- <div style="text-align: right;">
        <el-button type="success" @click="drawer = true"
          >文件指导目录</el-button
        >
      </div> -->
      <el-tabs
        style="margin-top: 20px;"
        v-model="activeName"
@@ -1913,10 +2118,6 @@
        @tab-click="handleClick"
      >
        <el-tab-pane :label="activetele" :name="1"> </el-tab-pane>
        <!-- <el-tab-pane label="医学评估" :name="2"> </el-tab-pane>
        <el-tab-pane label="捐献确认" :name="3"> </el-tab-pane>
        <el-tab-pane label="伦理审查" :name="4"> </el-tab-pane>
        <el-tab-pane label="完成登记" :name="7"> </el-tab-pane> -->
      </el-tabs>
      <div class="pdfimg">
        <div class="box-pdf">
@@ -2008,23 +2209,50 @@
        <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 {
  addDonateannex,
  listDonateannex,
  Modifydonationattachment
} from "@/api/project/donateannex";
import { listReportname } from "@/api/project/organization";
import {
  getDonatecompletioninfo,
  listnewDonatecompletioninfo,
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecompletioninfo,
  downloadcompletioninfo
  updateDonatecompletioninfo
} from "@/api/project/donatecompletioninfo";
import {
  getDonatebaseinfo,
@@ -2080,45 +2308,43 @@
    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",
    "sys_EthicalReview"
  ],
  data() {
    return {
      infoid: 736,
      drawer: false,
      form: {},
      tableDatafile: [
        {
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
          tag: "中国一类(DBD)",
          type: "success"
        }
      ],
      medicineform: {
        infoid: null
      },
      affirmform: {
        infoid: null,
        organdecision: []
        infoid: null
      },
      ethicform: {
        infoid: null
      },
      allocationstatuslist: [
        { value: 0, label: "未分配" },
        { value: 1, label: "已分配" },
        { value: 2, label: "作废" }
      ],
      organstatelist: [
        { value: "0", label: "未获取" },
        { value: "1", label: "已获取" },
        { value: "2", label: "弃用" }
      ],
      transplantstatelist: [
        { value: 0, label: "未移植" },
        { value: 1, label: "已移植" },
        { value: 2, label: "弃用" }
      ],
      allocationform: [],
      witnessform: {
        infoid: null
@@ -2237,7 +2463,32 @@
      },
      // 各级明细效验
      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: {},
@@ -2253,7 +2504,7 @@
      fileList: [],
      fileListto: [],
      donatelist: [], //总
      activetele:'潜在捐献',
      activetele: "潜在捐献",
      //上传附件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      //文件上传token
@@ -2322,9 +2573,9 @@
        this.residenceAddresss.shi = response.data.residencecityname;
        this.residenceAddresss.qu = response.data.residencetownname;
        this.registerAddresss.qu = response.data.registertownname;
        // 获取二级表
        this.GetAttacheddata();
      });
      // 获取二级表
      this.GetAttacheddata();
    },
    // 获取二级表数据
    GetAttacheddata() {
@@ -2333,19 +2584,25 @@
      };
      if (this.actives == 1) {
        this.annexfilesList = this.medicinelist;
        this.activetele="医学评估";
        this.activetele = "医学评估";
        if (this.medicineform.infoid) {
          return;
        }
        listMedicalevaluation(searchParam).then(response => {
          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 == 2) {
        this.annexfilesList = this.affirmlist;
        this.activetele="捐献确认";
        this.activetele = "捐献确认";
        if (this.affirmform.infoid) {
          return;
        }
        listRelativesconfirmation(searchParam).then(response => {
          if (response.code == 200 && response.rows[0]) {
            this.affirmform = response.rows[0];
@@ -2358,49 +2615,65 @@
            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(
                ","
              );
            }
            // 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.annexfilesList = this.ethiclist;
        this.activetele="伦理审查";
        this.activetele = "伦理审查";
        if (this.ethicform.infoid) {
          return;
        }
        listDonateflowchart(searchParam).then(response => {
          if (response.code == 200 && response.rows.length == 1) {
          if (response.code == 200 && response.rows.length) {
            this.ethicform = response.rows[0];
          } else {
            console.log("伦理审查数据为空");
          }
        });
      } else if (this.actives == 4) {
      } else if (this.actives == 4 && !this.medicineform[0]) {
        listDonateorgan(searchParam).then(response => {
          if (response.code == 200) {
            if (response.rows[0]) {
              this.allocationform = response.rows;
              // this.allocationform[0].infoid = this.form.id;
            }
            this.organalForm.organname = [];
            for (let i = 0; i < response.rows.length; i++) {
              this.organalForm.organname.push(response.rows[i].organno);
            }
          } else {
            this.$modal.msgError(
              "获取器官分配信息失败:" + JSON.stringify(response)
            );
            // this.$modal.msgError(
            //   "获取器官分配信息失败:" + JSON.stringify(response)
            // );
          }
        });
      } else if (this.actives == 5) {
      } else if (this.actives == 5 && !this.witnessform.infoid) {
        // 不存在时获取器官信息
        if (!this.allocationform[0]) {
          listDonateorgan(searchParam).then(resall => {
            if (resall.code == 200) {
              if (resall.rows[0]) {
                this.allocationform = resall.rows;
              }
            } else {
              // this.$modal.msgError(
              //   "器官列表获取失败:" + JSON.stringify(resall)
              // );
            }
          });
        }
        // 获取当前见证信息
        getByInfoId(searchParam.infoid).then(response => {
          if (response.code == 200) {
            if (response.data) {
@@ -2408,30 +2681,47 @@
              this.witnessform.infoid = this.infoid;
            }
          } else {
            this.$modal.msgError(
              "获取见证信息拿取失败:" + JSON.stringify(response)
            );
            // this.$modal.msgError(
            //   "获取见证信息拿取失败:" + JSON.stringify(response)
            // );
          }
        });
      } else if (this.actives == 6) {
        this.annexfilesList = this.registerlist;
        this.activetele="完成登记";
        this.activetele = "完成登记";
        if (this.allocationform.infoid) {
          return;
        }
        let accpre = {
          id: searchParam.infoid
        };
        // 不存在时获取器官
        if (!this.allocationform[0]) {
          listDonateorgan(searchParam).then(resall => {
            if (resall.code == 200) {
              if (resall.rows[0]) {
                this.allocationform = resall.rows;
                this.allocationform.infoid = this.infoid;
              }
            } else {
              // this.$modal.msgError(
              //   "器官列表获取失败:" + JSON.stringify(resall)
              // );
            }
          });
        }
        // 获取完成登记信息
        listnewDonatecompletioninfo(accpre).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.annexfilesList = this.registerlist;
        this.activetele="潜在捐献";
        this.annexfilesList = this.potentiallist;
        this.activetele = "潜在捐献";
      }
    },
    /** 保存主表按钮 */
@@ -2580,7 +2870,6 @@
            let arrallo = [];
            this.allocationform.map(item => {
              if (item.id) {
                console.log(formatDate(item.applicanttime));
                item.applicanttime = formatDate(item.applicanttime);
                updateDonateorgan(item).then(response => {});
              } else {
@@ -2617,8 +2906,16 @@
          }
          console.log("juanxian");
          if (valid) {
            console.log("juanxian");
            // 保存器官分配表数据
            let arrallo = [];
            this.allocationform.map(item => {
              if (item.id) {
                item.applicanttime = formatDate(item.applicanttime);
                updateDonateorgan(item).then(response => {});
              } else {
                arrallo.push(item);
              }
            });
            if (this.witnessform.id != null) {
              console.log(456);
              updateDonationwitness(this.witnessform).then(response => {
@@ -2637,6 +2934,17 @@
        this.accomplishform.infoid = this.infoid;
        this.$refs["accomplishform"].validate(valid => {
          if (valid) {
            // 保存器官分配表数据
            let arrallo = [];
            this.allocationform.map(item => {
              if (item.id) {
                item.applicanttime = formatDate(item.applicanttime);
                updateDonateorgan(item).then(response => {});
              } else {
                arrallo.push(item);
              }
            });
            // 保存确认信息
            if (this.accomplishform.id) {
              console.log(this.accomplishform);
              updateDonatecompletioninfo(this.accomplishform).then(response => {
@@ -2654,11 +2962,13 @@
    },
    // 切换tab
    on_click(e) {
      console.log(e);
      // if (e != "" || e != null) {
      if (this.form.workflow >= e) {
      console.log(this.form.workflow);
      console.log(e);
      let asdx = this.form.workflow + 1;
      if (asdx >= e) {
        this.actives = e;
        this.Processvalidation(e);
        this.GetAttacheddata();
      } else {
        this.$modal.msgWarning("请先完成前部步骤");
      }
@@ -2687,7 +2997,7 @@
            donorno: this.form.donorno,
            transplanthospitalname: null,
            transplanthospitalno: null,
            organstate: "2"
            organstate: 0
          });
        }
      } else {
@@ -2734,15 +3044,23 @@
    Processvalidation() {
      console.log(this.form.workflow);
      console.log(this.actives);
      if (this.form.workflow == this.actives) {
        this.form.workflow++;
      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 => {
          console.log(res);
        });
        this.listDonateannex();
        this.GetAttacheddata();
      } else {
        this.$modal.msgWarning("请先完成前部步骤");
        this.submitForm();
        // this.$modal.msgWarning("请先完成前部步骤");
        return;
      }
      console.log(this.form.workflow);
@@ -2935,27 +3253,60 @@
      const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
      this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
    },
    // 保存
    saveattachment(stype) {}
  }
    clearFilter() {
      this.$refs.filterTable.clearFilter();
    },
    formatter(row, column) {
      return row.address;
    },
    filterTag(value, row) {
      return row.tag === value;
    }
  },
  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"
  ]
};
</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;
@@ -3021,6 +3372,7 @@
  padding-right: 66px;
}
.boxdiv {
  max-width: 85vw;
  font-size: 18px;
  padding: 0 30px;
  padding-bottom: 10px;