11
WXL
2024-01-24 6301694e7740760917474044a729ffb6d4e39192
11
已添加1个文件
已修改22个文件
7704 ■■■■ 文件已修改
src/utils/request.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donatebaseinfo/index.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donateconsolationfund/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donatefinish/index.vue 561 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donationdetails/index copy 2.vue 3791 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donationdetails/index.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donationwitness/index.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/applyDetail/index.vue 226 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/ethicalExpertFeeApply/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/expertFeeApply/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/officeExpenseApply/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/performanceApply/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/performancedetails/index.vue 194 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/expertFeeCheck/index.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/medicalCostCheck/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/officeExpenseCheck/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/performanceCheck/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundstatistics/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/relativesconfirmation/index.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/travelexpenseapply/index.vue 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/travelexpenseapply/travelexpensedetail/index.vue 1210 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/travelexpensecheck/index.vue 985 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js
@@ -17,7 +17,8 @@
// request拦截器
service.interceptors.request.use(config => {
  // æ˜¯å¦éœ€è¦è®¾ç½® token
  const isToken = (config.headers || {}).isToken === false
  // const isToken = (config.headers || {}).isToken === false
  const isToken = false;
  const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
  if (getToken() && !isToken) {
src/views/project/donatebaseinfo/index.vue
@@ -1434,18 +1434,36 @@
    handledownload(row) {
      const id = row.id || this.ids;
      downloadbaseinfo(id).then(response => {
        var fileUrl = response;
      downloadbaseinfo(id).then(res => {
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        aEle.click();
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
      });
    }
  }
src/views/project/donateconsolationfund/index.vue
@@ -955,22 +955,35 @@
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then((res) => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success",
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/donatefinish/index.vue
@@ -1,24 +1,47 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="70px">
    <el-form
      :model="queryParams"
      ref="queryForm"
      :inline="true"
      v-show="showSearch"
      label-width="70px"
    >
      <el-row :gutter="8">
        <el-col :span="6">
          <el-form-item label="姓名" prop="name">
            <el-input v-model="queryParams.name" placeholder="请输入姓名" clearable size="small"
              @keyup.enter.native="handleQuery" />
            <el-input
              v-model="queryParams.name"
              placeholder="请输入姓名"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item align="left" label="医疗机构" prop="treatmenthospitalno">
            <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.treatmenthospitalno" />
          <el-form-item
            align="left"
            label="医疗机构"
            prop="treatmenthospitalno"
          >
            <org-selecter
              ref="orgSelecter"
              :org-type="'3'"
              v-model="form.treatmenthospitalno"
            />
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="捐献地市">
            <el-select v-model="queryParams.city" placeholder="请选择地市">
              <el-option v-for="item in provinceData" :key="item.value" :label="item.label" :value="item.value">
              <el-option
                v-for="item in provinceData"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
@@ -26,9 +49,18 @@
        <el-col :span="6">
          <el-form-item label="捐献进度" prop="recordstate">
            <el-select v-model="queryParams.recordstate" placeholder="请选择记录状态" clearable size="small">
              <el-option v-for="dict in dict.type.sys_DonationStatus" :key="dict.value" :label="dict.label"
                :value="dict.value" />
            <el-select
              v-model="queryParams.recordstate"
              placeholder="请选择记录状态"
              clearable
              size="small"
            >
              <el-option
                v-for="dict in dict.type.sys_DonationStatus"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
@@ -36,8 +68,16 @@
      <el-row :gutter="8">
        <el-col :span="6">
          <el-form-item label="报告人">
            <el-select v-model="queryParams.reporterno" placeholder="请选择报告人">
              <el-option v-for="item in reportlist" :key="item.index" :label="item.reportername" :value="item.reporterno">
            <el-select
              v-model="queryParams.reporterno"
              placeholder="请选择报告人"
            >
              <el-option
                v-for="item in reportlist"
                :key="item.index"
                :label="item.reportername"
                :value="item.reporterno"
              >
              </el-option>
            </el-select>
          </el-form-item>
@@ -45,19 +85,34 @@
        <el-col :span="12">
          <el-form-item label="报告日期">
            <el-date-picker style="width: 100%" v-model="selecttime" type="monthrange" range-separator="至"
              start-placeholder="开始月份" end-placeholder="结束月份" value-format="yyyy-MM-dd" @change="getTimeList">
            <el-date-picker
              style="width: 100%"
              v-model="selecttime"
              type="monthrange"
              range-separator="至"
              start-placeholder="开始月份"
              end-placeholder="结束月份"
              value-format="yyyy-MM-dd"
              @change="getTimeList"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-col>
      </el-row>
      <!-- <el-row>
        <el-col :span="14">
@@ -75,9 +130,18 @@
      </el-row> -->
    </el-form>
    <el-table v-loading="loading" border :default-sort="{ prop: 'completetime', order: 'descending' }"
      :data="donatebaseinfoList">
      <el-table-column label="案例时间" align="center" prop="donatetime" width="120">
    <el-table
      v-loading="loading"
      border
      :default-sort="{ prop: 'completetime', order: 'descending' }"
      :data="donatebaseinfoList"
    >
      <el-table-column
        label="案例时间"
        align="center"
        prop="donatetime"
        width="120"
      >
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
        </template>
@@ -85,26 +149,52 @@
      <el-table-column label="姓名" align="center" prop="name" width="100" />
      <el-table-column label="性别" align="center" prop="sex" width="100">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_user_sex" :value="parseInt(scope.row.sex)" />
          <dict-tag
            :options="dict.type.sys_user_sex"
            :value="parseInt(scope.row.sex)"
          />
        </template>
      </el-table-column>
      <el-table-column label="年龄" align="center" prop="age" width="100" />
      <el-table-column label="医疗机构" align="center" prop="treatmenthospitalname" />
      <el-table-column label="完成时间" align="center" prop="completetime" width="200">
      <el-table-column
        label="医疗机构"
        align="center"
        prop="treatmenthospitalname"
      />
      <el-table-column
        label="完成时间"
        align="center"
        prop="completetime"
        width="200"
      >
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.createtime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <!-- <el-table-column label="身份证号" prop="idcardno" width="180" /> -->
      <el-table-column label="报告人" align="center" prop="reportername" width="100" />
      <el-table-column
        label="报告人"
        align="center"
        prop="reportername"
        width="100"
      />
      <el-table-column label="捐献进度" align="center" prop="recordstate">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_DonationStatus" :value="scope.row.recordstate" />
          <dict-tag
            :options="dict.type.sys_DonationStatus"
            :value="scope.row.recordstate"
          />
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" fixed="right">
      <el-table-column
        label="操作"
        align="center"
        class-name="small-padding fixed-width"
        width="200"
        fixed="right"
      >
        <template slot-scope="scope">
          <!-- <el-button
            size="mini"
@@ -113,42 +203,93 @@
            @click="updatedonorno(scope.row)"
            >更新编号</el-button
          > -->
          <el-button v-if="scope.row.dcid == undefined" size="mini" type="text" icon="el-icon-edit"
            @click="handleAdd(scope.row)">登记</el-button>
          <el-button
            v-if="scope.row.dcid == undefined"
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleAdd(scope.row)"
            >登记</el-button
          >
          <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)"
            v-hasPermi="['project:donatebaseinfo:edit']">修改</el-button>
          <el-button
            v-if="scope.row.dcid > 0"
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleAdd(scope.row)"
            v-hasPermi="['project:donatebaseinfo:edit']"
            >修改</el-button
          >
          <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-edit"
            @click="handleReport(scope.row)">上报</el-button>
          <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-refrigerator"
            @click="handledownload(scope.row)">下载</el-button>
          <el-button
            v-if="scope.row.dcid > 0"
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleReport(scope.row)"
            >上报</el-button
          >
          <el-button
            v-if="scope.row.dcid > 0"
            size="mini"
            type="text"
            icon="el-icon-refrigerator"
            @click="handledownload(scope.row)"
            >下载</el-button
          >
        </template>
      </el-table-column>
    </el-table>
    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
      @pagination="getList" />
    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- æ·»åŠ æˆ–ä¿®æ”¹æçŒ®å®Œæˆå¯¹è¯æ¡† -->
    <el-dialog :title="title" align="center" :visible.sync="open" width="1100px" :close-on-click-modal="false"
      append-to-body>
    <el-dialog
      :title="title"
      align="center"
      :visible.sync="open"
      width="1100px"
      :close-on-click-modal="false"
      append-to-body
    >
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
          <el-col :span="8">
            <el-form-item label="捐献编号" prop="donorno">
              <el-input disabled v-model="curCase.donorno" placeholder="请输入捐献者编号" />
              <el-input
                disabled
                v-model="curCase.donorno"
                placeholder="请输入捐献者编号"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="姓名" prop="name">
              <el-input disabled v-model="curCase.name" placeholder="请输入捐献者姓名" />
              <el-input
                disabled
                v-model="curCase.name"
                placeholder="请输入捐献者姓名"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="完成时间" prop="completetime">
              <el-date-picker style="width: 167px" clearable size="small" v-model="form.completetime" type="date"
                value-format="yyyy-MM-dd hh:mm:ss" placeholder="选择完成时间">
              <el-date-picker
                style="width: 167px"
                clearable
                size="small"
                v-model="form.completetime"
                type="date"
                value-format="yyyy-MM-dd hh:mm:ss"
                placeholder="选择完成时间"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
@@ -156,7 +297,12 @@
        <el-row>
          <el-form-item label="器官组织">
            <el-checkbox-group align="left" v-model="form.donateorganList">
              <el-checkbox v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.value" disabled>
              <el-checkbox
                v-for="dict in dict.type.sys_Organ"
                :key="dict.value"
                :label="dict.value"
                disabled
              >
                {{ dict.label }}
              </el-checkbox>
            </el-checkbox-group>
@@ -164,40 +310,96 @@
        </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="100" />
            <el-table-column label="移植医院(接收单位)" align="center" prop="transplanthospitalno" width="240">
            <el-table-column
              label="器官名称"
              align="center"
              prop="organname"
              width="100"
            />
            <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" />
                <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">
            <el-table-column
              label="移植负责人"
              align="center"
              prop="transplantdoct"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.transplantdoct" placeholder="请输入负责人"></el-input>
                <el-input
                  v-model="scope.row.transplantdoct"
                  placeholder="请输入负责人"
                ></el-input>
              </template>
            </el-table-column>
            <el-table-column label="移植日期" align="center" prop="transplanttime" width="230">
            <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
                    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">
            <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-input
                    clearable
                    v-model="scope.row.abandonreason"
                    placeholder="请输入弃用原因"
                  />
                </el-row>
              </template>
            </el-table-column>
            <el-table-column label="器官状态" align="center" prop="organstate" width="130">
            <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
                  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>
@@ -208,14 +410,21 @@
          <el-col :span="7">
            <el-form-item align="left" label="遗体捐献" prop="isbodydonation">
              <el-radio-group v-model="form.isbodydonation">
                <el-radio v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="dict.value">{{ dict.label
                }}</el-radio>
                <el-radio
                  v-for="dict in dict.type.sys_0_1"
                  :key="dict.value"
                  :label="dict.value"
                  >{{ dict.label }}</el-radio
                >
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item align="left" label="接收单位" prop="receivingunit">
              <el-input v-model="form.receivingunit" placeholder="请输入接受单位" />
              <el-input
                v-model="form.receivingunit"
                placeholder="请输入接受单位"
              />
            </el-form-item>
          </el-col>
        </el-row>
@@ -224,8 +433,12 @@
          <el-col :span="7">
            <el-form-item label="负责人" prop="responsibleuserid">
              <el-select v-model="form.responsibleuserid" placeholder="请选择">
                <el-option v-for="item in leaderlist" :key="item.reportNo" :label="item.reportName"
                  :value="item.reportNo">
                <el-option
                  v-for="item in leaderlist"
                  :key="item.reportNo"
                  :label="item.reportName"
                  :value="item.reportNo"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -233,8 +446,12 @@
          <el-col :span="7">
            <el-form-item label="协调员一" prop="coordinateduserido">
              <el-select v-model="form.coordinateduserido" placeholder="请选择">
                <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName"
                  :value="item.reportNo">
                <el-option
                  v-for="item in coordinatorlist1"
                  :key="item.reportNo"
                  :label="item.reportName"
                  :value="item.reportNo"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -242,8 +459,12 @@
          <el-col :span="7">
            <el-form-item label="协调员二" prop="coordinateduseridt">
              <el-select v-model="form.coordinateduseridt" placeholder="请选择">
                <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName"
                  :value="item.reportNo">
                <el-option
                  v-for="item in coordinatorlist1"
                  :key="item.reportNo"
                  :label="item.reportName"
                  :value="item.reportNo"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -257,13 +478,20 @@
        </el-row> -->
        <el-row>
          <el-form-item label="附件" align="left" prop="annexfile">
            <annex-upload ref="finishannex" :infoid="curCase.id" :donorno="curCase.donorno" :flowname="flowname"
              :annexno="annexno" />
            <annex-upload
              ref="finishannex"
              :infoid="curCase.id"
              :donorno="curCase.donorno"
              :flowname="flowname"
              :annexno="annexno"
            />
          </el-form-item>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button :disabled="loading" type="primary" @click="submitForm">保 å­˜</el-button>
        <el-button :disabled="loading" type="primary" @click="submitForm"
          >保 å­˜</el-button
        >
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
@@ -274,19 +502,19 @@
import {
  listOrganization,
  listReportname,
  listUser,
  listUser
} from "@/api/project/organization";
import {
  listDonatebaseinfo,
  getDonatebaseinfo,
  addDonatebaseinfo,
  updateDonatebaseinfo,
  updateDonatebaseinfo
  // exportProvincemessage,
} from "@/api/project/donatebaseinfo";
import {
  updatedonatorno,
  updateDonateNumber,
  updateDonateNumber
} from "@/api/project/relativesconfirmation";
import {
  getDonatecompletioninfo,
@@ -294,7 +522,7 @@
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecompletioninfo,
  downloadcompletioninfo,
  downloadcompletioninfo
} from "@/api/project/donatecompletioninfo";
import Li_area_select from "@/components/Address";
@@ -305,14 +533,14 @@
  addDonateorgan,
  delDonateorgan,
  updateDonateorgan,
  getDonateorgan,
  getDonateorgan
} from "@/api/project/donateorgan";
export default {
  components: {
    Li_area_select,
    OrgSelecter,
    AnnexUpload,
    AnnexUpload
  },
  name: "Donatefinish",
  dicts: [
@@ -336,7 +564,7 @@
    "sys_SelfWill",
    "sys_FamilyRelation",
    "sys_Organ",
    "sys_organstate",
    "sys_organstate"
  ],
  data() {
    return {
@@ -360,7 +588,7 @@
        { label: "衢州市", value: "8" },
        { label: "舟山市", value: "9" },
        { label: "台州市", value: "A" },
        { label: "丽水市", value: "B" },
        { label: "丽水市", value: "B" }
      ],
      //省市区
@@ -369,17 +597,17 @@
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null,
        organizationname: null
      },
      residenceAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: "",
        qu: ""
      },
      registerAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: "",
        qu: ""
      },
      //用户表
@@ -427,30 +655,30 @@
        donorno: null,
        reportername: null,
        reporttime: null,
        city: null,
        city: null
      },
      // è¡¨å•参数
      form: {},
      // è¡¨å•校验
      rules: {
        completetime: [
          { required: true, message: "请输入完成时间", trigger: "blur" },
          { required: true, message: "请输入完成时间", trigger: "blur" }
        ],
        coordinatedusernameo: [
          { required: true, message: "请选择协调员一", trigger: "blur" },
          { required: true, message: "请选择协调员一", trigger: "blur" }
        ],
        coordinatedusernamet: [
          { required: true, message: "请选择协调员二", trigger: "blur" },
          { required: true, message: "请选择协调员二", trigger: "blur" }
        ],
        responsibleusername: [
          { required: true, message: "请选择负责人", trigger: "blur" },
        ],
          { required: true, message: "请选择负责人", trigger: "blur" }
        ]
      },
      curCase: {
        donorno: "",
        name: "",
        registerAddresss: "",
        infoid: "",
        infoid: ""
      },
      //器官列表
      // donateorganList: [],
@@ -460,7 +688,7 @@
      //流程名称
      flowname: "捐献完成登记",
      //流程名称-伦理审查
      annexno: "",
      annexno: ""
    };
  },
  created() {
@@ -481,7 +709,7 @@
        this.$moment(this.$route.params.starttime).format("YYYY-MM-DD"),
        this.$moment(this.$route.params.endtime)
          .add(-1, "month")
          .format("YYYY-MM-DD"),
          .format("YYYY-MM-DD")
      ];
    }
    if (this.$route.params.reporterno != "") {
@@ -518,14 +746,14 @@
  },
  methods: {
    LoadReportList() {
      listDonatebaseinfo().then((res) => {
      listDonatebaseinfo().then(res => {
        console.log("潜在捐献表", res);
        let list = res.rows;
        let reportlist = [];
        list.forEach((element) => {
        list.forEach(element => {
          reportlist.push({
            reporterno: element.reporterno,
            reportername: element.reportername,
            reportername: element.reportername
          });
        });
        console.log("dwada", reportlist);
@@ -537,7 +765,7 @@
    },
    resetArr(Arr) {
      var hash = {};
      Arr = Arr.reduce(function (arr, current) {
      Arr = Arr.reduce(function(arr, current) {
        hash[current.reporterno]
          ? ""
          : (hash[current.reporterno] = true && arr.push(current));
@@ -604,7 +832,7 @@
    },
    updatedonorno(row) {
      console.log("row", row);
      updatedonatorno(row.infoid).then((res) => {
      updatedonatorno(row.infoid).then(res => {
        console.log("1221212", res);
        this.getList();
      });
@@ -615,7 +843,7 @@
      if (e.organstate === 99) {
        this.$prompt("请输入启用原因", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          cancelButtonText: "取消"
        })
          .then(({ value }) => {
            console.log("启用原因", value);
@@ -624,7 +852,7 @@
          .catch(() => {
            this.$message({
              type: "info",
              message: "取消",
              message: "取消"
            });
          });
      }
@@ -632,28 +860,28 @@
    //获取用户表
    getuserlist() {
      listUser().then((res) => {
      listUser().then(res => {
        this.users = res.data;
      });
    },
    //获取负责人
    getLeaderList() {
      listReportname("fzr").then((res) => {
      listReportname("fzr").then(res => {
        this.leaderlist = res.data;
      });
    },
    //获取协调员一
    getCoordinatorList1() {
      listReportname("xty1").then((res) => {
      listReportname("xty1").then(res => {
        this.coordinatorlist1 = res.data;
      });
    },
    //获取协调员二
    getCoordinatorList2() {
      listReportname("xty2").then((res) => {
      listReportname("xty2").then(res => {
        this.coordinatorlist2 = res.data;
      });
    },
@@ -718,8 +946,9 @@
      this.loading = true;
      this.queryParams.params = {};
      if (null != this.daterangeReporttime && "" != this.daterangeReporttime) {
        this.queryParams.params["beginReporttime"] =
          this.daterangeReporttime[0];
        this.queryParams.params[
          "beginReporttime"
        ] = this.daterangeReporttime[0];
        this.queryParams.params["endReporttime"] = this.daterangeReporttime[1];
      }
@@ -735,7 +964,7 @@
        // this.queryParams.residenceprovince = this.$refs.areaSelect.getSheng();
        // this.queryParams.residencecity = this.$refs.areaSelect.getShi();
        // this.queryParams.residencetown = this.$refs.areaSelect.getQu();
        listnewDonatecompletioninfo(this.queryParams).then((response) => {
        listnewDonatecompletioninfo(this.queryParams).then(response => {
          this.donatebaseinfoList = response.rows;
          this.total = response.total;
          this.loading = false;
@@ -771,7 +1000,7 @@
        coordinatedusernamet: null,
        assessannex: null,
        donateorgan: "",
        donateorganList: [],
        donateorganList: []
      };
      this.resetForm("form");
    },
@@ -797,7 +1026,7 @@
        reportername: null,
        reporttime: null,
        city: null,
        treatmenthospitalno: null,
        treatmenthospitalno: null
      };
      this.selecttime = [];
      this.getTimeList();
@@ -805,7 +1034,7 @@
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null,
        organizationname: null
      };
      //this.$refs.areaSelect.clean();
@@ -825,7 +1054,7 @@
        path: "/organ/donationdetails/",
        query: {
          id: row.id,
          organType: "edit",
          organType: "edit"
        }
      });
      // this.reset();
@@ -904,15 +1133,15 @@
      //查询
      let searchParam = {
        id: row.id,
        id: row.id
      };
      let oraganqueryParam = {
        infoid: row.id,
        infoid: row.id
        // donorname: this.curCase.name,
        // donorno: this.curCase.donorno,
        // registeraddress: this.curCase.registeraddresss,
      };
      listDonateorgan(oraganqueryParam).then((response) => {
      listDonateorgan(oraganqueryParam).then(response => {
        if (response.code == 200) {
          console.log("2", response);
          this.tableData = response.rows;
@@ -923,7 +1152,7 @@
        //获取器官分配信息
        // this.GetDonortedList();
      });
      listnewDonatecompletioninfo(searchParam).then((response) => {
      listnewDonatecompletioninfo(searchParam).then(response => {
        if (response.code == 200 && response.rows.length == 1) {
          this.open = true;
          this.form = response.rows[0];
@@ -943,7 +1172,7 @@
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.loading = true;
      this.$refs["form"].validate((valid) => {
      this.$refs["form"].validate(valid => {
        if (valid) {
          this.form.donorno = this.curCase.donorno;
          this.form.infoid = this.curCase.id;
@@ -952,33 +1181,36 @@
          //负责人 //leaderlist
          let responsibleuseridIndex = this.leaderlist.findIndex(
            (item) => this.form.responsibleuserid == item.reportNo
            item => this.form.responsibleuserid == item.reportNo
          );
          if (responsibleuseridIndex > -1) {
            this.form.responsibleusername =
              this.leaderlist[responsibleuseridIndex].reportName;
            this.form.responsibleusername = this.leaderlist[
              responsibleuseridIndex
            ].reportName;
          }
          //协调员1
          let coordinatedusernameIndex = this.coordinatorlist1.findIndex(
            (item) => this.form.coordinateduserido == item.reportNo
            item => this.form.coordinateduserido == item.reportNo
          );
          if (coordinatedusernameIndex > -1) {
            this.form.coordinatedusernameo =
              this.coordinatorlist1[coordinatedusernameIndex].reportName;
            this.form.coordinatedusernameo = this.coordinatorlist1[
              coordinatedusernameIndex
            ].reportName;
          }
          //协调员2
          let coordinatedusernametIndex = this.coordinatorlist1.findIndex(
            (item) => this.form.coordinateduseridt == item.reportNo
            item => this.form.coordinateduseridt == item.reportNo
          );
          if (coordinatedusernametIndex > -1) {
            this.form.coordinatedusernamet =
              this.coordinatorlist1[coordinatedusernametIndex].reportName;
            this.form.coordinatedusernamet = this.coordinatorlist1[
              coordinatedusernametIndex
            ].reportName;
          }
          if (this.form.id != null) {
            console.log("更新form", this.form);
            updateDonatecompletioninfo(this.form).then((response) => {
            updateDonatecompletioninfo(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.loading = false;
              this.open = false;
@@ -986,15 +1218,16 @@
              //更新器官表
              for (let k = 0; k < this.tableData.length; k++) {
                try {
                  this.tableData[k].transplanthospitalname =
                    this.$refs.transplanthosselect.getOptionByValue(
                      this.tableData[k].transplanthospitalno
                    ).organizationname;
                  this.tableData[
                    k
                  ].transplanthospitalname = this.$refs.transplanthosselect.getOptionByValue(
                    this.tableData[k].transplanthospitalno
                  ).organizationname;
                } catch {
                  console.log("获取机构名称失败!");
                }
                updateDonateorgan(this.tableData[k]).then((response1) => {
                updateDonateorgan(this.tableData[k]).then(response1 => {
                  if (response1.code == 200) {
                    // this.$modal.msgSuccess("器官记录修改成功");
                  }
@@ -1003,10 +1236,10 @@
              //更新捐献状态
              this.curCase.recordstate = 12;
              getDonatebaseinfo(this.curCase.infoid).then((res) => {
              getDonatebaseinfo(this.curCase.infoid).then(res => {
                let donatebasedata = res.data;
                donatebasedata.recordstate = 12;
                updateDonatebaseinfo(donatebasedata).then((response) => {
                updateDonatebaseinfo(donatebasedata).then(response => {
                  //this.$modal.msgSuccess("审核成功");
                  //this.isShowReviewDialog = false;
                  this.getList();
@@ -1014,22 +1247,23 @@
              });
            });
          } else {
            addDonatecompletioninfo(this.form).then((response) => {
              this.loading = false
            addDonatecompletioninfo(this.form).then(response => {
              this.loading = false;
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              //更新器官表
              for (let k = 0; k < this.tableData.length; k++) {
                try {
                  this.tableData[k].transplanthospitalname =
                    this.$refs.transplanthosselect.getOptionByValue(
                      this.tableData[k].transplanthospitalno
                    ).organizationname;
                  this.tableData[
                    k
                  ].transplanthospitalname = this.$refs.transplanthosselect.getOptionByValue(
                    this.tableData[k].transplanthospitalno
                  ).organizationname;
                } catch {
                  console.log("获取机构名称失败");
                }
                updateDonateorgan(this.tableData[k]).then((response1) => {
                updateDonateorgan(this.tableData[k]).then(response1 => {
                  if (response1.code == 200) {
                    this.$modal.msgSuccess("器官记录修改成功");
                  }
@@ -1038,15 +1272,14 @@
              //更新捐献状态
              this.curCase.recordstate = 12;
              updateDonatebaseinfo(this.curCase).then((response) => {
              updateDonatebaseinfo(this.curCase).then(response => {
                //this.$modal.msgSuccess("审核成功");
                //this.isShowReviewDialog = false;
                this.getList();
              });
            });
          }
        }
        else {
        } else {
          this.loading = false;
        }
      });
@@ -1057,32 +1290,32 @@
      this.$confirm("是否确认将登记记录上报?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          //查找是否存在登记完成记录
          //判断是否存在上报记录
          let searchParam = {
            infoid: row.id,
            infoid: row.id
          };
          console.log("上报参数", searchParam);
          listDonatecompletioninfo(searchParam).then((response) => {
          listDonatecompletioninfo(searchParam).then(response => {
            console.log("上报", response);
            if (response.code == 200 && response.rows.length == 1) {
              row.recordstate = 13;
              row.birthday = this.$moment(row.birthday).format(
                "YYYY-MM-DD HH:mm:ss"
              );
              updateDonatebaseinfo(row).then((response1) => {
              updateDonatebaseinfo(row).then(response1 => {
                this.$message({
                  type: "success",
                  message: "上报成功",
                  message: "上报成功"
                });
              });
            } else {
              this.$message({
                type: "error",
                message: "捐献完成登记记录不存在!",
                message: "捐献完成登记记录不存在!"
              });
            }
            this.loading = false;
@@ -1091,7 +1324,7 @@
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消上报",
            message: "已取消上报"
          });
        });
    },
@@ -1100,18 +1333,36 @@
    handledownload(row) {
      const id = row.id || this.ids;
      console.log("22222", row);
      downloadcompletioninfo(row.dcid).then((response) => {
        var fileUrl = response;
      downloadcompletioninfo(row.dcid).then(res => {
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        aEle.click();
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name = fileUrl["downloadName"];
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
      });
    },
@@ -1119,9 +1370,9 @@
    GetDonortedList(row) {
      this.loading = true;
      let oraganqueryParam = {
        infoid: row.infoid,
        infoid: row.infoid
      };
      listDonateorgan(oraganqueryParam).then((response) => {
      listDonateorgan(oraganqueryParam).then(response => {
        this.loading = false;
        if (response.code == 200) {
          this.form.donateorganList = [];
@@ -1134,7 +1385,7 @@
          // this.$modal.msgError("获取捐献器官失败:" + response.msg);
        }
      });
    },
  },
    }
  }
};
</script>
src/views/project/donationdetails/index copy 2.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3791 @@
<template>
  <div class="particularsdiv">
    <div class="left-course">
      <div class="postfilx">
        <div class="title">工作进程</div>
        <div>
          <el-steps direction="vertical" :active="workflow">
            <el-step title="潜在捐献" icon="el-icon-user">
              <template
                slot="description"
                v-if="Processdata.donatebaseinfo.createtime"
              >
                <p>
                  æäº¤æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donatebaseinfo.createtime)
                  }}</span>
                </p>
                <p>
                  æ›´æ–°æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donatebaseinfo.updatetime)
                  }}</span>
                </p>
              </template>
            </el-step>
            <el-step
              title="医学评估"
              icon="el-icon-edit-outline"
              description="请先完成前部步骤"
            >
              <template
                slot="description"
                v-if="Processdata.medicalevaluation.createtime"
              >
                <p>
                  æäº¤æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.medicalevaluation.createtime)
                  }}</span>
                </p>
                <p>
                  æ›´æ–°æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.medicalevaluation.updatetime)
                  }}</span>
                </p>
              </template>
            </el-step>
            <el-step
              title="捐献确认"
              description="请先完成前部步骤"
              icon="el-icon-folder-checked"
            >
              <template
                slot="description"
                v-if="Processdata.relativesconfirmation.createtime"
              >
                <p>
                  æäº¤æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.relativesconfirmation.createtime)
                  }}</span>
                </p>
                <p>
                  æ›´æ–°æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.relativesconfirmation.updatetime)
                  }}</span>
                </p>
              </template>
            </el-step>
            <el-step
              title="伦理审查"
              description="请先完成前部步骤"
              icon="el-icon-s-order"
            >
              <template
                slot="description"
                v-if="Processdata.donateflowcharts.createtime"
              >
                <p>
                  æäº¤æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donateflowcharts.createtime)
                  }}</span>
                </p>
                <p>
                  æ›´æ–°æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donateflowcharts.updatetime)
                  }}</span>
                </p>
              </template>
            </el-step>
            <el-step
              title="器官分配"
              description="请先完成前部步骤"
              icon="el-icon-s-operation"
            >
              <template
                slot="description"
                v-if="Processdata.donateorgansService.createtime"
              >
                <p>
                  æäº¤æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donateorgansService.createtime)
                  }}</span>
                </p>
                <p>
                  æ›´æ–°æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donateorgansService.updatetime)
                  }}</span>
                </p>
              </template>
            </el-step>
            <el-step
              title="获取见证"
              description="请先完成前部步骤"
              icon="el-icon-s-management"
            >
              <template
                slot="description"
                v-if="Processdata.donationwitness.createtime"
              >
                <p>
                  æäº¤æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donationwitness.createtime)
                  }}</span>
                </p>
                <p>
                  æ›´æ–°æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donationwitness.updatetime)
                  }}</span>
                </p>
              </template>
            </el-step>
            <el-step
              title="完成登记"
              description="请先完成前部步骤"
              icon="el-icon-circle-check"
            >
              <template
                slot="description"
                v-if="Processdata.donatecompletioninfo.createtime"
              >
                <p>
                  æäº¤æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donatecompletioninfo.createtime)
                  }}</span>
                </p>
                <p>
                  æ›´æ–°æ—¶é—´ï¼š<span>{{
                    parseTime(Processdata.donatecompletioninfo.updatetime)
                  }}</span>
                </p>
              </template>
            </el-step>
          </el-steps>
        </div>
      </div>
    </div>
    <!-- å³ä¾§æ•°æ® -->
    <div style="background: #fff; width: 80%;">
      <!-- é¡¶éƒ¨æ•°æ® -->
      <div class="boxdiv">
        <div class="top-text">捐献案例信息</div>
        <el-form
          ref="form"
          :model="form"
          :rules="rules"
          label-width="130px"
          label-position="right"
        >
          <div
            style="
                border-top: 1px solid #ddd;
                padding-right: 60px;
              "
          >
            <el-row style="margin-top: 10px">
              <el-col :span="6">
                <el-form-item label="捐献编号" prop="donorno">
                  <el-input v-model="form.donorno" disabled />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="报告人" prop="reporterno">
                  <el-select
                    ref="getReportname"
                    v-model="form.reporterno"
                    placeholder="请选择"
                  >
                    <el-option
                      v-for="item in reporters"
                      :key="item.reportNo"
                      :label="item.reportName"
                      :value="item.reportNo"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="联系电话" prop="reporterphone">
                  <el-input
                    v-model="form.reporterphone"
                    placeholder="请输入联系电话"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="报告时间" align="left" prop="reporttime">
                  <el-date-picker
                    clearable
                    size="small"
                    v-model="form.reporttime"
                    type="datetime"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    placeholder="选择报告时间"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="6">
                <el-form-item align="left" label="姓名" prop="name">
                  <el-input v-model="form.name" placeholder="必填项" />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="证件类型" prop="idcardtype">
                  <el-select
                    v-model="form.idcardtype"
                    placeholder="请选择证件类型"
                  >
                    <el-option
                      v-for="dict in dict.type.sys_IDType"
                      :key="dict.value"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="证件号码" prop="idcardno">
                  <el-input
                    ref="updateBSvalue"
                    class="sfzcode"
                    v-model="form.idcardno"
                    placeholder="请输入证件号码"
                    @blur="updateMessage"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="出生日期" prop="birthday">
                  <el-date-picker
                    clearable
                    size="small"
                    v-model="form.birthday"
                    type="date"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    placeholder="选择出生日期"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="6">
                <el-form-item label="性别" prop="sex">
                  <el-select v-model="form.sex" placeholder="请输入性别">
                    <el-option
                      v-for="dict in dict.type.sys_user_sex"
                      :key="dict.label"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="年龄" prop="age">
                  <el-input v-model="form.age" placeholder="请输入年龄" />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  align="left"
                  label="医疗机构"
                  prop="treatmenthospitalno"
                >
                  <org-selecter
                    ref="addOrgSelect"
                    :org-type="'3'"
                    v-model="form.treatmenthospitalno"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="科室" prop="treatmentdeptno">
                  <el-input
                    v-model="form.treatmentdeptname"
                    placeholder="请输入科室"
                  />
                </el-form-item>
              </el-col>
            </el-row>
          </div>
        </el-form>
      </div>
      <!-- æµç¨‹tab -->
      <div style="margin: 0 10px; cursor:pointer;">
        <el-steps :active="actives" simple>
          <el-step
            @click.native="on_click(0)"
            title="潜在捐献"
            icon="el-icon-user"
          ></el-step>
          <el-step
            @click.native="on_click(1)"
            title="医学评估"
            icon="el-icon-edit-outline"
          ></el-step>
          <el-step
            @click.native="on_click(2)"
            title="捐献确认"
            icon="el-icon-folder-checked"
          ></el-step>
          <el-step
            @click.native="on_click(3)"
            title="伦理审查"
            icon="el-icon-s-order"
          ></el-step>
          <el-step
            @click.native="on_click(4)"
            title="器官分配"
            icon="el-icon-s-operation"
          ></el-step>
          <el-step
            @click.native="on_click(5)"
            title="获取见证"
            icon="el-icon-s-management"
          ></el-step>
          <el-step
            @click.native="on_click(6)"
            title="完成登记"
            icon="el-icon-circle-check"
          ></el-step>
        </el-steps>
      </div>
      <!-- å‡­è¯æ–‡ä»¶ -->
      <div class="Ticket-button" v-show="actives != 5 && actives != 4">
        <el-button @click.native.prevent="Filepopup" type="success"
          >凭证文件</el-button
        >
      </div>
      <!-- æ½œåœ¨æçŒ® -->
      <div class="boxdiv" style="margin: 30px 0 66px 0;" v-show="actives == 0">
        <el-form
          ref="form"
          :model="form"
          :rules="rules"
          label-width="100px"
          label-position="right"
        >
          <el-row>
            <el-col :span="8">
              <el-form-item label="住院号" prop="inpatientno">
                <el-input v-model="form.inpatientno" placeholder="住院号" />
              </el-form-item>
            </el-col>
            <el-col :span="16">
              <el-form-item label="疾病诊断" prop="diagnosisname">
                <el-input
                  v-model="form.diagnosisname"
                  placeholder="请输入疾病诊断名称"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="民族" prop="nation">
                <el-select v-model="form.nation" placeholder="请选择民族">
                  <el-option
                    v-for="dict in dict.type.sys_nation"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="籍贯" prop="nativeplace">
                <el-input v-model="form.nativeplace" placeholder="请输入国籍" />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="国籍" prop="nationality">
                <el-input v-model="form.nationality" placeholder="请输入国籍" />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="职业" prop="occupation">
                <el-select v-model="form.occupation" placeholder="请选择职业">
                  <el-option
                    v-for="dict in dict.type.sys_occupation"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="学历" prop="education">
                <el-select v-model="form.education" placeholder="请选择学历">
                  <el-option
                    v-for="dict in dict.type.sys_education"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="住址" prop="residenceaddress">
                <div>
                  <li_area_select
                    ref="residenceSelect"
                    v-model="residenceAddresss"
                  ></li_area_select>
                  <!-- <div>{{defultAddress}}</div> -->
                </div>
              </el-form-item>
            </el-col>
            <el-col :span="11" :push="1">
              <el-input
                v-model="form.residenceaddress"
                placeholder="请输入内容"
              />
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="现所在地" prop="registeraddress">
                <div>
                  <li_area_select
                    ref="registerSelect"
                    v-model="registerAddresss"
                  ></li_area_select>
                  <!-- <div>{{defultAddress}}</div> -->
                </div>
              </el-form-item>
            </el-col>
            <el-col :span="11" :push="1">
              <el-input
                v-model="form.registeraddress"
                placeholder="请输入内容"
              />
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item align="left" label="血型" prop="bloodtype">
                <el-radio-group v-model="form.bloodtype">
                  <el-radio
                    v-for="dict in dict.type.sys_BloodType"
                    :key="dict.value"
                    :label="dict.value"
                    >{{ dict.label }}</el-radio
                  >
                </el-radio-group>
              </el-form-item>
            </el-col>
            <el-col :span="12" :pull="1">
              <el-form-item label="Rh(D)" align="left" prop="rhyin">
                <el-radio-group v-model="form.rhyin">
                  <el-radio
                    v-for="dict in dict.type.sys_bloodtype_rhd"
                    :key="dict.value"
                    :label="dict.value"
                    >{{ dict.label }}</el-radio
                  >
                </el-radio-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-form-item label="疾病类型" align="left">
              <el-checkbox-group v-model="form.diseasetype">
                <el-checkbox
                  v-for="dict in dict.type.sys_DiseaseType"
                  :key="dict.value"
                  :label="dict.value"
                >
                  {{ dict.label }}
                </el-checkbox>
              </el-checkbox-group>
            </el-form-item>
            <el-form-item label="其他" prop="diseasetypeOther">
              <el-input
                v-model="form.diseasetypeOther"
                placeholder="请输入其他"
              />
            </el-form-item>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item align="left" label="传染病">
                <el-checkbox-group v-model="form.infectious">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Infectious"
                    :key="dict.value"
                    :label="dict.value"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item align="left" label="其他" prop="infectiousOther">
                <el-input
                  v-model="form.infectiousOther"
                  placeholder="请输入其他"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="9">
              <el-form-item align="left" label="病人状况">
                <el-checkbox-group v-model="form.patientstate">
                  <el-checkbox
                    v-for="dict in dict.type.sys_patientstate"
                    :key="dict.value"
                    :label="dict.value"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
            <el-col :span="15" align="left">
              <el-form-item label="其他情况">
                <el-checkbox-group v-model="form.othercases">
                  <el-checkbox
                    v-for="dict in dict.type.sys_OtherCases"
                    :key="dict.value"
                    :label="dict.value"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <div display="flex">
              <el-row>
                <el-col :span="12">
                  <el-form-item
                    label="亲属状况"
                    prop="kinship"
                    class="relation"
                    align="left"
                  >
                    <el-checkbox-group v-model="form.kinship">
                      <el-checkbox
                        v-for="dict in dict.type.sys_Kinship"
                        :key="dict.value"
                        :label="dict.value"
                      >
                        {{ dict.label }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="其他" prop="kinshipOther">
                    <el-input
                      v-model="form.kinshipOther"
                      placeholder="请输入其他"
                    />
                  </el-form-item>
                </el-col>
              </el-row>
            </div>
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item align="left" label="本人意愿 ">
                <el-checkbox-group v-model="form.selfwill">
                  <el-checkbox
                    v-for="dict in dict.type.sys_SelfWill"
                    :key="dict.value"
                    :label="dict.value"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="主要亲属" prop="majorrelatives">
                <el-input
                  v-model="form.majorrelatives"
                  placeholder="请输入主要亲属"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="与捐赠者关系" prop="familyrelations">
                <el-select
                  v-model="form.familyrelations"
                  placeholder="请选择与捐赠者关系"
                >
                  <el-option
                    v-for="dict in dict.type.sys_FamilyRelation"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item align="left" label="信息来源">
                <el-checkbox-group v-model="form.infosources">
                  <el-checkbox
                    v-for="dict in dict.type.sys_InfoSources"
                    :key="dict.value"
                    :label="dict.value"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="其他" prop="infosourcesOther">
                <el-input
                  v-model="form.infosourcesOther"
                  placeholder="请输入信息来源其他"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="获取组织"
                prop="acquisitiontissuename"
              >
                <org-selecter
                  style="width: 260px"
                  ref="orgSelecter"
                  :org-type="'1'"
                  v-model="form.acquisitiontissueno"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="信息员" prop="infoname">
                <el-input v-model="form.infoname" placeholder="请输入信息员" />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="联系电话" prop="infophone">
                <el-input
                  v-model="form.infophone"
                  placeholder="请输入信息员联系电话"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item align="left" label="红十字会" prop="redorganno">
                <org-selecter
                  ref="addCrossOrgSelect"
                  :org-type="'2'"
                  v-model="form.redorganno"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="联系人" prop="contactperson">
                <el-input
                  v-model="form.contactperson"
                  placeholder="请输入联系人"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="联系时间" prop="contacttime">
                <el-date-picker
                  clearable
                  size="small"
                  style="width: 190px"
                  v-model="form.contacttime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择报告时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            type="primary"
            @click="submitForm"
            >保存</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <!-- <el-button
            v-show="Reportforreview"
            type="primary"
            @click="Reportforreview"
            >提交</el-button
          > -->
        </div>
      </div>
      <!-- åŒ»å­¦è¯„ä¼° -->
      <div class="boxdiv" v-show="actives == 1">
        <el-form
          ref="medicineform"
          :model="medicineform"
          :rules="medicinerules"
          label-width="100px"
          label-position="right"
        >
          <el-row
            ><el-col :span="24">
              <el-form-item
                label="病情概况"
                prop="illnessoverview"
                style="margin-top: 20px"
              >
                <el-input
                  v-model="medicineform.illnessoverview"
                  type="textarea"
                  placeholder="请输入内容"
                /> </el-form-item></el-col></el-row
          ><el-row
            ><el-col :span="24">
              <el-form-item label="疾病诊断" prop="diagnosisname">
                <el-input
                  v-model="medicineform.diagnosisname"
                  type="textarea"
                  placeholder="请输入疾病诊断"
                /> </el-form-item></el-col
          ></el-row>
          <el-row>
            <el-col :span="7">
              <el-form-item
                align="left"
                label="院级评估医生"
                prop="hospitalassessdoctor"
              >
                <el-input
                  v-model="medicineform.hospitalassessdoctor"
                  placeholder="请输入院级评估医生"
                />
              </el-form-item>
            </el-col>
            <el-col :span="9">
              <el-form-item
                align="left"
                label="评估时间"
                prop="hospitalassesstime"
              >
                <el-date-picker
                  clearable
                  size="small"
                  v-model="medicineform.hospitalassesstime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择院级评估时间"
                >
                </el-date-picker> </el-form-item
            ></el-col>
            <el-col :span="8">
              <el-form-item
                align="left"
                label="评估结论"
                prop="hospitalassessconclusion"
              >
                <el-select
                  v-model="medicineform.hospitalassessconclusion"
                  placeholder="请选择院级评估结论"
                >
                  <el-option
                    v-for="dict in dict.type.sys_BaseAssessConclusion"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item> </el-col
          ></el-row>
          <el-row
            ><el-col :span="24">
              <el-form-item
                label="院级评估内容"
                prop="provincialassesscontent"
                align="left"
              >
                <el-input
                  v-model="medicineform.provincialassesscontent"
                  type="textarea"
                  placeholder="请输入内容"
                />
              </el-form-item> </el-col
          ></el-row>
          <el-row
            ><el-col :span="7">
              <el-form-item label="省级评估医生" prop="provincialassessdoctor">
                <el-input
                  v-model="medicineform.provincialassessdoctor"
                  placeholder="请输入省级评估医生"
                /> </el-form-item></el-col
            ><el-col :span="9">
              <el-form-item label="评估时间" prop="provincialassesstime">
                <el-date-picker
                  clearable
                  size="small"
                  v-model="medicineform.provincialassesstime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择省级评估时间"
                >
                </el-date-picker> </el-form-item></el-col
            ><el-col :span="8">
              <el-form-item
                label="评估结论"
                prop="provincialassessconclusion"
                align="left"
              >
                <el-select
                  v-model="medicineform.provincialassessconclusion"
                  placeholder="请选择省级评估结论"
                >
                  <el-option
                    v-for="dict in dict.type.sys_BaseAssessConclusion"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item> </el-col
          ></el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item
                align="left"
                label="省级评估内容"
                prop="hospitalassesscontent"
              >
                <el-input
                  v-model="medicineform.hospitalassesscontent"
                  type="textarea"
                  placeholder="请输入内容"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="7">
              <el-form-item label="核心评估医生" prop="coreteamassessdoctor">
                <el-input
                  v-model="medicineform.coreteamassessdoctor"
                  placeholder="请输入核心成员评估医生"
                />
              </el-form-item>
            </el-col>
            <el-col :span="9">
              <el-form-item label="评估时间" prop="coreteamassesstime">
                <el-date-picker
                  clearable
                  size="small"
                  v-model="medicineform.coreteamassesstime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="评估时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item
                label="评估结论"
                prop="coreteamassessconclusion"
                align="left"
              >
                <el-select
                  v-model="medicineform.coreteamassessconclusion"
                  placeholder="请选择核心成员结论"
                >
                  <el-option
                    v-for="dict in dict.type.sys_CoreAssessConclusion"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row
            ><el-col :span="24">
              <el-form-item
                label="核心成员评估"
                prop="coreteamassesscontent"
                align="left"
              >
                <el-input
                  v-model="medicineform.coreteamassesscontent"
                  type="textarea"
                  placeholder="请输入内容"
                />
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          > -->
          <!-- <el-button @click="cancel">取 æ¶ˆ</el-button> -->
        </div>
      </div>
      <!-- æçŒ®ç¡®è®¤ -->
      <div class="boxdiv" v-show="actives == 2">
        <el-form
          ref="affirmform"
          :model="affirmform"
          :rules="affirmrules"
          label-width="100px"
          label-position="right"
        >
          <el-row>
            <el-col :span="6">
              <el-form-item label="亲属姓名" prop="name">
                <el-input v-model="affirmform.name" placeholder="请输入姓名" />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="与捐赠者关系"
                prop="familyrelations"
              >
                <el-select
                  v-model="affirmform.familyrelations"
                  placeholder="请选择与捐赠者关系"
                >
                  <el-option
                    v-for="dict in dict.type.sys_FamilyRelation"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="身份证号" prop="idcardno">
                <el-input
                  ref="updateBSvalue"
                  class="sfzcode"
                  v-model="affirmform.idcardno"
                  placeholder="请输入证件号码"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="联系电话" prop="phone">
                <el-input
                  v-model="affirmform.phone"
                  placeholder="请输入联系电话"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="亲属籍贯" prop="residenceaddresss">
                <div>
                  <li_area_select
                    v-model="defultAddresss"
                    ref="residenceaddresss"
                  ></li_area_select>
                  <!-- <div>{{defultAddress}}</div> -->
                </div>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="现住地址" prop="residenceaddress">
                <el-input
                  v-model="affirmform.residenceaddress"
                  placeholder="请输入内容"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="签字亲属" prop="kinshipconfirmationsign">
                <el-checkbox-group v-model="organdecision">
                  <el-checkbox
                    v-for="item in kinshiplist"
                    :key="item"
                    :label="item"
                  >
                    {{ item == "子女" ? item + "(人)" : item }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="成年子女数" prop="kinshipChildrennum">
                <el-input
                  v-model="affirmform.kinshipChildrennum"
                  placeholder="请输入数量"
                />
              </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-form-item label-width="100px" label="捐献决定">
              <el-checkbox-group v-model="organdecision">
                <el-checkbox
                  v-for="item in organselection"
                  :key="item"
                  :label="item"
                  >{{ item }}
                </el-checkbox>
              </el-checkbox-group>
            </el-form-item>
          </el-row>
          <el-row>
            <!-- <el-col :span="18">
              <el-form-item align="left" label="捐献决定">
                <el-checkbox-group v-model="affirmform.organdecision">
                  <el-checkbox
                    v-for="dict in dict.type.sys_OrganDecision"
                    :key="dict.label"
                    :label="dict.label"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col> -->
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="获取组织" prop="acquisitiontissuename">
                <org-selecter
                  style="width: 260px"
                  ref="orgSelecter"
                  :org-type="'1'"
                  v-model="form.acquisitiontissueno"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="负责人" prop="responsibleuserid">
                <el-select
                  v-model="affirmform.responsibleuserid"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in leaderlist"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="协调员1" prop="coordinateduserido">
                <el-select
                  v-model="affirmform.coordinateduserido"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in coordinatorlist1"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="协调员2" prop="coordinateduseridt">
                <el-select
                  v-model="affirmform.coordinateduseridt"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in coordinatorlist1"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item> </el-col
            ><el-col :span="6">
              <el-form-item
                align="left"
                label="签字日期"
                prop="signdate"
                style="over-flow: hidden"
              >
                <el-date-picker
                  clearable
                  size="small"
                  v-model="affirmform.signdate"
                  type="date"
                  value-format="yyyy-MM-dd hh:mm:ss"
                  placeholder="选择签字日期"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          > -->
          <!-- <el-button @click="cancel">取 æ¶ˆ</el-button> -->
        </div>
      </div>
      <!-- ä¼¦ç†å®¡æŸ¥ -->
      <div class="boxdiv" v-show="actives == 3">
        <el-form
          ref="ethicform"
          :model="ethicform"
          :rules="ethicrules"
          label-width="100px"
          label-position="right"
        >
          <el-row>
            <el-col :span="18">
              <el-form-item label="审查结论">
                <el-radio-group v-model="ethicform.expertconclusion">
                  <el-radio
                    v-for="dict in dict.type.sys_EthicalReview"
                    :key="dict.value"
                    :label="parseInt(dict.value)"
                    >{{ dict.label }}</el-radio
                  >
                </el-radio-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="18">
              <el-form-item label="审查意见">
                <el-input
                  v-model="ethicform.expertopinion"
                  type="textarea"
                  placeholder="请输入内容"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <!-- createtime   å®¡æŸ¥æ—¥æœŸ -->
            <el-col :span="18">
              <el-form-item label="审查日期">
                <el-date-picker
                  clearable
                  size="small"
                  v-model="ethicform.conclusiontime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择结论时间"
                >
                </el-date-picker>
              </el-form-item> </el-col
          ></el-row>
        </el-form>
        <div class="dialog-footer" style="min-height: 500px; margin: 20px 0; ">
          <el-button
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          > -->
          <!-- <el-button @click="cancel">取 æ¶ˆ</el-button> -->
        </div>
      </div>
      <!-- å™¨å®˜åˆ†é… -->
      <div class="boxdiv" v-show="actives == 4">
        <el-form
          ref="allocateddata"
          :model="allocateddata"
          :rules="allocationrules"
          label-position="right"
        >
          <el-row>
            <el-col>
              <el-form-item label-width="100px" label="分配器官">
                <el-checkbox-group v-model="organList.organallocated">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    :key="dict.value"
                    :label="dict.value"
                    @change="changeorganState(dict.value)"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col>
              <el-form-item>
                <el-table v-loading="loading" border :data="allocateddata">
                  <el-table-column
                    label="器官名称"
                    align="center"
                    width="110"
                    prop="organname"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.organname"
                        placeholder="器官名称"
                        :disabled="scope.row.organno != 'C01'"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="器官编号"
                    align="center"
                    width="90"
                    prop="organno"
                  />
                  <el-table-column
                    label="系统编号"
                    align="center"
                    width="120"
                    prop="caseno"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.caseno"
                        placeholder="系统编号"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="接收时间"
                    align="center"
                    width="200"
                    prop="applicanttime"
                  >
                    <template slot-scope="scope">
                      <el-date-picker
                        clearable
                        size="small"
                        style="width: 100%"
                        v-model="scope.row.applicanttime"
                        type="datetime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="选择接收时间"
                      >
                      </el-date-picker>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="受体姓名"
                    align="center"
                    width="120"
                    prop="name"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.name"
                        placeholder="受体姓名"
                      />
                    </template>
                  </el-table-column>
                  <!--
              <el-table-column label="证件类型" align="center" width="150" prop="idcardtype">
                <template slot-scope="scope">
                  <el-select v-model="scope.row.idcardtype" placeholder="移植人证件类型">
                    <el-option v-for="dict in dict.type.sys_IDType" :key="dict.value" :label="dict.label"
                      :value="parseInt(dict.value)"></el-option>
                  </el-select>
                </template>
              </el-table-column>
              <el-table-column label="证件号码" align="center" width="200" prop="idcardno">
                <template slot-scope="scope">
                  <el-input v-model="scope.row.idcardno" placeholder="证件号码" />
                </template>
              </el-table-column>
                  <el-table-column label="分配状态" align="center" width="150" prop="allocationstatus">
                    <template slot-scope="scope">
                      <el-select v-model="scope.row.allocationstatus" placeholder="请选择器官状态">
                        <el-option v-for="dict in allocationstatuslist" :key="dict.value" :label="dict.label"
                          :value="dict.value"></el-option>
                      </el-select>
                    </template>
                  </el-table-column>
                -->
                  <el-table-column
                    prop="reallocationreason"
                    label="说明"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <el-input
                        type="textarea"
                        clearable
                        v-model="scope.row.reallocationreason"
                        placeholder="请输入说明"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="操作"
                    align="center"
                    width="100"
                    class-name="small-padding fixed-width"
                    v-if="actives == 4"
                  >
                    <template slot-scope="scope">
                      <el-button
                        size="mini"
                        type="text"
                        icon="el-icon-copy-document"
                        @click="redistribution(scope.row)"
                        >重分配</el-button
                      >
                    </template>
                  </el-table-column>
                </el-table>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer" v-show="actives == 4">
          <el-button
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          > -->
          <!-- <el-button @click="cancel">取 æ¶ˆ</el-button> -->
        </div>
      </div>
      <!-- èŽ·å–è§è¯ -->
      <div class="boxdiv" v-show="actives == 5">
        <el-form
          ref="witnessform"
          :model="witnessform"
          :rules="witnessrules"
          label-width="100px"
          label-position="right"
        >
          <el-row>
            <el-col :span="24">
              <el-form-item
                align="left"
                label="捐献类别"
                prop="donationcategory"
              >
                <el-radio-group v-model="witnessform.donationcategory">
                  <el-radio
                    v-for="dict in dict.type.sys_DonationCategory"
                    :key="dict.value"
                    :label="dict.value"
                    >{{ dict.label }}</el-radio
                  >
                </el-radio-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row> </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="死亡判定:医生一"
                label-width="140px"
                prop="deathjudgedocto"
              >
                <el-input
                  v-model="witnessform.deathjudgedocto"
                  placeholder="判定医生姓名"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="医生二"
                label-width="120px"
                prop="deathjudgedoctt"
              >
                <el-input
                  v-model="witnessform.deathjudgedoctt"
                  placeholder="判定医生姓名"
                />
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="死亡时间"
                label-width="120px"
                prop="deathtime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.deathtime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择死亡时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="死亡原因"
                label-width="120px"
                prop="deathreason"
              >
                <el-input
                  v-model="witnessform.deathreason"
                  placeholder="请输入死亡原因"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="手术:开始时间"
                label-width="140px"
                prop="operationbegtime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.operationbegtime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择手术开始时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                align="left"
                label="结束时间"
                label-width="120px"
                prop="operationendtime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.operationendtime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择手术结束时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item
                label="腹主动脉:插管时间"
                align="left"
                label-width="140px"
                prop="abdominalaortacannulatime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.abdominalaortacannulatime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择腹主动脉插管时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                align="left"
                label-width="120px"
                prop="abdominalaortaperfusiontime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.abdominalaortaperfusiontime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择腹主动脉灌注时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="门静脉:插管时间"
                align="left"
                label-width="140px"
                prop="portalveincannulatime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.portalveincannulatime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择门静脉脉插管时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                align="left"
                label-width="120px"
                prop="portalveinperfusiontime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.portalveinperfusiontime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择门静脉灌注时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item
                label="肺动脉:插管时间"
                align="left"
                label-width="140px"
                prop="pulmonaryarterycannulatime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.pulmonaryarterycannulatime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择门静脉插管时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                align="left"
                label-width="120px"
                prop="pulmonaryarteryperfusiontime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.pulmonaryarteryperfusiontime"
                  type="datetime"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择门静脉灌注时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="主动脉:灌注时间"
                align="left"
                label-width="140px"
                prop="aortacannulatime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.aortacannulatime"
                  type="datetime"
                  value-format="yyyy-MM-dd  HH:mm:ss"
                  placeholder="选择主动脉灌注时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="灌注时间"
                align="left"
                label-width="120px"
                prop="aortaperfusiontime"
              >
                <el-date-picker
                  clearable
                  v-model="witnessform.aortaperfusiontime"
                  type="datetime"
                  value-format="yyyy-MM-dd  HH:mm:ss"
                  placeholder="选择主动脉灌注时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col>
              <el-form-item label-width="100px" label="获取器官">
                <el-checkbox-group v-model="organList.organprocured">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    :key="dict.value"
                    :label="dict.value"
                    @change="changeorganprocured(dict.value)"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col>
              <el-form-item>
                <el-table v-loading="loading" border :data="procureddata">
                  <el-table-column
                    label="器官名称"
                    align="center"
                    width="110"
                    prop="organname"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.organname"
                        placeholder="器官名称"
                        :disabled="scope.row.organno != 'C01'"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="器官编号"
                    align="center"
                    width="90"
                    prop="organno"
                  />
                  <el-table-column
                    label="器官离体时间"
                    align="center"
                    width="200"
                    prop="organgettime"
                  >
                    <template slot-scope="scope">
                      <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>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="获取医院"
                    align="center"
                    width="230"
                    prop="gainhospitalno"
                  >
                    <template slot-scope="scope">
                      <div class="elldiv">
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          v-model="scope.row.gainhospitalno"
                        />
                      </div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="获取医师"
                    align="center"
                    width="120"
                    prop="organgetdoct"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.organgetdoct"
                        placeholder="请输入医师姓名"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="获取状态"
                    align="center"
                    width="150"
                    prop="organstate"
                  >
                    <template slot-scope="scope">
                      <el-select
                        v-model="scope.row.organstate"
                        placeholder="请选择器官状态"
                      >
                        <el-option
                          v-for="dict in organstatelist"
                          :key="dict.value"
                          :label="dict.label"
                          :value="dict.value"
                        ></el-option>
                      </el-select>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="说明"
                    align="center"
                    prop="notgetreason"
                  >
                    <template slot-scope="scope">
                      <el-input
                        type="textarea"
                        clearable
                        v-model="scope.row.notgetreason"
                        placeholder="请输入未获取说明"
                      />
                    </template>
                  </el-table-column>
                </el-table>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item align="left" label="默哀缅怀仪式">
                <el-radio-group v-model="witnessform.isspendremember">
                  <el-radio
                    v-for="dict in dict.type.sys_0_1"
                    :key="dict.value"
                    :label="parseInt(dict.value)"
                    >{{ dict.label }}</el-radio
                  >
                </el-radio-group>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item align="left" label="恢复遗体仪容">
                <el-radio-group v-model="witnessform.isrestoreremains">
                  <el-radio
                    v-for="dict in dict.type.sys_0_1"
                    :key="dict.value"
                    :label="parseInt(dict.value)"
                    >{{ dict.label }}</el-radio
                  >
                </el-radio-group>
              </el-form-item></el-col
            >
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item
                label="手术负责人"
                label-width="140px"
                prop="responsibleusername"
              >
                <el-input
                  v-model="witnessform.responsibleusername"
                  placeholder="请输入负责人姓名"
                />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="协调员一" prop="coordinateduserido">
                <el-select
                  v-model="witnessform.coordinateduserido"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in coordinatorlist1"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="协调员二" prop="coordinateduseridt">
                <el-select
                  v-model="witnessform.coordinateduseridt"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in coordinatorlist1"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <!-- <el-button
            v-show="makeastepforward"
            type="primary"
            @click="makeastepforward"
            >下一步</el-button
          > -->
          <!-- <el-button @click="cancel">取 æ¶ˆ</el-button> -->
        </div>
      </div>
      <!-- å®Œæˆç™»è®° -->
      <div class="boxdiv" v-show="actives == 6">
        <el-form
          ref="accomplishform"
          :model="accomplishform"
          :rules="accomplishrules"
          label-width="100px"
          label-position="right"
        >
          <el-row>
            <el-col>
              <el-form-item label-width="100px" label="移植器官">
                <el-checkbox-group v-model="organList.organtransplant">
                  <el-checkbox
                    v-for="dict in dict.type.sys_Organ"
                    :key="dict.value"
                    :label="dict.value"
                    @change="changeorgantransplant(dict.value)"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col>
              <el-form-item>
                <el-table v-loading="loading" border :data="transplantdata">
                  <el-table-column
                    label="器官名称"
                    align="center"
                    width="110"
                    prop="organname"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.organname"
                        placeholder="器官名称"
                        :disabled="scope.row.organno != 'C01'"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="器官编号"
                    align="center"
                    width="90"
                    prop="organno"
                  />
                  <el-table-column
                    label="移植医院"
                    align="center"
                    width="220"
                    prop="transplanthospitalname"
                    v-if="actives == 6"
                  >
                    <template slot-scope="scope">
                      <org-selecter
                        ref="tranHosSelect"
                        :org-type="'4'"
                        v-model="scope.row.transplanthospitalno"
                        style="width: 100%"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="移植负责人"
                    align="center"
                    width="120"
                    prop="transplantdoct"
                  >
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.transplantdoct"
                        placeholder="医师姓名"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="移植时间"
                    align="center"
                    width="200"
                    prop="transplanttime"
                  >
                    <template slot-scope="scope">
                      <el-date-picker
                        clearable
                        size="small"
                        style="width: 100%"
                        v-model="scope.row.transplanttime"
                        type="datetime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="选择移植时间"
                      >
                      </el-date-picker>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="移植状态"
                    align="center"
                    width="150"
                    prop="transplantstate"
                  >
                    <template slot-scope="scope">
                      <el-select
                        v-model="scope.row.transplantstate"
                        placeholder="请选择器官状态"
                      >
                        <el-option
                          v-for="dict in transplantstatelist"
                          :key="dict.value"
                          :label="dict.label"
                          :value="dict.value"
                        ></el-option>
                      </el-select>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="abandonreason"
                    label="说明"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <el-input
                        type="textarea"
                        clearable
                        v-model="scope.row.abandonreason"
                        placeholder="请输入弃用说明"
                      />
                    </template>
                  </el-table-column>
                </el-table>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item align="left" label="遗体捐献" prop="isbodydonation">
                <el-radio-group v-model="accomplishform.isbodydonation">
                  <el-radio
                    v-for="dict in dict.type.sys_0_1"
                    :key="dict.value"
                    :label="dict.value"
                    >{{ dict.label }}</el-radio
                  >
                </el-radio-group>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item align="left" label="接收单位" prop="receivingunit">
                <el-input
                  v-model="accomplishform.receivingunit"
                  placeholder="请输入接受单位"
                />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="负责人" prop="responsibleuserid">
                <el-select
                  v-model="accomplishform.responsibleuserid"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in leaderlist"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="协调员一" prop="coordinateduserido">
                <el-select
                  v-model="accomplishform.coordinateduserido"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in coordinatorlist1"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="协调员二" prop="coordinateduseridt">
                <el-select
                  v-model="accomplishform.coordinateduseridt"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in coordinatorlist1"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportNo"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="完成时间" prop="completetime">
                <el-date-picker
                  style="width: 167px"
                  clearable
                  size="small"
                  v-model="accomplishform.completetime"
                  type="date"
                  value-format="yyyy-MM-dd hh:mm:ss"
                  placeholder="选择完成时间"
                >
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <div class="dialog-footer">
          <el-button
            v-show="!showTerminationBtn"
            type="primary"
            @click="Savethedetails"
            >保存</el-button
          >
          <el-button
            :type="showTerminationBtn == 0 ? 'warning' : 'success'"
            @click="Terminationcase"
            >{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
          >
          <el-button
            v-show="Reportforreview"
            type="primary"
            @click="Reportforreview"
            >提交</el-button
          >
          <!-- <el-button @click="cancel">取 æ¶ˆ</el-button> -->
        </div>
      </div>
      <!-- å®Œç»“流程 -->
      <div class="boxdiv" v-show="actives > 6">
        <div style="display:flex; line-height: 100px; justify-content: center;">
          <!-- <el-image
            style="width: 100px; height: 100px"
            :src="require('@/assets/images/wanc.png')"
          ></el-image> -->
          <div style="padding: 20px 0; margin: 0 30px">
            <img
              style="width: 60px; height: 60px"
              src="@/assets/images/wanc.png"
              class="user-avatar"
            />
          </div>
          <div style="font-size: 28px;">全部流程已完结!</div>
          <img
            style="width: 100px; height: 100px"
            src="@/assets/images/zhan.png"
            class="user-avatar"
          />
        </div>
      </div>
    </div>
    <!-- é™„件弹窗 -->
    <el-dialog
      v-dialogDrags
      :modal="false"
      :close-on-click-modal="false"
      :title="pdftitle"
      :visible.sync="pdfVisible"
      width="60%"
    >
      <!-- <div style="text-align: right;">
        <el-button type="success" @click="drawer = true"
          >文件指导目录</el-button
        >
      </div> -->
      <el-tabs
        style="margin-top: 20px;"
        v-model="activeName"
        type="card"
      >
        <el-tab-pane :label="activetele" :name="1"> </el-tab-pane>
      </el-tabs>
      <div class="pdfimg">
        <div class="box-pdf">
          <div>
            <el-upload
              size="mini"
              class="upload-demo"
              :action="uploadFileUrl"
              :file-list="fileList"
              :show-file-list="false"
              multiple
              drag
              :headers="headers"
              :on-success="
                (response, file, fileList) =>
                  uploadSccess(response, file, fileList)
              "
              :on-preview="downFile"
              :on-error="handleUploadError"
              :on-remove="remove"
              accept="image/*,.pdf"
            >
              <i class="el-icon-upload"></i>
              <div class="el-upload__text">
                å°†å‘票文件拖到此处,或
                <em
                  ><el-button size="small" type="primary"
                    >点击上传</el-button
                  ></em
                >
              </div>
            </el-upload>
            <el-table
              :data="fileListto"
              @row-click="downFile"
              style="width: 100%"
              height="400"
            >
              <el-table-column
                prop="annexname"
                :show-overflow-tooltip="true"
                label="名称"
              >
                <template slot-scope="scope">
                  <i style="color:#409EFF" class=" el-icon-s-order" />{{
                    scope.row.annexname
                  }}
                </template>
              </el-table-column>
              <el-table-column
                prop="name"
                width="180"
                :show-overflow-tooltip="true"
                label="功能"
              >
                <template slot-scope="scope">
                  <el-button
                    type="primary"
                    size="mini"
                    @click.native.prevent.stop="deletedowfile(scope.row)"
                    >删除</el-button
                  >
                  <el-button
                    type="primary"
                    size="mini"
                    @click.native.prevent.stop="moveupdowfile(scope.row)"
                    >上移</el-button
                  >
                </template>
              </el-table-column>
            </el-table>
          </div>
        </div>
        <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin">
          <!-- <img :src="pdfimg" /> -->
          <el-image
            style="width: 95%; height: 90%"
            :src="pdfimg"
            :preview-src-list="pdfimgsrcList"
          >
          </el-image>
        </div>
        <div v-else class="pdfimgmins">{{ hintitle }}</div>
      </div>
    </el-dialog>
    <!-- æ‰¹é‡æŠ½å±‰ -->
    <el-drawer title="器官捐献相关附件" :visible.sync="drawer" direction="rtl">
      <div style="padding:20px">
        <el-button @click="clearFilter">取消筛选</el-button>
        <el-table ref="filterTable" :data="tableDatafile" style="width: 100%">
          <el-table-column prop="name" label="文件名" width="250">
          </el-table-column>
          <el-table-column
            prop="tag"
            label="类型"
            :filters="[
              { text: '中国一类(DBD)', value: '中国一类(DBD)' },
              { text: '中国二类(DCD)', value: '中国二类(DCD)' },
              { text: '中国三类(DBCD)', value: '中国三类(DBCD)' }
            ]"
            :filter-method="filterTag"
            filter-placement="bottom-end"
          >
            <template slot-scope="scope">
              <el-tag :type="scope.row.type" disable-transitions>{{
                scope.row.tag
              }}</el-tag>
            </template>
          </el-table-column>
        </el-table>
      </div>
      <div style="margin-left: 20px;">
        <el-button @click="drawer = false">取 æ¶ˆ</el-button>
      </div>
    </el-drawer>
  </div>
</template>
<script>
import {
  listDonateannex,
  Modifydonationattachment
} from "@/api/project/donateannex";
import { listReportname } from "@/api/project/organization";
import {
  getDonatebaseinfo,
  addDonatebaseinfo,
  updateDonatebaseinfo,
  getDonatebaseinfoflow
} from "@/api/project/donatebaseinfo";
import {
  listMedicalevaluation,
  addMedicalevaluation,
  updateMedicalevaluation
} from "@/api/project/medicalevaluation";
import {
  listRelativesconfirmation,
  getRelativesconfirmation,
  addRelativesconfirmation,
  updateRelativesconfirmation
} from "@/api/project/relativesconfirmation";
import {
  listEthicalreviewopinions,
  getEthicalreviewopinions,
  addEthicalreviewopinions,
  updateEthicalreviewopinions,
  listnewEthicalreviewopinions
} from "@/api/project/ethicalreviewopinions";
import {
  addDonateflowchart,
  listDonateflowchart,
  updateDonateflowchart
} from "@/api/project/DonationEvaluation";
import {
  listDonateorgan,
  addDonateorgan,
  delDonateorgan,
  updateDonateorgan,
  saveDonateorgan
} from "@/api/project/donateorgan";
import {
  listOrganallocation,
  addOrganallocation,
  updateOrganallocation
} from "@/api/project/organallocation";
import {
  addDonationwitness,
  updateDonationwitness,
  getDonationwitness,
  getByInfoId,
  listDonationwitnessorgan,
  saveDonationwitnessorgan,
  delDonationwitnessorgan
} from "@/api/project/donationwitness";
import {
  listnewDonatecompletioninfo,
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecomporgan,
  saveDonatecomporgan,
  delDonatecomporgan
} from "@/api/project/donatecompletioninfo";
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";
export default {
  name: "donationdetails",
  components: {
    Li_area_select,
    OrgSelecter,
    AnnexUpload,
    ReportName
  },
  data() {
    return {
      infoid: 736,
      drawer: false,
      form: {},
      activeName:'',
      tableDatafile: [
        {
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 å¼„",
          tag: "中国一类(DBD)",
          type: "success"
        }
      ],
      medicineform: {
        infoid: null
      },
      affirmform: {
        infoid: null,
        organdecision: []
      },
      organdecision: [],
      ethicform: {
        infoid: null
      },
      kinshiplist: ["配偶", "父亲", "母亲", "子女", "受托人"],
      organselection: [
        "肝脏",
        "双肾脏",
        "心脏",
        "肺脏",
        "腺体",
        "小肠",
        "双眼组织",
        "遗体",
        "其他"
      ],
      //选择器官表单
      organList: {
        //分配列表
        organallocated: [],
        //获取列表
        organprocured: [],
        //完成列表
        organtransplant: []
      },
      //器官状态
      allocationstatuslist: [
        { value: 1, label: "已分配" },
        { value: 2, label: "重分配" }
      ],
      organstatelist: [
        { value: "1", label: "已获取" },
        { value: "2", label: "回纳" }
      ],
      transplantstatelist: [
        { value: 1, label: "已移植" },
        { value: 2, label: "库存" },
        { value: 3, label: "弃用" }
      ],
      //器官数据
      allocateddata: [],
      procureddata: [],
      transplantdata: [],
      witnessform: {
        infoid: null
      },
      accomplishform: {
        infoid: null
      },
      tableData: [],
      coordinatorlist1: [],
      leaderlist: [],
      actives: 0, //进程
      workflow: 0,
      loading: false,
      //   ä¿å­˜ã€ç»ˆæ­¢æŒ‰é’®ç¡®è®¤
      showSaveBtn: true,
      showTerminationBtn: 0, //终止状态 0-未终止 1-已终止
      // æµç¨‹æ•°æ®ï¼šdonatebaseinfo[createtime,updatetime]、medicalevaluation、relativesconfirmation、donateflowcharts、donateorgansService、donationwitness、donatecompletioninfo
      Processdata: {},
      //省市区默认值设置,可为空
      searchAddress: {
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null
      },
      residenceAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: ""
      },
      defultAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: ""
      },
      registerAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: ""
      },
      // é¡¶éƒ¨æ•°æ®æ ¡éªŒ
      rules: {
        name: [
          { required: true, message: "请输入捐献者姓名", trigger: "blur" }
        ],
        birthday: [
          { required: true, message: "请选择出生日期", trigger: "blur" }
        ],
        idcardtype: [
          { required: true, message: "请选择证件类型", trigger: "blur" }
        ],
        residenceaddress: [
          { required: true, message: "请输入住址", trigger: "blur" }
        ],
        contacttime: [
          {
            required: true,
            message: "请输入红十字会联系时间",
            trigger: "blur"
          }
        ],
        idcardno: [
          { required: true, message: "请正确输入证件号码", trigger: "blur" }
        ],
        sex: [{ required: true, message: "性别不能为空", trigger: "blur" }],
        age: [{ required: true, message: "请输入年龄", trigger: "blur" }],
        treatmenthospitalno: [
          { required: true, message: "请选择医疗机构", trigger: "blur" }
        ],
        bloodtype: [
          { required: true, message: "请选择ABO血型", trigger: "blur" }
        ],
        rhyin: [{ required: true, message: "请选择RHD血型", trigger: "blur" }],
        diseasetype: [
          { required: true, message: "请选择RHD血型", trigger: "blur" }
        ],
        inpatientno: [
          { required: true, message: "输入住院号", trigger: "blur" }
        ],
        diagnosisname: [
          { required: true, message: "疾病诊断不能为空", trigger: "blur" }
        ],
        infoname: [
          { required: true, message: "请输入信息员姓名", trigger: "blur" }
        ],
        infophone: [
          { required: true, message: "请输入信息员联系电话", trigger: "blur" }
        ],
        redorganno: [
          { required: true, message: "请选择红十字会机构", trigger: "blur" }
        ],
        contactperson: [
          {
            required: true,
            message: "红十字会联系人不能为空",
            trigger: "blur"
          }
        ],
        acquisitiontissueno: [
          { required: true, message: "器官获取组织不能为空", trigger: "blur" }
        ],
        reporterno: [
          { required: true, message: "请选择报告人", trigger: "blur" }
        ],
        reporttime: [
          { required: true, message: "请输入报告时间", trigger: "blur" }
        ],
        reporterphone: [
          { required: true, message: "请输入报告人联系电话", trigger: "blur" }
        ]
      },
      // å„级明细效验
      medicinerules: {},
      affirmrules: {
        name: [
          { required: true, message: "亲属姓名不能为空", trigger: "blur" }
        ],
        phone: [
          { required: true, message: "家属联系电话不为空", trigger: "blur" }
        ],
        signfamilyrelations: [
          { required: true, message: "与捐献者关系", trigger: "blur" }
        ],
        idcardno: [
          { required: true, message: "证件号不能为空", trigger: "blur" }
        ],
        organdecision: [
          { required: true, message: "捐献决定不能为空", trigger: "blur" }
        ],
        responsibleuserid: [
          { required: true, message: "负责人不能为空", trigger: "blur" }
        ],
        coordinateduserido: [
          { required: true, message: "协调员1不能为空", trigger: "blur" }
        ],
        coordinateduseridt: [
          { required: true, message: "协调员2不能为空", trigger: "blur" }
        ]
      },
      ethicrules: {},
      allocationrules: {},
      witnessrules: {},
      accomplishrules: {},
      //报告人列表
      reporters: [],
      //附件列表
      annexfilesList: [], //附件展示列
      potentiallist: [], //潜在附件
      medicinelist: [], //医学附件
      affirmlist: [], //确认附件
      ethiclist: [], //伦理附件
      registerlist: [], //完成附件
      fileList: [],
      fileListto: [],
      donatelist: [], //总
      activetele: "潜在捐献",
      //上传附件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      //文件上传token
      headers: {
        Authorization: "Bearer " + getToken()
      },
      // ç½‘络请求头
      Networkheader: null,
      //票据文件
      pdftitle: "",
      pdfimg: "",
      pdfimgsrcList: [],
      pdfVisible: false,
      previewpdf: false,
      hintitle: "请上传文件后查看",
      atpresent: ""
    };
  },
  created() {
    this.infoid = this.$route.query.id;
  },
  mounted() {
    // this.id = this.$route.query.id;
    this.Getbasicinformation();
    this.listDonateannex();
    //获取报告人列表:专职人员
    listReportname("zzry").then(res => {
      this.reporters = res.data;
    });
    //获取协调员列
    listReportname("xty1").then(res => {
      this.coordinatorlist1 = res.data;
    });
    //获取负责人列
    listReportname("fzr").then(res => {
      this.leaderlist = res.data;
    });
  },
  methods: {
    // èŽ·å–ä¸»è¡¨åŠé™„å±žæ•°æ®
    Getbasicinformation() {
      // å·¦ä¾§æµç¨‹æ•°æ®
      getDonatebaseinfoflow(this.infoid).then(res => {
        console.log("getDonatebaseinfoflow", res.data);
        this.Processdata = res.data;
      });
      // è¡¨å•数据
      getDonatebaseinfo(this.infoid).then(response => {
        this.form = response.data;
        this.showTerminationBtn = response.data.terminationCase;
        this.actives = 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(",");
        this.form.infectious = this.form.infectious.split(",");
        this.form.selfwill = this.form.selfwill.split(",");
        this.form.othercases = this.form.othercases.split(",");
        this.form.infosources = this.form.infosources.split(",");
        this.form.kinship = this.form.kinship.split(",");
        this.form.patientstate = this.form.patientstate.split(",");
        this.open = true;
        this.title = "人体器官潜在捐献者登记表";
        this.registerAddresss.sheng = response.data.registerprovincename;
        this.residenceAddresss.sheng = response.data.residenceprovincename;
        this.registerAddresss.shi = response.data.registercityname;
        this.residenceAddresss.shi = response.data.residencecityname;
        this.residenceAddresss.qu = response.data.residencetownname;
        this.registerAddresss.qu = response.data.registertownname;
        // èŽ·å–äºŒçº§è¡¨
        this.GetAttacheddata();
      });
    },
    // èŽ·å–äºŒçº§è¡¨æ•°æ®
    GetAttacheddata() {
      let searchParam = {
        infoid: this.infoid
      };
      if (this.actives == 1) {
        this.annexfilesList = this.medicinelist;
        this.activetele = "医学评估";
        if (this.medicineform.infoid) {
          return;
        }
        listMedicalevaluation(searchParam).then(response => {
          if (response.code == 200 && response.rows[0]) {
            this.medicineform = response.rows[0];
          } else {
            // this.$modal.msgError(
            //   "获取医学评估记录失败:" + JSON.stringify(response)
            // );
          }
        });
      } else if (this.actives == 2) {
        this.annexfilesList = this.affirmlist;
        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) {
              this.affirmform = {};
              this.affirmform.residenceprovincename = "";
              this.affirmform.residencecityname = "";
              this.affirmform.residencetownname = "";
            }
            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)
            // );
          }
        });
      } else if (this.actives == 3) {
        this.annexfilesList = this.ethiclist;
        this.activetele = "伦理审查";
        if (this.ethicform.infoid) {
          return;
        }
        //listDonateflowchart(searchParam).then(response => {
        listEthicalreviewopinions(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
            this.ethicform = response.rows[0];
          } else {
            console.log("伦理审查数据为空");
          }
        });
      } else if (this.actives == 4 && !this.allocateddata[0]) {
        listDonateorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.allocateddata = res.rows;
            }
            this.organList.organallocated = [];
            for (let i = 0; i < res.rows.length; i++) {
              this.organList.organallocated.push(this.allocateddata[i].organno);
            }
          } else {
            // this.$modal.msgError(
            //   "获取器官分配信息失败:" + JSON.stringify(res)
            // );
          }
        });
      } else if (this.actives == 5 && !this.witnessform.infoid) {
        // ä¸å­˜åœ¨æ—¶èŽ·å–å™¨å®˜ä¿¡æ¯
        if (this.witnessform.infoid) {
          return;
        }
        listDonationwitnessorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.procureddata = res.rows;
              this.procureddata.infoid = this.infoid;
            }
            this.organList.organprocured = [];
            for (let i = 0; i < this.procureddata.length; i++) {
              this.organList.organprocured.push(this.procureddata[i].organno);
            }
          } else {
            // this.$modal.msgError(
            //   "器官列表获取失败:" + JSON.stringify(resall)
            // );
          }
        });
        // èŽ·å–å½“å‰è§è¯ä¿¡æ¯
        getByInfoId(searchParam.infoid).then(response => {
          if (response.code == 200) {
            if (response.data) {
              this.witnessform = response.data;
              this.witnessform.infoid = this.infoid;
            }
          } else {
            // this.$modal.msgError(
            //   "获取见证信息拿取失败:" + JSON.stringify(response)
            // );
          }
        });
      } else if (this.actives == 6) {
        this.annexfilesList = this.registerlist;
        this.activetele = "完成登记";
        if (this.accomplishform.infoid) {
          return;
        }
        // ä¸å­˜åœ¨æ—¶èŽ·å–å™¨å®˜
        let accpre = {
          id: searchParam.infoid
        };
        if (!this.organList.organtransplant[0]) {
          listDonatecomporgan(searchParam).then(res => {
            if (res.code == 200) {
              if (res.rows[0]) {
                this.transplantdata = res.rows;
                this.transplantdata.infoid = this.infoid;
              }
              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 => {
          if (response.code == 200 && response.rows.length) {
            this.accomplishform = response.rows[0];
            this.accomplishform.infoid = this.infoid;
          } else {
            // this.$modal.msgError("完成登记失败:" + JSON.stringify(response));
          }
        });
      } else if (this.actives == 0) {
        this.annexfilesList = this.potentiallist;
        this.activetele = "潜在捐献";
      }
    },
    /** ä¿å­˜ä¸»è¡¨æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        console.log("提交的数据们:", this.form);
        if (valid) {
          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(",");
          this.form.infosources = this.form.infosources.join(",");
          this.form.kinship = this.form.kinship.join(",");
          this.form.patientstate = this.form.patientstate.join(",");
          this.form.registerprovince = this.$refs.registerSelect.getSheng();
          this.form.registerprovincename = this.registerAddresss.sheng;
          this.form.residenceprovince = this.$refs.residenceSelect.getSheng();
          this.form.residenceprovincename = this.residenceAddresss.sheng;
          this.form.registercity = this.$refs.registerSelect.getShi();
          this.form.registercityname = this.registerAddresss.shi;
          this.form.residencecity = this.$refs.residenceSelect.getShi();
          this.form.residencecityname = this.residenceAddresss.shi;
          this.form.residencetown = this.$refs.residenceSelect.getQu();
          this.form.residencetownname = this.residenceAddresss.qu;
          this.form.registertown = this.$refs.registerSelect.getQu();
          this.form.registertownname = this.registerAddresss.qu;
          this.form.reportername = this.$refs.getReportname.$data.selectedLabel;
          try {
            this.form.treatmenthospitalname = this.$refs.addOrgSelect.getOptionByValue(
              this.form.treatmenthospitalno
            ).organizationname;
          } catch {
            this.form.treatmenthospitalname = this.form.treatmenthospitalno;
          }
          try {
            this.form.redorganname = this.$refs.addCrossOrgSelect.getOptionByValue(
              this.form.redorganno
            ).organizationname;
          } catch {
            this.form.redorganname = this.form.redorganno;
          }
          //案例时间更新成获取时间
          if (this.actives == 5) {
            this.$refs["witnessform"].validate(valid1 => {
              this.$refs["form"].validate(valid2 => {
                this.form.donatetime = this.witnessform.operationbegtime;
              });
            });
          }
          if (this.form.id != null) {
            if (this.form.workflow == 0) {
              this.form.workflow = 1;
            }
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              Modifydonationattachment(this.donatelist).then(res => {
                console.log(res);
              });
              this.Getbasicinformation();
              // this.Processvalidation();
              this.open = false;
            });
          } else {
            this.form.workflow = 1;
            this.form.recordstate = 0;
            addDonatebaseinfo(this.form).then(response => {
              if (response.code == 200) {
                this.$modal.msgSuccess("新增成功");
                Modifydonationattachment(this.donatelist).then(res => {
                  console.log(res);
                });
                this.Getbasicinformation();
                // this.Processvalidation();
                this.open = false;
              } else {
                this.$modal.msgError("新增失败:" + response.msg);
              }
            });
          }
        }
      });
    },
    // ä¿å­˜äºŒçº§è¡¨æŒ‰é’®
    Savethedetails() {
      console.log(this.actives);
      if (this.actives == 1) {
        this.medicineform.infoid = this.infoid;
        this.$refs["medicineform"].validate(valid => {
          if (valid) {
            if (this.medicineform.id != null) {
              updateMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("医学评估信息修改成功");
              });
            } else {
              addMedicalevaluation(this.medicineform).then(response => {
                this.$modal.msgSuccess("医学评估信息新增成功");
              });
            }
            this.Processvalidation();
          }
        });
      } else if (this.actives == 2) {
        this.affirmform.infoid = this.infoid;
        this.affirmform.organdecision = this.organdecision.join(",");
        this.$refs["affirmform"].validate(valid => {
          if (valid) {
            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("捐献确认信息修改成功");
              });
            } else {
              addRelativesconfirmation(this.affirmform).then(response => {
                this.$modal.msgSuccess("捐献确认信息新增成功");
              });
            }
            this.Processvalidation();
          }
        });
      } else if (this.actives == 3) {
        this.ethicform.infoid = this.infoid;
        this.$refs["ethicform"].validate(valid => {
          if (valid) {
            if (this.ethicform.id != null) {
              // updateDonateflowchart(this.ethicform).then(response => {
              updateEthicalreviewopinions(this.ethicform).then(res => {
                this.$modal.msgSuccess("伦理审查信息修改成功");
              });
            } else {
              //addDonateflowchart(this.ethicform).then(response => {
              addEthicalreviewopinions(this.ethicform).then(res => {
                this.$modal.msgSuccess("伦理审查信息新增成功");
              });
            }
            this.Processvalidation();
          }
        });
      } else if (this.actives == 4) {
        this.procureddata.infoid = this.infoid;
        this.$refs["allocateddata"].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.allocateddata.map(item => {
            item.applicanttime = formatDate(item.applicanttime);
          });
          saveDonateorgan(this.allocateddata).then(res => {
            if (res == 200) {
              this.$modal.msgSuccess("器官捐献分配信息保存成功!");
            }
          });
          this.Processvalidation();
        });
      } else if (this.actives == 5) {
        this.witnessform.infoid = this.infoid;
        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;
          }
          if (valid) {
            if (this.witnessform.id != null) {
              console.log(456);
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
              });
            } else {
              console.log(123);
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
              });
            }
            //保存器官获取表数据
            this.procureddata.infoid = this.infoid;
            console.log("procureddata", this.procureddata);
            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;
            console.log("transplantdata", this.transplantdata);
            saveDonatecomporgan(this.transplantdata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
              }
            });
            // ä¿å­˜ç¡®è®¤ä¿¡æ¯
            if (this.accomplishform.dcid) {
              console.log(this.accomplishform);
              updateDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记信息修改成功");
              });
            } else {
              addDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记成功");
              });
            }
            this.Processvalidation();
          }
        });
      }
    },
    // åˆ‡æ¢tab
    on_click(e) {
      // if (e != "" || e != null) {
      console.log(this.form.workflow);
      console.log(e);
      let asdx = this.form.workflow + 1;
      if (asdx >= e) {
        this.actives = e;
        this.GetAttacheddata();
      } else {
        this.$modal.msgWarning("请先完成前部步骤");
      }
      // }
    },
    // å™¨å®˜åˆ†é…æ ç›®æŽ§åˆ¶
    changeorganState(value) {
      let selectedIndex = this.organList.organallocated.findIndex(
        item => item == value
      );
      let organIndex = this.allocateddata.findIndex(
        item => item.organno == value
      );
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        if (organIndex != -1) {
          if (this.allocateddata[organIndex].id > 0) {
            this.$confirm(
              "删除器官分配数据后将不法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonateorgan(this.allocateddata[organIndex].id).then(res => {
                  this.allocateddata.splice(organIndex, 1);
                  this.loading = false;
                  this.$modal.msgSuccess(
                    "删除成功,如果需要增加该器官,请重新选择器官!"
                  );
                });
              })
              .catch(() => {
                this.organList.organallocated.push(value);
              });
          } else {
            //新记录直接删除
            this.allocateddata.splice(organIndex, 1);
          }
        }
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
          let temporganname = "";
          for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
            if (value == this.dict.type.sys_Organ[i].value) {
              temporganname = this.dict.type.sys_Organ[i].label;
              break;
            }
          }
          if (temporganname != "") {
            this.allocateddata.push({
              organname: temporganname,
              organno: value,
              id: null,
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: 1
            });
          }
        } else {
          this.$modal.msgWarning("该器官已经分配,请勿重复选择!");
        }
      }
    },
    // å™¨å®˜èŽ·å–é€‰æ‹©æŽ§åˆ¶
    changeorganprocured(value) {
      let selectedIndex = this.organList.organprocured.findIndex(
        item => item == value
      );
      let organIndex = this.procureddata.findIndex(
        item => item.organno == value
      );
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        if (organIndex != -1) {
          if (this.procureddata[organIndex].id > 0) {
            this.$confirm(
              "删除器官分配数据后将不法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonationwitnessorgan(this.procureddata[organIndex].id).then(
                  res => {
                    this.procureddata.splice(organIndex, 1);
                    this.loading = false;
                    this.$modal.msgSuccess(
                      "删除成功,如果需要增加该器官,请重新选择器官!"
                    );
                  }
                );
              })
              .catch(() => {
                this.organList.organprocured.push(value);
              });
          } else {
            //新记录直接删除
            this.procureddata.splice(organIndex, 1);
          }
        }
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
          let temporganname = "";
          for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
            if (value == this.dict.type.sys_Organ[i].value) {
              temporganname = this.dict.type.sys_Organ[i].label;
              break;
            }
          }
          if (temporganname != "") {
            this.procureddata.push({
              organname: temporganname,
              organno: value,
              id: null,
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: "1"
            });
          }
        } else {
          this.$modal.msgWarning("该器官已经分配,请勿重复选择!");
        }
      }
    },
    // å™¨å®˜ç§»æ¤é€‰æ‹©æŽ§åˆ¶
    changeorgantransplant(value) {
      let selectedIndex = this.organList.organtransplant.findIndex(
        item => item == value
      );
      let organIndex = this.transplantdata.findIndex(
        item => item.organno == value
      );
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        if (organIndex != -1) {
          if (this.transplantdata[organIndex].id > 0) {
            this.$confirm(
              "删除器官数据后将不法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonatecomporgan(this.transplantdata[organIndex].id).then(
                  res => {
                    this.transplantdata.splice(organIndex, 1);
                    this.loading = false;
                    this.$modal.msgSuccess(
                      "删除成功,如果需要增加该器官,请重新选择器官!"
                    );
                  }
                );
              })
              .catch(() => {
                this.organList.organtransplant.push(value);
              });
          } else {
            //新记录直接删除
            this.transplantdata.splice(organIndex, 1);
          }
        }
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
          let temporganname = "";
          for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
            if (value == this.dict.type.sys_Organ[i].value) {
              temporganname = this.dict.type.sys_Organ[i].label;
              break;
            }
          }
          if (temporganname != "") {
            this.transplantdata.push({
              organname: temporganname,
              organno: value,
              id: null,
              infoid: this.infoid,
              donorno: this.form.donorno,
              organstate: 1
            });
          }
        } else {
          this.$modal.msgWarning("该器官已经选择,请勿重复选择!");
        }
      }
    },
    // å‰è¿›æ­¥éª¤
    makeastepforward() {
      console.log(this.actives);
      if (this.actives <= 6) {
        this.actives++;
        this.GetAttacheddata();
      } else {
        console.log("已到达最大值");
      }
    },
    // æ›´æ”¹è¿›ç¨‹æ•ˆéªŒ
    Processvalidation() {
      console.log(this.form.workflow);
      console.log(this.actives);
      if (this.form.workflow + 1 == this.actives || this.actives == 6) {
        if (this.form.workflow <= 6) {
          this.form.workflow++;
        } else {
        }
        this.submitForm();
        // this.GetAttacheddata();
      } else if (this.form.workflow > this.actives) {
        // this.submitForm();
        Modifydonationattachment(this.donatelist).then(res => {
          console.log(res);
        });
        this.listDonateannex();
        this.GetAttacheddata();
      } else {
        this.submitForm();
        // this.$modal.msgWarning("请先完成前部步骤");
        return;
      }
      console.log(this.form.workflow);
    },
    // ä¸ŠæŠ¥å®¡æ ¸
    Reportforreview() {},
    // ç»ˆæ­¢æ¡ˆä¾‹
    Terminationcase() {
      this.form.terminationCase == 1
        ? (this.form.terminationCase = 0)
        : (this.form.terminationCase = 1);
      this.submitForm();
    },
    // è¿”回上一页
    cancel() {},
    // ----------------------------------文件
    // èŽ·å–è¯·æ±‚å¤´
    Getnetworkheader() {
      let string = window.location.href;
      if (string.includes("9091")) {
        const index = string.indexOf("9091");
        this.Networkheader = string.slice(0, index + 4); // æˆªå–9091及其前部字符
      } else {
        const index = string.indexOf("8032");
        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
      console.log(delvalue);
      const index = this.donatelist.indexOf(delvalue);
      console.log(index);
      if (index !== -1) {
        if (delvalue.id) {
          this.donatelist[index].delFlag = 1;
          console.log("修改老数据后", this.donatelist);
        } else {
          this.donatelist.splice(index, 1);
          console.log("删除新数据后", this.donatelist);
        }
      } else {
        console.log("查询不到可能是新数据无id");
      }
      // æ–°å¢žæ—¶ä¿®æ”¹ä¸»åˆ—
      if (addvalue.annexurl) {
        this.donatelist.push(addvalue);
        console.log("新增后", this.donatelist);
      }
    },
    //文件上传
    handleUploadError() {},
    remove(file, fileList) {
      this.fileListto.splice(this.fileListto.indexOf(file), 1);
      this.annexfilesList = this.fileListto;
    },
    // ä¸Šä¼ æˆåŠŸ
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      //获取票据信息位置
      if (response.code == 200) {
        // this.form.filename = file.raw.name;
        this.previewpdf = true;
        this.$modal.msgSuccess(response.msg);
        let addvalue = {
          annexname: file.name,
          annexurl: response.fileName,
          delFlag: 0,
          infoid: this.infoid,
          annexfilestype: this.actives
        };
        this.fileListto.push(addvalue);
        this.Newconversion(this.fileListto, "", addvalue);
        this.pdfimgsrcList.push(
          this.Networkheader + "/prod-api" + response.fileName
        );
        console.log(this.pdfimgsrcList);
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
        this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
        this.annexfilesList = this.fileListto;
      } else {
        console.log(response.msg);
      }
    },
    // ç‚¹å‡»ç¥¨æ®
    Filepopup(index, rows, row) {
      this.pdfimgsrcList = [];
      this.pdfVisible = true;
      if (this.annexfilesList.length) {
        this.previewpdf = true;
        this.fileListto = this.annexfilesList;
        console.log(this.fileListto);
        this.pdfimg =
          this.Networkheader + "/prod-api" + this.fileListto[0].annexurl;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(
            this.Networkheader + "/prod-api" + item.annexurl
          );
        });
      } else {
        this.fileListto = [];
        this.pdfimg = "";
        this.pdftitle = "";
      }
      this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
    },
    // ç‚¹å‡»å·²ä¸Šä¼ æ–‡ä»¶
    downFile(item) {
      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.pdfimg =
            this.Networkheader + "/prod-api" + item.response.annexurl;
        }
      } else {
        this.hintitle = "当前文件暂不支持预览";
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
      }
    },
    // æŸ¥è¯¢ç´¢å¼•封装
    getIndexInArray(arr, obj) {
      return arr.indexOf(obj);
    },
    // ç‚¹å‡»åˆ é™¤
    deletedowfile(row) {
      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.Newconversion(this.fileListto, this.fileListto[index], "");
      this.fileListto.splice(index, 1);
      console.log(index);
    },
    // ç‚¹å‡»ä¸Šç§»
    moveupdowfile(row) {
      const index = this.getIndexInArray(this.fileListto, row);
      const item = this.fileListto.splice(index, 1)[0]; // ç§»é™¤æŒ‡å®šç´¢å¼•处的元素,并保存到item变量中
      this.fileListto.splice(index - 1, 0, item); // å°†item插入到索引位置的前一位
    },
    clearFilter() {
      this.$refs.filterTable.clearFilter();
    },
    formatter(row, column) {
      return row.address;
    },
    filterTag(value, row) {
      return row.tag === value;
    },
    //身份证校验赋值
    updateMessage() {
      try {
        const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
        if (reg.test(this.form.idcardno)) {
          // èº«ä»½è¯å·ç æ˜¯å¦åˆæ³•
          var org_birthday = this.form.idcardno.substring(6, 14);
          var org_gender = this.form.idcardno.substring(16, 17);
          var sex = org_gender % 2 == 1 ? 1 : 2;
          var birthday =
            org_birthday.substring(0, 4) +
            "-" +
            org_birthday.substring(4, 6) +
            "-" +
            org_birthday.substring(6, 8);
          var birthdays = new Date(birthday.replace(/-/g, "/"));
          let d = new Date();
          let age =
            d.getFullYear() -
            birthdays.getFullYear() -
            (d.getMonth() < birthdays.getMonth() ||
            (d.getMonth() == birthdays.getMonth() &&
              d.getDate() < birthdays.getDate())
              ? 1
              : 0);
          // èµ‹å€¼ç»™è¡¨æ ¼
          this.form.sex = sex;
          this.form.birthday = birthday;
          this.form.age = age;
        } else {
        }
      } catch {}
    },
    //重新分配器官
    redistribution(row) {
      console.log("redistribution", row);
      row.reallocationreason =
        "已重新分配,原分配信息(姓名:" +
        row.name +
        "、系统编号:" +
        row.caseno +
        "、接收时间:" +
        row.applicanttime +
        ")";
      row.name = null;
      row.caseno = null;
      row.applicanttime = null;
    }
  },
  dicts: [
    "sys_nation",
    "sys_occupation",
    "sys_education",
    "sys_Organ",
    "sys_user_sex",
    "sys_IDType",
    "sys_BloodType",
    "sys_0_1",
    "sys_patientstate",
    "sys_DonationCategory",
    "sys_Kinship",
    "sys_Infectious",
    "sys_bloodtype_rhd",
    "sys_InfoSources",
    "sys_OtherCases",
    "sys_DiseaseType",
    "sys_SelfWill",
    "sys_FamilyRelation",
    "sys_OrganDecision",
    "sys_CoreAssessConclusion",
    "sys_BaseAssessConclusion",
    "sys_EthicalReview"
  ]
};
</script>
<style lang="scss" scoped>
.particularsdiv {
  display: -webkit-box;
  background-color: #f5f7fa;
  height: 100%;
  .left-course {
    background: #fff;
    width: 17vw;
    text-align: center;
    margin: 20px 10px;
    padding: 10px;
    margin-top: 0;
    min-height: 888px;
    .postfilx {
      width: 15vw;
      text-align: center;
      margin: 20px 10px;
      padding: 10px;
      margin-top: 0;
      // z-index: 999;
      // position: -webkit-sticky;
      // position: fixed;
      // top: 50;
    }
    .title {
      background: #22a2c3;
      margin-bottom: 20px;
      padding: 10px 0;
      color: #fff;
    }
  }
}
.upload-demo {
  text-align: center;
}
.pdfimg {
  display: flex; // text-align: center;
  width: 100%;
  height: 600px;
  .box-pdf {
    width: 400px;
    padding-top: 20px;
    margin-right: 30px;
    border: 1px solid #dcdfe6;
    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
      0 0 6px 0 rgba(0, 0, 0, 0.04);
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix.
  }
  .pdftit {
    width: 200px;
    padding: 20px;
    font-size: 18px;
  }
  .pdftit:hover {
    background: #c0cef7;
  }
  .pdfimgmin {
    width: 60%;
    img {
      width: 100%;
    }
  }
  .pdfimgmins {
    font-size: 28px;
    width: 60%;
    text-align: center;
  }
}
.Ticket-button {
  margin-top: 10px;
  text-align: right;
  padding-right: 66px;
}
.boxdiv {
  max-width: 85vw;
  font-size: 18px;
  padding: 0 30px;
  padding-bottom: 10px;
  margin-top: 10px;
  .top-text {
    text-align: center;
    font-size: 23px;
    font-weight: 600;
    margin: 20px 0;
    margin-bottom: 30px;
  }
}
::v-deep .el-step__head.is-finish {
  color: #22a2c3;
  border-color: #22a2c3;
}
::v-deep .el-step__title.is-finish {
  color: #22a2c3;
}
::v-deep .el-step__description.is-finish {
  color: #22a2c3;
}
:v-deep .el-select {
  display: inline-block;
  position: relative;
  width: 80%;
}
</style>
src/views/project/donationdetails/index.vue
@@ -2203,13 +2203,8 @@
          >文件指导目录</el-button
        >
      </div> -->
      <el-tabs
        style="margin-top: 20px;"
        v-model="activeName"
        type="card"
        @tab-click="handleClick"
      >
        <el-tab-pane :label="activetele" :name="1"> </el-tab-pane>
      <el-tabs style="margin-top: 20px;" v-model="activeName" type="card">
        <el-tab-pane :label="activetele" name="1"> </el-tab-pane>
      </el-tabs>
      <div class="pdfimg">
        <div class="box-pdf">
@@ -2416,6 +2411,7 @@
      infoid: 736,
      drawer: false,
      form: {},
      activeName: "",
      tableDatafile: [
        {
          name: "王小虎",
@@ -2641,6 +2637,7 @@
      headers: {
        Authorization: "Bearer " + getToken()
      },
      ICDtoken: getToken(),
      // ç½‘络请求头
      Networkheader: null,
      //票据文件
@@ -2680,7 +2677,6 @@
    Getbasicinformation() {
      // å·¦ä¾§æµç¨‹æ•°æ®
      getDonatebaseinfoflow(this.infoid).then(res => {
        console.log("getDonatebaseinfoflow", res.data);
        this.Processdata = res.data;
      });
@@ -2943,7 +2939,6 @@
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              Modifydonationattachment(this.donatelist).then(res => {
                console.log(res);
              });
              this.Getbasicinformation();
              // this.Processvalidation();
@@ -2956,7 +2951,6 @@
              if (response.code == 200) {
                this.$modal.msgSuccess("新增成功");
                Modifydonationattachment(this.donatelist).then(res => {
                  console.log(res);
                });
                this.Getbasicinformation();
                // this.Processvalidation();
@@ -3079,12 +3073,10 @@
          if (valid) {
            if (this.witnessform.id != null) {
              console.log(456);
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
              });
            } else {
              console.log(123);
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
              });
@@ -3092,7 +3084,6 @@
            //保存器官获取表数据
            this.procureddata.infoid = this.infoid;
            console.log("procureddata", this.procureddata);
            saveDonationwitnessorgan(this.procureddata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
@@ -3109,7 +3100,6 @@
          if (valid) {
            // ä¿å­˜æçŒ®å™¨å®˜ç§»æ¤ä¿¡æ¯
            this.transplantdata.infoid = this.infoid;
            console.log("transplantdata", this.transplantdata);
            saveDonatecomporgan(this.transplantdata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
@@ -3118,7 +3108,6 @@
            // ä¿å­˜ç¡®è®¤ä¿¡æ¯
            if (this.accomplishform.dcid) {
              console.log(this.accomplishform);
              updateDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记信息修改成功");
              });
@@ -3136,8 +3125,7 @@
    // åˆ‡æ¢tab
    on_click(e) {
      // if (e != "" || e != null) {
      console.log(this.form.workflow);
      console.log(e);
      let asdx = this.form.workflow + 1;
      if (asdx >= e) {
        this.actives = e;
@@ -3358,7 +3346,6 @@
    // å‰è¿›æ­¥éª¤
    makeastepforward() {
      console.log(this.actives);
      if (this.actives <= 6) {
        this.actives++;
        this.GetAttacheddata();
@@ -3368,8 +3355,7 @@
    },
    // æ›´æ”¹è¿›ç¨‹æ•ˆéªŒ
    Processvalidation() {
      console.log(this.form.workflow);
      console.log(this.actives);
      if (this.form.workflow + 1 == this.actives || this.actives == 6) {
        if (this.form.workflow <= 6) {
          this.form.workflow++;
@@ -3380,7 +3366,6 @@
      } else if (this.form.workflow > this.actives) {
        // this.submitForm();
        Modifydonationattachment(this.donatelist).then(res => {
          console.log(res);
        });
        this.listDonateannex();
        this.GetAttacheddata();
@@ -3389,7 +3374,6 @@
        // this.$modal.msgWarning("请先完成前部步骤");
        return;
      }
      console.log(this.form.workflow);
    },
    // ä¸ŠæŠ¥å®¡æ ¸
    Reportforreview() {},
@@ -3439,7 +3423,6 @@
          },
          {}
        );
        console.log(groupedArr);
      });
    },
    // é™„件修改数据转存封装
@@ -3457,10 +3440,8 @@
        this.registerlist = arr;
      }
      // åˆ é™¤æ—¶ä¿®æ”¹ä¸»åˆ—delFlag
      console.log(delvalue);
      const index = this.donatelist.indexOf(delvalue);
      console.log(index);
      if (index !== -1) {
      if (index != -1) {
        if (delvalue.id) {
          this.donatelist[index].delFlag = 1;
          console.log("修改老数据后", this.donatelist);
@@ -3486,46 +3467,90 @@
    // ä¸Šä¼ æˆåŠŸ
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
      //获取票据信息位置
      if (response.code == 200) {
        // this.form.filename = file.raw.name;
        this.previewpdf = true;
        fetch(pdfimg, config)
          .then(response => response.blob())
          .then(blob => {
            // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
            this.pdfimg = URL.createObjectURL(blob);
            this.pdfimgsrcList.push(URL.createObjectURL(blob));
            this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
            let addvalue = {
              annexname: file.name,
              annexurl: URL.createObjectURL(blob),
              delFlag: 0,
              infoid: this.infoid,
              annexfilestype: this.actives
            };
            this.fileListto.push(addvalue);
          })
          .catch(error => {
            console.error("Error loading image", error);
            return;
          });
        this.$modal.msgSuccess(response.msg);
        let addvalue = {
        console.log(this.fileListto, "新增后");
        if (!this.annexfilesList) {
          this.annexfilesList = [];
        }
        let addvalues = {
          annexname: file.name,
          annexurl: response.fileName,
          delFlag: 0,
          infoid: this.infoid,
          annexfilestype: this.actives
        };
        this.fileListto.push(addvalue);
        this.Newconversion(this.fileListto, "", addvalue);
        this.pdfimgsrcList.push(
          this.Networkheader + "/prod-api" + response.fileName
        );
        console.log(this.pdfimgsrcList);
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
        this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
        this.annexfilesList = this.fileListto;
        this.annexfilesList.push(addvalues);
        this.Newconversion(this.annexfilesList, "", addvalues);
      } else {
        console.log(response.msg);
      }
    },
    // ç‚¹å‡»ç¥¨æ®
    // æ–‡ä»¶å¼¹çª—触发
    Filepopup(index, rows, row) {
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      this.fileListto = [];
      this.invoicepdfimg = [];
      this.pdfimgsrcList = [];
      this.atpresent = index;
      this.pdfVisible = true;
      if (this.annexfilesList.length) {
        this.previewpdf = true;
        this.fileListto = this.annexfilesList;
        console.log(this.fileListto);
        this.pdfimg =
          this.Networkheader + "/prod-api" + this.fileListto[0].annexurl;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(
            this.Networkheader + "/prod-api" + item.annexurl
          );
        this.annexfilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.annexurl;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.fileListto.push({
                annexname: value.annexname,
                annexurl: URL.createObjectURL(blob),
                delFlag: 0,
                infoid: this.infoid,
                annexfilestype: this.actives
              });
              if (this.fileListto.length == 1) {
                this.pdfimg = URL.createObjectURL(blob);
              }
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        this.previewpdf = true;
      } else {
        this.fileListto = [];
        this.pdfimg = "";
@@ -3537,8 +3562,8 @@
    downFile(item) {
      console.log(item, "点击文件拿item");
      this.pdftitle =
        "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
      let name = item.name.split(".");
        "共" + this.pdfimgsrcList.length + "项,当前选中" + item.annexname;
      let name = item.annexname.split(".");
      if (name[1] == "pdf") {
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
@@ -3546,10 +3571,9 @@
      } else if (name[1] == "jpg" || "png") {
        this.previewpdf = true;
        if (item.annexurl) {
          this.pdfimg = this.Networkheader + "/prod-api" + item.annexurl;
          this.pdfimg = item.annexurl;
        } else {
          this.pdfimg =
            this.Networkheader + "/prod-api" + item.response.annexurl;
          this.pdfimg = "";
        }
      } else {
        this.hintitle = "当前文件暂不支持预览";
@@ -3563,15 +3587,22 @@
    },
    // ç‚¹å‡»åˆ é™¤
    deletedowfile(row) {
      const indexlist = this.getIndexInArray(
        this.pdfimgsrcList,
        this.Networkheader + "/prod-api" + row.annexurl
      );
      let indexvalue = "";
      const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.annexurl);
      this.pdfimgsrcList.splice(indexlist, 1);
      const index = this.getIndexInArray(this.fileListto, row);
      this.Newconversion(this.fileListto, this.fileListto[index], "");
      this.fileListto.splice(index, 1);
      console.log(index);
      indexvalue = this.annexfilesList.find((item, index) => {
        return item.annexname == row.annexname;
      });
      console.log(indexvalue, "删除索引");
      this.annexfilesList.splice(indexvalue, 1);
      this.Newconversion(
        this.annexfilesList,
        indexvalue,
        ""
      );
    },
    // ç‚¹å‡»ä¸Šç§»
    moveupdowfile(row) {
src/views/project/donationwitness/index.vue
@@ -1578,8 +1578,8 @@
    handledownload(row) {
      const id = row.id || this.ids;
      console.log("232323232", row);
      downloadwitnessinfo(row.dwid).then(response => {
        var fileUrl = response;
      downloadwitnessinfo(row.dwid).then(res => {
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
@@ -1588,7 +1588,26 @@
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        aEle.click();
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
      });
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
src/views/project/fund/applyDetail/index.vue
@@ -1126,6 +1126,8 @@
              <!-- <img :src="pdfimg" /> -->
              <el-image
                style="width: 95%; height: 90%"
                @error="handleImageError"
                @load="handleImageLoad"
                :src="pdfimg"
                :preview-src-list="pdfimgsrcList"
              >
@@ -1229,6 +1231,8 @@
              <!-- <img :src="pdfimg" /> -->
              <el-image
                style="width: 95%; height: 90%"
                @error="handleImageError"
                @load="handleImageLoad"
                :src="invoicepdfimg"
                :preview-src-list="invoicepdfimgsrcList"
              >
@@ -1421,7 +1425,7 @@
      businessName: "",
      //操作类型
      operationType: "",
      Loadornot: false,
      //当前单据id
      curId: 0,
      //当前选中捐献案例
@@ -1655,6 +1659,7 @@
      activeName: 1, //文件类型
      //上传附件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      ICDtoken: getToken(),
      //文件上传token
      headers: {
        Authorization: "Bearer " + getToken()
@@ -1754,14 +1759,10 @@
      if (string.includes("9091")) {
        const index = string.indexOf("9091");
        this.Networkheader = string.slice(0, index + 4); // æˆªå–9091及其前部字符
        this.Networkheader = "http://slb.hospitalstar.com:9091";
      } else {
        const index = string.indexOf("8032");
        this.Networkheader = string.slice(0, index + 4); // æˆªå–8032及其前部字符
        this.Networkheader = "http://slb.hospitalstar.com:9091";
      }
      this.Networkheader = "http://slb.hospitalstar.com:9091";
    },
    /** é€šè¿‡å‚数获取业务类型 */
    getroute() {
@@ -3099,26 +3100,45 @@
    totalprint(e) {
      // const id =this.row.id
      getdownloadBX(e).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name = fileUrl["downloadName"];
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
    //文件上传
    handleImageError(e) {
      // åŠ è½½å¤±è´¥
    },
    handleImageLoad(e) {
      // å›¾ç‰‡åŠ è½½æˆåŠŸæ—¶æ‰§è¡Œçš„æ“ä½œ
      console.log("Image loaded successfully");
    },
    handleUploadError() {},
    remove(file, fileList) {
      const rbDetails = [...this.rbDetails];
@@ -3133,49 +3153,88 @@
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
      //获取票据信息位置
      if (this.activeName == 1) {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.pdfimg = URL.createObjectURL(blob);
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
              this.fileListto.push({
                name: file.name,
                url: URL.createObjectURL(blob)
              });
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
          this.$modal.msgSuccess(response.msg);
          this.fileListto.push({
          console.log(this.fileListto, "新增后");
          if (!this.rbDetails[this.atpresent].annexfilesList) {
            this.rbDetails[this.atpresent].annexfilesList = [];
          }
          this.rbDetails[this.atpresent].annexfilesList.push({
            name: file.name,
            url: response.fileName
          });
          this.pdfimgsrcList.push(
            this.Networkheader + "/prod-api" + response.fileName
          );
          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);
        }
      } else {
        if (response.code == 200) {
          this.previewpdf = true;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.invoicepdfimg = URL.createObjectURL(blob);
              this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
              this.invoicefileListto.push({
                name: file.name,
                url: URL.createObjectURL(blob)
              });
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
          this.$modal.msgSuccess(response.msg);
          this.invoicefileListto.push({
          console.log(this.invoicefileListto, "新增后");
          if (!this.rbDetails[this.atpresent].invoicefilesList) {
            this.rbDetails[this.atpresent].invoicefilesList = [];
          }
          this.rbDetails[this.atpresent].invoicefilesList.push({
            name: file.name,
            url: response.fileName
          });
          this.invoicepdfimgsrcList.push(
            this.Networkheader + "/prod-api" + response.fileName
          );
          this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项";
          this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
          this.rbDetails[
            this.atpresent
          ].invoicefilesList = this.invoicefileListto;
        } else {
        }
      }
    },
    // ç‚¹å‡»ç¥¨æ®
    Filepopup(index, rows, row) {
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      this.tableDatatop = [];
      this.fileListto = [];
      this.invoicepdfimg = [];
      this.pdfimgsrcList = [];
      this.invoDatatop = [];
      this.invoicepdfimgsrcList = [];
@@ -3183,29 +3242,57 @@
      this.tableDatatop.push(row);
      this.atpresent = index;
      this.pdfVisible = true;
      if (this.rbDetails[index].annexfilesList) {
        this.previewpdf = true;
        this.fileListto = this.rbDetails[index].annexfilesList;
        this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
        this.rbDetails[index].annexfilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.url;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.fileListto.push({
                name: value.name,
                url: URL.createObjectURL(blob)
              });
              if (this.fileListto.length == 1) {
                this.pdfimg = URL.createObjectURL(blob);
              }
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        this.previewpdf = true;
      } else {
        this.fileListto = [];
        this.pdfimg = "";
        this.pdftitle = "";
      }
      // -发票文件
      //发票
      if (this.rbDetails[index].invoicefilesList) {
        this.previewpdf = true;
        this.invoicefileListto = this.rbDetails[index].invoicefilesList;
        this.invoicepdfimg =
          this.Networkheader + "/prod-api" + this.invoicefileListto[0].url;
        this.invoicefileListto.forEach(item => {
          this.invoicepdfimgsrcList.push(
            this.Networkheader + "/prod-api" + item.url
          );
        this.rbDetails[index].invoicefilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.url;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.invoicefileListto.push({
                name: value.name,
                url: URL.createObjectURL(blob)
              });
              if (this.invoicefileListto.length == 1) {
                this.invoicepdfimg = URL.createObjectURL(blob);
              }
              this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        this.previewpdf = true;
      } else {
        this.invoicefileListto = [];
        this.invoicepdfimg = "";
@@ -3230,11 +3317,12 @@
          this.previewpdf = false;
          this.hintitle = "当前文件暂不支持预览";
        } else if (name[1] == "jpg" || "png") {
          console.log(item, "展示");
          this.previewpdf = true;
          if (item.url) {
            this.pdfimg = this.Networkheader + "/prod-api" + item.url;
            this.pdfimg = item.url;
          } else {
            this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
            this.pdfimg = "";
          }
        } else {
          this.hintitle = "当前文件暂不支持预览";
@@ -3252,10 +3340,9 @@
        } else if (name[1] == "jpg" || "png") {
          this.previewpdf = true;
          if (item.url) {
            this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url;
            this.invoicepdfimg = item.url;
          } else {
            this.invoicepdfimg =
              this.Networkheader + "/prod-api" + item.response.url;
            this.invoicepdfimg = "";
          }
        } else {
          this.hintitle = "当前文件暂不支持预览";
@@ -3277,22 +3364,37 @@
    },
    // ç‚¹å‡»åˆ é™¤
    deletedowfile(row) {
      console.log(row);
      let indexvalue = "";
      if (this.activeName == 1) {
        const indexlist = this.getIndexInArray(
          this.pdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
        );
        const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url);
        this.pdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.fileListto, row);
        this.fileListto.splice(index, 1);
        console.log(this.rbDetails[this.atpresent].annexfilesList);
        indexvalue = this.rbDetails[this.atpresent].annexfilesList.find(
          (item, index) => {
            return item.name == row.name;
          }
        );
        console.log(indexvalue, "删除索引");
        this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1);
      } else {
        const indexlist = this.getIndexInArray(
          this.invoicepdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
          row.url
        );
        this.invoicepdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.invoicefileListto, row);
        this.invoicefileListto.splice(index, 1);
        console.log(this.rbDetails[this.atpresent].invoicefilesList);
        indexvalue = this.rbDetails[this.atpresent].invoicefilesList.find(
          (item, index) => {
            return item.name == row.name;
          }
        );
        console.log(indexvalue, "删除索引");
        this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1);
      }
    },
    // ç‚¹å‡»ä¸Šç§»
@@ -3308,7 +3410,7 @@
      }
    },
    Downloadfile(row) {
      window.location.href = this.Networkheader + "/prod-api" + row.url;
      window.location.href = row.url;
    },
    //专家/医疗机构/费用报销机构选择
src/views/project/fund/ethicalExpertFeeApply/index.vue
@@ -1351,22 +1351,35 @@
    //专家费劳务打印
    dayin(id) {
      getdownloadLL(id).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fund/expertFeeApply/index.vue
@@ -2484,22 +2484,35 @@
    //专家费劳务打印
    dayin(id) {
      getdownloadLW(id).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fund/officeExpenseApply/index.vue
@@ -1817,22 +1817,35 @@
    // æçŒ®è€…医学统计打印
    dayin2(id) {
      getdownloadYX(id).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fund/performanceApply/index.vue
@@ -384,22 +384,35 @@
    // æçŒ®è€…医学统计打印
    dayin2(id) {
      getdownloadYX(id).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fund/performancedetails/index.vue
@@ -894,6 +894,7 @@
      unitforname: null,
      isIndeterminate: true,
      Performanceclass: 68,
      ICDtoken: getToken(),
      //是否是专家费的OPO审批人员
      ismanager: false,
@@ -1021,6 +1022,8 @@
        flowconclusion: null,
        fundid: null
      },
      // ç½‘络请求头
      Networkheader: null,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
@@ -2403,59 +2406,101 @@
        rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto;
      }
    },
    // èŽ·å–è¯·æ±‚å¤´
    Getnetworkheader() {
      let string = window.location.href;
      if (string.includes("9091")) {
        const index = string.indexOf("9091");
        this.Networkheader = string.slice(0, index + 4); // æˆªå–9091及其前部字符
      } else {
        const index = string.indexOf("8032");
        this.Networkheader = string.slice(0, index + 4); // æˆªå–8032及其前部字符
      }
    },
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
      //获取票据信息位置
      console.log(response);
      console.log(file);
      if (this.activeName == 1) {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.pdfimg = URL.createObjectURL(blob);
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
              this.fileListto.push({
                name: file.name,
                url: URL.createObjectURL(blob)
              });
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
          this.$modal.msgSuccess(response.msg);
          this.fileListto.push({
          console.log(this.fileListto, "新增后");
          if (!this.rbDetails[this.atpresent].annexfilesList) {
            this.rbDetails[this.atpresent].annexfilesList = [];
          }
          this.rbDetails[this.atpresent].annexfilesList.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);
        }
      } else {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.invoicepdfimg = URL.createObjectURL(blob);
              this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
              this.invoicefileListto.push({
                name: file.name,
                url: URL.createObjectURL(blob)
              });
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
          this.$modal.msgSuccess(response.msg);
          this.invoicefileListto.push({
          console.log(this.invoicefileListto, "新增后");
          if (!this.rbDetails[this.atpresent].invoicefilesList) {
            this.rbDetails[this.atpresent].invoicefilesList = [];
          }
          this.rbDetails[this.atpresent].invoicefilesList.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);
        }
      }
    },
    // ç‚¹å‡»ç¥¨æ®
    Filepopup(index, rows, row) {
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      this.tableDatatop = [];
      this.fileListto = [];
      this.invoicepdfimg = [];
      this.pdfimgsrcList = [];
      this.invoDatatop = [];
      this.invoicepdfimgsrcList = [];
@@ -2463,34 +2508,57 @@
      this.tableDatatop.push(row);
      this.atpresent = index;
      this.pdfVisible = true;
      console.log(this.rbDetails[index]);
      if (this.rbDetails[index].annexfilesList) {
        this.previewpdf = true;
        this.fileListto = this.rbDetails[index].annexfilesList;
        console.log(this.fileListto);
        this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
        this.rbDetails[index].annexfilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.url;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.fileListto.push({
                name: value.name,
                url: URL.createObjectURL(blob)
              });
              if (this.fileListto.length == 1) {
                this.pdfimg = URL.createObjectURL(blob);
              }
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        this.previewpdf = true;
      } else {
        this.fileListto = [];
        this.pdfimg = "";
        this.pdftitle = "";
      }
      // -发票文件
      //发票
      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
          );
        this.rbDetails[index].invoicefilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.url;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.invoicefileListto.push({
                name: value.name,
                url: URL.createObjectURL(blob)
              });
              if (this.invoicefileListto.length == 1) {
                this.invoicepdfimg = URL.createObjectURL(blob);
              }
              this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        console.log(this.invoicepdfimgsrcList);
        console.log(this.invoicepdfimg);
        this.previewpdf = true;
      } else {
        this.invoicefileListto = [];
        this.invoicepdfimg = "";
@@ -2507,7 +2575,6 @@
    // ç‚¹å‡»å·²ä¸Šä¼ æ–‡ä»¶
    downFile(item) {
      if (this.activeName == 1) {
        console.log(item, "点击文件拿item");
        this.pdftitle =
          "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
        let name = item.name.split(".");
@@ -2516,11 +2583,12 @@
          this.previewpdf = false;
          this.hintitle = "当前文件暂不支持预览";
        } else if (name[1] == "jpg" || "png") {
          console.log(item, "展示");
          this.previewpdf = true;
          if (item.url) {
            this.pdfimg = this.Networkheader + "/prod-api" + item.url;
            this.pdfimg = item.url;
          } else {
            this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
            this.pdfimg = "";
          }
        } else {
          this.hintitle = "当前文件暂不支持预览";
@@ -2528,7 +2596,6 @@
          this.previewpdf = false;
        }
      } else {
        console.log(item, "点击文件拿item");
        this.pdftitle =
          "共" + this.invoicepdfimgsrcList.length + "项,当前选中" + item.name;
        let name = item.name.split(".");
@@ -2539,12 +2606,9 @@
        } 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");
            this.invoicepdfimg = item.url;
          } else {
            this.invoicepdfimg =
              this.Networkheader + "/prod-api" + item.response.url;
            this.invoicepdfimg = "";
          }
        } else {
          this.hintitle = "当前文件暂不支持预览";
@@ -2566,22 +2630,37 @@
    },
    // ç‚¹å‡»åˆ é™¤
    deletedowfile(row) {
      console.log(row);
      let indexvalue = "";
      if (this.activeName == 1) {
        const indexlist = this.getIndexInArray(
          this.pdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
        );
        const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url);
        this.pdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.fileListto, row);
        this.fileListto.splice(index, 1);
        console.log(this.rbDetails[this.atpresent].annexfilesList);
        indexvalue = this.rbDetails[this.atpresent].annexfilesList.find(
          (item, index) => {
            return item.name == row.name;
          }
        );
        console.log(indexvalue, "删除索引");
        this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1);
      } else {
        const indexlist = this.getIndexInArray(
          this.invoicepdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
          row.url
        );
        this.invoicepdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.invoicefileListto, row);
        this.invoicefileListto.splice(index, 1);
        console.log(this.rbDetails[this.atpresent].invoicefilesList);
        indexvalue = this.rbDetails[this.atpresent].invoicefilesList.find(
          (item, index) => {
            return item.name == row.name;
          }
        );
        console.log(indexvalue, "删除索引");
        this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1);
      }
    },
    // ç‚¹å‡»ä¸Šç§»
@@ -2606,6 +2685,7 @@
  created() {
    //获取路由参数
    this.getroute();
    this.Getnetworkheader();
    this.getExternalList();
    this.getFeeUnitList();
    this.listperformance();
src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -106,7 +106,7 @@
              <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit"
                @click="handleCheck(scope.row)">审核</el-button>
              <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
              <el-button size="mini" type="text" icon="el-icon-download" @click="dayin(scope.row.id)">下载</el-button>
              <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)">下载</el-button>
              <!-- <el-popover placement="right" width="400" trigger="click">
                <el-table :data="gridData">
                  <el-table-column
@@ -746,22 +746,35 @@
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fundcheck/expertFeeCheck/index.vue
@@ -129,7 +129,7 @@
              <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit"
                @click="handleCheck(scope.row)">审核</el-button>
              <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
              <el-button size="mini" type="text" icon="el-icon-download" @click="dayin(scope.row.id)">下载</el-button>
              <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)">下载</el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -757,22 +757,35 @@
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fundcheck/medicalCostCheck/index.vue
@@ -769,22 +769,35 @@
    totaldayin(e) {
      // const id =this.row.id
      getdownloadYX(e).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fundcheck/officeExpenseCheck/index.vue
@@ -774,22 +774,35 @@
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fundcheck/performanceCheck/index.vue
@@ -376,22 +376,35 @@
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
src/views/project/fundstatistics/index.vue
@@ -244,22 +244,35 @@
    //导出汇总表
    exportSummary(id) {
      exportFundCost(id).then((res) => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // åˆ›å»ºa标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success",
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // åˆ›å»ºa标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
  },
src/views/project/relativesconfirmation/index.vue
@@ -1922,8 +1922,8 @@
    handledownload(row) {
      const id = row.id || this.ids;
      downloadconfirmationinfo(id).then((response) => {
        var fileUrl = response;
      downloadconfirmationinfo(id).then((res) => {
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
@@ -1932,7 +1932,26 @@
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        aEle.click();
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
      });
    },
src/views/project/travelexpenseapply/index.vue
@@ -1740,21 +1740,27 @@
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        aEle.click();
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
      });
      // downloadconfirmationinfo(id).then((response) => {
      //   var fileUrl = response;
      //   //获取当前网址
      //   var urlBase = process.env.VUE_APP_BASE_API;
      //   var curWWWPath = window.document.location.href;
      //   var pos = curWWWPath.indexOf(window.document.location.pathname);
      //   // åˆ›å»ºa标签
      //   var aEle = document.createElement("a");
      //   aEle.href =
      //     curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
      //   aEle.click();
      // });
    },
    /** æŸ¥è¯¢æŠ¥é”€ç”³è¯·åˆ—表 */
src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -3,19 +3,37 @@
    <div class="boxdiv">
      <div class="top-text">{{ title }}</div>
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row><el-col :span="5">
        <el-row
          ><el-col :span="5">
            <el-form-item label="申请日期" prop="applyTime">
              <el-date-picker style="width: 100%" v-model="form.applyTime" type="date" value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期" :disabled="true">
              <el-date-picker
                style="width: 100%"
                v-model="form.applyTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期"
                :disabled="true"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="经办人" prop="username">
              <el-select v-model="form.username" clearable filterable allow-create ref="getReportname"
                default-first-option placeholder="请选择">
                <el-option v-for="item in personsList" :key="item.reportNo" :label="item.reportName"
                  :value="item.reportName">
              <el-select
                v-model="form.username"
                clearable
                filterable
                allow-create
                ref="getReportname"
                default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in personsList"
                  :key="item.reportNo"
                  :label="item.reportName"
                  :value="item.reportName"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -40,8 +58,18 @@
          </el-col>
          <el-col :span="5">
            <el-form-item label="捐献者" prop="infoid">
              <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="请选择捐献者">
                <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid">
              <el-select
                v-model="form.infoid"
                @change="selectbaseinfo"
                filterable
                placeholder="请选择捐献者"
              >
                <el-option
                  v-for="item in baselist"
                  :key="item.index"
                  :label="item.name"
                  :value="item.infoid"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -50,17 +78,36 @@
        <el-row style="margin-top: 10px">
          <el-col :span="5">
            <el-form-item label="报销金额" prop="amountrequested">
              <el-input :disabled="true" v-model="form.amountrequested" placeholder="报销合计金额" />
              <el-input
                :disabled="true"
                v-model="form.amountrequested"
                placeholder="报销合计金额"
              />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="大写金额" prop="bigstrmoney">
              <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="报销大写金额" />
            </el-form-item> </el-col><el-col :span="4">
              <el-input
                :disabled="true"
                v-model="form.bigstrmoney"
                placeholder="报销大写金额"
              />
            </el-form-item> </el-col
          ><el-col :span="4">
            <el-form-item label="审核状态" prop="flowlevel">
              <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable :disabled="true" size="small">
                <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              <el-select
                v-model="form.recordstatus"
                placeholder="请选择审核状态"
                clearable
                :disabled="true"
                size="small"
              >
                <el-option
                  v-for="dict in dict.type.sys_recordstatus"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
          </el-col>
@@ -165,142 +212,325 @@
        <el-row v-if="jurisdiction">
          <!-- <el-alert title="当前为查看状态,不支持修改存储。" type="warning">
          </el-alert> -->
          <el-alert title="当前为查看状态,不支持修改存储。" type="warning" show-icon>
          <el-alert
            title="当前为查看状态,不支持修改存储。"
            type="warning"
            show-icon
          >
          </el-alert>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px">
          <el-col :span="20">报销明细</el-col>
        </el-row>
        <el-row>
          <el-table :data="rbDetails" ref="table" border max-height="800" highlight-current-row
            :summary-method="getSummaries" show-summary>
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="88">
          <el-table
            :data="rbDetails"
            ref="table"
            border
            max-height="800"
            highlight-current-row
            :summary-method="getSummaries"
            show-summary
          >
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="88"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外不展示-->
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="personname" slot="" label="费用人员" align="center" fixed width="110">
            <el-table-column
              prop="personname"
              slot=""
              label="费用人员"
              align="center"
              fixed
              width="110"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option
                  placeholder="请选择" @focus1="getPersons(scope.row)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  default-first-option
                  placeholder="请选择"
                  @focus1="getPersons(scope.row)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="starttime" slot="" label="开始日期" fixed align="center" width="150">
            <el-table-column
              prop="starttime"
              slot=""
              label="开始日期"
              fixed
              align="center"
              width="150"
            >
              <template slot-scope="scope">
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.endtime) {
                      return (
                        time.getTime() >
                        new Date(scope.row.endtime.replace(/-/g, '/'))
                      );
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.endtime) {
                        return (
                          time.getTime() >
                          new Date(scope.row.endtime.replace(/-/g, '/'))
                        );
                      }
                    }
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" @blur="getdays(scope.row)">
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.starttime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="开始日期"
                  @blur="getdays(scope.row)"
                >
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column prop="endtime" slot="" label="结束日期" align="center" fixed width="150">
            <el-table-column
              prop="endtime"
              slot=""
              label="结束日期"
              align="center"
              fixed
              width="150"
            >
              <template slot-scope="scope">
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.starttime) {
                      return (
                        time.getTime() <
                        new Date(scope.row.starttime.replace(/-/g, '/'))
                      );
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.starttime) {
                        return (
                          time.getTime() <
                          new Date(scope.row.starttime.replace(/-/g, '/'))
                        );
                      }
                    }
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="结束日期" @blur="getdays(scope.row)">
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.endtime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="结束日期"
                  @blur="getdays(scope.row)"
                >
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column prop="departure" slot="" label="出发地" align="center" width="100">
            <el-table-column
              prop="departure"
              slot=""
              label="出发地"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.departure" placeholder="出发地" />
              </template>
            </el-table-column>
            <el-table-column label="到达地" prop="destination" align="center" width="140">
            <el-table-column
              label="到达地"
              prop="destination"
              align="center"
              width="140"
            >
              <template slot-scope="scope">
                <!--  <el-input v-model="scope.row.destination" placeholder="到达地" @blur="getallowance(scope.row)" /> -->
                <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="到达地"
                  @change="getallowance(scope.row)">
                  <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  filterable
                  allow-create
                  v-model="scope.row.destination"
                  value-key="value"
                  placeholder="到达地"
                  @change="getallowance(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_area_name"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="days" label="天数" width="100" align="center">
            <el-table-column
              prop="days"
              label="天数"
              width="100"
              align="center"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.days" @blur="getallowance(scope.row)" placeholder="天数" />
                <el-input
                  v-model="scope.row.days"
                  @blur="getallowance(scope.row)"
                  placeholder="天数"
                />
              </template>
            </el-table-column>
            <el-table-column prop="traffictype" label="出发交通工具" align="center" width="100">
            <el-table-column
              prop="traffictype"
              label="出发交通工具"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.traffictype" placeholder="出发交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.traffictype"
                  placeholder="出发交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="traffictype2" label="返回交通工具" align="center" width="100">
            <el-table-column
              prop="traffictype2"
              label="返回交通工具"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.traffictype2" placeholder="返回交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.traffictype2"
                  placeholder="返回交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="trafficexpense" label="交通费" align="center" width="120">
            <el-table-column
              prop="trafficexpense"
              label="交通费"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
                <el-input
                  v-model="scope.row.trafficexpense"
                  placeholder="交通费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="cityfee" label="市内交通费" align="center" width="120">
            <el-table-column
              prop="cityfee"
              label="市内交通费"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.cityfee" placeholder="市内交通费" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  ">{{ Number(scope.row.cityfee).toFixed(2) }}
                <el-input
                  v-model="scope.row.cityfee"
                  placeholder="市内交通费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                  >{{ Number(scope.row.cityfee).toFixed(2) }}
                </el-input>
              </template>
            </el-table-column>
            <el-table-column prop="hotelexpense" label="住宿费" align="center" width="120">
            <el-table-column
              prop="hotelexpense"
              label="住宿费"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
                <el-input
                  v-model="scope.row.hotelexpense"
                  placeholder="住宿费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
@@ -322,52 +552,118 @@
                />
              </template>
            </el-table-column> -->
            <el-table-column prop="foodallowance" label="伙食补助" align="center" width="120">
            <el-table-column
              prop="foodallowance"
              label="伙食补助"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
                <el-input
                  v-model="scope.row.foodallowance"
                  placeholder="伙食费补助"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="otherexpense" label="公杂费补助" align="center" width="120">
            <el-table-column
              prop="otherexpense"
              label="公杂费补助"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
                <el-input
                  v-model="scope.row.otherexpense"
                  placeholder="杂费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="otherfeeamount" label="其他费用" align="center" width="120">
            <el-table-column
              prop="otherfeeamount"
              label="其他费用"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
                <el-input
                  v-model="scope.row.otherfeeamount"
                  placeholder="其他费用"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="departure" slot="" label="其他费用说明" align="center" width="120">
            <el-table-column
              prop="departure"
              slot=""
              label="其他费用说明"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherfeedesc" placeholder="其他费用说明" />
                <el-input
                  v-model="scope.row.otherfeedesc"
                  placeholder="其他费用说明"
                />
              </template>
            </el-table-column>
            <el-table-column prop="total" label="合计" align="center" width="110" fixed="right">
            <el-table-column
              prop="total"
              label="合计"
              align="center"
              width="110"
              fixed="right"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.total" placeholder="合计" />
              </template>
            </el-table-column>
            <el-table-column fixed="right" label="操作" align="center" width="120">
            <el-table-column
              fixed="right"
              label="操作"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-button type="text" size="mini" @click="addDetailRow(scope.$index)"
                  v-if="operationType == 'edit'">新增</el-button>
                <el-button @click.native.prevent="
                  deleteDetailRow(scope.$index, rbDetails, scope.row)
                  " type="text" size="small" v-if="operationType == 'edit'">删除</el-button>
                <el-button @click.native.prevent="
                  Filepopup(scope.$index, rbDetails, scope.row)
                  " type="text" size="small">票据</el-button>
                <el-button
                  type="text"
                  size="mini"
                  @click="addDetailRow(scope.$index)"
                  v-if="operationType == 'edit'"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deleteDetailRow(scope.$index, rbDetails, scope.row)
                  "
                  type="text"
                  size="small"
                  v-if="operationType == 'edit'"
                  >删除</el-button
                >
                <el-button
                  @click.native.prevent="
                    Filepopup(scope.$index, rbDetails, scope.row)
                  "
                  type="text"
                  size="small"
                  >票据</el-button
                >
              </template>
            </el-table-column>
          </el-table>
@@ -376,61 +672,154 @@
          <el-col :span="20">打款明细</el-col>
        </el-row>
        <el-row style="margin-top: 5px">
          <el-table :data="rbPayees" border max-height="400" highlight-current-row :summary-method="getSummaries"
            show-summary>
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
          <el-table
            :data="rbPayees"
            border
            max-height="400"
            highlight-current-row
            :summary-method="getSummaries"
            show-summary
          >
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="65"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外键不展示-->
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column prop="persontype" slot="" label="收款人类别" align="center" fixed width="150">
            <el-table-column
              prop="persontype"
              slot=""
              label="收款人类别"
              align="center"
              fixed
              width="150"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="收款人类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="收款人类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="personname" slot="" label="收款人" align="center" fixed width="200">
            <el-table-column
              prop="personname"
              slot=""
              label="收款人"
              align="center"
              fixed
              width="200"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname"
                  default-first-option placeholder="请选择" @change="getAccountinfo2(scope.row, scope.row.persontype)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  ref="getReportname"
                  default-first-option
                  placeholder="请选择"
                  @change="getAccountinfo2(scope.row, scope.row.persontype)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="bankname" slot="" label="收款银行" align="center" fixed width="250">
            <el-table-column
              prop="bankname"
              slot=""
              label="收款银行"
              align="center"
              fixed
              width="250"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankname" placeholder="收款银行" />
              </template>
            </el-table-column>
            <el-table-column prop="bankcardno" slot="" label="银行账号" align="center" fixed width="200">
            <el-table-column
              prop="bankcardno"
              slot=""
              label="银行账号"
              align="center"
              fixed
              width="200"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankcardno" placeholder="银行账号" />
                <el-input
                  v-model="scope.row.bankcardno"
                  placeholder="银行账号"
                />
              </template>
            </el-table-column>
            <el-table-column prop="amount" slot="" label="打款金额" align="center" fixed width="130">
            <el-table-column
              prop="amount"
              slot=""
              label="打款金额"
              align="center"
              fixed
              width="130"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.amount" placeholder="打款金额" />
              </template>
            </el-table-column>
            <el-table-column prop="remark" slot="" label="请款说明" align="center" fixed>
            <el-table-column
              prop="remark"
              slot=""
              label="请款说明"
              align="center"
              fixed
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.remark" placeholder="说明" />
              </template>
@@ -443,36 +832,74 @@
                </el-date-picker>
              </template>
            </el-table-column>-->
            <el-table-column label="操作" align="center" width="100" v-if="operationType == 'edit'">
            <el-table-column
              label="操作"
              align="center"
              width="100"
              v-if="operationType == 'edit'"
            >
              <template slot-scope="scope">
                <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">新增</el-button>
                <el-button @click.native.prevent="
                  deletePayeeRow(scope.$index, rbPayees, scope.row)
                  " type="text" size="small">
                <el-button
                  type="text"
                  size="mini"
                  @click="addPayeeRow(scope.$index)"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deletePayeeRow(scope.$index, rbPayees, scope.row)
                  "
                  type="text"
                  size="small"
                >
                  åˆ é™¤
                </el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType != 'edit'">
        <el-row
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="operationType != 'edit'"
        >
          <el-col :span="20">审核记录</el-col>
        </el-row>
        <el-row v-if="operationType != 'add'">
          <el-table :data="fundflowList" border>
            <el-table-column label="审核日期" align="center" width="200" prop="createTime" />
            <el-table-column label="审核人" align="center" width="150" prop="checkusername" />
            <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion">
            <el-table-column
              label="审核日期"
              align="center"
              width="200"
              prop="createTime"
            />
            <el-table-column
              label="审核人"
              align="center"
              width="150"
              prop="checkusername"
            />
            <el-table-column
              label="审核结果"
              align="center"
              width="200"
              prop="flowconclusion"
            >
              <template slot-scope="scope">
                <span v-if="scope.row.flowconclusion == 1">通过</span>
                <span v-if="scope.row.flowconclusion == 2">不通过</span>
              </template>
            </el-table-column>
            <el-table-column label="审核备注" align="center" prop="flowcontent" />
            <el-table-column
              label="审核备注"
              align="center"
              prop="flowcontent"
            />
          </el-table>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px"
          v-if="operationType == 'check' && userprofile.nickName == '陈慕华'">
        <el-row
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="operationType == 'check' && userprofile.nickName == '陈慕华'"
        >
          <el-col :span="12">
            <el-form-item label="预审材料" prop="infoid">
              <el-radio-group v-model="form.checkstatus" align="left">
@@ -484,7 +911,10 @@
          </el-col>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'">
        <el-row
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="operationType == 'check'"
        >
          <el-col :span="7">
            <el-form-item label="审核结果" align="left">
              <el-radio-group v-model="checkObj.flowlevelone" align="left">
@@ -503,15 +933,30 @@
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm" v-if="operationType == 'edit' || userprofile.nickName == '陈慕华'">保
          å­˜</el-button>
        <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">提交审核</el-button>
        <el-button
          type="primary"
          @click="submitForm"
          v-if="operationType == 'edit' || userprofile.nickName == '陈慕华'"
          >保 å­˜</el-button
        >
        <el-button
          type="primary"
          @click="checksubmit"
          v-if="operationType == 'check'"
          >提交审核</el-button
        >
        <!--<el-button @click="cancel">退 å‡º</el-button>-->
      </div>
    </div>
    <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :visible.sync="pdfVisible"
      width="60%">
    <el-dialog
      v-dialogDrags
      :modal="false"
      :close-on-click-modal="false"
      :title="pdftitle"
      :visible.sync="pdfVisible"
      width="60%"
    >
      <div>
        <el-table :data="tableDatatop" style="width: 100%">
          <el-table-column prop="orderno" label="序号"> </el-table-column>
@@ -541,24 +986,59 @@
          </el-table-column>
        </el-table>
      </div>
      <el-tabs style="margin-top: 20px;" v-model="activeName" type="border-card" @tab-click="handleClick">
      <el-tabs
        style="margin-top: 20px;"
        v-model="activeName"
        type="border-card"
        @tab-click="handleClick"
      >
        <el-tab-pane label="普通附件" :name="1">
          <div class="pdfimg">
            <div class="box-pdf">
              <div>
                <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto"
                  :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) =>
                <el-upload
                  size="mini"
                  class="upload-demo"
                  :action="uploadFileUrl"
                  :file-list="fileListto"
                  :show-file-list="false"
                  multiple
                  drag
                  :headers="headers"
                  :on-success="
                    (response, file, fileList) =>
                      uploadSccess(response, file, fileList)
                    " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError"
                  :on-remove="remove" accept="image/*,.pdf">
                  "
                  :on-preview="downFile"
                  :disabled="operationType == 'detail'"
                  :on-error="handleUploadError"
                  :on-remove="remove"
                  accept="image/*,.pdf"
                >
                  <i class="el-icon-upload"></i>
                  <div class="el-upload__text">
                    å°†ç¥¨æ®æ‹–到此处,或
                    <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">点击上传</el-button></em>
                    <em
                      ><el-button
                        :disabled="operationType == 'detail'"
                        size="small"
                        type="primary"
                        >点击上传</el-button
                      ></em
                    >
                  </div>
                </el-upload>
                <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400">
                  <el-table-column prop="name" :show-overflow-tooltip="true" label="名称">
                <el-table
                  :data="fileListto"
                  @row-click="downFile"
                  style="width: 100%"
                  height="400"
                >
                  <el-table-column
                    prop="name"
                    :show-overflow-tooltip="true"
                    label="名称"
                  >
                    <template slot-scope="scope">
                      <i style="color:#409EFF" class=" el-icon-s-order" />{{
                        scope.row.name
@@ -566,21 +1046,41 @@
                    </template>
                  </el-table-column>
                  <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="功能">
                  <el-table-column
                    prop="name"
                    width="180"
                    :show-overflow-tooltip="true"
                    label="功能"
                  >
                    <template slot-scope="scope">
                      <el-button type="primary" size="mini"
                        @click.native.prevent.stop="deletedowfile(scope.row)">删除</el-button>
                      <el-button type="primary" size="mini"
                        @click.native.prevent.stop="moveupdowfile(scope.row)">上移</el-button>
                      <el-button
                        type="primary"
                        size="mini"
                        @click.native.prevent.stop="deletedowfile(scope.row)"
                        >删除</el-button
                      >
                      <el-button
                        type="primary"
                        size="mini"
                        @click.native.prevent.stop="moveupdowfile(scope.row)"
                        >上移</el-button
                      >
                    </template>
                  </el-table-column>
                </el-table>
              </div>
            </div>
            <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin">
            <div
              v-if="this.previewpdf && pdfimgsrcList.length"
              class="pdfimgmin"
            >
              <!-- <img :src="pdfimg" /> -->
              <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList">
              <el-image
                style="width: 95%; height: 90%"
                :src="pdfimg"
                :preview-src-list="pdfimgsrcList"
              >
                <!-- <div slot="error" class="image-slot">
              <i class="el-icon-picture-outline"></i>
            </div> -->
@@ -593,19 +1093,49 @@
          <div class="pdfimg">
            <div class="box-pdf">
              <div>
                <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="invoicefileList"
                  :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) =>
                <el-upload
                  size="mini"
                  class="upload-demo"
                  :action="uploadFileUrl"
                  :file-list="invoicefileList"
                  :show-file-list="false"
                  multiple
                  drag
                  :headers="headers"
                  :on-success="
                    (response, file, fileList) =>
                      uploadSccess(response, file, fileList)
                    " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError"
                  :on-remove="remove" accept="image/*,.pdf">
                  "
                  :on-preview="downFile"
                  :disabled="operationType == 'detail'"
                  :on-error="handleUploadError"
                  :on-remove="remove"
                  accept="image/*,.pdf"
                >
                  <i class="el-icon-upload"></i>
                  <div class="el-upload__text">
                    å°†å‘票文件拖到此处,或
                    <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">点击上传</el-button></em>
                    <em
                      ><el-button
                        :disabled="operationType == 'detail'"
                        size="small"
                        type="primary"
                        >点击上传</el-button
                      ></em
                    >
                  </div>
                </el-upload>
                <el-table :data="invoicefileListto" @row-click="downFile" style="width: 100%" height="400">
                  <el-table-column prop="name" :show-overflow-tooltip="true" label="名称">
                <el-table
                  :data="invoicefileListto"
                  @row-click="downFile"
                  style="width: 100%"
                  height="400"
                >
                  <el-table-column
                    prop="name"
                    :show-overflow-tooltip="true"
                    label="名称"
                  >
                    <template slot-scope="scope">
                      <i style="color:#409EFF" class=" el-icon-s-order" />{{
                        scope.row.name
@@ -613,21 +1143,41 @@
                    </template>
                  </el-table-column>
                  <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="功能">
                  <el-table-column
                    prop="name"
                    width="180"
                    :show-overflow-tooltip="true"
                    label="功能"
                  >
                    <template slot-scope="scope">
                      <el-button type="primary" size="mini"
                        @click.native.prevent.stop="deletedowfile(scope.row)">删除</el-button>
                      <el-button type="primary" size="mini"
                        @click.native.prevent.stop="moveupdowfile(scope.row)">上移</el-button>
                      <el-button
                        type="primary"
                        size="mini"
                        @click.native.prevent.stop="deletedowfile(scope.row)"
                        >删除</el-button
                      >
                      <el-button
                        type="primary"
                        size="mini"
                        @click.native.prevent.stop="moveupdowfile(scope.row)"
                        >上移</el-button
                      >
                    </template>
                  </el-table-column>
                </el-table>
              </div>
            </div>
            <div v-if="this.previewpdf && invoicepdfimgsrcList.length" class="pdfimgmin">
            <div
              v-if="this.previewpdf && invoicepdfimgsrcList.length"
              class="pdfimgmin"
            >
              <!-- <img :src="pdfimg" /> -->
              <el-image style="width: 95%; height: 90%" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList">
              <el-image
                style="width: 95%; height: 90%"
                :src="invoicepdfimg"
                :preview-src-list="invoicepdfimgsrcList"
              >
                <!-- <div slot="error" class="image-slot">
              <i class="el-icon-picture-outline"></i>
            </div> -->
@@ -639,10 +1189,14 @@
      </el-tabs>
    </el-dialog>
    <el-dialog title="提示" :visible.sync="Savereminder" width="30%">
      <el-alert :title="'您已添加' +
        totalquantity +
        '条数据,为防止数据丢失是否提交保存再继续添加。'
        " type="warning">
      <el-alert
        :title="
          '您已添加' +
            totalquantity +
            '条数据,为防止数据丢失是否提交保存再继续添加。'
        "
        type="warning"
      >
      </el-alert>
      <span slot="footer" class="dialog-footer">
        <el-button @click="unsave">取 æ¶ˆ</el-button>
@@ -736,6 +1290,7 @@
        value: 0,
        label: ""
      },
      ICDtoken: getToken(),
      pdfimgsrcList: [],
      Savereminder: false, //提醒保存弹框
      Reminderquantity: 0, //提醒数量
@@ -947,7 +1502,7 @@
      if (
        (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
          JSON.stringify(this.rbDetails) ==
          sessionStorage.getItem("apifunddetail")) ||
            sessionStorage.getItem("apifunddetail")) ||
        !sessionStorage.getItem("apifunddetail")
      ) {
      } else {
@@ -960,7 +1515,7 @@
      }
    },
    handleUploadError() { },
    handleUploadError() {},
    // èŽ·å–è¯·æ±‚å¤´
    Getnetworkheader() {
      console.log(window.location.href);
@@ -1001,52 +1556,87 @@
    //文件上传成功回调
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
      //获取票据信息位置
      if (this.activeName == 1) {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.pdfimg = URL.createObjectURL(blob);
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
              this.fileListto.push({
                name: file.name,
                url: URL.createObjectURL(blob)
              });
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
          this.$modal.msgSuccess(response.msg);
          this.fileListto.push({
          console.log(this.fileListto, "新增后");
          if (!this.rbDetails[this.atpresent].annexfilesList) {
            this.rbDetails[this.atpresent].annexfilesList = [];
          }
          this.rbDetails[this.atpresent].annexfilesList.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);
        }
      } else {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.invoicepdfimg = URL.createObjectURL(blob);
              this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
              this.invoicefileListto.push({
                name: file.name,
                url: URL.createObjectURL(blob)
              });
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
          this.$modal.msgSuccess(response.msg);
          this.invoicefileListto.push({
          console.log(this.invoicefileListto, "新增后");
          if (!this.rbDetails[this.atpresent].invoicefilesList) {
            this.rbDetails[this.atpresent].invoicefilesList = [];
          }
          this.rbDetails[this.atpresent].invoicefilesList.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;
        } else {
          console.log(response.msg);
        }
      }
    },
    // ç‚¹å‡»ç¥¨æ®
    Filepopup(index, rows, row) {
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      this.tableDatatop = [];
      this.fileListto = [];
      this.invoicepdfimg = [];
      this.pdfimgsrcList = [];
      this.invoDatatop = [];
      this.invoicepdfimgsrcList = [];
@@ -1054,34 +1644,57 @@
      this.tableDatatop.push(row);
      this.atpresent = index;
      this.pdfVisible = true;
      console.log(this.rbDetails[index]);
      if (this.rbDetails[index].annexfilesList) {
        this.previewpdf = true;
        this.fileListto = this.rbDetails[index].annexfilesList;
        console.log(this.fileListto);
        this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
        this.rbDetails[index].annexfilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.url;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.fileListto.push({
                name: value.name,
                url: URL.createObjectURL(blob)
              });
              if (this.fileListto.length == 1) {
                this.pdfimg = URL.createObjectURL(blob);
              }
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        this.previewpdf = true;
      } else {
        this.fileListto = [];
        this.pdfimg = "";
        this.pdftitle = "";
      }
      // -发票文件
      //发票
      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
          );
        this.rbDetails[index].invoicefilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.url;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // å°†èŽ·å–çš„æ•°æ®æµè½¬æ¢ä¸ºURL
              this.invoicefileListto.push({
                name: value.name,
                url: URL.createObjectURL(blob)
              });
              if (this.invoicefileListto.length == 1) {
                this.invoicepdfimg = URL.createObjectURL(blob);
              }
              this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        console.log(this.invoicepdfimgsrcList);
        console.log(this.invoicepdfimg);
        this.previewpdf = true;
      } else {
        this.invoicefileListto = [];
        this.invoicepdfimg = "";
@@ -1098,7 +1711,6 @@
    // ç‚¹å‡»å·²ä¸Šä¼ æ–‡ä»¶
    downFile(item) {
      if (this.activeName == 1) {
        console.log(item, "点击文件拿item");
        this.pdftitle =
          "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
        let name = item.name.split(".");
@@ -1107,11 +1719,12 @@
          this.previewpdf = false;
          this.hintitle = "当前文件暂不支持预览";
        } else if (name[1] == "jpg" || "png") {
          console.log(item, "展示");
          this.previewpdf = true;
          if (item.url) {
            this.pdfimg = this.Networkheader + "/prod-api" + item.url;
            this.pdfimg = item.url;
          } else {
            this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
            this.pdfimg = "";
          }
        } else {
          this.hintitle = "当前文件暂不支持预览";
@@ -1119,7 +1732,6 @@
          this.previewpdf = false;
        }
      } else {
        console.log(item, "点击文件拿item");
        this.pdftitle =
          "共" + this.invoicepdfimgsrcList.length + "项,当前选中" + item.name;
        let name = item.name.split(".");
@@ -1130,12 +1742,9 @@
        } 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");
            this.invoicepdfimg = item.url;
          } else {
            this.invoicepdfimg =
              this.Networkheader + "/prod-api" + item.response.url;
            this.invoicepdfimg = "";
          }
        } else {
          this.hintitle = "当前文件暂不支持预览";
@@ -1149,22 +1758,37 @@
    },
    // ç‚¹å‡»åˆ é™¤
    deletedowfile(row) {
      console.log(row);
      let indexvalue = "";
      if (this.activeName == 1) {
        const indexlist = this.getIndexInArray(
          this.pdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
        );
        const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url);
        this.pdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.fileListto, row);
        this.fileListto.splice(index, 1);
        console.log(this.rbDetails[this.atpresent].annexfilesList);
        indexvalue = this.rbDetails[this.atpresent].annexfilesList.find(
          (item, index) => {
            return item.name == row.name;
          }
        );
        console.log(indexvalue, "删除索引");
        this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1);
      } else {
        const indexlist = this.getIndexInArray(
          this.invoicepdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
          row.url
        );
        this.invoicepdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.invoicefileListto, row);
        this.invoicefileListto.splice(index, 1);
        console.log(this.rbDetails[this.atpresent].invoicefilesList);
        indexvalue = this.rbDetails[this.atpresent].invoicefilesList.find(
          (item, index) => {
            return item.name == row.name;
          }
        );
        console.log(indexvalue, "删除索引");
        this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1);
      }
    },
    // ç‚¹å‡»ä¸Šç§»
@@ -1280,7 +1904,7 @@
        row.days = (
          Math.floor(
            Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
            (1000 * 3600 * 24)
              (1000 * 3600 * 24)
          ) + 1
        ).toString();
      } else {
@@ -1450,21 +2074,27 @@
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        aEle.click();
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name = fileUrl["downloadName"];
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
      });
      // downloadconfirmationinfo(id).then((response) => {
      //   var fileUrl = response;
      //   //获取当前网址
      //   var urlBase = process.env.VUE_APP_BASE_API;
      //   var curWWWPath = window.document.location.href;
      //   var pos = curWWWPath.indexOf(window.document.location.pathname);
      //   // åˆ›å»ºa标签
      //   var aEle = document.createElement("a");
      //   aEle.href =
      //     curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
      //   aEle.click();
      // });
    },
    /** æŸ¥è¯¢æŠ¥é”€ç”³è¯·åˆ—表 */
@@ -1605,13 +2235,13 @@
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        this.invoicefileListto = this.form.invoicefilesList
          ? this.form.invoicefilesList
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        this.form.recordstatus = response.data.recordstatus + "";
        sessionStorage.removeItem("apiform");
@@ -1670,13 +2300,13 @@
        //票据
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        this.invoicefileListto = this.form.invoicefilesList
          ? this.form.invoicefilesList
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        //审核状态
        this.form.recordstatus = response.data.recordstatus + "";
@@ -1728,13 +2358,13 @@
        //票据
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        this.invoicefileListto = this.form.invoicefilesList
          ? this.form.invoicefilesList
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        //审核状态
@@ -1811,10 +2441,9 @@
    },
    /** æäº¤ä¿å­˜æŒ‰é’® */
    submitForm: debounce(function (data) {
    submitForm: debounce(function(data) {
      this.$refs["form"].validate(valid => {
        if (valid) {
          //票据文件处理
          const addnumber = this.rbPayees.reduce(
            (amount, item) => amount + Number(item.amount),
@@ -1840,11 +2469,29 @@
            //保存明细
            for (let i = 0; i < rbDetails.length; i++) {
              if (rbDetails[i].rbid != null) {
                updateReimbursementdetail(rbDetails[i]);
                if (rbDetails[i].persontype == "家属") {
                  if (this.form.infoid) {
                    updateReimbursementdetail(rbDetails[i]);
                  } else {
                   return this.$message.error(`因家属分配要求,请选择捐献者信息`);
                  }
                } else {
                  updateReimbursementdetail(rbDetails[i]);
                }
              } else {
                //rbid关联主表Id
                rbDetails[i].rbid = this.form.id;
                addReimbursementdetail(rbDetails[i]);
                if (rbDetails[i].persontype == "家属") {
                  if (this.form.infoid) {
                    //rbid关联主表Id
                    rbDetails[i].rbid = this.form.id;
                    addReimbursementdetail(rbDetails[i]);
                  } else {
                   return this.$message.error(`因家属分配要求,请选择捐献者信息`);
                  }
                } else {
                  //rbid关联主表Id
                  rbDetails[i].rbid = this.form.id;
                  addReimbursementdetail(rbDetails[i]);
                }
              }
            }
@@ -1870,8 +2517,19 @@
            this.form.recordstatus = -1;
            // ç”³è¯·æ—¶é—´
            var currenttime = new Date();
            this.form.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth() + 1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds();
            this.form.applyTime =
              currenttime.getFullYear() +
              "-" +
              (currenttime.getMonth() + 1) +
              "-" +
              currenttime.getDate() +
              " " +
              currenttime.getHours() +
              ":" +
              currenttime.getMinutes() +
              ":" +
              currenttime.getSeconds();
            addReimbursement(this.form)
              .then(response => {
                //保存明细
@@ -1913,7 +2571,7 @@
      const ids = row.id || this.ids;
      this.$modal
        .confirm("是否确认删除该条记录?")
        .then(function () {
        .then(function() {
          // åˆ é™¤details内的数据
          return delReimbursement(ids);
        })
@@ -1922,7 +2580,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
        .catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
@@ -1938,7 +2596,7 @@
          this.$download.name(response.msg);
          this.exportLoading = false;
        })
        .catch(() => { });
        .catch(() => {});
    },
    // å–消提醒
    unsave() {
@@ -2328,7 +2986,7 @@
        this.form.amountrequested = allSum.toFixed(2);
        this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
      } catch { }
      } catch {}
    },
    //金额数字转换成大写
src/views/project/travelexpensecheck/index.vue
@@ -1,55 +1,110 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
    <el-form
      :model="queryParams"
      ref="queryForm"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
      <el-row>
        <el-col :span="5">
          <el-form-item label="捐献案例" prop="name">
            <el-input v-model="queryParams.donorname" placeholder="请输入捐献者姓名" clearable size="small"
              @keyup.enter.native="handleQuery" />
            <el-input
              v-model="queryParams.donorname"
              placeholder="请输入捐献者姓名"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="预审状态" prop="checkstatus" style="float: left">
            <el-select v-model="queryParams.checkstatus" placeholder="请选择" style="width: 100%">
              <el-option v-for="item in checkmaterials" :key="item.value" :label="item.label" :value="item.value">
            <el-select
              v-model="queryParams.checkstatus"
              placeholder="请选择"
              style="width: 100%"
            >
              <el-option
                v-for="item in checkmaterials"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="审批状态" prop="CHECKFLAG" style="float: left">
            <el-select v-model="queryParams.CHECKFLAG" placeholder="请选择" style="width: 100%">
              <el-option v-for="item in checkFlagOptions" :key="item.value" :label="item.label" :value="item.value">
            <el-select
              v-model="queryParams.CHECKFLAG"
              placeholder="请选择"
              style="width: 100%"
            >
              <el-option
                v-for="item in checkFlagOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="经办人" prop="username">
            <el-input v-model="queryParams.username" placeholder="请输入报销人" clearable size="small"
              @keyup.enter.native="handleQuery" />
            <el-input
              v-model="queryParams.username"
              placeholder="请输入报销人"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="5">
          <el-form-item label="报销金额" prop="money" style="float: left">
            <el-input v-model="queryParams.money" placeholder="请输入申请人金额" clearable size="small"
              @keyup.enter.native="handleQuery" />
            <el-input
              v-model="queryParams.money"
              placeholder="请输入申请人金额"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="申请日期" prop="applyTime">
            <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="value1" type="daterange" @blur="onpick"
              range-separator="至" start-placeholder="报销申请开始日期" end-placeholder="报销申请结束日期"
              @keyup.enter.native="handleQuery">
            <el-date-picker
              format="yyyy-MM-dd"
              value-format="yyyy-MM-dd"
              v-model="value1"
              type="daterange"
              @blur="onpick"
              range-separator="至"
              start-placeholder="报销申请开始日期"
              end-placeholder="报销申请结束日期"
              @keyup.enter.native="handleQuery"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-col>
      </el-row>
@@ -57,13 +112,28 @@
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading"
          @click="handleExport">导出</el-button>
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          :loading="exportLoading"
          @click="handleExport"
          >导出</el-button
        >
      </el-col>
      <!-- v-hasPermi="['project:funddetail:export']" -->
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
    </el-row>
    <el-table border v-loading="loading" :data="reimbursementList" @selection-change="handleSelectionChange">
    <el-table
      border
      v-loading="loading"
      :data="reimbursementList"
      @selection-change="handleSelectionChange"
    >
      <!-- <el-table-column type="selection" width="55" align="center" /> -->
      <!--
@@ -73,27 +143,73 @@
        </template>
      </el-table-column>-->
      <el-table-column label="报销单号" width="120" align="center" prop="bh" />
      <el-table-column label="申请日期" width="120" align="center" prop="applyTime">
      <el-table-column
        label="申请日期"
        width="120"
        align="center"
        prop="applyTime"
      >
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column label="报销金额" width="120" align="center" prop="amountrequested" />
      <el-table-column label="经办人" width="120" align="center" prop="username" />
      <el-table-column label="申请材料状态" width="140" align="center" prop="checkstatus">
      <el-table-column
        label="报销金额"
        width="120"
        align="center"
        prop="amountrequested"
      />
      <el-table-column
        label="经办人"
        width="120"
        align="center"
        prop="username"
      />
      <el-table-column
        label="申请材料状态"
        width="140"
        align="center"
        prop="checkstatus"
      >
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_stage_type" :value="scope.row.checkstatus" />
          <dict-tag
            :options="dict.type.sys_stage_type"
            :value="scope.row.checkstatus"
          />
        </template>
      </el-table-column>
      <el-table-column label="审批状态" width="140" align="center" prop="checkFlag">
      <el-table-column
        label="审批状态"
        width="140"
        align="center"
        prop="checkFlag"
      >
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
          <dict-tag
            :options="dict.type.sys_recordstatus"
            :value="scope.row.recordstatus"
          />
        </template>
      </el-table-column>
      <el-table-column label="出差事由" align="center" prop="reason" />
      <el-table-column label="所属组别" width="120" align="center" prop="deptmentname" />
      <el-table-column label="组长" width="120" align="center" prop="managername" />
      <el-table-column label="捐献者" width="120" align="center" prop="donorname" />
      <el-table-column
        label="所属组别"
        width="120"
        align="center"
        prop="deptmentname"
      />
      <el-table-column
        label="组长"
        width="120"
        align="center"
        prop="managername"
      />
      <el-table-column
        label="捐献者"
        width="120"
        align="center"
        prop="donorname"
      />
      <!-- 
      <el-table-column label="出差人" width="180" align="center" prop="travelers">
      </el-table-column>
@@ -110,51 +226,108 @@
      <el-table-column label="财务核对" align="center" prop="financechecher"/>
      <el-table-column label="财务审核" width="120" align="center" prop="financedirector"/>
-->
      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="270">
      <el-table-column
        label="操作"
        align="center"
        fixed="right"
        class-name="small-padding fixed-width"
        width="270"
      >
        <template slot-scope="scope">
          <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 1"
            @click="handleUpdate(scope.row)">审批</el-button>
          <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0"
            @click="handleShow(scope.row)">详情</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            v-if="scope.row.checkFlag == 1"
            @click="handleUpdate(scope.row)"
            >审批</el-button
          >
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            v-if="scope.row.checkFlag == 0"
            @click="handleShow(scope.row)"
            >详情</el-button
          >
          <!-- v-hasPermi="['project:funddetail:edit']" -->
          <el-button size="mini" type="text" icon="el-icon-download" @click="gettable(scope.row)">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-download"
            @click="gettable(scope.row)"
          >
            ä¸‹è½½
          </el-button>
          <!-- v-hasPermi="['project:funddetail:edit']" -->
          <el-button size="mini" type="text" icon="el-icon-delete" :disabled="true"
            @click="handleDelete(scope.row)">删除</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            :disabled="true"
            @click="handleDelete(scope.row)"
            >删除</el-button
          >
          <!-- v-hasPermi="['project:funddetail:remove']" -->
        </template>
      </el-table-column>
    </el-table>
    <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
      @pagination="getList" />
    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- æ·»åŠ æˆ–ä¿®æ”¹è´¹ç”¨ç”³è¯·æ˜Žç»†å¯¹è¯æ¡† -->
    <el-dialog :title="title" :visible.sync="open" width="1400px" append-to-body>
    <el-dialog
      :title="title"
      :visible.sync="open"
      width="1400px"
      append-to-body
    >
      <el-form ref="form" :model="form" label-width="120px">
        <el-row>
          <el-col :span="5">
            <el-form-item label="申请日期" prop="applyTime">
              <el-date-picker style="width: 100%" v-model="form.applyTime" :disabled="true" type="date"
                value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请日期">
              <el-date-picker
                style="width: 100%"
                v-model="form.applyTime"
                :disabled="true"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="经办人" prop="username">
              <el-input v-model="form.username" placeholder="报销人" :disabled="true" />
              <el-input
                v-model="form.username"
                placeholder="报销人"
                :disabled="true"
              />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="所属组别" prop="deptmentname">
              <el-input v-model="form.deptmentname" placeholder="所属组别" :disabled="true" />
              <el-input
                v-model="form.deptmentname"
                placeholder="所属组别"
                :disabled="true"
              />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="组长" prop="managername">
              <el-input v-model="form.managername" placeholder="组长" :disabled="true" />
              <el-input
                v-model="form.managername"
                placeholder="组长"
                :disabled="true"
              />
            </el-form-item>
          </el-col>
        </el-row>
@@ -193,7 +366,8 @@
              <el-input v-model="form.reason" placeholder="出差事由" />
            </el-form-item>
          </el-col>
          <el-col :span="5"><el-form-item label="捐献者" prop="donorname">
          <el-col :span="5"
            ><el-form-item label="捐献者" prop="donorname">
              <el-input v-model="form.donorname" placeholder="捐献者" />
            </el-form-item>
          </el-col>
@@ -201,14 +375,23 @@
        <el-row style="margin-top: 10px">
          <el-col :span="5">
            <el-form-item label="报销金额" prop="amountrequested">
              <el-input v-model="form.amountrequested" placeholder="报销金额" :disabled="true" />
              <el-input
                v-model="form.amountrequested"
                placeholder="报销金额"
                :disabled="true"
              />
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <el-form-item label="大写金额" prop="bigstrmoney">
              <el-input v-model="form.bigstrmoney" placeholder="大写金额" :disabled="true" />
            </el-form-item> </el-col><!--
              <el-input
                v-model="form.bigstrmoney"
                placeholder="大写金额"
                :disabled="true"
              />
            </el-form-item> </el-col
          ><!--
          <el-col :span="6">
            <el-form-item label="领款金额" prop="amountrequested">
              <el-input v-model="form.amountrequested" placeholder="领款金额" />
@@ -220,17 +403,34 @@
          </el-col>-->
          <el-col :span="5">
            <el-form-item label="审核状态" prop="flowlevel">
              <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable :disabled="true" size="small">
                <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              <el-select
                v-model="form.recordstatus"
                placeholder="请选择审核状态"
                clearable
                :disabled="true"
                size="small"
              >
                <el-option
                  v-for="dict in dict.type.sys_recordstatus"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row type="flex" :gutter="10" align="right" class="mb8">
          <el-col :span="6">
            <el-button type="primary" plain icon="el-icon-plus" size="mini" :disabled="true"
              @click="addRow">新增一行</el-button>
            <el-button
              type="primary"
              plain
              icon="el-icon-plus"
              size="mini"
              :disabled="true"
              @click="addRow"
              >新增一行</el-button
            >
          </el-col>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px">
@@ -238,117 +438,264 @@
        </el-row>
        <el-row>
          <el-table :data="rbDetails" border highlight-current-row>
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="65"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外不展示-->
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="personname" slot="" label="费用人员" align="center" fixed width="110">
            <el-table-column
              prop="personname"
              slot=""
              label="费用人员"
              align="center"
              fixed
              width="110"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option
                  placeholder="请选择" @focus1="getPersons(scope.row)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  default-first-option
                  placeholder="请选择"
                  @focus1="getPersons(scope.row)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="starttime" slot="" label="开始日期" fixed align="center" width="150">
            <el-table-column
              prop="starttime"
              slot=""
              label="开始日期"
              fixed
              align="center"
              width="150"
            >
              <template slot-scope="scope">
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.endtime) {
                      return (
                        time.getTime() >
                        new Date(scope.row.endtime.replace(/-/g, '/'))
                      );
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.endtime) {
                        return (
                          time.getTime() >
                          new Date(scope.row.endtime.replace(/-/g, '/'))
                        );
                      }
                    }
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" @blur="getallowance(scope.row)">
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.starttime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="开始日期"
                  @blur="getallowance(scope.row)"
                >
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column prop="endtime" slot="" label="结束日期" align="center" fixed width="150">
            <el-table-column
              prop="endtime"
              slot=""
              label="结束日期"
              align="center"
              fixed
              width="150"
            >
              <template slot-scope="scope">
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.starttime) {
                      return (
                        time.getTime() <
                        new Date(scope.row.starttime.replace(/-/g, '/'))
                      );
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.starttime) {
                        return (
                          time.getTime() <
                          new Date(scope.row.starttime.replace(/-/g, '/'))
                        );
                      }
                    }
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="结束日期" @blur="getallowance(scope.row)">
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.endtime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="结束日期"
                  @blur="getallowance(scope.row)"
                >
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column prop="departure" slot="" label="出发地" align="center" width="100">
            <el-table-column
              prop="departure"
              slot=""
              label="出发地"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.departure" placeholder="出发地" />
              </template>
            </el-table-column>
            <el-table-column label="到达地" prop="destination2" align="center" width="140">
            <el-table-column
              label="到达地"
              prop="destination2"
              align="center"
              width="140"
            >
              <template slot-scope="scope">
                <!--  <el-input v-model="scope.row.destination" placeholder="到达地" @blur="getallowance(scope.row)" /> -->
                <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="到达地"
                  @change="getallowance2(scope.row, scope.row.destination)">
                  <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label"
                    :value="dict.value"></el-option>
                <el-select
                  filterable
                  allow-create
                  v-model="scope.row.destination"
                  value-key="value"
                  placeholder="到达地"
                  @change="getallowance2(scope.row, scope.row.destination)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_area_name"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="days" label="天数" width="65" align="center">
              <template slot-scope="scope">
                <el-input v-model="scope.row.days" @blur="getStandard(scope.row)" placeholder="天数" />
                <el-input
                  v-model="scope.row.days"
                  @blur="getStandard(scope.row)"
                  placeholder="天数"
                />
              </template>
            </el-table-column>
            <el-table-column prop="traffictype" label="出发交通工具" align="center" width="100">
            <el-table-column
              prop="traffictype"
              label="出发交通工具"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.traffictype" placeholder="出发交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.traffictype"
                  placeholder="出发交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="traffictype2" label="返回交通工具" align="center" width="100">
            <el-table-column
              prop="traffictype2"
              label="返回交通工具"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.traffictype2" placeholder="返回交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.traffictype2"
                  placeholder="返回交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="trafficexpense" label="交通费" align="center" width="80">
            <el-table-column
              prop="trafficexpense"
              label="交通费"
              align="center"
              width="80"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="val => {
                  sumTotalFee();
                }
                  " />
                <el-input
                  v-model="scope.row.trafficexpense"
                  placeholder="交通费"
                  @blur="
                    val => {
                      sumTotalFee();
                    }
                  "
                />
              </template>
            </el-table-column>
            <!--
@@ -363,64 +710,138 @@
              </template>
            </el-table-column>
                                                                                                                                      -->
            <el-table-column prop="hotelexpense" label="住宿费" align="center" width="80">
            <el-table-column
              prop="hotelexpense"
              label="住宿费"
              align="center"
              width="80"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="val => {
                  sumTotalFee();
                }
                  " />
                <el-input
                  v-model="scope.row.hotelexpense"
                  placeholder="住宿费"
                  @blur="
                    val => {
                      sumTotalFee();
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="foodexpenses" label="餐费报销" align="center" width="80">
            <el-table-column
              prop="foodexpenses"
              label="餐费报销"
              align="center"
              width="80"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.foodexpenses" placeholder="伙食费报销" @blur="val => {
                  sumTotalFee();
                }
                  " />
                <el-input
                  v-model="scope.row.foodexpenses"
                  placeholder="伙食费报销"
                  @blur="
                    val => {
                      sumTotalFee();
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="foodallowance" label="伙食补助" align="center" width="80">
            <el-table-column
              prop="foodallowance"
              label="伙食补助"
              align="center"
              width="80"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="val => {
                  sumTotalFee();
                }
                  " />
                <el-input
                  v-model="scope.row.foodallowance"
                  placeholder="伙食费补助"
                  @blur="
                    val => {
                      sumTotalFee();
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="otherexpense" label="公杂费补助" align="center" width="80">
            <el-table-column
              prop="otherexpense"
              label="公杂费补助"
              align="center"
              width="80"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="val => {
                  sumTotalFee();
                }
                  " />
                <el-input
                  v-model="scope.row.otherexpense"
                  placeholder="杂费"
                  @blur="
                    val => {
                      sumTotalFee();
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="otherfeeamount" label="其他费用" align="center" width="90">
            <el-table-column
              prop="otherfeeamount"
              label="其他费用"
              align="center"
              width="90"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="val => {
                  sumTotalFee();
                }
                  " />
                <el-input
                  v-model="scope.row.otherfeeamount"
                  placeholder="其他费用"
                  @blur="
                    val => {
                      sumTotalFee();
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="departure" slot="" label="其他费用说明" align="center" width="120">
            <el-table-column
              prop="departure"
              slot=""
              label="其他费用说明"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherfeedesc" placeholder="其他费用说明" />
                <el-input
                  v-model="scope.row.otherfeedesc"
                  placeholder="其他费用说明"
                />
              </template>
            </el-table-column>
            <el-table-column prop="total" label="合计" align="center" width="110">
            <el-table-column
              prop="total"
              label="合计"
              align="center"
              width="110"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.total" placeholder="合计" />
              </template>
            </el-table-column>
            <el-table-column fixed="right" label="操作" align="center" width="120">
            <el-table-column
              fixed="right"
              label="操作"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-button @click.native.prevent="
                  deleteRow(scope.$index, rbDetails, scope.row)
                  " type="text" size="small" :disabled="true">
                <el-button
                  @click.native.prevent="
                    deleteRow(scope.$index, rbDetails, scope.row)
                  "
                  type="text"
                  size="small"
                  :disabled="true"
                >
                  åˆ é™¤
                </el-button>
              </template>
@@ -465,75 +886,193 @@
        </el-row>
        <el-row style="margin-top: 30px">
          <el-table :data="rbPayees" border highlight-current-row>
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="65"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外键不展示-->
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="personname" slot="" label="收款人" align="center" fixed width="110">
            <el-table-column
              prop="personname"
              slot=""
              label="收款人"
              align="center"
              fixed
              width="110"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname"
                  default-first-option placeholder="请选择" @change="getAccountinfo2(scope.row, scope.row.persontype)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  ref="getReportname"
                  default-first-option
                  placeholder="请选择"
                  @change="getAccountinfo2(scope.row, scope.row.persontype)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="bankname" slot="" label="银行名称" align="center" fixed width="200">
            <el-table-column
              prop="bankname"
              slot=""
              label="银行名称"
              align="center"
              fixed
              width="200"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankname" placeholder="银行名称" />
              </template>
            </el-table-column>
            <el-table-column prop="bankcardno" slot="" label="银行卡号" align="center" fixed width="200">
            <el-table-column
              prop="bankcardno"
              slot=""
              label="银行卡号"
              align="center"
              fixed
              width="200"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankcardno" placeholder="银行卡号" />
                <el-input
                  v-model="scope.row.bankcardno"
                  placeholder="银行卡号"
                />
              </template>
            </el-table-column>
            <el-table-column prop="amount" slot="" label="打款金额" align="center" fixed width="130">
            <el-table-column
              prop="amount"
              slot=""
              label="打款金额"
              align="center"
              fixed
              width="130"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.amount" placeholder="打款金额" />
              </template>
            </el-table-column>
            <el-table-column prop="remark" slot="" label="请款说明" align="center" fixed width="280">
            <el-table-column
              prop="remark"
              slot=""
              label="请款说明"
              align="center"
              fixed
              width="280"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.remark" placeholder="说明" />
              </template> </el-table-column><el-table-column prop="paiddate" slot="" label="打款日期" fixed align="center"
              width="150">
              </template> </el-table-column
            ><el-table-column
              prop="paiddate"
              slot=""
              label="打款日期"
              fixed
              align="center"
              width="150"
            >
              <template slot-scope="scope">
                <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.paiddate" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="打款日期" :disabled="true" @blur="getallowance(scope.row)">
                <el-date-picker
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.paiddate"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="打款日期"
                  :disabled="true"
                  @blur="getallowance(scope.row)"
                >
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column label="操作" align="center" width="100" v-if="dialogType == 'edit'">
            <el-table-column
              label="操作"
              align="center"
              width="100"
              v-if="dialogType == 'edit'"
            >
              <template slot-scope="scope">
                <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">新增</el-button>
                <el-button @click.native.prevent="
                  deletePayeeRow(scope.$index, rbPayees, scope.row)
                  " type="text" size="small">
                <el-button
                  type="text"
                  size="mini"
                  @click="addPayeeRow(scope.$index)"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deletePayeeRow(scope.$index, rbPayees, scope.row)
                  "
                  type="text"
                  size="small"
                >
                  åˆ é™¤
                </el-button>
              </template>
@@ -547,12 +1086,31 @@
          <el-col :span="14">
            <el-form-item label="附件" align="left" prop="annexfiles">
              <!-- <file-upload ref="fileUpload" :fileType=fileType :limit="1" :on-success="handleUploadSuccess"></file-upload> -->
              <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple
                :limit="20" :headers="headers" :on-success="(response, file, fileList) =>
                  uploadSccess(response, file, fileList)
                  " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError"
                :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
                <el-button :disabled="dialogType == 'detail'" size="small" type="primary">上传</el-button>
              <el-upload
                size="mini"
                class="upload-demo"
                :action="uploadFileUrl"
                :file-list="fileList"
                multiple
                :limit="20"
                :headers="headers"
                :on-success="
                  (response, file, fileList) =>
                    uploadSccess(response, file, fileList)
                "
                :on-preview="downFile"
                :disabled="dialogType == 'detail'"
                :on-error="handleUploadError"
                :on-exceed="handleExceed"
                :on-remove="remove"
                accept="image/*,.pdf"
              >
                <el-button
                  :disabled="dialogType == 'detail'"
                  size="small"
                  type="primary"
                  >上传</el-button
                >
              </el-upload>
            </el-form-item>
          </el-col>
@@ -563,16 +1121,37 @@
          <el-col :span="20">报销审批记录:</el-col>
        </el-row>
        <el-table :data="fundflowList" border>
          <el-table-column label="审核人" align="center" width="120" prop="checkusername" />
          <el-table-column label="审核日期" align="center" width="160" prop="createTime" />
          <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion"><template
              slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">通过</span><span
                v-if="scope.row.flowconclusion == 2">不通过</span></template>
          <el-table-column
            label="审核人"
            align="center"
            width="120"
            prop="checkusername"
          />
          <el-table-column
            label="审核日期"
            align="center"
            width="160"
            prop="createTime"
          />
          <el-table-column
            label="审核结果"
            align="center"
            width="200"
            prop="flowconclusion"
            ><template slot-scope="scope"
              ><span v-if="scope.row.flowconclusion == 1">通过</span
              ><span v-if="scope.row.flowconclusion == 2"
                >不通过</span
              ></template
            >
          </el-table-column>
          <el-table-column label="审核备注" align="center" prop="flowcontent" />
        </el-table>
        <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="dialogType == 'edit'">
        <el-row
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="dialogType == 'edit'"
        >
          <el-col :span="7">
            <el-form-item label="审核结果" align="left">
              <el-radio-group v-model="checkObj.flowlevelone" align="left">
@@ -591,7 +1170,12 @@
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="checksubmit" v-if="dialogType == 'edit'">保 å­˜</el-button>
        <el-button
          type="primary"
          @click="checksubmit"
          v-if="dialogType == 'edit'"
          >保 å­˜</el-button
        >
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
@@ -775,7 +1359,7 @@
      dialogType: "show"
    };
  },
  created() { },
  created() {},
  mounted() {
    if (grtItem("travelexpensecheck")) {
      this.queryParams = grtItem("travelexpensecheck");
@@ -846,7 +1430,26 @@
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        aEle.click();
        console.log(aEle.href);
        // æ·»åŠ Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // å°†æ–‡ä»¶ä¸‹è½½é“¾æŽ¥ä½œä¸ºblob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // æ›¿æ¢file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
      });
    },
@@ -1030,8 +1633,8 @@
        this.fileList = this.form.annexfiles
          ? this.form.annexfiles
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        getReimbursementdetaillist(ids).then(res2 => {
@@ -1146,7 +1749,7 @@
      const ids = row.id || this.ids;
      this.$modal
        .confirm('是否确认删除报销申请编号为"' + ids + '"的数据项?')
        .then(function () {
        .then(function() {
          // åˆ é™¤details内的数据
          return delReimbursement(ids);
        })
@@ -1155,7 +1758,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
        .catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
@@ -1170,7 +1773,7 @@
          this.$download.name(response.msg);
          this.exportLoading = false;
        })
        .catch(() => { });
        .catch(() => {});
    },
    //新增一行
@@ -1263,7 +1866,7 @@
        }
        this.form.amountrequested = allSum.toFixed(2);
        this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
      } catch { }
      } catch {}
    },
    //金额大写
@@ -1367,7 +1970,7 @@
    },
    //附件处理
    handleUploadError() { },
    handleUploadError() {},
    remove(file) {
      this.fileList.splice(this.fileList.indexOf(file), 1);