lkk
2024-12-16 c7b33db117fd2893d7d1c93bf5d46e87d33e44d0
src/views/system/refund/index.vue
@@ -1,111 +1,56 @@
<template>
  <div class="app-container">
    <div class="grid-content bg-purple">
      <el-form
        :inline="true"
        ref="form"
        :model="form"
        :label-position="labelPosition"
        class="demo-form-inline"
      >
        <el-form-item label="体检号" prop="tjNum">
          <el-input
            ref="inputName"
            v-model="form.tjNum"
            placeholder="请输入体检号"
          />
        </el-form-item>
        <el-form-item label="姓名" prop="tjName">
          <el-input v-model="form.tjName" placeholder="请输入姓名" />
        </el-form-item>
        <el-form-item label="联系电话" prop="tjPhone">
          <el-input v-model="form.tjPhone" placeholder="请输入联系电话" />
        </el-form-item>
        <el-form-item>
          <el-button
            style="margin-left: 50px"
            type="primary"
            size="mini"
            @click="handle"
            >搜索</el-button
          >
          <el-button
            style="margin-left: 10px"
            type="primary"
            size="mini"
            @click="resetQuery"
            >重置</el-button
          >
        </el-form-item>
      <el-form :inline="true" ref="form" :model="form" :label-position="labelPosition" class="demo-form-inline"
        label-width="100px">
        <el-row>
          <el-col :span="6">
            <el-form-item label="体检号" prop="tjNum" style="display: flex;">
              <el-input ref="inputName" v-model="form.tjNum" placeholder="请输入体检号" @keyup.enter.native="handle"  @blur="hb" />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="姓名" prop="tjName" style="display: flex;">
              <el-input v-model="form.tjName" placeholder="请输入姓名" />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="联系电话" prop="tjPhone" style="display: flex;">
              <el-input v-model="form.tjPhone" placeholder="请输入联系电话" />
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item>
              <el-button style="margin-left: 50px" type="primary" size="mini" @click="handle">搜索</el-button>
              <el-button style="margin-left: 10px" type="primary" size="mini" @click="resetQuery">重置</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <template>
      <el-table
        id="sig"
        :data="customerList"
        height="240"
        style="width: 100%; margin-bottom: 20px"
        border
        @selection-change="handleSelection"
        tooltip-effect="dark"
        ref="multipleTable"
      >
      <el-table id="sig" :data="customerList" height="240" style="width: 100%; margin-bottom: 20px" border
        @selection-change="handleSelection" tooltip-effect="dark" ref="multipleTable">
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column
          prop="tjName"
          label="姓名"
          width="100px"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="tjName" label="姓名" width="100px" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="tjPhone"
          label="联系电话"
          align="center"
          width="150px"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="tjPhone" label="联系电话" align="center" width="150px" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="tjComp"
          label="单位"
          align="center"
          width="250px"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="tjComp" label="单位" align="center" width="250px" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="tjType"
          label="体检类型"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="tjType" label="体检类型" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="tjNumber"
          label="体检号"
          align="center"
          width="250px"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="tjNumber" label="体检号" align="center" width="250px" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="totalAmount"
          label="总费用"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="totalAmount" label="总费用" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          label="登记时间"
          align="center"
          prop="registerTime"
          width="155px"
          height="10px"
          :show-overflow-tooltip="true"
        >
        <el-table-column label="登记时间" align="center" prop="registerTime" width="155px" height="10px"
          :show-overflow-tooltip="true">
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.registerTime) }}</span>
          </template>
@@ -115,13 +60,7 @@
                        <span>{{ parseTime(scope.row.reportTime) }}</span>
                    </template>
                </el-table-column> -->
        <el-table-column
          label="开票时间"
          align="center"
          prop="drawerTime"
          width="180"
          :show-overflow-tooltip="true"
        >
        <el-table-column label="开票时间" align="center" prop="drawerTime" width="180" :show-overflow-tooltip="true">
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.drawerTime, "{y}-{m}-{d}") }}</span>
          </template>
@@ -129,97 +68,48 @@
      </el-table>
    </template>
    <el-row :gutter="10" class="mb8">
      <el-col :span="16">
        <el-form
          :inline="true"
          :model="formInline"
          class="demo-form-inline"
          style="margin: 0px 4px"
        >
          <el-form-item label="已选择退费共计:">
            <el-input
              v-model="formInline.price"
              placeholder="请输入金额"
            ></el-input>
    <el-form :inline="true" :model="formInline" class="demo-form-inline" style="margin: 0px 4px">
      <el-row >
        <el-col :span="10">
          <el-form-item label="退费共计:">
            <el-input v-model="formInline.price" placeholder="请输入金额"></el-input>
          </el-form-item>
          <el-form-item label="退费类型">
            <el-select
              style="width: 120px"
              v-model="formInline.payType"
              placeholder="请选择付款类型"
            >
              <el-option
                v-for="dict in dict.type.dict_pay_type"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              ></el-option>
        </el-col>
        <el-col :span="10">
          <el-form-item label="退费类型" style="display: flex;">
            <el-select  v-model="formInline.payType" placeholder="请选择付款类型"  >
              <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
                :value="dict.value"></el-option>
            </el-select>
          </el-form-item>
          <el-button
            icon="el-icon-document-delete"
            size="small"
            v-hasPermi="['hosp:order:export']"
            @click="handleRefund"
            style="margin-top: 3px"
            >退费</el-button
          >
        </el-form>
      </el-col>
    </el-row>
        </el-col>
        <el-col :span="4">
          <el-form-item >
          <el-button icon="el-icon-document-delete" size="small" v-hasPermi="['hosp:order:export']" @click="handleRefund"
            style="margin-top: 3px">退费</el-button>
          </el-form-item>
        </el-col>
      </el-row>
    </el-form>
    <template>
      <el-table
        :data="numberList"
        height="260"
        v-loading="loading"
        style="width: 100%; margin-top: 20px"
        border
        @selection-change="handleSelectionChange"
      >
      <el-table :data="numberList" height="260" v-loading="loading" style="width: 100%; margin-top: 20px" border
        @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column
          prop="proName"
          label="项目名称"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="proName" label="项目名称" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="price"
          label="单价"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="price" label="单价" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="count"
          label="数量"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="count" label="数量" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="netReceipts"
          label="实收"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="netReceipts" label="实收" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          prop="tollCollector"
          label="收费人员"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column prop="tollCollector" label="收费人员" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          label="收费时间"
          align="center"
          prop="collectFeesTime"
          :show-overflow-tooltip="true"
        >
        <el-table-column label="收费时间" align="center" prop="collectFeesTime" :show-overflow-tooltip="true">
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.collectFeesTime) }}</span>
          </template>
@@ -295,9 +185,9 @@
      numberList: [],
      // 表单参数
      form: {
        tjNum: "",
        tjName: "",
        tjPhone: "",
        tjNum: null,
        tjName: null,
        tjPhone: null,
      },
    };
  },
@@ -310,12 +200,18 @@
        this.$refs.inputName.focus();
      });
    },
    hb(){
      console.log(this.form.tjNum);
       if (this.form.tjNum != null) {
        this.handle();
      }
    },
    /** 搜索操作 */
    handle() {
      this.loading = true;
      getTjRefundList(this.form).then((response) => {
        this.customerList = response.data;
        if( response.data){
          this.customerList = response.data;
        this.customerList.forEach((item1) => {
          this.tjnumber = item1.tjNumber;
        });
@@ -343,6 +239,8 @@
        });
        this.total = response.total;
        this.loading = false;
        }
      });
    },
@@ -350,7 +248,7 @@
    resetQuery() {
      this.$tab.refreshPage();
    },
    // 表格单选
    handleSelection(selection, val) {
      if (selection) {
@@ -378,7 +276,7 @@
      this.multipleSelection = val;
      this.refundPros = [];
      this.refundPros = this.multipleSelection;
      this.formInline.price = "";
      this.formInline.price = 0;
      this.multipleSelection.forEach((item) => {
        this.tollCollectorName = item.tollCollector;
        if (this.formInline.price) {
@@ -391,6 +289,7 @@
    // 退费
    handleRefund() {
      console.log(this.form)
      this.customerList.forEach((item) => {
        (this.orderIds = item.tjFlowingWater.orderId),
          (this.copewith = item.totalAmount);
@@ -432,7 +331,8 @@
        this.mobanId = res.data.mobanId;
        if (res.code === 200) {
          this.$modal.msgSuccess("退费成功");
          // this.handle();
          this.form.tjNum = res.data.waterId
          this.handle();
          // this.$forceUpdate();
          this.idList = res.data;
          const tjnumber = this.tjnumber;
@@ -447,7 +347,7 @@
</script>
<style>
#sig .el-table__header-wrapper .el-checkbox {
/* #sig .el-table__header-wrapper .el-checkbox {
  display: none;
}
} */
</style>