马宇豪
2025-03-07 db905ecd14f63dba9337b4f4715584ef2d7e8c7e
src/views/specialOperationsPay/notCoalPay/index.vue
@@ -2,15 +2,13 @@
  <div class="app-container">
    <div>
      <el-button
        size="medium"
        style="margin-bottom: 10px;background-color: #0FC7F0;color: white"
        style="margin-right: 10px;background-color: #0FC7F0;color: white"
        @click="handleAdd('add',{})"
        v-if="isAhthority"
      >录入批次
      </el-button>
      <el-date-picker
        style="margin-left: 30px;width: 300px"
        size="small"
        style="width: 300px"
        v-model="dateValue"
        @change="changeDate"
        type="daterange"
@@ -20,14 +18,14 @@
        start-placeholder="开始日期"
        end-placeholder="结束日期">
      </el-date-picker>
      <el-select v-model="queryParams.districtCode" size="small" style="margin-left: 15px;margin-right: 15px" placeholder="行政区划">
        <el-option
          v-for="item in areaList"
          :key="item.id"
          :label="item.name"
          :value="item.code">
        </el-option>
      </el-select>
<!--      <el-select v-model="queryParams.districtCode" size="small" style="margin-left: 15px;margin-right: 15px" placeholder="行政区划">-->
<!--        <el-option-->
<!--          v-for="item in areaList"-->
<!--          :key="item.id"-->
<!--          :label="item.name"-->
<!--          :value="item.code">-->
<!--        </el-option>-->
<!--      </el-select>-->
<!--      <el-select v-model="queryParams.deptId" size="small" style="margin-left: 15px;" placeholder="请选择考试点">-->
<!--        <el-option-->
<!--          v-for="item in examList"-->
@@ -37,16 +35,14 @@
<!--        </el-option>-->
<!--      </el-select>-->
<!--      <treeselect v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择组织架构" />-->
      <el-cascader v-model="queryParams.deptId" size="small" :options="deptOptions" placeholder="组织架构" :props="{ expandTrigger: 'hover',checkStrictly: true,emitPath: false,value: 'id' }"></el-cascader>
      <el-cascader v-model="queryParams.deptId" style="margin-left: 10px" :options="deptOptions" placeholder="组织架构" :props="{ expandTrigger: 'hover',checkStrictly: true,emitPath: false,value: 'id' }"></el-cascader>
      <el-button
        size="small"
        type="primary"
        style="margin-bottom: 10px;margin-left: 20px"
        @click="handleQuery()"
      >查询
      </el-button>
      <el-button
        size="small"
        type="primary"
        style="margin-bottom: 10px"
        @click="resetQuery()"
@@ -58,7 +54,7 @@
      <el-table-column label="提交时间" align="center" prop="createTime"/>
      <el-table-column label="批次名称" align="center" prop="batchName"/>
      <el-table-column label="组织架构" align="center" prop="deptName"/>
      <el-table-column label="所属地州" align="center" prop="districtName"/>
      <el-table-column label="行政管辖" align="center" prop="districtName"/>
      <el-table-column label="缴费类型" align="center" prop="payType">
        <template #default="scope">
          {{scope.row.payType == 1?'初训理论':scope.row.payType == 2?'初训实操':scope.row.payType == 3?'初训理论与实操':scope.row.payType == 4?'复训理论':''}}
@@ -70,17 +66,17 @@
          <span>{{scope.row.havePayNum}}</span>/{{scope.row.totalNum}}
        </template>
      </el-table-column>
      <el-table-column label="学员个人缴费" align="center" prop="batchName">
      <el-table-column label="缴费形式" align="center" prop="batchName">
        <template #default="scope">
          <span v-if="scope.row.payPersonType == 1">已开启</span>
          <span v-if="scope.row.payPersonType == 2" style="color:red">已关闭</span>
          <el-button type="text" style="color:lightcoral" @click="updatePayType(scope.row)" v-if="scope.row.payPersonType == 1">关闭</el-button>
          <el-tag type="success" v-if="scope.row.payPersonType == 1">个人</el-tag>
          <el-tag v-if="scope.row.payPersonType == 2">批量</el-tag>
          <el-button type="text" style="color:lightcoral;margin-left: 5px" @click="updatePayType(scope.row)" size="small" v-if="scope.row.payPersonType == 1">转批量</el-button>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180px">
        <template #default="scope">
          <el-button v-if="isAhthority" size="mini" type="text" style="color: #1890ff" @click="handleViewStu(scope.row)">学员管理</el-button>
<!--          <el-button v-if="isAhthority" size="mini" type="text" style="color: #1890ff" @click="handleBatchPay(scope.row,'')">批量缴费</el-button>-->
          <el-button v-if="isAhthority && scope.row.payPersonType == 2 && (scope.row.havePayNum < scope.row.totalNum)" size="mini" type="text" style="color: #1890ff" @click="handleBatchPay(scope.row,'add')">批量缴费</el-button>
          <el-button v-if="isAhthority" size="mini" type="text" style="color:lightcoral" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
@@ -142,6 +138,13 @@
    };
  },
  created() {
    const userInfo = store.getters && store.getters.userInfo
    this.districtCode = userInfo.district.districtCode
    if(userInfo.district.districtCode !== '65'){
      this.queryParams.districtCode = this.districtCode
    }else{
      this.queryParams.districtCode = ''
    }
    this.getDistrict()
    this.getList()
    this.getDeptList()
@@ -154,15 +157,14 @@
  },
  methods: {
    getList() {
      this.loading = true;
      this.loading = false;
      this.loading = true
      this.queryParams.params.startTime = this.dateValue[0]?this.dateValue[0]:''
      this.queryParams.params.endTime = this.dateValue[1]?this.dateValue[1]:''
      getNonCoalPayList( this.queryParams).then((res) => {
        if (res.code == 200) {
          this.payList = res.rows
          this.total = res.total
          this.loading = false;
          this.loading = false
        }
      })
    },
@@ -193,10 +195,11 @@
    handleViewStu(val) {
      this.$refs.stuDialogRef.openDialog(val.id);
    },
    handleBatchPay(val) {
      this.$refs.batchPayRef.openDialog(val);
    handleBatchPay(val,type) {
      this.$refs.batchPayRef.openDialog(val,type);
    },
    handleQuery() {
      this.queryParams.pageNum = 1
      this.getList();
    },
    resetQuery() {
@@ -214,6 +217,13 @@
      this.getList();
    },
    updatePayType(row){
      if(row.totalNum < 2){
        this.$message({
          type: 'warning',
          message: '批量缴费人数不能小于二人'
        })
        return
      }
      this.$confirm('一旦关闭则无法重新开启个人缴费,必须批量缴完剩余所有学员。是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',