11
WXL
2024-03-05 563230f7ebcfe6b2d07d147f8b0f29e681bb68fb
src/views/project/donationdetails/index.vue
@@ -11,14 +11,20 @@
                v-if="Processdata.donatebaseinfo.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donatebaseinfo.createtime)
                  }}</span>
                  提交:<span
                    >{{ Processdata.donatebaseinfo.createperson
                    }} {{
                      parseTime(Processdata.donatebaseinfo.createtime)
                    }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donatebaseinfo.updatetime)
                  }}</span>
                  更新:<span
                    >{{ Processdata.donatebaseinfo.updateperson
                    }} {{
                      parseTime(Processdata.donatebaseinfo.updatetime)
                    }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -32,14 +38,20 @@
                v-if="Processdata.medicalevaluation.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.medicalevaluation.createtime)
                  }}</span>
                  提交:<span>
                    {{ Processdata.medicalevaluation.createperson
                    }} {{
                      parseTime(Processdata.medicalevaluation.createtime)
                    }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.medicalevaluation.updatetime)
                  }}</span>
                  更新:<span>
                    {{ Processdata.medicalevaluation.updateperson
                    }} {{
                      parseTime(Processdata.medicalevaluation.updatetime)
                    }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -53,14 +65,20 @@
                v-if="Processdata.relativesconfirmation.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.relativesconfirmation.createtime)
                  }}</span>
                  提交:<span>
                    {{ Processdata.relativesconfirmation.createperson
                    }} {{
                      parseTime(Processdata.relativesconfirmation.createtime)
                    }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.relativesconfirmation.updatetime)
                  }}</span>
                  更新:<span>
                    {{ Processdata.relativesconfirmation.updateperson
                    }} {{
                      parseTime(Processdata.relativesconfirmation.updatetime)
                    }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -74,14 +92,20 @@
                v-if="Processdata.donateflowcharts.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donateflowcharts.createtime)
                  }}</span>
                  提交:<span>
                    {{ Processdata.donateflowcharts.createperson
                    }} {{
                      parseTime(Processdata.donateflowcharts.createtime)
                    }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donateflowcharts.updatetime)
                  }}</span>
                  更新:<span>
                    {{ Processdata.donateflowcharts.updateperson
                    }} {{
                      parseTime(Processdata.donateflowcharts.updatetime)
                    }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -95,14 +119,20 @@
                v-if="Processdata.donateorgansService.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donateorgansService.createtime)
                  }}</span>
                  提交:<span>
                    {{ Processdata.donateorgansService.createperson
                    }} {{
                      parseTime(Processdata.donateorgansService.createtime)
                    }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donateorgansService.updatetime)
                  }}</span>
                  更新:<span>
                    {{ Processdata.donateorgansService.updateperson
                    }} {{
                      parseTime(Processdata.donateorgansService.updatetime)
                    }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -116,14 +146,20 @@
                v-if="Processdata.donationwitness.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donationwitness.createtime)
                  }}</span>
                  提交:<span>
                    {{ Processdata.donationwitness.createperson
                    }} {{
                      parseTime(Processdata.donationwitness.createtime)
                    }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donationwitness.updatetime)
                  }}</span>
                  更新:<span>
                    {{ Processdata.donationwitness.updateperson
                    }} {{
                      parseTime(Processdata.donationwitness.updatetime)
                    }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -137,14 +173,20 @@
                v-if="Processdata.donatecompletioninfo.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donatecompletioninfo.createtime)
                  }}</span>
                  提交:<span>
                    {{ Processdata.donatecompletioninfo.createperson
                    }} {{
                      parseTime(Processdata.donatecompletioninfo.createtime)
                    }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donatecompletioninfo.updatetime)
                  }}</span>
                  更新:<span>
                    {{ Processdata.donatecompletioninfo.updateperson
                    }} {{
                      parseTime(Processdata.donatecompletioninfo.updatetime)
                    }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -345,7 +387,7 @@
        </el-steps>
      </div>
      <!-- 凭证文件 -->
      <div class="Ticket-button" v-show="actives != 5 && actives != 4">
      <div class="Ticket-button">
        <el-button @click.native.prevent="Filepopup" type="success"
          >凭证文件</el-button
        >
@@ -719,12 +761,13 @@
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="submitForm"
            >保存</el-button
          >
          <el-button
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
@@ -942,12 +985,13 @@
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
@@ -1175,12 +1219,13 @@
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
@@ -1246,12 +1291,13 @@
        </el-form>
        <div class="dialog-footer" style="min-height: 500px; margin: 20px 0; ">
          <el-button
            v-show="!showTerminationBtn"
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
@@ -1268,9 +1314,9 @@
      <!-- 器官分配 -->
      <div class="boxdiv" v-show="actives == 4">
        <el-form
          ref="allocateddata"
          :model="allocateddata"
          ref="allocateddataform"
          :rules="allocationrules"
          :model="allocateddataform"
          label-position="right"
        >
          <el-row>
@@ -1346,7 +1392,7 @@
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="受体姓名"
                    label="受体姓氏"
                    align="center"
                    width="120"
                    prop="name"
@@ -1354,33 +1400,27 @@
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.name"
                        placeholder="受体姓名"
                        placeholder="受体姓氏"
                      />
                    </template>
                  </el-table-column>
                  <!--
              <el-table-column label="证件类型" align="center" width="150" prop="idcardtype">
                <template slot-scope="scope">
                  <el-select v-model="scope.row.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>
                </template>
              </el-table-column>
              <el-table-column label="证件号码" align="center" width="200" prop="idcardno">
                <template slot-scope="scope">
                  <el-input v-model="scope.row.idcardno" placeholder="证件号码" />
                </template>
              </el-table-column>
                  <el-table-column label="分配状态" align="center" width="150" prop="allocationstatus">
                  <el-table-column
                    label="移植医院"
                    align="center"
                    width="230"
                    prop="gainhospitalno"
                  >
                    <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>
                      <div class="elldiv">
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          v-model="scope.row.gainhospitalno"
                        />
                      </div>
                    </template>
                  </el-table-column>
                -->
                  </el-table-column>
                  <el-table-column
                    prop="reallocationreason"
                    label="说明"
@@ -1419,12 +1459,13 @@
        </el-form>
        <div class="dialog-footer" v-show="actives == 4">
          <el-button
            v-show="!showTerminationBtn"
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
@@ -1741,6 +1782,19 @@
                    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"
@@ -1785,6 +1839,19 @@
                      <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>
@@ -1903,12 +1970,13 @@
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
@@ -1973,6 +2041,19 @@
                    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"
@@ -1985,6 +2066,19 @@
                        :org-type="'4'"
                        v-model="scope.row.transplanthospitalno"
                        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>
@@ -2147,21 +2241,25 @@
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            v-show="!showTerminationBtn && workflow != 9"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            v-if="workflow != 9"
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button
            v-show="Reportforreview"
            type="primary"
            v-if="workflow != 9"
            type="success"
            @click="Reportforreview"
            >提交</el-button
            >提交归档</el-button
          >
          <el-button v-else type="danger" @click="Reportforreview"
            >撤销归档</el-button
          >
          <!-- <el-button @click="cancel">取 消</el-button> -->
        </div>
@@ -2169,10 +2267,6 @@
      <!-- 完结流程 -->
      <div class="boxdiv" v-show="actives > 6">
        <div style="display:flex; line-height: 100px; justify-content: center;">
          <!-- <el-image
            style="width: 100px; height: 100px"
            :src="require('@/assets/images/wanc.png')"
          ></el-image> -->
          <div style="padding: 20px 0; margin: 0 30px">
            <img
              style="width: 60px; height: 60px"
@@ -2196,22 +2290,27 @@
      :close-on-click-modal="false"
      :title="pdftitle"
      :visible.sync="pdfVisible"
      width="60%"
      width="68%"
    >
      <!-- <div style="text-align: right;">
        <el-button type="success" @click="drawer = true"
          >文件指导目录</el-button
        >
      </div> -->
      <el-tabs
        style="margin-top: 20px;"
        v-model="activeName"
        type="card"
        @tab-click="handleClick"
      >
        <el-tab-pane :label="activetele" :name="1"> </el-tab-pane>
      </el-tabs>
      <!-- <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
@@ -2250,6 +2349,7 @@
            >
              <el-table-column
                prop="annexname"
                align="center"
                :show-overflow-tooltip="true"
                label="名称"
              >
@@ -2262,22 +2362,16 @@
              <el-table-column
                prop="name"
                width="180"
                align="center"
                :show-overflow-tooltip="true"
                label="功能"
              >
                <template slot-scope="scope">
                  <el-button
                    type="primary"
                    type="danger"
                    size="mini"
                    @click.native.prevent.stop="deletedowfile(scope.row)"
                    >删除</el-button
                  >
                  <el-button
                    type="primary"
                    size="mini"
                    @click.native.prevent.stop="moveupdowfile(scope.row)"
                    >上移</el-button
                  >
                </template>
              </el-table-column>
@@ -2285,7 +2379,7 @@
          </div>
        </div>
        <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin">
        <div v-if="previewpdf && pdfimgsrcList.length" class="pdfimgmin">
          <!-- <img :src="pdfimg" /> -->
          <el-image
            style="width: 95%; height: 90%"
@@ -2342,7 +2436,8 @@
  getDonatebaseinfo,
  addDonatebaseinfo,
  updateDonatebaseinfo,
  getDonatebaseinfoflow
  getDonatebaseinfoflow,
  fileCase
} from "@/api/project/donatebaseinfo";
import {
  listMedicalevaluation,
@@ -2390,6 +2485,7 @@
} from "@/api/project/donationwitness";
import {
  listnewDonatecompletioninfo,
  listDonatecompletioninfo,
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecomporgan,
@@ -2411,11 +2507,13 @@
    AnnexUpload,
    ReportName
  },
  data() {
    return {
      infoid: 736,
      drawer: false,
      form: {},
      activeName: "",
      tableDatafile: [
        {
          name: "王小虎",
@@ -2442,7 +2540,7 @@
        "双肾脏",
        "心脏",
        "肺脏",
        "腺体",
        "胰腺",
        "小肠",
        "双眼组织",
        "遗体",
@@ -2474,6 +2572,7 @@
      ],
      //器官数据
      allocateddata: [],
      allocateddataform: {},
      procureddata: [],
      transplantdata: [],
@@ -2624,7 +2723,7 @@
      //报告人列表
      reporters: [],
      //附件列表
      annextype: "1", //附件type
      annexfilesList: [], //附件展示列
      potentiallist: [], //潜在附件
      medicinelist: [], //医学附件
@@ -2641,6 +2740,7 @@
      headers: {
        Authorization: "Bearer " + getToken()
      },
      ICDtoken: getToken(),
      // 网络请求头
      Networkheader: null,
      //票据文件
@@ -2655,6 +2755,7 @@
  },
  created() {
    this.Getnetworkheader();
    this.infoid = this.$route.query.id;
  },
  mounted() {
@@ -2680,14 +2781,17 @@
    Getbasicinformation() {
      // 左侧流程数据
      getDonatebaseinfoflow(this.infoid).then(res => {
        console.log("getDonatebaseinfoflow", res.data);
        this.Processdata = res.data;
      });
      // 表单数据
      getDonatebaseinfo(this.infoid).then(response => {
        this.form = response.data;
        this.showTerminationBtn = response.data.terminationCase;
        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);
@@ -2717,7 +2821,6 @@
        infoid: this.infoid
      };
      if (this.actives == 1) {
        this.annexfilesList = this.medicinelist;
        this.activetele = "医学评估";
        if (this.medicineform.infoid) {
          return;
@@ -2732,7 +2835,6 @@
          }
        });
      } else if (this.actives == 2) {
        this.annexfilesList = this.affirmlist;
        this.activetele = "捐献确认";
        if (this.affirmform.infoid) {
          return;
@@ -2767,7 +2869,6 @@
          }
        });
      } else if (this.actives == 3) {
        this.annexfilesList = this.ethiclist;
        this.activetele = "伦理审查";
        if (this.ethicform.infoid) {
          return;
@@ -2785,6 +2886,8 @@
          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++) {
@@ -2806,6 +2909,9 @@
          if (res.code == 200) {
            if (res.rows[0]) {
              this.procureddata = res.rows;
              this.procureddata.infoid = this.infoid;
            } else {
              this.procureddata = this.allocateddata;
              this.procureddata.infoid = this.infoid;
            }
            this.organList.organprocured = [];
@@ -2833,20 +2939,19 @@
          }
        });
      } else if (this.actives == 6) {
        this.annexfilesList = this.registerlist;
        this.activetele = "完成登记";
        if (this.accomplishform.infoid) {
          return;
        }
        // 不存在时获取器官
        let accpre = {
          id: searchParam.infoid
        };
        if (!this.organList.organtransplant[0]) {
          listDonatecomporgan(searchParam).then(res => {
            if (res.code == 200) {
              if (res.rows[0]) {
                this.transplantdata = res.rows;
                this.transplantdata.infoid = this.infoid;
              } else {
                this.transplantdata = this.allocateddata;
                this.transplantdata.infoid = this.infoid;
              }
              for (let i = 0; i < this.transplantdata.length; i++) {
@@ -2862,7 +2967,7 @@
          });
        }
        // 获取完成登记信息
        listnewDonatecompletioninfo(accpre).then(response => {
        listDonatecompletioninfo(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
            this.accomplishform = response.rows[0];
            this.accomplishform.infoid = this.infoid;
@@ -2871,7 +2976,6 @@
          }
        });
      } else if (this.actives == 0) {
        this.annexfilesList = this.potentiallist;
        this.activetele = "潜在捐献";
      }
    },
@@ -2942,22 +3046,17 @@
            }
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              Modifydonationattachment(this.donatelist).then(res => {
                console.log(res);
              });
              Modifydonationattachment(this.donatelist).then(res => {});
              this.Getbasicinformation();
              // this.Processvalidation();
              this.open = false;
            });
          } else {
            this.form.workflow = 1;
            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 => {
                  console.log(res);
                });
                Modifydonationattachment(this.donatelist).then(res => {});
                this.Getbasicinformation();
                // this.Processvalidation();
                this.open = false;
@@ -2972,6 +3071,7 @@
    // 保存二级表按钮
    Savethedetails() {
      console.log(this.actives);
      this.$modal.loading("正在提交,请稍候!");
      if (this.actives == 1) {
        this.medicineform.infoid = this.infoid;
        this.$refs["medicineform"].validate(valid => {
@@ -2979,10 +3079,12 @@
            if (this.medicineform.id != null) {
              updateMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("医学评估信息修改成功");
                this.$modal.closeLoading();
              });
            } else {
              addMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("医学评估信息新增成功");
                this.$modal.closeLoading();
              });
            }
            this.Processvalidation();
@@ -2999,10 +3101,12 @@
              this.affirmform.residencetownname = this.defultAddresss.qu;
              updateRelativesconfirmation(this.affirmform).then(response => {
                this.$modal.msgSuccess("捐献确认信息修改成功");
                this.$modal.closeLoading();
              });
            } else {
              addRelativesconfirmation(this.affirmform).then(response => {
                this.$modal.msgSuccess("捐献确认信息新增成功");
                this.$modal.closeLoading();
              });
            }
            this.Processvalidation();
@@ -3016,11 +3120,13 @@
              // updateDonateflowchart(this.ethicform).then(response => {
              updateEthicalreviewopinions(this.ethicform).then(res => {
                this.$modal.msgSuccess("伦理审查信息修改成功");
                this.$modal.closeLoading();
              });
            } else {
              //addDonateflowchart(this.ethicform).then(response => {
              addEthicalreviewopinions(this.ethicform).then(res => {
                this.$modal.msgSuccess("伦理审查信息新增成功");
                this.$modal.closeLoading();
              });
            }
            this.Processvalidation();
@@ -3028,8 +3134,8 @@
        });
      } else if (this.actives == 4) {
        this.procureddata.infoid = this.infoid;
        this.$refs["allocateddata"].validate(valid => {
          /**
        this.$refs["allocateddataform"].validate(valid => {
          /**
          let rows = [];
          this.allocateddata.map(item => {
            if (item.id) {
@@ -3050,8 +3156,9 @@
            item.applicanttime = formatDate(item.applicanttime);
          });
          saveDonateorgan(this.allocateddata).then(res => {
            if (res == 200) {
            if (res.code == 200) {
              this.$modal.msgSuccess("器官捐献分配信息保存成功!");
              this.$modal.closeLoading();
            }
          });
          this.Processvalidation();
@@ -3079,20 +3186,19 @@
          if (valid) {
            if (this.witnessform.id != null) {
              console.log(456);
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
                this.$modal.closeLoading();
              });
            } else {
              console.log(123);
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
                this.$modal.closeLoading();
              });
            }
            //保存器官获取表数据
            this.procureddata.infoid = this.infoid;
            console.log("procureddata", this.procureddata);
            saveDonationwitnessorgan(this.procureddata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
@@ -3109,22 +3215,22 @@
          if (valid) {
            // 保存捐献器官移植信息
            this.transplantdata.infoid = this.infoid;
            console.log("transplantdata", this.transplantdata);
            saveDonatecomporgan(this.transplantdata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
              }
            });
            console.log(this.accomplishform.id, "完成id");
            // 保存确认信息
            if (this.accomplishform.dcid) {
              console.log(this.accomplishform);
            if (this.accomplishform.id) {
              updateDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记信息修改成功");
                this.$modal.closeLoading();
              });
            } else {
              addDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记成功");
                this.$modal.closeLoading();
              });
            }
@@ -3136,8 +3242,7 @@
    // 切换tab
    on_click(e) {
      // if (e != "" || e != null) {
      console.log(this.form.workflow);
      console.log(e);
      let asdx = this.form.workflow + 1;
      if (asdx >= e) {
        this.actives = e;
@@ -3301,7 +3406,7 @@
        if (organIndex != -1) {
          if (this.transplantdata[organIndex].id > 0) {
            this.$confirm(
              "删除器官数据后将不法恢复,您确认删除该条记录吗?",
              "删除器官数据后将无法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
@@ -3358,7 +3463,6 @@
    // 前进步骤
    makeastepforward() {
      console.log(this.actives);
      if (this.actives <= 6) {
        this.actives++;
        this.GetAttacheddata();
@@ -3368,8 +3472,6 @@
    },
    // 更改进程效验
    Processvalidation() {
      console.log(this.form.workflow);
      console.log(this.actives);
      if (this.form.workflow + 1 == this.actives || this.actives == 6) {
        if (this.form.workflow <= 6) {
          this.form.workflow++;
@@ -3378,10 +3480,8 @@
        this.submitForm();
        // this.GetAttacheddata();
      } else if (this.form.workflow > this.actives) {
        // this.submitForm();
        Modifydonationattachment(this.donatelist).then(res => {
          console.log(res);
        });
        this.submitForm();
        Modifydonationattachment(this.donatelist).then(res => {});
        this.listDonateannex();
        this.GetAttacheddata();
      } else {
@@ -3389,10 +3489,41 @@
        // this.$modal.msgWarning("请先完成前部步骤");
        return;
      }
      console.log(this.form.workflow);
    },
    // 上报审核
    Reportforreview() {},
    // 提交归档
    Reportforreview() {
      if (this.form.workflow == 9) {
        this.form.workflow = 8;
        this.submitForm();
      } 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 = 9;
                this.submitForm();
                this.$message({
                  type: "success",
                  message: "归档成功!"
                });
                this.$router.go(-1);
              }
            });
          })
          .catch(() => {
            this.$message({
              type: "info",
              message: "已取消归档"
            });
          });
      }
    },
    // 终止案例
    Terminationcase() {
      this.form.terminationCase == 1
@@ -3403,6 +3534,13 @@
    // 返回上一页
    cancel() {},
    // ----------------------------------文件
    // 点击分类
    selecttab(row) {
      console.log(row.label);
      this.annextype = row.name;
      this.Filepopup();
    },
    // 获取请求头
    Getnetworkheader() {
      let string = window.location.href;
@@ -3421,46 +3559,13 @@
      parmi.infoid = this.infoid.toString();
      listDonateannex(parmi).then(res => {
        this.donatelist = res.rows;
        const groupedArr = this.donatelist.reduce(
          (accumulator, currentValue) => {
            const key = currentValue.annexfilestype;
            if (key == 0) {
              this.potentiallist.push(currentValue);
            } else if (key == 1) {
              this.medicinelist.push(currentValue);
            } else if (key == 2) {
              this.affirmlist.push(currentValue);
            } else if (key == 3) {
              this.ethiclist.push(currentValue);
            } else if (key == 6) {
              this.registerlist.push(currentValue);
            }
            return accumulator;
          },
          {}
        );
        console.log(groupedArr);
      });
    },
    // 附件修改数据转存封装
    Newconversion(arr, delvalue, addvalue) {
      // 和各部保存同步
      if (this.actives == 0) {
        this.potentiallist = arr;
      } else if (this.actives == 1) {
        this.medicinelist = arr;
      } else if (this.actives == 2) {
        this.affirmlist = arr;
      } else if (this.actives == 3) {
        this.ethiclist = arr;
      } else if (this.actives == 6) {
        this.registerlist = arr;
      }
      // 删除时修改主列delFlag
      console.log(delvalue);
      const index = this.donatelist.indexOf(delvalue);
      console.log(index);
      if (index !== -1) {
      if (index != -1) {
        if (delvalue.id) {
          this.donatelist[index].delFlag = 1;
          console.log("修改老数据后", this.donatelist);
@@ -3476,6 +3581,7 @@
        this.donatelist.push(addvalue);
        console.log("新增后", this.donatelist);
      }
      this.pdftitle = "共" + this.donatelist.length + "项";
    },
    //文件上传
    handleUploadError() {},
@@ -3486,59 +3592,106 @@
    // 上传成功
    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.form.filename = file.raw.name;
        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);
        let addvalue = {
        console.log(this.fileListto, "新增后");
        if (!this.annexfilesList) {
          this.annexfilesList = [];
        }
        let addvalues = {
          annexname: file.name,
          annexurl: response.fileName,
          delFlag: 0,
          infoid: this.infoid,
          annexfilestype: this.actives
          annexfilestype: this.annextype
        };
        this.fileListto.push(addvalue);
        this.Newconversion(this.fileListto, "", addvalue);
        this.pdfimgsrcList.push(
          this.Networkheader + "/prod-api" + response.fileName
        );
        console.log(this.pdfimgsrcList);
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
        this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
        this.annexfilesList = this.fileListto;
        this.annexfilesList.push(addvalues);
        this.Newconversion(this.annexfilesList, "", addvalues);
      } else {
        console.log(response.msg);
      }
    },
    // 点击票据
    Filepopup(index, rows, row) {
    // 文件弹窗触发
    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.previewpdf = true;
        this.fileListto = this.annexfilesList;
        console.log(this.fileListto);
        this.pdfimg =
          this.Networkheader + "/prod-api" + this.fileListto[0].annexurl;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(
            this.Networkheader + "/prod-api" + item.annexurl
          );
        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.pdfimgsrcList.length + "项";
      this.pdftitle = "共" + this.donatelist.length + "项";
    },
    // 点击已上传文件
    downFile(item) {
      console.log(item, "点击文件拿item");
      this.pdftitle =
        "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
      let name = item.name.split(".");
        "共" + this.donatelist.length + "项,当前选中" + item.annexname;
      let name = item.annexname.split(".");
      if (name[1] == "pdf") {
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
@@ -3546,10 +3699,9 @@
      } else if (name[1] == "jpg" || "png") {
        this.previewpdf = true;
        if (item.annexurl) {
          this.pdfimg = this.Networkheader + "/prod-api" + item.annexurl;
          this.pdfimg = item.annexurl;
        } else {
          this.pdfimg =
            this.Networkheader + "/prod-api" + item.response.annexurl;
          this.pdfimg = "";
        }
      } else {
        this.hintitle = "当前文件暂不支持预览";
@@ -3563,21 +3715,18 @@
    },
    // 点击删除
    deletedowfile(row) {
      const indexlist = this.getIndexInArray(
        this.pdfimgsrcList,
        this.Networkheader + "/prod-api" + row.annexurl
      );
      let indexvalue = "";
      const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.annexurl);
      this.pdfimgsrcList.splice(indexlist, 1);
      const index = this.getIndexInArray(this.fileListto, row);
      this.Newconversion(this.fileListto, this.fileListto[index], "");
      this.fileListto.splice(index, 1);
      console.log(index);
    },
    // 点击上移
    moveupdowfile(row) {
      const index = this.getIndexInArray(this.fileListto, row);
      const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
      this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
      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() {
@@ -3663,7 +3812,8 @@
    "sys_OrganDecision",
    "sys_CoreAssessConclusion",
    "sys_BaseAssessConclusion",
    "sys_EthicalReview"
    "sys_EthicalReview",
    "materials_DBD"
  ]
};
</script>
@@ -3715,7 +3865,6 @@
  .box-pdf {
    width: 400px;
    padding-top: 20px;
    margin-right: 30px;
    border: 1px solid #dcdfe6;
    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -3788,4 +3937,7 @@
  position: relative;
  width: 80%;
}
:v-deep .el-tabs__nav-scroll {
  overflow: auto;
}
</style>