yxh
yxh
10 天以前 8022f7036945b75f82f2dfc43055623f81ed98f6
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.workflow"
              placeholder="请选择记录状态"
              clearable
              size="small"
            >
              <el-option
                v-for="dict in dict.type.sys_donornode"
                :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,60 @@
      <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">
      <el-table-column
        label="捐献进度"
        align="center"
        prop="workflow"
        width="120"
      >
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_DonationStatus" :value="scope.row.recordstate" />
          <div v-if="!scope.row.terminationCase">
            <dict-tag
              :options="dict.type.sys_donornode"
              :value="scope.row.workflow"
            />
          </div>
          <div v-else>任务终止</div>
        </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 +211,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 +305,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 +318,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 +418,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 +441,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 +454,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 +467,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 +486,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 +510,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,25 +530,27 @@
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecompletioninfo,
  downloadcompletioninfo,
  downloadcompletioninfo
} 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 { getToken } from "@/utils/auth";
import {
  listDonateorgan,
  addDonateorgan,
  delDonateorgan,
  updateDonateorgan,
  getDonateorgan,
  getDonateorgan
} from "@/api/project/donateorgan";
export default {
  components: {
    Li_area_select,
    OrgSelecter,
    AnnexUpload,
    AnnexUpload
  },
  name: "Donatefinish",
  dicts: [
@@ -331,12 +569,12 @@
    "sys_Infectious",
    "sys_InfoSources",
    "sys_OtherCases",
    "sys_DonationStatus",
    "sys_donornode",
    "sys_DiseaseType",
    "sys_SelfWill",
    "sys_FamilyRelation",
    "sys_Organ",
    "sys_organstate",
    "sys_organstate"
  ],
  data() {
    return {
@@ -360,7 +598,7 @@
        { label: "衢州市", value: "8" },
        { label: "舟山市", value: "9" },
        { label: "台州市", value: "A" },
        { label: "丽水市", value: "B" },
        { label: "丽水市", value: "B" }
      ],
      //省市区
@@ -369,17 +607,17 @@
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null,
        organizationname: null
      },
      residenceAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: "",
        qu: ""
      },
      registerAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: "",
        qu: ""
      },
      //用户表
@@ -412,6 +650,9 @@
      open: false,
      // 获取组织名称时间范围
      daterangeReporttime: [],
      headers: {
        Authorization: "Bearer " + getToken()
      },
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -427,30 +668,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,13 +701,14 @@
      //流程名称
      flowname: "捐献完成登记",
      //流程名称-伦理审查
      annexno: "",
      annexno: ""
    };
  },
  created() {
    // this.getDicts('country').then(res=>{
    //   this.nationality =res.data
    // })
    if (sessionStorage.getItem("donatefinish")) {
      this.queryParams = JSON.parse(sessionStorage.getItem("donatefinish"));
      console.log(this.queryParams, "queryParams");
    }
  },
  activated() {
    this.selecttime = "";
@@ -479,9 +721,7 @@
    if (this.$route.params.starttime != null && this.$route.params.endtime) {
      this.selecttime = [
        this.$moment(this.$route.params.starttime).format("YYYY-MM-DD"),
        this.$moment(this.$route.params.endtime)
          .add(-1, "month")
          .format("YYYY-MM-DD"),
        this.$moment(this.$route.params.endtime).format("YYYY-MM-DD")
      ];
    }
    if (this.$route.params.reporterno != "") {
@@ -518,14 +758,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 +777,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 +844,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 +855,7 @@
      if (e.organstate === 99) {
        this.$prompt("请输入启用原因", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          cancelButtonText: "取消"
        })
          .then(({ value }) => {
            console.log("启用原因", value);
@@ -624,7 +864,7 @@
          .catch(() => {
            this.$message({
              type: "info",
              message: "取消",
              message: "取消"
            });
          });
      }
@@ -632,28 +872,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;
      });
    },
@@ -717,9 +957,12 @@
    getList() {
      this.loading = true;
      this.queryParams.params = {};
      sessionStorage.removeItem("donatefinish");
      sessionStorage.setItem("donatefinish", JSON.stringify(this.queryParams));
      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 +978,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 +1014,7 @@
        coordinatedusernamet: null,
        assessannex: null,
        donateorgan: "",
        donateorganList: [],
        donateorganList: []
      };
      this.resetForm("form");
    },
@@ -797,7 +1040,7 @@
        reportername: null,
        reporttime: null,
        city: null,
        treatmenthospitalno: null,
        treatmenthospitalno: null
      };
      this.selecttime = [];
      this.getTimeList();
@@ -805,7 +1048,7 @@
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null,
        organizationname: null
      };
      //this.$refs.areaSelect.clean();
@@ -825,7 +1068,7 @@
        path: "/organ/donationdetails/",
        query: {
          id: row.id,
          organType: "edit",
          organType: "edit"
        }
      });
      // this.reset();
@@ -904,15 +1147,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 +1166,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 +1186,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 +1195,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 +1232,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 +1250,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 +1261,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 +1286,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 +1304,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 +1338,7 @@
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消上报",
            message: "已取消上报"
          });
        });
    },
@@ -1100,18 +1347,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 +1384,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 +1399,7 @@
          // this.$modal.msgError("获取捐献器官失败:" + response.msg);
        }
      });
    },
  },
    }
  }
};
</script>