11
WXL
2024-08-14 0ac2d43fce4d74f6eea5a51a2e16af4e6a536c7c
src/views/project/relativesconfirmation/index.vue
@@ -51,13 +51,13 @@
        <el-col :span="6">
          <el-form-item label="捐献进度" prop="recordstate">
            <el-select
              v-model="queryParams.recordstate"
              v-model="queryParams.workflow"
              placeholder="请选择捐献进度"
              clearable
              size="small"
            >
              <el-option
                v-for="dict in dict.type.sys_DonationStatus"
                v-for="dict in dict.type.sys_donornode"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
@@ -69,7 +69,10 @@
      <el-row :gutter="8">
        <el-col :span="6">
          <el-form-item label="报告人">
            <el-select v-model="queryParams.reporterno" placeholder="请选择报告人">
            <el-select
              v-model="queryParams.reporterno"
              placeholder="请选择报告人"
            >
              <el-option
                v-for="item in reportlist"
                :key="item.index"
@@ -82,7 +85,7 @@
        </el-col>
        <el-col :span="12">
          <el-form-item label="报告日期">
          <el-form-item label="确认时间">
            <el-date-picker
              style="width: 100%"
              v-model="selecttime"
@@ -115,7 +118,17 @@
    </el-form>
    <el-table v-loading="loading" border :data="listnewRelativesconfirm">
      <el-table-column
        label="报告时间"
        label="案例时间"
        align="center"
        prop="donatetime"
        width="120"
      >
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column
        label="确认时间"
        align="center"
        prop="reporttime"
        width="120"
@@ -137,7 +150,7 @@
      </el-table-column>
      <el-table-column label="年龄" align="center" prop="age" width="100" />
       <el-table-column
      <el-table-column
        label="医疗机构"
        align="center"
        prop="treatmenthospitalname"
@@ -151,20 +164,15 @@
        width="100"
      />
      <el-table-column
        label="捐献进度"
        align="center"
        prop="recordstate"
      >
      <el-table-column label="捐献进度" align="center" prop="recordstate">
        <template slot-scope="scope">
          <div v-if="!scope.row.terminationCase">
            <dict-tag
            :options="dict.type.sys_DonationStatus"
            :value="scope.row.recordstate"
              :options="dict.type.sys_donornode"
              :value="scope.row.workflow"
            />
          </div>
          <div v-else>任务中止</div>
          <div v-else>任务终止</div>
        </template>
      </el-table-column>
@@ -176,7 +184,6 @@
        fixed="right"
      >
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
@@ -189,7 +196,7 @@
            type="text"
            icon="el-icon-refrigerator"
            @click="handledownload(scope.row)"
            v-if="scope.row.recordstate == '6'"
            v-if="scope.row.workflow == '6'"
            >下载</el-button
          >
          <!-- <el-button
@@ -875,7 +882,7 @@
  getDonatebaseinfo,
  delDonatebaseinfo,
  // addDonatebaseinfo,
  updateDonatebaseinfo,
  updateDonatebaseinfo
  // exportDonatebaseinfo,
  // exportProvincemessage,
} from "@/api/project/donatebaseinfo";
@@ -889,7 +896,7 @@
  // exportRelativesconfirmation,
  updatedonatorno,
  updateDonateNumber,
  downloadconfirmationinfo,
  downloadconfirmationinfo
} from "@/api/project/relativesconfirmation";
import {
  listMedicalevaluation,
@@ -897,7 +904,7 @@
  delMedicalevaluation,
  addMedicalevaluation,
  updateMedicalevaluation,
  exportMedicalevaluation,
  exportMedicalevaluation
} from "@/api/project/medicalevaluation";
import Li_area_select from "@/components/Address";
import OrgSelecter from "@/views/project/components/orgselect";
@@ -906,14 +913,14 @@
import {
  listOrganization,
  listReportname,
  listUser,
  listUser
} from "@/api/project/organization";
export default {
  components: {
    Li_area_select,
    OrgSelecter,
    AnnexUpload,
    AnnexUpload
  },
  name: "Relativesconfirmation",
  dicts: [
@@ -934,6 +941,7 @@
    "sys_FamilyRelation",
    "sys_CoreAssessConclusion",
    "sys_BaseAssessConclusion",
    "sys_donornode"
  ],
  data() {
    return {
@@ -946,14 +954,14 @@
      defultAddresss: {
        sheng: "浙江省",
        shi: "",
        qu: "",
        qu: ""
      },
      //默认值设置,可为空
      searchAddress: {
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null,
        organizationname: null
      },
      provinceData: [
        { label: "全部", value: "" },
@@ -967,7 +975,7 @@
        { label: "衢州市", value: "8" },
        { label: "舟山市", value: "9" },
        { label: "台州市", value: "A" },
        { label: "丽水市", value: "B" },
        { label: "丽水市", value: "B" }
      ],
      showSaveBtn: false,
      showTerminationBtn: false,
@@ -1051,14 +1059,14 @@
        residencecity: null,
        residencetown: null,
        // "2"
        recordstate: "2",
        recordstate: null,
        treatmenthospitalname: null,
        donorno: null,
        acquisitiontissueno: null,
        reportername: null,
        reporttime: null,
        city: null,
        treatmenthospitalno: null,
        treatmenthospitalno: null
      },
      headers: {
        Authorization: "Bearer " + getToken()
@@ -1068,29 +1076,29 @@
      // 表单校验
      rules: {
        name: [
          { required: true, message: "亲属姓名不能为空", trigger: "blur" },
          { required: true, message: "亲属姓名不能为空", trigger: "blur" }
        ],
        phone: [
          { required: true, message: "家属联系电话不为空", trigger: "blur" },
          { required: true, message: "家属联系电话不为空", trigger: "blur" }
        ],
        signfamilyrelations: [
          { required: true, message: "与捐献者关系", trigger: "blur" },
          { required: true, message: "与捐献者关系", trigger: "blur" }
        ],
        idcardno: [
          { required: true, message: "证件号不能为空", trigger: "blur" },
          { required: true, message: "证件号不能为空", trigger: "blur" }
        ],
        organdecision: [
          { required: true, message: "捐献决定不能为空", trigger: "blur" },
          { required: true, message: "捐献决定不能为空", trigger: "blur" }
        ],
        responsibleuserid: [
          { required: true, message: "负责人不能为空", trigger: "blur" },
          { required: true, message: "负责人不能为空", trigger: "blur" }
        ],
        coordinateduserido: [
          { required: true, message: "协调员1不能为空", trigger: "blur" },
          { required: true, message: "协调员1不能为空", trigger: "blur" }
        ],
        coordinateduseridt: [
          { required: true, message: "协调员2不能为空", trigger: "blur" },
        ],
          { required: true, message: "协调员2不能为空", trigger: "blur" }
        ]
        // esidenceaddresss:[{ required: true, message: "请选择户籍地", trigger: "blur" }],
        // residenceaddress:[{ required: true, message: "现住地址不能为空", trigger: "blur" }],
      },
@@ -1107,21 +1115,26 @@
      evaluationTitle: "",
      evaluationRules: {},
      starttime: "",
      endtime: "",
      endtime: ""
    };
  },
  created() {
    // this.getDicts('country').then(res=>{
    //   this.nationality =res.data
    // })
    if (sessionStorage.getItem("relativesconfirmation")) {
      this.queryParams = JSON.parse(
        sessionStorage.getItem("relativesconfirmation")
      );
      console.log(this.queryParams, "queryParams");
    }
    this.getuserlist();
    this.getLeaderList();
    this.getCoordinatorList1();
    this.getCoordinatorList2();
    this.getList();
  },
  activated() {
  activated() {},
  mounted() {
    this.selecttime = "";
    this.reportervalue = "";
    this.reportlist = [];
@@ -1133,10 +1146,11 @@
    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")
      ];
      this.endtime = this.selecttime[1];
      this.starttime = this.selecttime[0];
      console.log(this.selecttime);
    }
    if (this.$route.params.reporterno != "") {
      this.reporterno = this.$route.params.reporterno;
@@ -1159,10 +1173,8 @@
    if (this.$route.params.city != "") {
      this.queryParams.city = this.$route.params.city;
    }
    this.getTimeList();
    this.getList();
  },
  mounted() {
    this.getTimeList();
    this.LoadReportList();
    // if(this.tempRecordState != undefined && this.tempRecordState != null){
@@ -1230,14 +1242,14 @@
      }
    },
    LoadReportList() {
      listDonatebaseinfo().then((res) => {
      listDonatebaseinfo().then(res => {
        let list = res.rows;
        let reportlist = [];
        reportlist.push({ reporterno: "", reportername: "全部" });
        list.forEach((element) => {
        list.forEach(element => {
          reportlist.push({
            reporterno: element.reporterno,
            reportername: element.reportername,
            reportername: element.reportername
          });
        });
@@ -1249,7 +1261,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));
@@ -1264,11 +1276,11 @@
      this.annexno = "";
      //查询是否存在确认登记记录
      let searchparam = {
        infoid: row.id,
        infoid: row.id
      };
      this.loading = true;
      this.curCase = row;
      listRelativesconfirmation(searchparam).then((response) => {
      listRelativesconfirmation(searchparam).then(response => {
        this.loading = false;
        if (response.code == 200) {
          if (response.rows.length == 0) {
@@ -1287,7 +1299,7 @@
            this.form.donativeplace = row.nativeplace;
            this.open = true;
            this.title = "新增人体器官捐献亲属确认登记表";
            this.$nextTick(function () {
            this.$nextTick(function() {
              this.$refs.confirmannex.getAnnexList();
            });
          } else if (response.rows.length == 1) {
@@ -1326,7 +1338,7 @@
            }
            this.open = true;
            this.title = "修改人体器官捐献亲属确认登记表";
            this.$nextTick(function () {
            this.$nextTick(function() {
              this.$refs.confirmannex.getAnnexList();
            });
          } else {
@@ -1343,7 +1355,7 @@
    //   console.log(row.id)
    // },
    updatedonorno(row) {
      updateDonateNumber(row.infoid).then((res) => {
      updateDonateNumber(row.infoid).then(res => {
        //console.log('更新捐献者编号亲属表',res)
        console.log("dwdawdwadwad", res);
        this.getList();
@@ -1351,33 +1363,32 @@
    },
    getuserlist() {
      //用户列表
      listUser().then((res) => {
      listUser().then(res => {
        this.users = res.data;
      });
    },
    getLeaderList() {
      //负责人
      // let userType = {"userType":"fzr"};
      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;
      });
    },
    updateMessage() {
      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]$/;
      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);
@@ -1427,17 +1438,22 @@
      }
      this.setState({
        birthday,
        sex,
        sex
      });
    },
    changeAddress(data) {},
    /** 查询捐献基础列表 */
    getList(e) {
      this.loading = true;
      sessionStorage.removeItem("relativesconfirmation");
      sessionStorage.setItem(
        "relativesconfirmation",
        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];
      }
@@ -1449,8 +1465,9 @@
      if (this.endtime != "") {
        this.queryParams.endtime = this.endtime;
      }
      console.log(this.queryParams, "cans");
      this.$nextTick(() => {
        listnewRelativesconfirmation(this.queryParams).then((response) => {
        listnewRelativesconfirmation(this.queryParams).then(response => {
          // console.log('带有city的接口',response)
          this.listnewRelativesconfirm = response.rows;
          console.log("response.rows", response.rows);
@@ -1523,7 +1540,7 @@
        createBy: null,
        createTime: null,
        updateBy: null,
        updateTime: null,
        updateTime: null
      };
      this.resetForm("form");
    },
@@ -1555,7 +1572,7 @@
        reportername: null,
        reporttime: null,
        city: null,
        treatmenthospitalno: null,
        treatmenthospitalno: null
      };
      this.selecttime = [];
      this.getTimeList();
@@ -1563,7 +1580,7 @@
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null,
        organizationname: null
      };
      this.resetForm("queryForm");
@@ -1575,36 +1592,36 @@
    //  },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map((item) => item.id);
      this.ids = selection.map(item => item.id);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
    /** 家属确认操作 */
    handleAdd(row) {
      // this.$router.push({
      //   path: "/organ/donationdetails/",
      //   query: {
      //     id: row.id,
      //     organType: "edit",
      //   }
      // });
      // return ;
      this.$router.push({
        path: "/organ/donationdetails/",
        query: {
          id: row.id,
          organType: "edit"
        }
      });
      return;
      console.log("ppppppp", row);
      this.showSaveBtn = false;
      this.flowname = "家属确认登记";
      this.annexno = "";
      //查询是否存在确认登记记录
      let searchparam = {
        infoid: row.id,
        infoid: row.id
      };
      this.loading = true;
      this.curCase = {
        id: row.id,
        recordstate: null,
        donorno: row.donorno,
        donorno: row.donorno
      };
      console.log("32323232323", searchparam);
      listRelativesconfirmation(searchparam).then((response) => {
      listRelativesconfirmation(searchparam).then(response => {
        console.log("wdadwadawdawd", response);
        this.loading = false;
        if (response.code == 200) {
@@ -1623,7 +1640,7 @@
            this.form.donativeplace = row.nativeplace;
            this.open = true;
            this.title = "新增人体器官捐献亲属确认登记表";
            this.$nextTick(function () {
            this.$nextTick(function() {
              this.$refs.confirmannex.getAnnexList();
            });
          } else if (response.rows.length == 1) {
@@ -1661,7 +1678,7 @@
            }
            this.open = true;
            this.title = "修改人体器官捐献亲属确认登记表";
            this.$nextTick(function () {
            this.$nextTick(function() {
              this.$refs.confirmannex.getAnnexList();
            });
          } else {
@@ -1676,7 +1693,7 @@
    },
    /** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate((valid) => {
      this.$refs["form"].validate(valid => {
        if (valid) {
          console.log("提交的form", this.form);
          if (this.form.kinship.length > 0) {
@@ -1693,38 +1710,41 @@
          this.form.residencetownname = this.defultAddresss.qu;
          //负责人 //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;
          }
          //console.log("协调员2:"+ this.form.coordinatedusernamet);
          if (this.form.id != null) {
            updateRelativesconfirmation(this.form).then((response) => {
            updateRelativesconfirmation(this.form).then(response => {
              console.log("1s212198989898", this.form.infoid);
              let donornoobj = {
                id: this.form.infoid,
                id: this.form.infoid
              };
              let donornoobj1 = {
                infoid: this.form.infoid,
                infoid: this.form.infoid
              };
              console.log("infoid:", this.form.infoid);
              // 更新捐献者编号接口
@@ -1737,10 +1757,10 @@
              this.getList();
              //查询是否存在医学评估记录
              let searchevaluationParam = {
                donorno: this.curCase.donorno,
                donorno: this.curCase.donorno
              };
              this.loading = true;
              listMedicalevaluation(searchevaluationParam).then((response) => {
              listMedicalevaluation(searchevaluationParam).then(response => {
                this.loading = false;
                if (response.code == 200) {
                  if (response.rows.length > 0) {
@@ -1758,7 +1778,7 @@
                  this.curCase.recordstate = 99;
                }
                console.log("curCase", this.curCase);
                updateDonatebaseinfo(this.curCase).then((response1) => {
                updateDonatebaseinfo(this.curCase).then(response1 => {
                  this.getList();
                  if (response1.code == 200) {
                    if (this.curCase.recordstate == 7) {
@@ -1777,15 +1797,15 @@
              });
            });
          } else {
            addRelativesconfirmation(this.form).then((response) => {
            addRelativesconfirmation(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.getList();
              //查询是否存在医学评估记录
              let searchevaluationParam = {
                donorno: this.curCase.donorno,
                donorno: this.curCase.donorno
              };
              this.loading = true;
              listMedicalevaluation(searchevaluationParam).then((response) => {
              listMedicalevaluation(searchevaluationParam).then(response => {
                this.loading = false;
                if (response.code == 200) {
                  if (response.rows.length > 0) {
@@ -1797,7 +1817,7 @@
                } else {
                  this.$modal.msgError("获取医学评估记录失败:" + response.msg);
                }
                updateDonatebaseinfo(this.curCase).then((response1) => {
                updateDonatebaseinfo(this.curCase).then(response1 => {
                  this.getList();
                  if (response1.code == 200) {
                    if (this.curCase.recordstate == 7) {
@@ -1816,7 +1836,7 @@
              this.getList();
            });
          }
          updateDonateNumber(this.form.infoid).then((res) => {
          updateDonateNumber(this.form.infoid).then(res => {
            //console.log('更新捐献者编号亲属表',res)
            this.getList();
          });
@@ -1828,7 +1848,7 @@
      const ids = row.id || this.ids;
      this.$modal
        .confirm('是否确认删除捐献基础编号为"' + ids + '"的数据项?')
        .then(function () {
        .then(function() {
          return delDonatebaseinfo(ids);
        })
        .then(() => {
@@ -1841,11 +1861,11 @@
    submitRecord(row) {
      this.$modal
        .confirm("是否确认上报伦理审查")
        .then(function () {})
        .then(function() {})
        .then(() => {
          this.loading = true;
          row.recordstate = 7;
          updateDonatebaseinfo(row).then((response1) => {
          updateDonatebaseinfo(row).then(response1 => {
            if (response1.code == 200) {
              this.$modal.msgSuccess("上报伦理审查成功");
            } else {
@@ -1876,7 +1896,7 @@
        coreteamassessdoctor: null,
        coreteamassesstime: null,
        coreteamassessconclusion: null,
        assessannex: null,
        assessannex: null
      };
      this.resetForm("evaluationForm");
    },
@@ -1893,10 +1913,10 @@
      this.annexno = "";
      //获取医学捐献评估记录
      let searchParam = {
        donorno: data.donorno,
        donorno: data.donorno
      };
      this.loading = true;
      listMedicalevaluation(searchParam).then((response) => {
      listMedicalevaluation(searchParam).then(response => {
        this.loading = false;
        if (response.code == 200) {
          if (response.rows.length == 0) {
@@ -1904,7 +1924,7 @@
            this.evaluationForm.infoid = data.id;
            this.evaluationForm.donorno = data.donorno;
            this.isShowEvaluation = true;
            this.$nextTick(function () {
            this.$nextTick(function() {
              this.$refs.evaluationannex.getAnnexList();
            });
          } else if (response.rows.length == 1) {
@@ -1913,7 +1933,7 @@
            this.evaluationForm.infoid = data.id;
            this.evaluationForm.donorno = data.donorno;
            this.isShowEvaluation = true;
            this.$nextTick(function () {
            this.$nextTick(function() {
              this.$refs.evaluationannex.getAnnexList();
            });
          } else {
@@ -1930,7 +1950,7 @@
    handledownload(row) {
      const id = row.id || this.ids;
      downloadconfirmationinfo(id).then((res) => {
      downloadconfirmationinfo(id).then(res => {
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
@@ -1954,7 +1974,7 @@
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            const name = fileUrl["downloadName"];
            link.setAttribute("download", name); // 替换file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
@@ -1966,22 +1986,22 @@
    //保存或更新捐献评估
    saveEvaluation() {
      this.loading = true;
      this.$refs["evaluationForm"].validate((valid) => {
      this.$refs["evaluationForm"].validate(valid => {
        if (valid) {
          if (this.evaluationForm.id != null) {
            updateMedicalevaluation(this.evaluationForm).then((response) => {
            updateMedicalevaluation(this.evaluationForm).then(response => {
              this.loading = false;
              this.$modal.msgSuccess("修改成功");
              this.isShowEvaluation = false;
              this.getList();
            });
          } else {
            addMedicalevaluation(this.evaluationForm).then((response) => {
            addMedicalevaluation(this.evaluationForm).then(response => {
              this.loading = false;
              this.$modal.msgSuccess("新增成功");
              //更新捐献状态为已上报伦理审查
              this.curCase.recordstate = 7;
              updateDonatebaseinfo(this.curCase).then((response1) => {
              updateDonatebaseinfo(this.curCase).then(response1 => {
                this.getList();
                if (response1.code == 200) {
                  this.$modal.msgSuccess("上报伦理审查成功");
@@ -1994,7 +2014,7 @@
          }
        }
      });
    },
  },
    }
  }
};
</script>
</script>