11
WXL
2024-08-14 0ac2d43fce4d74f6eea5a51a2e16af4e6a536c7c
src/views/project/donationdetails/index.vue
@@ -6,19 +6,18 @@
        <div>
          <el-steps direction="vertical" :active="workflow">
            <el-step title="潜在捐献" icon="el-icon-user">
              <template
                slot="description"
                v-if="Processdata.donatebaseinfo.createtime"
              >
              <template slot="description" v-if="donatebaseinfo.createtime">
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donatebaseinfo.createtime)
                  }}</span>
                  提交:<span
                    >{{ donatebaseinfo.createperson }}
                    {{ parseTime(donatebaseinfo.createtime) }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donatebaseinfo.updatetime)
                  }}</span>
                  更新:<span
                    >{{ donatebaseinfo.updateperson }}
                    {{ parseTime(donatebaseinfo.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -27,19 +26,18 @@
              icon="el-icon-edit-outline"
              description="请先完成前部步骤"
            >
              <template
                slot="description"
                v-if="Processdata.medicalevaluation.createtime"
              >
              <template slot="description" v-if="medicalevaluation.createtime">
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.medicalevaluation.createtime)
                  }}</span>
                  提交:<span>
                    {{ medicalevaluation.createperson }}
                    {{ parseTime(medicalevaluation.createtime) }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.medicalevaluation.updatetime)
                  }}</span>
                  更新:<span>
                    {{ medicalevaluation.updateperson }}
                    {{ parseTime(medicalevaluation.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -50,17 +48,19 @@
            >
              <template
                slot="description"
                v-if="Processdata.relativesconfirmation.createtime"
                v-if="relativesconfirmation.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.relativesconfirmation.createtime)
                  }}</span>
                  提交:<span>
                    {{ relativesconfirmation.createperson }}
                    {{ parseTime(relativesconfirmation.createtime) }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.relativesconfirmation.updatetime)
                  }}</span>
                  更新:<span>
                    {{ relativesconfirmation.updateperson }}
                    {{ parseTime(relativesconfirmation.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -69,19 +69,18 @@
              description="请先完成前部步骤"
              icon="el-icon-s-order"
            >
              <template
                slot="description"
                v-if="Processdata.donateflowcharts.createtime"
              >
              <template slot="description" v-if="donateflowcharts.createtime">
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donateflowcharts.createtime)
                  }}</span>
                  提交:<span>
                    {{ donateflowcharts.createperson }}
                    {{ parseTime(donateflowcharts.createtime) }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donateflowcharts.updatetime)
                  }}</span>
                  更新:<span>
                    {{ donateflowcharts.updateperson }}
                    {{ parseTime(donateflowcharts.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -92,17 +91,19 @@
            >
              <template
                slot="description"
                v-if="Processdata.donateorgansService.createtime"
                v-if="donateorgansService.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donateorgansService.createtime)
                  }}</span>
                  提交:<span>
                    {{ donateorgansService.createperson }}
                    {{ parseTime(donateorgansService.createtime) }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donateorgansService.updatetime)
                  }}</span>
                  更新:<span>
                    {{ donateorgansService.updateperson }}
                    {{ parseTime(donateorgansService.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -111,19 +112,18 @@
              description="请先完成前部步骤"
              icon="el-icon-s-management"
            >
              <template
                slot="description"
                v-if="Processdata.donationwitness.createtime"
              >
              <template slot="description" v-if="donationwitness.createtime">
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donationwitness.createtime)
                  }}</span>
                  提交:<span>
                    {{ donationwitness.createperson }}
                    {{ parseTime(donationwitness.createtime) }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donationwitness.updatetime)
                  }}</span>
                  更新:<span>
                    {{ donationwitness.updateperson }}
                    {{ parseTime(donationwitness.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -134,17 +134,19 @@
            >
              <template
                slot="description"
                v-if="Processdata.donatecompletioninfo.createtime"
                v-if="donatecompletioninfo.createtime"
              >
                <p>
                  提交时间:<span>{{
                    parseTime(Processdata.donatecompletioninfo.createtime)
                  }}</span>
                  提交:<span>
                    {{ donatecompletioninfo.createperson }}
                    {{ parseTime(donatecompletioninfo.createtime) }}</span
                  >
                </p>
                <p>
                  更新时间:<span>{{
                    parseTime(Processdata.donatecompletioninfo.updatetime)
                  }}</span>
                  更新:<span>
                    {{ donatecompletioninfo.updateperson }}
                    {{ parseTime(donatecompletioninfo.updatetime) }}</span
                  >
                </p>
              </template>
            </el-step>
@@ -345,7 +347,7 @@
        </el-steps>
      </div>
      <!-- 凭证文件 -->
      <div class="Ticket-button" >
      <div class="Ticket-button">
        <el-button @click.native.prevent="Filepopup" type="success"
          >凭证文件</el-button
        >
@@ -571,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"
                      >
@@ -719,12 +721,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 +945,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
@@ -1038,13 +1042,17 @@
          <el-row>
            <el-col :span="12">
              <el-form-item label="签字亲属" prop="kinshipconfirmationsign">
                <el-checkbox-group v-model="organdecision">
                <el-checkbox-group v-model="kinship">
                  <el-checkbox
                    v-for="item in kinshiplist"
                    :key="item"
                    :label="item"
                    v-for="item in dict.type.sys_kinshipConfirm"
                    :label="item.value"
                    :value="item.value"
                  >
                    {{ item == "子女" ? item + "(人)" : item }}
                    {{
                      item.label == "成年子女"
                        ? item.label + "(人)"
                        : item.label
                    }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
@@ -1175,12 +1183,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 +1255,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
@@ -1314,7 +1324,7 @@
                    prop="organno"
                  />
                  <el-table-column
                    label="系统编号"
                    label="分配系统编号"
                    align="center"
                    width="120"
                    prop="caseno"
@@ -1322,12 +1332,12 @@
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.caseno"
                        placeholder="系统编号"
                        placeholder="分配系统编号"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="接收时间"
                    label="分配接收时间"
                    align="center"
                    width="200"
                    prop="applicanttime"
@@ -1340,7 +1350,7 @@
                        v-model="scope.row.applicanttime"
                        type="datetime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="选择接收时间"
                        placeholder="选择分配接收时间"
                      >
                      </el-date-picker>
                    </template>
@@ -1362,14 +1372,15 @@
                    label="移植医院"
                    align="center"
                    width="230"
                    prop="gainhospitalno"
                    prop="transplanthospitalno"
                  >
                    <template slot-scope="scope">
                      <div class="elldiv">
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          v-model="scope.row.gainhospitalno"
                          :dataList="dataList"
                          v-model="scope.row.transplanthospitalno"
                        />
                      </div>
                    </template>
@@ -1413,12 +1424,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
@@ -1699,7 +1711,7 @@
              <el-form-item label-width="100px" label="获取器官">
                <el-checkbox-group v-model="organList.organprocured">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    v-for="dict in sysOrganlistL"
                    :key="dict.value"
                    :label="dict.value"
                    @change="changeorganprocured(dict.value)"
@@ -1734,7 +1746,7 @@
                    width="90"
                    prop="organno"
                  />
                  <el-table-column
                  <!-- <el-table-column
                    label="系统编号"
                    align="center"
                    width="120"
@@ -1746,7 +1758,7 @@
                        placeholder="系统编号"
                      />
                    </template>
                  </el-table-column>
                  </el-table-column> -->
                  <el-table-column
                    label="器官离体时间"
                    align="center"
@@ -1777,6 +1789,7 @@
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          :dataList="dataList"
                          v-model="scope.row.gainhospitalno"
                        />
                      </div>
@@ -1795,7 +1808,7 @@
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                  <!-- <el-table-column
                    label="受体姓氏"
                    align="center"
                    width="120"
@@ -1807,7 +1820,7 @@
                        placeholder="受体姓氏"
                      />
                    </template>
                  </el-table-column>
                  </el-table-column> -->
                  <el-table-column
                    label="获取状态"
                    align="center"
@@ -1923,12 +1936,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
@@ -2009,14 +2023,15 @@
                    label="移植医院"
                    align="center"
                    width="220"
                    prop="transplanthospitalname"
                    prop="hospitalno"
                    v-if="actives == 6"
                  >
                    <template slot-scope="scope">
                      <org-selecter
                        ref="tranHosSelect"
                        :org-type="'4'"
                        v-model="scope.row.transplanthospitalno"
                        :dataList="dataList"
                        v-model="scope.row.hospitalno"
                        style="width: 100%"
                      />
                    </template>
@@ -2059,8 +2074,8 @@
                        size="small"
                        style="width: 100%"
                        v-model="scope.row.transplanttime"
                        type="datetime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        type="date"
                        value-format="yyyy-MM-dd"
                        placeholder="选择移植时间"
                      >
                      </el-date-picker>
@@ -2193,21 +2208,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>
@@ -2297,7 +2316,7 @@
            >
              <el-table-column
                prop="annexname"
              align="center"
                align="center"
                :show-overflow-tooltip="true"
                label="名称"
              >
@@ -2310,7 +2329,7 @@
              <el-table-column
                prop="name"
              align="center"
                align="center"
                :show-overflow-tooltip="true"
                label="功能"
              >
@@ -2321,7 +2340,6 @@
                    @click.native.prevent.stop="deletedowfile(scope.row)"
                    >删除</el-button
                  >
                </template>
              </el-table-column>
            </el-table>
@@ -2385,7 +2403,9 @@
  getDonatebaseinfo,
  addDonatebaseinfo,
  updateDonatebaseinfo,
  getDonatebaseinfoflow
  getDonatebaseinfoflow,
  fileCase,
  getDonationNumber
} from "@/api/project/donatebaseinfo";
import {
  listMedicalevaluation,
@@ -2440,12 +2460,20 @@
  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",
@@ -2461,6 +2489,7 @@
      infoid: 736,
      drawer: false,
      form: {},
      istb: false,
      activeName: "",
      tableDatafile: [
        {
@@ -2470,14 +2499,17 @@
          type: "success"
        }
      ],
      dataList: [],
      medicineform: {
        infoid: null
      },
      affirmform: {
        infoid: null,
        organdecision: []
        organdecision: [],
        kinship: []
      },
      organdecision: [],
      kinship: [],
      ethicform: {
        infoid: null
      },
@@ -2523,7 +2555,21 @@
      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
      },
@@ -2541,7 +2587,13 @@
      showTerminationBtn: 0, //终止状态 0-未终止 1-已终止
      // 流程数据:donatebaseinfo[createtime,updatetime]、medicalevaluation、relativesconfirmation、donateflowcharts、donateorgansService、donationwitness、donatecompletioninfo
      Processdata: {},
      donatebaseinfo: {},
      medicalevaluation: {},
      relativesconfirmation: {},
      donateflowcharts: {},
      donateorgansService: {},
      donationwitness: {},
      donatecompletioninfo: {},
      //省市区默认值设置,可为空
      searchAddress: {
        sheng: "",
@@ -2671,7 +2723,7 @@
      //报告人列表
      reporters: [],
      //附件列表
      annextype: '1', //附件type
      annextype: "1", //附件type
      annexfilesList: [], //附件展示列
      potentiallist: [], //潜在附件
      medicinelist: [], //医学附件
@@ -2704,6 +2756,7 @@
  created() {
    this.Getnetworkheader();
    this.getdataList();
    this.infoid = this.$route.query.id;
  },
  mounted() {
@@ -2729,15 +2782,26 @@
    Getbasicinformation() {
      // 左侧流程数据
      getDonatebaseinfoflow(this.infoid).then(res => {
        this.Processdata = res.data;
        if (res.code == 200) {
          this.Processdata = res.data;
          this.donatebaseinfo = this.Processdata.donatebaseinfo;
          this.medicalevaluation = this.Processdata.medicalevaluation;
          this.relativesconfirmation = this.Processdata.relativesconfirmation;
          this.donateflowcharts = this.Processdata.donateflowcharts;
          this.donateorgansService = this.Processdata.donateorgansService;
          this.donationwitness = this.Processdata.donationwitness;
          this.donatecompletioninfo = this.Processdata.donatecompletioninfo;
        } else {
          this.$message.error("侧边栏信息获取失败");
        }
      });
      // 表单数据
      getDonatebaseinfo(this.infoid).then(response => {
        this.form = response.data;
        if(response.data.terminationCase){
        if (response.data.terminationCase) {
          this.showTerminationBtn = response.data.terminationCase;
        } else{
        } else {
          this.showTerminationBtn = 0;
        }
        this.actives = response.data.workflow;
@@ -2768,11 +2832,10 @@
      let searchParam = {
        infoid: this.infoid
      };
      console.log(this.procureddata, "procureddata");
      if (this.actives == 1) {
        this.activetele = "医学评估";
        if (this.medicineform.infoid) {
          return;
        }
        listMedicalevaluation(searchParam).then(response => {
          if (response.code == 200 && response.rows[0]) {
            this.medicineform = response.rows[0];
@@ -2784,14 +2847,15 @@
        });
      } else if (this.actives == 2) {
        this.activetele = "捐献确认";
        if (this.affirmform.infoid) {
          return;
        }
        listRelativesconfirmation(searchParam).then(response => {
          if (response.code == 200 && response.rows[0]) {
            this.affirmform = response.rows[0];
            if (this.affirmform.organdecision) {
              this.organdecision = this.affirmform.organdecision.split(",");
            }
            if (this.affirmform.kinship) {
              this.kinship = this.affirmform.kinship.split(",");
            }
            if (!this.affirmform) {
              this.affirmform = {};
@@ -2802,14 +2866,6 @@
            this.defultAddresss.sheng = this.affirmform.residenceprovincename;
            this.defultAddresss.shi = this.affirmform.residencecityname;
            this.defultAddresss.qu = this.affirmform.residencetownname;
            // if (this.affirmform.kinship) {
            //   this.affirmform.kinship = this.affirmform.kinship.split(",");
            // }
            // if (this.affirmform.organdecision) {
            //   this.affirmform.organdecision = this.affirmform.organdecision.split(
            //     ","
            //   );
            // }
          } else {
            // this.$modal.msgError(
            //   "查询是否存在确认登记记录失败" + JSON.stringify(response)
@@ -2818,9 +2874,7 @@
        });
      } else if (this.actives == 3) {
        this.activetele = "伦理审查";
        if (this.ethicform.infoid) {
          return;
        }
        //listDonateflowchart(searchParam).then(response => {
        listEthicalreviewopinions(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
@@ -2829,7 +2883,7 @@
            console.log("伦理审查数据为空");
          }
        });
      } else if (this.actives == 4 && !this.allocateddata[0]) {
      } else if (this.actives == 4) {
        listDonateorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
@@ -2847,9 +2901,9 @@
            // );
          }
        });
      } else if (this.actives == 5 && !this.witnessform.infoid) {
      } else if (this.actives == 5) {
        // 不存在时获取器官信息
        if (this.witnessform.infoid) {
        if (this.procureddata[0] && !this.istb) {
          return;
        }
@@ -2857,7 +2911,22 @@
          if (res.code == 200) {
            if (res.rows[0]) {
              this.procureddata = res.rows;
              this.procureddata.infoid = this.infoid;
              // this.procureddata.infoid = this.infoid;
            } else {
              this.procureddata = this.allocateddata.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++) {
@@ -2876,6 +2945,7 @@
            if (response.data) {
              this.witnessform = response.data;
              this.witnessform.infoid = this.infoid;
              this.istb = false;
            }
          } else {
            // this.$modal.msgError(
@@ -2885,34 +2955,43 @@
        });
      } else if (this.actives == 6) {
        this.activetele = "完成登记";
        if (this.accomplishform.infoid) {
        if (this.transplantdata[0] && !this.istb) {
          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;
              }
              for (let i = 0; i < this.transplantdata.length; i++) {
                this.organList.organtransplant.push(
                  this.transplantdata[i].organno
                );
              }
        listDonatecomporgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.transplantdata = res.rows;
              // this.transplantdata.infoid = this.infoid;
            } else {
              // this.$modal.msgError(
              //   "器官列表获取失败:" + JSON.stringify(resall)
              // );
              this.transplantdata = this.allocateddata;
              this.transplantdata = this.transplantdata.map(obj => {
                obj.id = null;
                if (
                  obj.organname == "左眼角膜" ||
                  obj.organname == "右眼角膜"
                ) {
                  obj.transplantstate = 2;
                }
                return obj;
              });
              this.transplantdata.infoid = this.infoid;
            }
          });
        }
            for (let i = 0; i < this.transplantdata.length; i++) {
              this.organList.organtransplant.push(
                this.transplantdata[i].organno
              );
            }
          } else {
            // this.$modal.msgError(
            //   "器官列表获取失败:" + JSON.stringify(resall)
            // );
          }
        });
        // 获取完成登记信息
        // listnewDonatecompletioninfo(accpre).then(response => {
        listDonatecompletioninfo(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
            this.accomplishform = response.rows[0];
@@ -2924,6 +3003,22 @@
      } 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 {
          }
        });
      }
    },
    /** 保存主表按钮 */
@@ -2934,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(",");
@@ -2992,7 +3089,9 @@
            }
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              Modifydonationattachment(this.donatelist).then(res => {});
              Modifydonationattachment(this.donatelist).then(res => {
                this.listDonateannex();
              });
              this.Getbasicinformation();
              // this.Processvalidation();
              this.open = false;
@@ -3002,7 +3101,9 @@
            addDonatebaseinfo(this.form).then(response => {
              if (response.code == 200) {
                this.$modal.msgSuccess("新增成功");
                Modifydonationattachment(this.donatelist).then(res => {});
                Modifydonationattachment(this.donatelist).then(res => {
                  this.listDonateannex();
                });
                this.Getbasicinformation();
                // this.Processvalidation();
                this.open = false;
@@ -3021,13 +3122,16 @@
        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.closeLoading();
              });
            } else {
              addMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("医学评估信息新增成功");
                this.$modal.closeLoading();
              });
            }
            this.Processvalidation();
@@ -3036,18 +3140,25 @@
      } 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();
@@ -3057,46 +3168,43 @@
        this.ethicform.infoid = this.infoid;
        this.$refs["ethicform"].validate(valid => {
          if (valid) {
            this.$modal.loading("正在提交,请稍候!");
            if (this.ethicform.id != null) {
              // updateDonateflowchart(this.ethicform).then(response => {
              updateEthicalreviewopinions(this.ethicform).then(res => {
                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();
          }
        });
      } else if (this.actives == 4) {
        this.procureddata.infoid = this.infoid;
        // this.procureddata.infoid = this.infoid;
        this.$refs["allocateddataform"].validate(valid => {
          /**
          let rows = [];
          this.allocateddata.map(item => {
            if (item.id) {
              item.applicanttime = formatDate(item.applicanttime);
              updateDonateorgan(item).then(response => { });
            } else {
              item.infoid=this.infoid;
              rows.push(item);
            }
          });
          if (rows.length) {
            addOrganallocation(rows).then(res => {
              this.$modal.msgSuccess("器官捐献信息新增成功");
            });
          }
           */
          this.$modal.loading("正在提交,请稍候!");
          this.allocateddata.map(item => {
            item.applicanttime = formatDate(item.applicanttime);
          });
          this.allocateddata.forEach(item => {
            const objs = this.dataList.find(
              obj => obj.organizationid == item.transplanthospitalno
            );
            if (objs) {
              item.transplanthospitalname = objs.organizationname;
            }
          });
          saveDonateorgan(this.allocateddata).then(res => {
            if (res.code == 200) {
              this.$modal.msgSuccess("器官捐献分配信息保存成功!");
              this.$modal.closeLoading();
            }
          });
          this.Processvalidation();
@@ -3112,6 +3220,7 @@
              coordinatedusernameIndex
            ].reportName;
          }
          //协调员2
          let coordinatedusernametIndex = this.coordinatorlist1.findIndex(
            item => this.witnessform.coordinateduseridt == item.reportNo
@@ -3123,48 +3232,115 @@
          }
          if (valid) {
            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 {
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
                if (response.code === 200) {
                  this.$modal.msgSuccess("获取见证信息新增成功");
                  this.form.donationcategory = this.witnessform.donationcategory;
                  let data = JSON.parse(JSON.stringify(this.form));
                  data.diseasetype = "";
                  data.infectious = data.infectious.join(",");
                  data.selfwill = data.selfwill.join(",");
                  data.othercases = data.othercases.join(",");
                  data.infosources = data.infosources.join(",");
                  data.kinship = data.kinship.join(",");
                  data.patientstate = data.patientstate.join(",");
                  // 获取捐献编号
                  getDonationNumber(data).then(res => {
                    this.form.donorno = res.msg;
                    this.istb = true;
                    this.Processvalidation();
                  });
                  //保存器官获取表数据
                  saveDonationwitnessorgan(this.procureddata).then(res => {
                    if (res == 200) {
                      this.$modal.msgSuccess("捐献器官获取信息保存成功!");
                    }
                    this.$modal.closeLoading();
                  });
                } else {
                  this.$modal.msgError("获取见证信息新增失败");
                  this.$modal.closeLoading();
                }
              });
            }
            //保存器官获取表数据
            this.procureddata.infoid = this.infoid;
            saveDonationwitnessorgan(this.procureddata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
              }
            });
            this.form.donationcategory = this.witnessform.donationcategory;
            this.Processvalidation();
          }
        });
      } else if (this.actives == 6) {
        this.accomplishform.infoid = this.infoid;
        this.$refs["accomplishform"].validate(valid => {
          if (valid) {
            // 保存捐献器官移植信息
            this.transplantdata.infoid = this.infoid;
            saveDonatecomporgan(this.transplantdata).then(res => {
              if (res == 200) {
                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;
              }
            });
console.log(this.accomplishform.id,'完成id');
            // 保存确认信息
            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 {
              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(() => {});
              });
            }
@@ -3185,6 +3361,10 @@
        this.$modal.msgWarning("请先完成前部步骤");
      }
      // }
    },
    // 获取部门数据缓存
    getdataList() {
      this.$store.dispatch("getdataList").then(() => {});
    },
    // 器官分配栏目控制
    changeorganState(value) {
@@ -3357,6 +3537,12 @@
                    this.$modal.msgSuccess(
                      "删除成功,如果需要增加该器官,请重新选择器官!"
                    );
                    listDonorchargeorgan({
                      infoid: this.transplantdata[organIndex].infoid,
                      organno: this.transplantdata[organIndex].organno
                    }).then(res => {
                      delDonorchargeorgan(res.rows[0].id);
                    });
                  }
                );
              })
@@ -3386,7 +3572,8 @@
              id: null,
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: 1
              organstate: 1,
              transplantstate: 1
            });
          }
        } else {
@@ -3406,8 +3593,8 @@
    },
    // 更改进程效验
    Processvalidation() {
      if (this.form.workflow + 1 == this.actives || this.actives == 6) {
        if (this.form.workflow <= 6) {
      if (this.form.workflow + 1 == this.actives) {
        if (this.form.workflow < 6) {
          this.form.workflow++;
        } else {
        }
@@ -3415,17 +3602,53 @@
        // this.GetAttacheddata();
      } else if (this.form.workflow > this.actives) {
        this.submitForm();
        Modifydonationattachment(this.donatelist).then(res => {});
        this.listDonateannex();
        this.GetAttacheddata();
        // Modifydonationattachment(this.donatelist).then(res => {});
        // this.GetAttacheddata();
      } else {
        this.submitForm();
        // this.$modal.msgWarning("请先完成前部步骤");
        return;
      }
    },
    // 上报审核
    Reportforreview() {},
    // 提交归档
    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() {
      this.form.terminationCase == 1
@@ -3630,7 +3853,6 @@
      this.annexfilesList.splice(indexvalue, 1);
      this.Newconversion(this.annexfilesList, indexvalue, "");
    },
    clearFilter() {
      this.$refs.filterTable.clearFilter();
@@ -3704,7 +3926,7 @@
    "sys_0_1",
    "sys_patientstate",
    "sys_DonationCategory",
    "sys_Kinship",
    "sys_kinship",
    "sys_Infectious",
    "sys_bloodtype_rhd",
    "sys_InfoSources",
@@ -3716,7 +3938,8 @@
    "sys_CoreAssessConclusion",
    "sys_BaseAssessConclusion",
    "sys_EthicalReview",
    "materials_DBD"
    "materials_DBD",
    "sys_kinshipConfirm"
  ]
};
</script>