| | |
| | | size="medium" |
| | | style="margin-bottom: 10px;background-color: #0FC7F0;color: white" |
| | | @click="handleAdd('add',{})" |
| | | >录入批次</el-button> |
| | | v-if="isAhthority" |
| | | >录入批次 |
| | | </el-button> |
| | | <el-date-picker |
| | | style="margin-left: 30px;width: 300px" |
| | | size="small" |
| | |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | <el-select v-model="queryParams.institutionId" size="small" style="margin-left: 15px;" placeholder="请选择行政区划"> |
| | | <el-select v-model="queryParams.districtCode" size="small" style="margin-left: 15px;margin-right: 15px" placeholder="行政区划"> |
| | | <el-option |
| | | v-for="item in districtList" |
| | | v-for="item in areaList" |
| | | :key="item.id" |
| | | :label="item.institutionalName" |
| | | :value="item.id"> |
| | | :label="item.name" |
| | | :value="item.code"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-select v-model="queryParams.institutionId" size="small" style="margin-left: 15px;" placeholder="请选择考试点"> |
| | | <el-option |
| | | v-for="item in examList" |
| | | :key="item.id" |
| | | :label="item.institutionalName" |
| | | :value="item.id"> |
| | | </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" size="small" :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> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | style="margin-bottom: 10px" |
| | | @click="resetQuery()" |
| | | >重置</el-button> |
| | | >重置 |
| | | </el-button> |
| | | </div> |
| | | <el-table v-loading="loading" :data="expertList" 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="batchName" /> |
| | | <el-table-column label="所属地州" align="center" prop="batchName" /> |
| | | <el-table-column label="缴费类型" align="center" prop="batchName" /> |
| | | <el-table-column label="单人(元)" align="center" prop="batchName" /> |
| | | <el-table-column label="人数" align="center" prop="batchName" /> |
| | | <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"> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180px"> |
| | | <template #default="scope" > |
| | | <el-button size="mini" type="text" style="color: #1890ff" @click="handleViewStu(scope.row)">学员管理</el-button> |
| | | <el-button size="mini" type="text" style="color: #1890ff" @click="handleViewCourse(scope.row,'')">批量缴费</el-button> |
| | | <el-button size="mini" type="text" style="color:lightcoral" @click="handleViewCourse(scope.row,'')">删除</el-button> |
| | | <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" size="mini" type="text" style="color:lightcoral" @click="handleDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | <add-dialog ref="addDialogRef" @getList = "getList"></add-dialog> |
| | | <stu-dialog ref="stuDialogRef" @getList = "getList"></stu-dialog> |
| | | <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> |
| | | |
| | | <script> |
| | | import { delJobRegist } from '@/api/coalMine/jobRegist' |
| | | import { listPlat, listPlatSelect } from '@/api/onlineEducation/plat' |
| | | import { listCourse } from '@/api/onlineEducation/course' |
| | | 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"; |
| | | |
| | | export default { |
| | | name: "nPeopleManage", |
| | | name: "nCoalPay", |
| | | dicts: [], |
| | | components: { addDialog,stuDialog }, |
| | | components: {addDialog, stuDialog, batchPay}, |
| | | data() { |
| | | return { |
| | | isDark:true, |
| | | isDark: true, |
| | | loading: false, |
| | | single: true, |
| | | multiple: true, |
| | | showSearch: true, |
| | | addForm: false, |
| | | total: 0, |
| | | districtList: [], |
| | | examList: [], |
| | | areaList: [], |
| | | deptOptions: [], |
| | | dateValue: [], |
| | | expertList: [], |
| | | payList: [], |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | institutionId: '' |
| | | districtCode: '', |
| | | deptId: '', |
| | | params: { |
| | | startTime: '', |
| | | endTime: '' |
| | | } |
| | | }, |
| | | isAhthority: false |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getDistrict(); |
| | | this.getList(); |
| | | this.getExam(); |
| | | 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(){ |
| | | getList() { |
| | | this.loading = true; |
| | | this.expertList = [ |
| | | { |
| | | id: 1, |
| | | |
| | | } |
| | | ] |
| | | this.total = 1 |
| | | this.loading = false; |
| | | 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 = true; |
| | | // listCourse( this.queryParams).then((res) => { |
| | | // if (res.code == 200) { |
| | | // this.expertList = res.rows.map(item => { |
| | | // return { |
| | | // ...item, |
| | | // courseNum: item.outline ? item.outline.length : '', |
| | | // } |
| | | // }) |
| | | // this.total = res.total |
| | | // this.loading = false; |
| | | // } |
| | | // }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | getDeptList() { |
| | | deptTreeSelect().then(response => { |
| | | this.deptOptions = response.data |
| | | }) |
| | | }, |
| | | |
| | | openUrl(url) { |
| | | window.open(url,'_blank') |
| | | window.open(url, '_blank') |
| | | }, |
| | | //行政区划 |
| | | getDistrict() { |
| | | async getDistrict() { |
| | | const res = await getAreaList() |
| | | if (res.code == 200) { |
| | | this.areaList = res.data |
| | | } |
| | | }, |
| | | |
| | | changeDate(val) { |
| | | console.log('val', val) |
| | | }, |
| | | //考试点 |
| | | getExam() { |
| | | |
| | | handleAdd(type, data) { |
| | | this.$refs.addDialogRef.openDialog(type, data, this.areaList,this.deptOptions); |
| | | }, |
| | | changeDate(val){ |
| | | console.log('val',val) |
| | | handleViewStu(val) { |
| | | this.$refs.stuDialogRef.openDialog(val.id); |
| | | }, |
| | | handleAdd(type,data) { |
| | | this.$refs.addDialogRef.openDialog(type, data); |
| | | handleBatchPay(val) { |
| | | this.$refs.batchPayRef.openDialog(val); |
| | | }, |
| | | handleViewStu(val){ |
| | | this.$refs.stuDialogRef.openDialog(val); |
| | | }, |
| | | handleQuery(){ |
| | | handleQuery() { |
| | | this.getList(); |
| | | }, |
| | | resetQuery(){ |
| | | resetQuery() { |
| | | this.queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | institutionId: '' |
| | | districtCode: '', |
| | | deptId: '', |
| | | params: { |
| | | startTime: '', |
| | | endTime: '' |
| | | } |
| | | } |
| | | this.dateValue = [] |
| | | this.getList(); |
| | | }, |
| | | check(val){ |
| | | this.$confirm('此操作将审核该条数据, 是否继续?', '提示', { |
| | | updatePayType(row){ |
| | | 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(() => { |
| | | |
| | | }); |