From db905ecd14f63dba9337b4f4715584ef2d7e8c7e Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期五, 07 三月 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