From db905ecd14f63dba9337b4f4715584ef2d7e8c7e Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Fri, 07 Mar 2025 14:45:00 +0800
Subject: [PATCH] 修改
---
src/views/specialOperationsPay/notCoalPay/index.vue | 277 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 271 insertions(+), 6 deletions(-)
diff --git a/src/views/specialOperationsPay/notCoalPay/index.vue b/src/views/specialOperationsPay/notCoalPay/index.vue
index cf82b1e..6949c22 100644
--- a/src/views/specialOperationsPay/notCoalPay/index.vue
+++ b/src/views/specialOperationsPay/notCoalPay/index.vue
@@ -1,10 +1,275 @@
-<script setup>
-
-</script>
-
<template>
+ <div class="app-container">
+ <div>
+ <el-button
+ style="margin-right: 10px;background-color: #0FC7F0;color: white"
+ @click="handleAdd('add',{})"
+ v-if="isAhthority"
+ >录入批次
+ </el-button>
+ <el-date-picker
+ style="width: 300px"
+ v-model="dateValue"
+ @change="changeDate"
+ type="daterange"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd"
+ range-separator="至"
+ 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.deptId" size="small" style="margin-left: 15px;" placeholder="请选择考试点">-->
+<!-- <el-option-->
+<!-- v-for="item in examList"-->
+<!-- :key="item.siteId"-->
+<!-- :label="item.siteName"-->
+<!-- :value="item.siteId">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- <treeselect v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择组织架构" />-->
+ <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
+ type="primary"
+ style="margin-bottom: 10px;margin-left: 20px"
+ @click="handleQuery()"
+ >查询
+ </el-button>
+ <el-button
+ type="primary"
+ style="margin-bottom: 10px"
+ @click="resetQuery()"
+ >重置
+ </el-button>
+ </div>
+ <el-table v-loading="loading" :data="payList" style="margin-top: 10px">
+ <el-table-column label="序号" align="center" type="index"/>
+ <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="payType">
+ <template #default="scope">
+ {{scope.row.payType == 1?'初训理论':scope.row.payType == 2?'初训实操':scope.row.payType == 3?'初训理论与实操':scope.row.payType == 4?'复训理论':''}}
+ </template>
+ </el-table-column>
+ <el-table-column label="单人(元)" align="center" prop="amount"/>
+ <el-table-column label="人数" align="center">
+ <template #default="scope">
+ <span>{{scope.row.havePayNum}}</span>/{{scope.row.totalNum}}
+ </template>
+ </el-table-column>
+ <el-table-column label="缴费形式" align="center" prop="batchName">
+ <template #default="scope">
+ <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 && 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>
+ </el-table>
+ <pagination
+ v-show="total>0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ />
+ <add-dialog ref="addDialogRef" @getList="getList"></add-dialog>
+ <stu-dialog ref="stuDialogRef" @getList="getList"></stu-dialog>
+ <batch-pay ref="batchPayRef" @getList="getList"></batch-pay>
+ </div>
</template>
-<style scoped lang="scss">
+<script>
+import {delJobRegist} from '@/api/coalMine/jobRegist'
+import {listPlat, listPlatSelect} from '@/api/onlineEducation/plat'
+import {listCourse} from '@/api/onlineEducation/course'
+import addDialog from './components/addDialog.vue'
+import stuDialog from './components/studentDialog.vue'
+import batchPay from "./components/batchPay.vue"
+import {getExamPage} from "@/api/coalMine/placeManage/exam";
+import {getAreaList} from "@/api/coalMine/placeManage/train";
+import {delNonCoalPay, editPayTypeInfo, getNonCoalPayList} from "@/api/specialOperationsPay/notCoalPay";
+import store from "@/store";
+import {deptTreeSelect} from "@/api/system/user";
-</style>
+export default {
+ name: "nCoalPay",
+ dicts: [],
+ components: {addDialog, stuDialog, batchPay},
+ data() {
+ return {
+ isDark: true,
+ loading: false,
+ single: true,
+ multiple: true,
+ showSearch: true,
+ addForm: false,
+ total: 0,
+ areaList: [],
+ deptOptions: [],
+ dateValue: [],
+ payList: [],
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ districtCode: '',
+ deptId: '',
+ params: {
+ startTime: '',
+ endTime: ''
+ }
+ },
+ isAhthority: false
+ };
+ },
+ 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()
+ const roles = store.getters && store.getters.roles
+ if (roles.includes('admin') || roles.includes('mkexam') || roles.includes('feimeiexam') ) {
+ this.isAhthority = true
+ } else {
+ this.isAhthority = false
+ }
+ },
+ methods: {
+ getList() {
+ 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
+ }
+ })
+ },
+
+ getDeptList() {
+ deptTreeSelect().then(response => {
+ this.deptOptions = response.data
+ })
+ },
+
+ openUrl(url) {
+ window.open(url, '_blank')
+ },
+ //行政区划
+ async getDistrict() {
+ const res = await getAreaList()
+ if (res.code == 200) {
+ this.areaList = res.data
+ }
+ },
+
+ changeDate(val) {
+ console.log('val', val)
+ },
+ handleAdd(type, data) {
+ this.$refs.addDialogRef.openDialog(type, data, this.areaList,this.deptOptions);
+ },
+ handleViewStu(val) {
+ this.$refs.stuDialogRef.openDialog(val.id);
+ },
+ handleBatchPay(val,type) {
+ this.$refs.batchPayRef.openDialog(val,type);
+ },
+ handleQuery() {
+ this.queryParams.pageNum = 1
+ this.getList();
+ },
+ resetQuery() {
+ this.queryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ districtCode: '',
+ deptId: '',
+ params: {
+ startTime: '',
+ endTime: ''
+ }
+ }
+ this.dateValue = []
+ this.getList();
+ },
+ updatePayType(row){
+ if(row.totalNum < 2){
+ this.$message({
+ type: 'warning',
+ message: '批量缴费人数不能小于二人'
+ })
+ return
+ }
+ this.$confirm('一旦关闭则无法重新开启个人缴费,必须批量缴完剩余所有学员。是否继续?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(async () => {
+ const res = await editPayTypeInfo({id: row.id,payPersonType: 2})
+ if(res.code == 200){
+ this.$message({
+ type: 'success',
+ message: '删除成功!'
+ });
+ await this.getList()
+ }else{
+ this.$message({
+ type: 'warning',
+ message: res.msg
+ });
+ }
+ }).catch(() => {
+
+ });
+ },
+
+ handleDelete(row){
+ this.$confirm('此操作将永久删除该条数据, 是否继续?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(async () => {
+ const res = await delNonCoalPay(row.id)
+ if(res.code == 200){
+ this.$message({
+ type: 'success',
+ message: '删除成功!'
+ });
+ await this.getList()
+ }else{
+ this.$message({
+ type: 'warning',
+ message: res.msg
+ });
+ }
+ }).catch(() => {
+
+ });
+ }
+ }
+};
+</script>
--
Gitblit v1.9.2