sinake
5 天以前 d3f66f66a0fa684bdc80bca582adb726b102966f
src/views/project/unitCost/organfee/index.vue
@@ -8,31 +8,37 @@
      v-show="showSearch"
      label-width="90px"
    >
      <el-form-item label="付款医院" prop="hospitalno">
      <el-form-item label="回款医院" prop="hospitalno">
        <el-select
          v-model="queryParams.hospitalno"
          placeholder="请选择付款医院"
          v-model="hospitalFilter"
          placeholder="请选择回款医院"
          clearable
          filterable
          size="small"
          style="width: 200px"
          @change="handleHospitalFilterChange"
        >
         <el-option label="未填写回款医院" value="__EMPTY__" />
          <el-option
            v-for="item in organizationList"
            :key="item.organizationid"
            :label="item.organizationname"
            :value="item.organizationid"
            :value="String(item.organizationid)"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="捐献者" prop="donorname">
        <el-input
          v-model="queryParams.donorname"
          placeholder="请输入捐献者姓名"
      </el-form-item>
      <el-form-item label="回款状态" prop="payStatus">
        <el-select
          v-model="queryParams.payStatus"
          placeholder="请选择回款状态"
          clearable
          size="small"
          @keyup.enter.native="handleQuery"
        />
          style="width: 140px"
        >
          <el-option label="已付" value="已付" />
          <el-option label="未付" value="未付" />
        </el-select>
      </el-form-item>
      <el-form-item label="捐献日期">
        <el-date-picker
@@ -46,6 +52,31 @@
          size="small"
          @change="handleDonatetimeChange"
        />
      </el-form-item>
      <el-form-item label="捐献者" prop="donorname">
        <el-input
          v-model="queryParams.donorname"
          placeholder="请输入捐献者姓名"
          clearable
          size="small"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="利用状态" prop="organState">
        <el-select
          v-model="queryParams.organState"
          placeholder="请选择器官状态"
          clearable
          size="small"
          style="width: 160px"
        >
          <el-option
            v-for="item in organStateList"
            :key="item.value"
            :label="item.label"
            :value="item.value"
          />
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button
@@ -120,29 +151,21 @@
        width="120"
        align="center"
      />
      <el-table-column
        prop="payOrganName"
        label="付款器官名称"
        width="140"
        align="center"
        show-overflow-tooltip
      />
      <el-table-column
        prop="caseno"
        label="器官分配编号"
        label="器官编号"
        align="center"
        show-overflow-tooltip
      />
      <el-table-column prop="name" label="受体" width="120" align="center" />
      <el-table-column label="器官状态" width="120" align="center">
      />
      <el-table-column label="利用状态" width="120" align="center">
        <template slot-scope="scope">
          <span>{{ selectOrganState(scope.row.organState) }}</span>
        </template>
      </el-table-column>
       <el-table-column
        prop="hospitalname"
        label="付款医院"
        label="回款医院"
        width="200"
        align="center"
      />
@@ -152,7 +175,7 @@
        width="120"
        align="center"
      />
      <el-table-column label="付款状态" width="100" align="center">
      <el-table-column label="回款状态" width="100" align="center">
        <template slot-scope="scope">
          <span>{{ payStatus(scope.row) }}</span>
        </template>
@@ -163,17 +186,25 @@
        width="120"
        align="center"
      />
      <el-table-column label="未付金额" width="160" align="center">
      <el-table-column label="未回款金额" width="160" align="center">
        <template slot-scope="scope">
          <span>{{ formatReceivableDiff(scope.row) }}</span>
        </template>
      </el-table-column>
      
      <el-table-column label="收款日期" width="120" align="center">
      <el-table-column label="回款日期" width="120" align="center">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.organtime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column prop="name" label="受体" width="120" align="center" />
      <el-table-column
        prop="payOrganName"
        label="器官名称-结算"
        width="140"
        align="center"
        show-overflow-tooltip
      />
      <el-table-column
        prop="organchargedesc"
        label="备注"
@@ -191,7 +222,6 @@
            type="text"
            icon="el-icon-edit"
            @click="handleEdit(scope.row)"
            v-hasPermi="['project:donorchargeorgan:edit']"
            >修改</el-button
          >
          <el-button
@@ -199,14 +229,12 @@
            type="text"
            icon="el-icon-check"
            @click="handleCharge(scope.row)"
            v-hasPermi="['project:donorchargeorgan:edit']"
            >已收费</el-button
          >
          <el-button
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['project:donorchargeorgan:edit']"
            >删除</el-button
          >
        </template>
@@ -223,7 +251,7 @@
    <!-- 修改器官状态、备注 -->
    <el-dialog
      title="修改器官信息"
      title="修改器官回款信息"
      :visible.sync="editOpen"
      width="760px"
      append-to-body
@@ -232,10 +260,10 @@
      <el-form ref="editForm" :model="editForm" label-width="110px">
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="付款医院" prop="hospitalno">
            <el-form-item label="回款医院" prop="hospitalno">
              <el-select
                v-model="editForm.hospitalno"
                placeholder="请选择付款医院"
                placeholder="请选择回款医院"
                clearable
                filterable
                style="width: 100%"
@@ -251,20 +279,20 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="付款器官名称" prop="payOrganName">
            <el-form-item label="(结算)器官名称" prop="payOrganName">
              <el-input
                v-model="editForm.payOrganName"
                maxlength="100"
                placeholder="请输入付款器官名称"
                placeholder="请输入(结算)器官名称"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="器官分配编号" prop="caseno">
            <el-form-item label="(国家)器官编号" prop="caseno">
              <el-input
                v-model="editForm.caseno"
                maxlength="50"
                placeholder="请输入器官分配编号"
                placeholder="请输入国家器官分配编号"
              />
            </el-form-item>
          </el-col>
@@ -278,10 +306,34 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="器官状态" prop="organState">
            <el-form-item label="应收金额" prop="organcharge">
              <el-input-number
                v-model="editForm.organcharge"
                :min="0"
                :precision="2"
                :controls="false"
                placeholder="请输入应收金额"
                style="width: 100%"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="实收金额" prop="amount">
              <el-input-number
                v-model="editForm.amount"
                :min="0"
                :precision="2"
                :controls="false"
                placeholder="请输入实收金额"
                style="width: 100%"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="利用状态" prop="organState">
              <el-select
                v-model="editForm.organState"
                placeholder="请选择器官状态"
                placeholder="请选择器官利用状态"
                style="width: 100%"
              >
                <el-option
@@ -538,6 +590,8 @@
        payOrganName: null,
        caseno: null,
        name: null,
        organcharge: null,
        amount: null,
        organState: null,
        organchargedesc: null
      },
@@ -557,11 +611,16 @@
        ]
      },
      // 查询参数
      // 回款医院筛选(__EMPTY__ 表示未填写)
      hospitalFilter: null,
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        hospitalno: null,
        hospitalnoIsNull: false,
        donorname: null,
        organState: null,
        payStatus: null,
        paymentid: null,
        // false:走 queryListBypaymentidIsNull,即未收齐费用的器官
        paymentidIsNotNull: false,
@@ -746,7 +805,7 @@
          });
      });
    },
    /** 打开修改弹窗(付款医院、付款器官名称、器官状态、备注) */
    /** 打开修改弹窗(回款医院、付款器官名称、金额、利用状态、备注) */
    handleEdit(row) {
      this.editForm = {
        id: row.id,
@@ -758,6 +817,12 @@
        payOrganName: row.payOrganName || "",
        caseno: row.caseno || "",
        name: row.name || "",
        organcharge:
          row.organcharge === null || row.organcharge === undefined
            ? null
            : row.organcharge,
        amount:
          row.amount === null || row.amount === undefined ? null : row.amount,
        organState:
          row.organState === null || row.organState === undefined
            ? null
@@ -801,13 +866,28 @@
    /** 重置按钮操作 */
    resetQuery() {
      this.donatetimeRange = [];
      this.hospitalFilter = null;
      this.queryParams.hospitalnoIsNull = false;
      this.queryParams.hospitalno = null;
      this.queryParams.donorname = null;
      this.queryParams.organState = null;
      this.queryParams.payStatus = null;
      this.queryParams.starttime = null;
      this.queryParams.endtime = null;
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** 回款医院筛选:__EMPTY__ 表示只查未填写回款医院的数据 */
    handleHospitalFilterChange(value) {
      if (value === "__EMPTY__") {
        this.queryParams.hospitalno = null;
        this.queryParams.hospitalnoIsNull = true;
      } else {
        this.queryParams.hospitalno = value;
        this.queryParams.hospitalnoIsNull = false;
      }
      this.queryParams.pageNum = 1;
    },
    /** 报告日期区间 -> 查询参数,未选择时传 null,避免后端拼出 donatetime >= '' */
    handleDonatetimeChange(val) {
      if (val && val.length === 2) {