11
WXL
2023-11-03 7c428310f2ee232db42b37543059b671ab723eda
11
已添加1个文件
已修改5个文件
829 ■■■■■ 文件已修改
dist.7z 补丁 | 查看 | 原始文档 | blame | 历史
package.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/project/organallocation.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donationdetails/index.vue 792 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/applyDetail/index.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist.7z
Binary files differ
package.json
@@ -53,7 +53,7 @@
    "js-cookie": "2.2.1",
    "jsencrypt": "3.0.0-rc.1",
    "lodash": "^4.17.21",
    "moment": "^2.29.3",
    "moment": "^2.29.4",
    "nprogress": "0.2.0",
    "prettier": "^1.8.1",
    "quill": "1.3.7",
src/api/project/organallocation.js
@@ -20,7 +20,7 @@
// 新增器官分配
export function addOrganallocation(data) {
  return request({
    url: '/project/organallocation/add',
    url: '/project/donateorgan/addData',
    method: 'post',
    data: data
  })
src/main.js
@@ -20,6 +20,7 @@
import directive from './directive' //directive
import plugins from './plugins' // plugins
import './assets/icons' // icon
import './permission' // permission control
import { getDicts } from "@/api/system/dict/data";
src/views/project/donationdetails/index.vue
@@ -1067,9 +1067,17 @@
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="其他" prop="organdecisionOther">
                <el-input
                  v-model="affirmform.organdecisionOther"
                  placeholder="请输入其他"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="18">
            <!-- <el-col :span="18">
              <el-form-item align="left" label="捐献决定">
                <el-checkbox-group v-model="affirmform.organdecision">
                  <el-checkbox
@@ -1081,15 +1089,7 @@
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="其他" prop="organdecisionOther">
                <el-input
                  v-model="affirmform.organdecisionOther"
                  placeholder="请输入其他"
                />
              </el-form-item>
            </el-col>
            </el-col> -->
          </el-row>
          <el-row>
            <el-col :span="6">
@@ -1232,7 +1232,7 @@
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存捐献信息</el-button
            >保存伦理信息</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
@@ -1400,7 +1400,7 @@
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存捐献信息</el-button
            >保存器官分配信息</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
@@ -1425,22 +1425,6 @@
          label-width="100px"
          label-position="right"
        >
          <el-row>
            <el-col :span="24">
              <el-form-item align="left" label="捐献决定">
                <el-checkbox-group v-model="witnessform.organdonation">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    :key="dict.value"
                    :label="dict.value"
                    disabled
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item
@@ -1691,84 +1675,6 @@
              </el-form-item>
            </el-col>
          </el-row>
          <el-table :data="tableData" border>
            <el-table-column
              align="center"
              width="80px"
              prop="organname"
              label="器官名称"
            >
            </el-table-column>
            <el-table-column
              align="center"
              width="220px"
              prop="gainhospitalno"
              label="获取组织"
            >
              <template slot-scope="scope">
                <org-selecter
                  ref="gainhosselect"
                  :org-type="'4'"
                  v-model="scope.row.gainhospitalno"
                />
              </template>
            </el-table-column>
            <el-table-column
              align="center"
              width="140px"
              prop="organgetdoct"
              label="获取医师"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.organgetdoct"
                  placeholder="请输入获取医师"
                ></el-input>
              </template>
            </el-table-column>
            <el-table-column
              align="center"
              width="210px"
              prop="organgettime"
              label="获取日期"
            >
              <template slot-scope="scope">
                <el-row>
                  <el-date-picker
                    clearable
                    size="small"
                    style="width: 100%"
                    v-model="scope.row.organgettime"
                    type="datetime"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    placeholder="选择器官获取时间"
                  >
                  </el-date-picker>
                </el-row>
              </template>
            </el-table-column>
            <el-table-column
              label="器官状态"
              align="center"
              prop="organstate"
              width="180"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.organstate"
                  placeholder="请选择器官状态"
                >
                  <el-option
                    v-for="dict in dict.type.sys_organstate"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
          </el-table>
          <el-row>
            <el-col :span="12">
              <el-form-item align="left" label="默哀缅怀仪式">
@@ -1795,9 +1701,7 @@
              </el-form-item></el-col
            >
          </el-row>
          <!-- <el-form-item align="left" label="死亡证明附件路径">
          <fileUpload v-model="witnessform.deathjudgeannex" />
        </el-form-item> -->
          <el-row>
            <el-col :span="8">
              <el-form-item
@@ -1851,7 +1755,7 @@
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存捐献信息</el-button
            >保存见证信息</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
@@ -1891,120 +1795,6 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-form-item label="器官组织">
              <el-checkbox-group
                align="left"
                v-model="accomplishform.donateorganList"
              >
                <el-checkbox
                  v-for="dict in dict.type.sys_Organ"
                  :key="dict.value"
                  :label="dict.value"
                  disabled
                >
                  {{ dict.label }}
                </el-checkbox>
              </el-checkbox-group>
            </el-form-item>
          </el-row>
          <el-row style="margin-bottom: 22px">
            <el-table v-loading="loading" border :data="tableData">
              <el-table-column
                label="器官名称"
                align="center"
                prop="organname"
                width="80"
              />
              <el-table-column
                label="移植医院(接收单位)"
                align="center"
                prop="transplanthospitalno"
                width="240"
              >
                <template slot-scope="scope">
                  <org-selecter
                    ref="transplanthosselect"
                    :org-type="'4'"
                    v-model="scope.row.transplanthospitalno"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="移植负责人"
                align="center"
                prop="transplantdoct"
                width="120"
              >
                <template slot-scope="scope">
                  <el-input
                    v-model="scope.row.transplantdoct"
                    placeholder="请输入负责人"
                  ></el-input>
                </template>
              </el-table-column>
              <el-table-column
                label="移植日期"
                align="center"
                prop="transplanttime"
                width="230"
              >
                <template slot-scope="scope">
                  <el-row>
                    <el-date-picker
                      clearable
                      size="small"
                      style="width: 90%"
                      v-model="scope.row.transplanttime"
                      type="date"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      placeholder="选择器官移植时间"
                    >
                    </el-date-picker>
                  </el-row>
                </template>
              </el-table-column>
              <el-table-column
                prop="abandonreason"
                label="弃用原因"
                align="center"
                width="260"
              >
                <template slot-scope="scope">
                  <el-row>
                    <el-input
                      clearable
                      v-model="scope.row.abandonreason"
                      placeholder="请输入弃用原因"
                    />
                  </el-row>
                </template>
              </el-table-column>
              <el-table-column
                label="器官状态"
                align="center"
                prop="organstate"
                width="130"
              >
                <template slot-scope="scope">
                  <el-select
                    v-model="scope.row.organstate"
                    placeholder="请选择器官状态"
                    value-key="value"
                    @change="selectOrganstate(scope.row)"
                  >
                    <el-option
                      v-for="dict in dict.type.sys_organstate"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </template>
              </el-table-column>
            </el-table>
          </el-row>
          <el-row>
@@ -2086,7 +1876,7 @@
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存捐献者信息</el-button
            >完成登记</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
@@ -2131,7 +1921,7 @@
              size="mini"
              class="upload-demo"
              :action="uploadFileUrl"
              :file-list="invoicefileList"
              :file-list="fileList"
              :show-file-list="false"
              multiple
              drag
@@ -2160,19 +1950,19 @@
              </div>
            </el-upload>
            <el-table
              :data="invoicefileListto"
              :data="fileListto"
              @row-click="downFile"
              style="width: 100%"
              height="400"
            >
              <el-table-column
                prop="name"
                prop="annexname"
                :show-overflow-tooltip="true"
                label="名称"
              >
                <template slot-scope="scope">
                  <i style="color:#409EFF" class=" el-icon-s-order" />{{
                    scope.row.name
                    scope.row.annexname
                  }}
                </template>
              </el-table-column>
@@ -2202,19 +1992,13 @@
          </div>
        </div>
        <div
          v-if="this.previewpdf && invoicepdfimgsrcList.length"
          class="pdfimgmin"
        >
        <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin">
          <!-- <img :src="pdfimg" /> -->
          <el-image
            style="width: 95%; height: 90%"
            :src="invoicepdfimg"
            :preview-src-list="invoicepdfimgsrcList"
            :src="pdfimg"
            :preview-src-list="pdfimgsrcList"
          >
            <!-- <div slot="error" class="image-slot">
              <i class="el-icon-picture-outline"></i>
            </div> -->
          </el-image>
        </div>
        <div v-else class="pdfimgmins">{{ hintitle }}</div>
@@ -2229,6 +2013,15 @@
  listDonateannex,
  Modifydonationattachment
} from "@/api/project/donateannex";
import { listReportname } from "@/api/project/organization";
import {
  getDonatecompletioninfo,
  listnewDonatecompletioninfo,
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecompletioninfo,
  downloadcompletioninfo
} from "@/api/project/donatecompletioninfo";
import {
  getDonatebaseinfo,
  addDonatebaseinfo,
@@ -2257,6 +2050,12 @@
  updateDonateorgan
} from "@/api/project/donateorgan";
import {
  addDonationwitness,
  updateDonationwitness,
  getDonationwitness,
  getByInfoId
} from "@/api/project/donationwitness";
import {
  listRelativesconfirmation,
  getRelativesconfirmation,
  addRelativesconfirmation,
@@ -2267,6 +2066,7 @@
import AnnexUpload from "@/views/project/components/annexupload";
import ReportName from "@/views/project/components/organizationUser";
import { getToken } from "@/utils/auth";
import { formatDate } from "@/utils/index";
export default {
  name: "donationdetails",
@@ -2303,19 +2103,30 @@
  ],
  data() {
    return {
      infoid: 734,
      infoid: 736,
      form: {},
      medicineform: {},
      medicineform: {
        infoid: null
      },
      affirmform: {
        infoid: null,
        organdecision: []
      },
      ethicform: {},
      allocationform: {},
      witnessform: {},
      accomplishform: {},
      ethicform: {
        infoid: null
      },
      allocationform: [],
      witnessform: {
        infoid: null
      },
      accomplishform: {
        infoid: null
      },
      tableData: [],
      coordinatorlist1: [],
      leaderlist: [],
      actives: 0, //进程
      workflow:0,
      workflow: 0,
      loading: false,
      //   保存、终止按钮确认
      showSaveBtn: true,
@@ -2428,7 +2239,8 @@
      witnessrules: {},
      accomplishrules: {},
      //附件列表
      donatelist: [], //附件总组
      annexfilesList: [], //附件展示列
      potentiallist: [], //潜在附件
      medicinelist: [], //医学附件
      affirmlist: [], //确认附件
@@ -2436,12 +2248,6 @@
      registerlist: [], //完成附件
      fileList: [],
      fileListto: [],
      invoicefileList: [],
      invoicefileListto: [],
      invoicepdfimg: "",
      invoicepdfimgsrcList: [],
      invoDatatop: [],
      activeName: 1, //文件类型
      //上传附件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      //文件上传token
@@ -2476,12 +2282,20 @@
        this.Processdata = res.data;
      });
      //获取协调员列
      listReportname("xty1").then(res => {
        this.coordinatorlist1 = res.data;
      });
      //获取负责人列
      listReportname("fzr").then(res => {
        this.leaderlist = res.data;
      });
      // 表单数据
      getDonatebaseinfo(this.infoid).then(response => {
        this.form = response.data;
        this.showTerminationBtn = response.data.terminationCase;
        this.actives = response.data.workflow;
        this.workflow=response.data.workflow;
        this.workflow = response.data.workflow;
        response.data.sex = parseInt(response.data.sex);
        this.form.id = response.data.id;
        this.form.diseasetype = this.form.diseasetype.split(",");
@@ -2507,8 +2321,9 @@
        infoid: this.form.id
      };
      if (this.actives == 1) {
        this.annexfilesList = this.medicinelist;
        listMedicalevaluation(searchParam).then(response => {
          if (response.code == 200) {
          if (response.code == 200 && response.rows[0]) {
            this.medicineform = response.rows[0];
          } else {
            this.$modal.msgError(
@@ -2517,8 +2332,9 @@
          }
        });
      } else if (this.actives == 2) {
        this.annexfilesList = this.affirmlist;
        listRelativesconfirmation(searchParam).then(response => {
          if (response.code == 200) {
          if (response.code == 200 && response.rows[0]) {
            this.affirmform = response.rows[0];
            if (!this.affirmform) {
              this.affirmform = {};
@@ -2544,6 +2360,8 @@
          }
        });
      } else if (this.actives == 3) {
        this.annexfilesList = this.ethiclist;
        listDonateflowchart(searchParam).then(response => {
          if (response.code == 200 && response.rows.length == 1) {
            this.ethicform = response.rows[0];
@@ -2554,8 +2372,10 @@
      } else if (this.actives == 4) {
        listDonateorgan(searchParam).then(response => {
          if (response.code == 200) {
            this.allocationform = response.rows;
            this.allocationform.infoid = this.form.id;
            if (response.rows[0]) {
              this.allocationform = response.rows;
              // this.allocationform[0].infoid = this.form.id;
            }
            this.organalForm.organname = [];
            for (let i = 0; i < response.rows.length; i++) {
              this.organalForm.organname.push(response.rows[i].organno);
@@ -2567,65 +2387,37 @@
          }
        });
      } else if (this.actives == 5) {
        listMedicalevaluation(searchParam).then(response => {
        getByInfoId(searchParam.infoid).then(response => {
          if (response.code == 200) {
            this.witnessform = response.rows[0];
            this.witnessform.infoid = this.form.id;
            if (response.data) {
              this.witnessform = response.data;
              this.witnessform.infoid = this.form.id;
            }
          } else {
            this.$modal.msgError(
              "获取医学评估记录失败:" + JSON.stringify(response)
              "获取见证信息拿取失败:" + JSON.stringify(response)
            );
          }
        });
      } else if (this.actives == 6) {
        listMedicalevaluation(searchParam).then(response => {
          if (response.code == 200) {
        this.annexfilesList = this.registerlist;
        let accpre = {
          id: searchParam.infoid
        };
        listnewDonatecompletioninfo(accpre).then(response => {
          if (response.code == 200 && response.rows.length) {
            this.accomplishform = response.rows[0];
            this.accomplishform.infoid = this.form.id;
            this.open = true;
          } else {
            this.$modal.msgError(
              "获取医学评估记录失败:" + JSON.stringify(response)
            );
            this.$modal.msgError("完成登记失败:" + JSON.stringify(response));
          }
        });
      } else if (this.actives == 0) {
        this.annexfilesList = this.registerlist;
      }
    },
    // 获取附件数据并分类二级列
    listDonateannex() {
      let parmi = {};
      parmi.infoid = this.infoid.toString();
      listDonateannex(parmi).then(res => {
        this.donatelist = res.rows;
      });
// 测试数据
      const arr = [
        { type: "type1", name: "saaada" },
        { type: "type2", name: "ssssda" },
        { type: "type3", name: "sdddda" },
        { type: "type4", name: "sdddda" },
        { type: "type5", name: "sdddda" }
      ];
      const groupedArr = arr.reduce((accumulator, currentValue) => {
        const key = currentValue.type;
        if (key == "type1") {
          this.potentiallist.push(currentValue);
        } else if (key == "type2") {
          this.medicinelist.push(currentValue);
        } else if (key == "type3") {
          this.affirmlist.push(currentValue);
        } else if (key == "type4") {
          this.ethiclist.push(currentValue);
        } else if (key == "type5") {
          this.registerlist.push(currentValue);
        }
        return accumulator;
      }, {});
      console.log(this.potentiallist);
      console.log(this.medicinelist);
    },
    /** 保存主表按钮 */
    submitForm() {
      this.$refs["form"].validate(valid => {
        console.log("提交的数据们:", this.form);
@@ -2680,7 +2472,7 @@
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              this.Getbasicinformation();
              this.GetAttacheddata();
              this.Processvalidation();
              this.open = false;
            });
          } else {
@@ -2690,7 +2482,7 @@
              if (response.code == 200) {
                this.$modal.msgSuccess("新增成功");
                this.Getbasicinformation();
                this.GetAttacheddata();
                this.Processvalidation();
                this.open = false;
              } else {
                this.$modal.msgError("新增失败:" + response.msg);
@@ -2702,13 +2494,15 @@
    },
    // 保存二级表按钮
    Savethedetails() {
      console.log(this.actives);
      if (this.actives == 1) {
        this.Processvalidation();
        this.medicineform.infoid = this.form.id;
        this.$refs["medicineform"].validate(valid => {
          if (valid) {
            if (this.medicineform.id != null) {
              updateMedicalevaluation(this.medicineform).then(response => {});
              updateMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("医学评估信息修改成功");
              });
            } else {
              addMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("医学评估信息新增成功");
@@ -2718,12 +2512,16 @@
          }
        });
      } else if (this.actives == 2) {
        this.Processvalidation();
        this.affirmform.infoid = this.form.id;
        this.$refs["affirmform"].validate(valid => {
          if (valid) {
            if (this.affirmform.id != null) {
              updateRelativesconfirmation(this.affirmform).then(response => {});
              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("捐献确认信息修改成功");
              });
            } else {
              addRelativesconfirmation(this.affirmform).then(response => {
                this.$modal.msgSuccess("捐献确认信息新增成功");
@@ -2733,12 +2531,13 @@
          }
        });
      } else if (this.actives == 3) {
        this.Processvalidation();
        this.ethicform.infoid = this.form.id;
        this.$refs["ethicform"].validate(valid => {
          if (valid) {
            if (this.ethicform.id != null) {
              updateDonateflowchart(this.ethicform).then(response => {});
              updateDonateflowchart(this.ethicform).then(response => {
                this.$modal.msgSuccess("伦理审查信息修改成功");
              });
            } else {
              addDonateflowchart(this.ethicform).then(response => {
                this.$modal.msgSuccess("伦理审查信息新增成功");
@@ -2748,82 +2547,77 @@
          }
        });
      } else if (this.actives == 4) {
        this.Processvalidation();
        this.allocationform.infoid = this.form.id;
        this.$refs["allocationform"].validate(valid => {
          if (valid) {
            if (this.allocationform[0].id != null) {
              updateOrganallocation(this.allocationform).then(response => {
                this.$modal.msgSuccess("修改成功");
              });
            } else {
              addOrganallocation(this.allocationform).then(response => {
                this.$modal.msgSuccess("新增成功");
            let arrallo = [];
            this.allocationform.map(item => {
              if (item.id) {
                console.log(formatDate(item.applicanttime));
                item.applicanttime = formatDate(item.applicanttime);
                updateDonateorgan(item).then(response => {});
              } else {
                arrallo.push(item);
              }
            });
            if (arrallo.length) {
              addOrganallocation(arrallo).then(response => {
                this.$modal.msgSuccess("器官捐献信息新增成功");
              });
            }
            this.submitForm();
          }
        });
      } else if (this.actives == 5) {
        this.Processvalidation();
        this.witnessform.infoid = this.form.id;
        this.$refs["witnessform"].validate(valid => {
          let coordinatedusernameIndex = this.coordinatorlist1.findIndex(
            item => this.witnessform.coordinateduserido == item.reportNo
          );
          if (coordinatedusernameIndex > -1) {
            this.witnessform.coordinatedusernameo = this.coordinatorlist1[
              coordinatedusernameIndex
            ].reportName;
          }
          //协调员2
          let coordinatedusernametIndex = this.coordinatorlist1.findIndex(
            item => this.witnessform.coordinateduseridt == item.reportNo
          );
          if (coordinatedusernametIndex > -1) {
            this.witnessform.coordinatedusernamet = this.coordinatorlist1[
              coordinatedusernametIndex
            ].reportName;
          }
          console.log("juanxian");
          if (valid) {
            console.log("juanxian");
            if (this.witnessform.id != null) {
              // 获取捐献器官列表
              listDonateorgan(oraganqueryParam).then(response => {
                this.loading = false;
                if (response.code == 200) {
                  this.organdonation = [];
                  this.tableData = response.rows;
                  //获取医院默认是移植医院
                  for (let i = 0; i < this.tableData.length; i++) {
                    if (
                      this.tableData[i].gainhospitalname == null ||
                      this.tableData[i].gainhospitalname == ""
                    ) {
                      this.tableData[i].gainhospitalname = this.tableData[
                        i
                      ].transplanthospitalname;
                    }
                    if (
                      this.tableData[i].gainhospitalno == null ||
                      this.tableData[i].gainhospitalno == ""
                    ) {
                      this.tableData[i].gainhospitalno = this.tableData[
                        i
                      ].transplanthospitalno;
                    }
                  }
                  //this.organalForm.organname = [];
                  for (let i = 0; i < response.rows.length; i++) {
                    this.form.organdonation.push(response.rows[i].organno);
                  }
                } else {
                  this.$modal.msgError("获取捐献器官失败:" + response.msg);
                }
              console.log(456);
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
              });
              // 获取信息
            } else {
              addMedicalevaluation(this.witnessform).then(response => {
                this.$modal.msgSuccess("新增成功");
              console.log(123);
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
              });
            }
            this.submitForm();
          }
        });
      } else if (this.actives == 6) {
        this.Processvalidation();
        this.accomplishform.infoid = this.form.id;
        this.$refs["accomplishform"].validate(valid => {
          if (valid) {
            if (this.accomplishform.id != null) {
              updateMedicalevaluation(this.accomplishform).then(response => {
                this.$modal.msgSuccess("修改成功");
            if (this.accomplishform.id) {
              console.log(this.accomplishform);
              updateDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记信息修改成功");
              });
            } else {
              addMedicalevaluation(this.accomplishform).then(response => {
                this.$modal.msgSuccess("新增成功");
              addDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记成功");
              });
            }
            this.submitForm();
@@ -2837,7 +2631,7 @@
      // if (e != "" || e != null) {
      this.actives = e;
      // }
      this.GetAttacheddata();
      this.Processvalidation();
    },
    // 器官分配栏目控制
    changeorganState(value) {
@@ -2858,6 +2652,8 @@
            organname: temporganname,
            organno: value,
            id: null,
            infoid: this.form.id,
            donorno: this.form.donorno,
            transplanthospitalname: null,
            transplanthospitalno: null,
            organstate: "2"
@@ -2909,7 +2705,9 @@
      console.log(this.actives);
      if (this.form.workflow == this.actives) {
        this.form.workflow++;
        this.GetAttacheddata();
      } else if (this.form.workflow > this.actives) {
        this.GetAttacheddata();
      } else {
        this.$modal.msgWarning("请先完成前部步骤");
        return;
@@ -2939,206 +2737,158 @@
        this.Networkheader = string.slice(0, index + 4); // 截取8032及其前部字符
      }
    },
    // 获取附件数据并分类二级列
    listDonateannex() {
      let parmi = {};
      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
      const index = this.donatelist.indexOf(delvalue);
      if (index !== -1) {
        if (delvalue.id) {
          this.donatelist[index].delFlag = 1;
        } else {
          this.donatelist.splice(index, 1);
        }
      } else {
        console.log("查询不到可能是新数据无id");
      }
      // 新增时修改主列
      if (addvalue.annexurl) {
        this.donatelist.push(addvalue);
      }
    },
    //文件上传
    handleUploadError() {},
    remove(file, fileList) {
      const rbDetails = [...this.rbDetails];
      if (this.activeName == 1) {
        this.fileListto.splice(this.fileListto.indexOf(file), 1);
        rbDetails[this.atpresent].annexfilesList = this.fileListto;
      } else {
        this.invoicefileListto.splice(this.invoicefileListto.indexOf(file), 1);
        rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto;
      }
      this.fileListto.splice(this.fileListto.indexOf(file), 1);
      this.annexfilesList = this.fileListto;
    },
    // 上传成功
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      //获取票据信息位置
      if (this.activeName == 1) {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          this.$modal.msgSuccess(response.msg);
          this.fileListto.push({
            name: file.name,
            url: response.fileName
          });
          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.rbDetails[this.atpresent].annexfilesList = this.fileListto;
        } else {
          console.log(response.msg);
        }
      if (response.code == 200) {
        // this.form.filename = file.raw.name;
        this.previewpdf = true;
        this.$modal.msgSuccess(response.msg);
        this.fileListto.push({
          annexname: file.name,
          annexurl: response.fileName
        });
        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;
      } else {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          this.$modal.msgSuccess(response.msg);
          this.invoicefileListto.push({
            name: file.name,
            url: response.fileName
          });
          this.invoicepdfimgsrcList.push(
            this.Networkheader + "/prod-api" + response.fileName
          );
          console.log(this.invoicepdfimgsrcList);
          this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项";
          this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
          this.rbDetails[
            this.atpresent
          ].invoicefilesList = this.invoicefileListto;
          console.log(this.rbDetails[this.atpresent]);
        } else {
          console.log(response.msg);
        }
        console.log(response.msg);
      }
    },
    // 点击票据
    Filepopup(index, rows, row) {
      this.activeName = this.actives + 1;
      console.log(this.activeName);
      this.pdfimgsrcList = [];
      this.invoicepdfimgsrcList = [];
      this.atpresent = index;
      this.pdfVisible = true;
      console.log(this.rbDetails[index]);
      if (this.rbDetails[index].annexfilesList) {
      if (this.annexfilesList.length) {
        this.previewpdf = true;
        this.fileListto = this.rbDetails[index].annexfilesList;
        this.fileListto = this.annexfilesList;
        console.log(this.fileListto);
        this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
        this.pdfimg =
          this.Networkheader + "/prod-api" + this.fileListto[0].annexurl;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
          this.pdfimgsrcList.push(
            this.Networkheader + "/prod-api" + item.annexurl
          );
        });
      } else {
        this.fileListto = [];
        this.pdfimg = "";
        this.pdftitle = "";
      }
      // -发票文件
      if (this.rbDetails[index].invoicefilesList) {
        this.previewpdf = true;
        this.invoicefileListto = this.rbDetails[index].invoicefilesList;
        console.log(this.invoicefileListto);
        this.invoicepdfimg =
          this.Networkheader + "/prod-api" + this.invoicefileListto[0].url;
        this.invoicefileListto.forEach(item => {
          this.invoicepdfimgsrcList.push(
            this.Networkheader + "/prod-api" + item.url
          );
        });
        console.log(this.invoicepdfimgsrcList);
        console.log(this.invoicepdfimg);
      } else {
        this.invoicefileListto = [];
        this.invoicepdfimg = "";
        this.pdftitle = "";
      }
      if (this.activeName == 1) {
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
      } else {
        this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项";
      }
      this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
    },
    // 点击已上传文件
    downFile(item) {
      if (this.activeName == 1) {
        console.log(item, "点击文件拿item");
        this.pdftitle =
          "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
        let name = item.name.split(".");
        if (name[1] == "pdf") {
          this.$modal.msgWarning("当前文件暂不支持预览");
          this.previewpdf = false;
          this.hintitle = "当前文件暂不支持预览";
        } else if (name[1] == "jpg" || "png") {
          this.previewpdf = true;
          if (item.url) {
            this.pdfimg = this.Networkheader + "/prod-api" + item.url;
          } else {
            this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
          }
      console.log(item, "点击文件拿item");
      this.pdftitle =
        "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
      let name = item.name.split(".");
      if (name[1] == "pdf") {
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
        this.hintitle = "当前文件暂不支持预览";
      } else if (name[1] == "jpg" || "png") {
        this.previewpdf = true;
        if (item.annexurl) {
          this.pdfimg = this.Networkheader + "/prod-api" + item.annexurl;
        } else {
          this.hintitle = "当前文件暂不支持预览";
          this.$modal.msgWarning("当前文件暂不支持预览");
          this.previewpdf = false;
          this.pdfimg =
            this.Networkheader + "/prod-api" + item.response.annexurl;
        }
      } else {
        console.log(item, "点击文件拿item");
        this.pdftitle =
          "共" + this.invoicepdfimgsrcList.length + "项,当前选中" + item.name;
        let name = item.name.split(".");
        if (name[1] == "pdf") {
          this.$modal.msgWarning("当前文件暂不支持预览");
          this.previewpdf = false;
          this.hintitle = "当前文件暂不支持预览";
        } else if (name[1] == "jpg" || "png") {
          this.previewpdf = true;
          if (item.url) {
            this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url;
            console.log(this.invoicepdfimg, "pdfimg");
            console.log(this.invoicepdfimgsrcList, "imglist");
          } else {
            this.invoicepdfimg =
              this.Networkheader + "/prod-api" + item.response.url;
          }
        } else {
          this.hintitle = "当前文件暂不支持预览";
          this.$modal.msgWarning("当前文件暂不支持预览");
          this.previewpdf = false;
        }
        this.hintitle = "当前文件暂不支持预览";
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
      }
    },
    // 查询索引封装
    getIndexInArray(arr, obj) {
      return arr.indexOf(obj);
    },
    // 发票切换
    handleClick(tab, event) {
      if (this.activeName == 1) {
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
      } else {
        this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项";
      }
    },
    // 点击删除
    deletedowfile(row) {
      if (this.activeName == 1) {
        const indexlist = this.getIndexInArray(
          this.pdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
        );
        this.pdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.fileListto, row);
        this.fileListto.splice(index, 1);
      } else {
        const indexlist = this.getIndexInArray(
          this.invoicepdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
        );
        this.invoicepdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.invoicefileListto, row);
        this.invoicefileListto.splice(index, 1);
      }
      const indexlist = this.getIndexInArray(
        this.pdfimgsrcList,
        this.Networkheader + "/prod-api" + row.annexurl
      );
      this.pdfimgsrcList.splice(indexlist, 1);
      const index = this.getIndexInArray(this.fileListto, row);
      this.fileListto.splice(index, 1);
    },
    // 点击上移
    moveupdowfile(row) {
      if (this.activeName == 1) {
        const index = this.getIndexInArray(this.fileListto, row);
        const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
        this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
      } else {
        const index = this.getIndexInArray(this.invoicefileListto, row);
        const item = this.invoicefileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
        this.invoicefileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
      }
      const index = this.getIndexInArray(this.fileListto, row);
      const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
      this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
    },
    // 保存
    saveattachment(stype) {}
src/views/project/fund/applyDetail/index.vue
@@ -150,7 +150,7 @@
            <div
              style="margin-bottom: 15px;"
              v-if="
                userprofile.nickName == '陈慕华' && operationType == 'check'
                userprofile.nickName == '陈慕华'
              "
            >
              <el-button
@@ -2887,20 +2887,22 @@
          );
          sessionStorage.setItem("apiform", JSON.stringify(this.form));
          // this.$router.go(0);
          this.$router.push({
            path: "/finance/applyDetail/",
            query: {
              id: this.curId,
              businessType: this.businessType,
              operationType: this.operationType,
              curCase: this.curCase
            }
          });
        } else {
          // this.$message({
          //   type: "error",
          //   message: "申请失败"
          // this.$router.push({
          //   path: "/finance/applyDetail/",
          //   query: {
          //     id: this.curId,
          //     businessType: this.businessType,
          //     operationType: this.operationType,
          //     curCase: this.curCase
          //   }
          // });
          this.$modal.msgSuccess("计算成功");
          this.handleCheck()
        } else {
          this.$message({
            type: "error",
            message: "计算错误"
          });
        }
      });
    },
@@ -3188,6 +3190,8 @@
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      //获取票据信息位置
      console.log(response);
      console.log(file);
      if (this.activeName == 1) {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;