sinake
5 天以前 df97bab9fcb3e6044ad736cd7483498f61f0feb4
src/views/project/unitCost/particulars/index.vue
@@ -6,7 +6,7 @@
        <el-row>
          <el-col :span="5">
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker
              <el-date-picker style="width: 130px;"
                v-model="form.createTime"
                value-format="yyyy-MM-dd "
                type="date"
@@ -189,7 +189,7 @@
              prop="receiveTime"
              align="center"
              label="接收日期"
              width="200"
              width="150"
            >
              <template slot-scope="scope">
                <el-date-picker
@@ -203,6 +203,28 @@
                  placeholder="接收日期"
                >
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column
              prop="organState"
              align="center"
              label="器管状态"
              width="120"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.organState"
                  placeholder="请选择器管状态"
                  clearable
                  style="width: 100%"
                >
                  <el-option
                    v-for="item in chargetypelist"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  />
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
@@ -266,7 +288,7 @@
            <el-table-column
              label="操作"
              fixed="right"
              width="260"
              width="200"
              align="center"
            >
              <template slot-scope="scope">
@@ -334,7 +356,7 @@
                ref="queryForm"
                size="small"
                :inline="true"
                label-width="98px"
                label-width="70px"
              >
                <el-form-item label="接收医院" prop="status">
                  <el-input
@@ -344,10 +366,22 @@
                  />
                </el-form-item>
                <el-form-item label="捐献者" prop="status">
                  <el-input
                  <el-input style="width: 100px;"
                    v-model="patientqueryParams.donorname"
                    @keyup.enter.native="handleAddpatient"
                    placeholder="请输入捐献者姓名"
                  />
                </el-form-item>
                <el-form-item label="捐献日期" prop="donatetime">
                  <el-date-picker style="width: 220px;"
                    v-model="donatetimeRange"
                    type="daterange"
                    range-separator="至"
                    start-placeholder="开始日期"
                    end-placeholder="结束日期"
                    value-format="yyyy-MM-dd"
                    clearable
                    @change="handleDonatetimeChange"
                  />
                </el-form-item>
                <!-- <el-form-item label="捐献者" prop="status">
@@ -382,6 +416,11 @@
                @selection-change="handleSelectionChange"
              >
                <el-table-column type="selection" width="55"> </el-table-column>
                <el-table-column prop="donatetime" label="捐献日期" width="120">
                  <template slot-scope="scope">
                    <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
                  </template>
                </el-table-column>
                <el-table-column label="捐献者" width="120">
                  <template slot-scope="scope">{{
                    scope.row.donorname
@@ -393,11 +432,10 @@
                  show-overflow-tooltip
                >
                </el-table-column>
                <el-table-column prop="organno" label="器官编号" width="120">
                </el-table-column>
                <el-table-column
                  prop="caseno"
                  label="分配系统编号"
                  label="器官分配编号"
                  show-overflow-tooltip
                >
                </el-table-column>
@@ -408,8 +446,14 @@
                >
                </el-table-column>
                <el-table-column
                  prop="receiveTime"
                  label="移植日期"
                  prop="organcharge"
                  label="应收费用"
                  show-overflow-tooltip
                >
                </el-table-column>
                <el-table-column
                  prop="amount"
                  label="实收费用"
                  show-overflow-tooltip
                >
                </el-table-column>
@@ -445,6 +489,7 @@
        :title="pdftitle"
        :visible.sync="pdfVisible"
        width="60%"
        custom-class="pdf-resize-dialog"
      >
        <div class="pdfimg">
          <div class="box-pdf">
@@ -612,17 +657,31 @@
          address: "上海市普陀区金沙江路 1518 弄"
        }
      ],
      // 收费项目下拉选项
      chargetypelist: [
        { value: "1", label: "移植" },
        { value: "2", label: "弃用" },
        { value: "3", label: "库存" },
        { value: "4", label: "失功" },
        { value: "5", label: "直系免除" },
        { value: "6", label: "不良事件" },
        { value: "7", label: "科研" }
      ],
      gatheringlist: [
        { label: "新建", value: "1" },
        { label: "待收款", value: "2" },
        { label: "已收款", value: "3" }
      ],
      multipleSelection: [],
      // 报告日期区间(对应后端 starttime/endtime,按 donatebaseinfo.donatetime 过滤)
      donatetimeRange: [],
      patientqueryParams: {
        pageNum: 1,
        pageSize: 10,
        hospitalno: null,
        paymentid: null
        paymentid: null,
        starttime: null,
        endtime: null
      },
      // 总选中数据
      overallCase: [],
@@ -811,7 +870,21 @@
    resetQuery() {
      this.patientqueryParams.donorname = null;
      this.patientqueryParams.donorchargeid = null;
      this.patientqueryParams.pageNum = 1;
      this.donatetimeRange = [];
      this.handleDonatetimeChange(null);
      this.handleAddpatient();
    },
    // 报告日期区间 -> 查询参数,未选择时传 null,避免后端拼出 donatetime >= ''
    handleDonatetimeChange(val) {
      if (val && val.length === 2) {
        this.patientqueryParams.starttime = val[0] + " 00:00:00";
        this.patientqueryParams.endtime = val[1] + " 23:59:59";
      } else {
        this.patientqueryParams.starttime = null;
        this.patientqueryParams.endtime = null;
      }
      this.patientqueryParams.pageNum = 1;
    },
    handleUploadError() {},
    // 弹框添加
@@ -909,14 +982,8 @@
    },
    // 获取请求头
    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及其前部字符
      }
      // 以当前页面 origin 为准,兼容 80/8032/9091 及后续端口调整
      this.Networkheader = window.location.origin;
    },
    // 表单重置
    reset() {
@@ -987,6 +1054,7 @@
        this.form.hospitalname = this.curCase.organizationname;
        this.form.hospitalno = this.curCase.organizationid;
        this.form.borthdate = this.curCase.birthday;
        this.form.paymentno = this.$moment().format("YYYYMM") + this.curCase.organizationname ;
      }
    },
@@ -1138,7 +1206,8 @@
        "remark",
        "name",
        "caseno",
        "receiveTime"
        "receiveTime",
        "organState"
      ];
      columns.forEach((column, index) => {
        if (index === 0) {
@@ -1181,7 +1250,7 @@
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
      const pdfimg = this.Networkheader + process.env.VUE_APP_BASE_API + response.fileName;
      //获取票据信息位置
      if (response.code == 200) {
        this.previewpdf = true;
@@ -1237,7 +1306,7 @@
      if (this.donorchargeorgans[index].annexFilesList) {
        const fetchPromises = this.donorchargeorgans[index].annexFilesList.map(
          (value, indexson) => {
            const pdfimg = this.Networkheader + "/prod-api" + value.url;
            const pdfimg = this.Networkheader + process.env.VUE_APP_BASE_API + value.url;
            return fetch(pdfimg, config)
              .then(response => response.blob())
              .then(blob => {
@@ -1280,19 +1349,13 @@
    downFile(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") {
        console.log(item, "展示");
        this.previewpdf = true;
        if (item.url) {
          this.pdfimg = item.url;
        } else {
          this.pdfimg = "";
        }
      const ext = String(item.name || "pdf").toLowerCase().split(".").pop();
      if (ext === "pdf") {
        this.$previewFile([{ name: item.name, url: item.url }]);
        return;
      } else if (["jpg", "jpeg", "png", "gif", "bmp", "webp"].includes(ext)) {
        this.$previewFile([{ name: item.name, url: item.url }]);
        return;
      } else {
        this.hintitle = "当前文件暂不支持预览";
        this.$modal.msgWarning("当前文件暂不支持预览");