11
WXL
2024-03-12 a05bad345de643abb06ea743c4bb92c329b21d8d
src/views/project/donationdetails/index.vue
@@ -8,17 +8,19 @@
            <el-step title="潜在捐献" icon="el-icon-user">
              <template
                slot="description"
                v-if="Processdata.donatebaseinfo.createtime"
                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>
@@ -29,17 +31,23 @@
            >
              <template
                slot="description"
                v-if="Processdata.medicalevaluation.createtime"
                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 +58,23 @@
            >
              <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>
@@ -71,17 +85,23 @@
            >
              <template
                slot="description"
                v-if="Processdata.donateflowcharts.createtime"
                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 +112,23 @@
            >
              <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>
@@ -113,17 +139,23 @@
            >
              <template
                slot="description"
                v-if="Processdata.donationwitness.createtime"
                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 +166,23 @@
            >
              <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 +383,7 @@
        </el-steps>
      </div>
      <!-- 凭证文件 -->
      <div class="Ticket-button" >
      <div class="Ticket-button">
        <el-button @click.native.prevent="Filepopup" type="success"
          >凭证文件</el-button
        >
@@ -719,12 +757,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 +981,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 +1215,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 +1287,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
@@ -1362,14 +1404,14 @@
                    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"
                          v-model="scope.row.transplanthospitalno"
                        />
                      </div>
                    </template>
@@ -1413,12 +1455,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 +1742,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 +1777,7 @@
                    width="90"
                    prop="organno"
                  />
                  <el-table-column
                  <!-- <el-table-column
                    label="系统编号"
                    align="center"
                    width="120"
@@ -1746,7 +1789,7 @@
                        placeholder="系统编号"
                      />
                    </template>
                  </el-table-column>
                  </el-table-column> -->
                  <el-table-column
                    label="器官离体时间"
                    align="center"
@@ -1795,7 +1838,7 @@
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                  <!-- <el-table-column
                    label="受体姓氏"
                    align="center"
                    width="120"
@@ -1807,7 +1850,7 @@
                        placeholder="受体姓氏"
                      />
                    </template>
                  </el-table-column>
                  </el-table-column> -->
                  <el-table-column
                    label="获取状态"
                    align="center"
@@ -1923,12 +1966,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 +2053,14 @@
                    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"
                        v-model="scope.row.hospitalno"
                        style="width: 100%"
                      />
                    </template>
@@ -2059,8 +2103,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 +2237,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 +2345,7 @@
            >
              <el-table-column
                prop="annexname"
              align="center"
                align="center"
                :show-overflow-tooltip="true"
                label="名称"
              >
@@ -2310,7 +2358,7 @@
              <el-table-column
                prop="name"
              align="center"
                align="center"
                :show-overflow-tooltip="true"
                label="功能"
              >
@@ -2321,7 +2369,6 @@
                    @click.native.prevent.stop="deletedowfile(scope.row)"
                    >删除</el-button
                  >
                </template>
              </el-table-column>
            </el-table>
@@ -2441,12 +2488,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",
@@ -2524,7 +2579,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
      },
@@ -2542,7 +2611,13 @@
      showTerminationBtn: 0, //终止状态 0-未终止 1-已终止
      // 流程数据:donatebaseinfo[createtime,updatetime]、medicalevaluation、relativesconfirmation、donateflowcharts、donateorgansService、donationwitness、donatecompletioninfo
      Processdata: {},
      donatebaseinfo:{},
      medicalevaluation:{},
      relativesconfirmation:{},
      donateflowcharts:{},
      donateorgansService:{},
      donationwitness:{},
      donatecompletioninfo:{},
      //省市区默认值设置,可为空
      searchAddress: {
        sheng: "",
@@ -2672,7 +2747,7 @@
      //报告人列表
      reporters: [],
      //附件列表
      annextype: '1', //附件type
      annextype: "1", //附件type
      annexfilesList: [], //附件展示列
      potentiallist: [], //潜在附件
      medicinelist: [], //医学附件
@@ -2730,15 +2805,26 @@
    Getbasicinformation() {
      // 左侧流程数据
      getDonatebaseinfoflow(this.infoid).then(res => {
        this.Processdata = res.data;
        if (res.code==200) {
          this.Processdata = res.data;
          this.donatebaseinfo=this.Processdata.donatecompletioninfo;
          this.medicalevaluation=this.Processdata.donatecompletioninfo;
          this.relativesconfirmation=this.Processdata.donatecompletioninfo;
          this.donateflowcharts=this.Processdata.donatecompletioninfo;
          this.donateorgansService=this.Processdata.donatecompletioninfo;
          this.donationwitness=this.Processdata.donatecompletioninfo;
          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;
@@ -2859,6 +2945,9 @@
            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 = [];
            for (let i = 0; i < this.procureddata.length; i++) {
@@ -2889,15 +2978,15 @@
        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++) {
@@ -2913,7 +3002,6 @@
          });
        }
        // 获取完成登记信息
        // listnewDonatecompletioninfo(accpre).then(response => {
        listDonatecompletioninfo(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
            this.accomplishform = response.rows[0];
@@ -3018,6 +3106,7 @@
    // 保存二级表按钮
    Savethedetails() {
      console.log(this.actives);
      this.$modal.loading("正在提交,请稍候!");
      if (this.actives == 1) {
        this.medicineform.infoid = this.infoid;
        this.$refs["medicineform"].validate(valid => {
@@ -3025,10 +3114,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();
@@ -3045,10 +3136,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();
@@ -3062,11 +3155,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();
@@ -3098,6 +3193,7 @@
          saveDonateorgan(this.allocateddata).then(res => {
            if (res.code == 200) {
              this.$modal.msgSuccess("器官捐献分配信息保存成功!");
              this.$modal.closeLoading();
            }
          });
          this.Processvalidation();
@@ -3127,10 +3223,12 @@
            if (this.witnessform.id != null) {
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
                this.$modal.closeLoading();
              });
            } else {
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
                this.$modal.closeLoading();
              });
            }
@@ -3152,20 +3250,57 @@
          if (valid) {
            // 保存捐献器官移植信息
            this.transplantdata.infoid = this.infoid;
            console.log(this.form);
            this.transplantdata.forEach(item => {
              listDonorchargeorgan({
                infoid: item.infoid,
                organno: item.organno
              }).then(res => {
                console.log("aaa");
                if (res.rows[0]) {
                  let objfn = res.rows[0];
                  console.log(objfn, "sass");
                  objfn.caseno = item.caseno;
                  objfn.hospitalno = item.hospitalno;
                  objfn.name = item.name;
                  objfn.receiveTime = item.transplanttime;
                  console.log(objfn, "sass");
                  updateDonorchargeorgan(objfn).then(res1 => {});
                } else {
                  addDonorchargeorgan(item).then(res2 => {});
                }
              });
            });
            saveDonatecomporgan(this.transplantdata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
              } else {
                this.$modal.msgSuccess(res.msg);
                return;
              }
            });
console.log(this.accomplishform.id,'完成id');
            console.log(this.accomplishform.id, "完成id");
            // 保存确认信息
            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();
                this.$modal
                  .confirm("案例已完成是否跳转案例费用页面进行费用单保存?")
                  .then(() => {
                    this.$router.push({
                      path: "/finance/donorchargedetail/",
                      query: { id: 0, operation: "add", data: this.form }
                    });
                  })
                  .catch(() => {});
              });
            }
@@ -3358,6 +3493,12 @@
                    this.$modal.msgSuccess(
                      "删除成功,如果需要增加该器官,请重新选择器官!"
                    );
                    listDonorchargeorgan({
                      infoid: this.transplantdata[organIndex].infoid,
                      organno: this.transplantdata[organIndex].organno
                    }).then(res => {
                      delDonorchargeorgan(res.rows[0].id);
                    });
                  }
                );
              })
@@ -3387,7 +3528,8 @@
              id: null,
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: 1
              organstate: 1,
              transplantstate:1,
            });
          }
        } else {
@@ -3427,9 +3569,37 @@
    },
    // 提交归档
    Reportforreview() {
      fileCase({infoId:this.infoid}).then(res=>{
        console.log(res);
      })
      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() {
@@ -3635,7 +3805,6 @@
      this.annexfilesList.splice(indexvalue, 1);
      this.Newconversion(this.annexfilesList, indexvalue, "");
    },
    clearFilter() {
      this.$refs.filterTable.clearFilter();