| | |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function coalTeamPay(data) { |
| | | return request({ |
| | | url: '/pay/coalPay/teamPay', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | export function coalPersonPay(query) { |
| | | return request({ |
| | | url: '/pay/coalPay/personPay', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | params: data |
| | | }) |
| | | } |
| | | |
| | | export function nonCoalTeamPay(data) { |
| | | return request({ |
| | | url: '/pay/nonCoalPay/editPayTypeInfo', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | export function nonCoalPersonPay(data) { |
| | | return request({ |
| | | url: '/pay/nonCoalPay/sendOrder', |
| | | method: 'post', |
| | | params: data |
| | | }) |
| | | } |
| | |
| | | import Search from '@/components/HeaderSearch' |
| | | import RuoYiGit from '@/components/RuoYi/Git' |
| | | import RuoYiDoc from '@/components/RuoYi/Doc' |
| | | import avatar from '@/assets/logo/logo1.png' |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | RuoYiGit, |
| | | RuoYiDoc |
| | | }, |
| | | data(){ |
| | | return { |
| | | avatar |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'sidebar', |
| | | 'avatar', |
| | | 'device' |
| | | ]), |
| | | setting: { |
| | |
| | | <el-form-item label="电话:" prop="cphone"> |
| | | <el-input v-model.trim="dataForm.cphone" :maxlength="11" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联培训机构:" prop="institutionId"> |
| | | <el-select v-model="dataForm.institutionId" placeholder="请选择" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in trainList" |
| | | :key="item.institutionId" |
| | | :label="item.institutionName" |
| | | :value="item.institutionId"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="关联培训机构:" prop="institutionId">--> |
| | | <!-- <el-select v-model="dataForm.institutionId" placeholder="请选择" style="width: 100%;">--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in trainList"--> |
| | | <!-- :key="item.institutionId"--> |
| | | <!-- :label="item.institutionName"--> |
| | | <!-- :value="item.institutionId">--> |
| | | <!-- </el-option>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="备注:" prop="remark"> |
| | | <el-input type="textarea" v-model.trim="dataForm.remark"/> |
| | | </el-form-item> |
| | |
| | | rules: { |
| | | siteName: [{ required: true, message: '请输入考点名称', trigger: 'blur' }], |
| | | districtId: [{ required: true, message: '请选择地区', trigger: 'blur' }], |
| | | institutionId: [{ required: true, message: '请选择培训机构', trigger: 'blur' }], |
| | | // institutionId: [{ required: true, message: '请选择培训机构', trigger: 'blur' }], |
| | | hphone: [ |
| | | { |
| | | pattern: /^1[0-9]{10}$/, |
| | |
| | | this.dialogStatus = type; |
| | | if(this.dialogStatus == 'edit') { |
| | | this.dataForm = data; |
| | | this.dataForm.institutionId = data.institutionId.toString() |
| | | // this.dataForm.institutionId = data.institutionId.toString() |
| | | } |
| | | this.$nextTick(() => { |
| | | this.$refs['dataForm'].clearValidate() |
| | |
| | | <el-table-column label="考试点名称" align="center" prop="siteName" /> |
| | | <el-table-column label="所属地区" align="center" prop="districtName" /> |
| | | <el-table-column label="地址" align="center" prop="address" /> |
| | | <el-table-column label="关联培训机构" align="center" prop="institutionName" /> |
| | | <!-- <el-table-column label="关联培训机构" align="center" prop="institutionName" />--> |
| | | <el-table-column label="负责人及电话" align="center" prop="phone"> |
| | | <template #default="scope"> |
| | | <div>{{scope.row.header}}</div> |
| | |
| | | methods: { |
| | | openDialog (val,type) { |
| | | const t = this |
| | | t.reset() |
| | | const roles = store.getters && store.getters.roles |
| | | if(roles.includes('admin')){ |
| | | t.isAdmin = true |
| | | }else{ |
| | | t.isAdmin = false |
| | | } |
| | | if(roles.includes('company')){ |
| | | if(roles.includes('company') || roles.includes('feimeiexam')){ |
| | | t.form.isCm = 0 |
| | | } |
| | | if(roles.includes('mk')){ |
| | | if(roles.includes('mk') || roles.includes('mkexam')){ |
| | | t.form.isCm = 1 |
| | | } |
| | | const userInfo = store.getters && store.getters.userInfo |
| | |
| | | t.form.institutionId = userInfo.institutions[0].institutionId |
| | | } |
| | | t.open = true |
| | | t.reset() |
| | | if(type == 'add'){ |
| | | t.title = '新增申报' |
| | | t.disable = false |
| | |
| | | plain |
| | | size="mini" |
| | | @click="openExamApply({},'add')" |
| | | v-hasPermi="['system:experts:add']" |
| | | >考试计划申请</el-button> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | size="mini" |
| | | @click="openExamRegist()" |
| | | v-if="!roles.find(i=>i=='feimeiexam') && !roles.find(i=>i=='mkexam')" |
| | | >考试报名</el-button> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | size="mini" |
| | | @click="openGrades()" |
| | | v-if="!roles.find(i=>i=='feimeiexam') && !roles.find(i=>i=='mkexam')" |
| | | >成绩查询</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | |
| | | examEndTime: '', |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | } |
| | | }, |
| | | roles: [] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.roles = store.getters && store.getters.roles |
| | | console.log(this.roles,'role') |
| | | // if (roles.includes('mk')) { |
| | | // this.form.isCm = 1 |
| | | // } |
| | | this.getList() |
| | | this.getTypeList() |
| | | this.getArea() |
| | |
| | | <img :src="codeUrl" @click="getCode" class="login-code-img"/> |
| | | </div> |
| | | </el-form-item> |
| | | <el-checkbox v-model="loginForm.rememberMe" style="margin:0 0 25px 0;color: #ccc">记住密码</el-checkbox> |
| | | <div style="display: flex;justify-content: space-between;align-items: center;margin-bottom: 25px"> |
| | | <el-checkbox v-model="loginForm.rememberMe" style="color: #ccc">记住密码</el-checkbox> |
| | | <span style="color: yellow;cursor: pointer" @click="toPay">特种作业缴费助手</span> |
| | | </div> |
| | | |
| | | <div style="display: flex;justify-content: space-between;align-items: center"> |
| | | <div style="width: 100%"> |
| | | <el-button |
| | |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | toPay(){ |
| | | this.$router.push("/singlePage"); |
| | | } |
| | | } |
| | | }; |
| | |
| | | <el-form-item label="电话:" prop="cphone"> |
| | | <el-input v-model.trim="dataForm.cphone" :maxlength="11" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联培训机构:" prop="institutionId"> |
| | | <el-select v-model="dataForm.institutionId" placeholder="请选择" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in trainList" |
| | | :key="item.institutionId" |
| | | :label="item.institutionName" |
| | | :value="item.institutionId"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="关联培训机构:" prop="institutionId">--> |
| | | <!-- <el-select v-model="dataForm.institutionId" placeholder="请选择" style="width: 100%;">--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in trainList"--> |
| | | <!-- :key="item.institutionId"--> |
| | | <!-- :label="item.institutionName"--> |
| | | <!-- :value="item.institutionId">--> |
| | | <!-- </el-option>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="备注:" prop="remark"> |
| | | <el-input type="textarea" v-model.trim="dataForm.remark"/> |
| | | </el-form-item> |
| | |
| | | rules: { |
| | | siteName: [{ required: true, message: '请输入考点名称', trigger: 'blur' }], |
| | | districtId: [{ required: true, message: '请选择地区', trigger: 'blur' }], |
| | | institutionId: [{ required: true, message: '请选择培训机构', trigger: 'blur' }], |
| | | // institutionId: [{ required: true, message: '请选择培训机构', trigger: 'blur' }], |
| | | hphone: [ |
| | | { |
| | | pattern: /^1[0-9]{10}$/, |
| | |
| | | this.dialogStatus = type; |
| | | if(this.dialogStatus == 'edit') { |
| | | this.dataForm = data; |
| | | this.dataForm.institutionId = data.institutionId.toString() |
| | | // this.dataForm.institutionId = data.institutionId.toString() |
| | | } |
| | | this.$nextTick(() => { |
| | | this.$refs['dataForm'].clearValidate() |
| | |
| | | <el-table-column label="考试点名称" align="center" prop="siteName" /> |
| | | <el-table-column label="所属地区" align="center" prop="districtName" /> |
| | | <el-table-column label="地址" align="center" prop="address" /> |
| | | <el-table-column label="关联培训机构" align="center" prop="institutionName" /> |
| | | <!-- <el-table-column label="关联培训机构" align="center" prop="institutionName" />--> |
| | | <el-table-column label="负责人及电话" align="center" prop="phone"> |
| | | <template #default="scope"> |
| | | <div>{{scope.row.header}}</div> |
| | |
| | | getCoalPayCategory({categoryType: type,pageNum: 1, pageSize: 999}).then((res) => { |
| | | if (res.code == 200) { |
| | | if(type == 1){ |
| | | this.dealList = res.rows |
| | | this.dealList = res.rows.map(i=>{ |
| | | i.subjectName = i.subjectName + ' ('+ i.amount +'元)' |
| | | return i |
| | | }) |
| | | }else{ |
| | | this.operationList = res.rows |
| | | this.operationList = res.rows.map(i=>{ |
| | | i.subjectName = i.subjectName + ' ('+ i.amount +'元)' |
| | | return i |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form ref="dataForm" :model="dataForm" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中..."> |
| | | <el-form-item label="缴款人类型:" prop="type"> |
| | | <el-radio-group v-model="dataForm.type"> |
| | | <el-radio label="0">团体</el-radio> |
| | | </el-radio-group> |
| | | <!-- <el-form-item label="缴款人类型:" prop="payPersonType">--> |
| | | <!-- <el-radio-group v-model="dataForm.payPersonType">--> |
| | | <!-- <el-radio :label="2">团体</el-radio>--> |
| | | <!-- </el-radio-group>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="缴款单位名称:" prop="payCompanyName"> |
| | | <el-input v-model.trim="dataForm.payCompanyName"/> |
| | | </el-form-item> |
| | | <el-form-item label="缴款单位名称:" prop="name"> |
| | | <el-input v-model.trim="dataForm.name"/> |
| | | </el-form-item> |
| | | <el-form-item label="缴款单位证件号:" prop="cardNo"> |
| | | <el-input v-model.trim="dataForm.cardNo"/> |
| | | <el-form-item label="缴款单位证件号:" prop="payCompanyCard"> |
| | | <el-input v-model.trim="dataForm.payCompanyCard"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | </template> |
| | | |
| | | <script > |
| | | import { addPlat, updatePlat } from '@/api/onlineEducation/plat' |
| | | import { verifySimplePhone } from '@/utils/validate' |
| | | import {coalTeamPay} from "@/api/specialOperationsPay/coalPay"; |
| | | |
| | | export default { |
| | | name: 'batchPay', |
| | |
| | | dialogVisible: false, |
| | | dialogStatus: '', |
| | | rules: { |
| | | name: [{ required: true, message: '请输入单位名称', trigger: 'blur' }], |
| | | cardNo: [{ required: true, message: '请输入单位证件号', trigger: 'blur' }] |
| | | payCompanyName: [{ required: true, message: '请输入缴费单位名称', trigger: 'blur' }], |
| | | payCompanyCard: [{ required: true, message: '请输入缴费单位证件号', trigger: 'blur' }] |
| | | }, |
| | | dataForm: {}, |
| | | dataForm: { |
| | | }, |
| | | |
| | | } |
| | | }, |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | openDialog (type, data) { |
| | | openDialog (data,type) { |
| | | this.resetDataForm(); |
| | | this.dialogVisible = true; |
| | | this.dialogStatus = type; |
| | | this.dialogVisible = true |
| | | this.dialogStatus = type |
| | | this.dataForm.coalPayId = data.id |
| | | this.dataForm.payPersonType = 2 |
| | | if(this.dialogStatus == 'edit') { |
| | | this.dataForm = data; |
| | | this.dataForm = data |
| | | } |
| | | this.$nextTick(() => { |
| | | this.$refs['dataForm'].clearValidate() |
| | |
| | | this.$refs["dataForm"].validate( async valid => { |
| | | if (valid) { |
| | | if(this.dialogStatus == 'add'){ |
| | | console.log("this.dataForm",this.dataForm) |
| | | // const res = await addPlat(this.dataForm); |
| | | // if(res.code == 200) { |
| | | // this.$emit("getList"); |
| | | // this.dialogVisible = false; |
| | | // this.$message({ |
| | | // type:'success', |
| | | // message: '新增成功' |
| | | // }) |
| | | // }else{ |
| | | // this.$message({ |
| | | // type:'warning', |
| | | // message: res.msg |
| | | // }) |
| | | // } |
| | | const res = await coalTeamPay(this.dataForm); |
| | | if(res.code == 200) { |
| | | this.$emit("getList"); |
| | | this.dialogVisible = false; |
| | | this.$message({ |
| | | type:'success', |
| | | message: '提交成功' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message: res.msg |
| | | }) |
| | | } |
| | | }else { |
| | | // const res = await updatePlat(this.dataForm); |
| | | // if(res.code == 200) { |
| | |
| | | <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> |
| | |
| | | handleViewStu(val) { |
| | | this.$refs.stuDialogRef.openDialog(val) |
| | | }, |
| | | handleBatchPay(val) { |
| | | this.$refs.batchPayRef.openDialog(val); |
| | | handleBatchPay(val,type) { |
| | | this.$refs.batchPayRef.openDialog(val,type); |
| | | }, |
| | | handleQuery() { |
| | | this.getList(); |
| | |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | @click="openTicket()" |
| | | v-hasPermi="['system:experts:add']" |
| | | >开票信息维护</el-button> |
| | | <el-radio-group v-model="queryParams.categoryType" style="margin-left: 10px;" @change="changeStatus"> |
| | | <el-radio-button>全部</el-radio-button> |
| | |
| | | getNotCoalPayCategory({categoryType: type,districtCode: this.dataForm.districtCode?this.dataForm.districtCode:''}).then((res) => { |
| | | if (res.code == 200) { |
| | | if(type == 1){ |
| | | this.dealList = res.rows |
| | | this.dealList = res.rows.map(i=>{ |
| | | i.subjectName = i.subjectName + ' ('+ i.amount +'元)' |
| | | return i |
| | | }) |
| | | }else{ |
| | | this.operationList = res.rows |
| | | this.operationList = res.rows.map(i=>{ |
| | | i.subjectName = i.subjectName + ' ('+ i.amount +'元)' |
| | | return i |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form ref="dataForm" :model="dataForm" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中..."> |
| | | <el-form-item label="缴款人类型:" prop="type"> |
| | | <el-radio-group v-model="dataForm.type"> |
| | | <el-radio label="0">团体</el-radio> |
| | | </el-radio-group> |
| | | <!-- <el-form-item label="缴款人类型:" prop="payPersonType">--> |
| | | <!-- <el-radio-group v-model="dataForm.payPersonType">--> |
| | | <!-- <el-radio :label="2">团体</el-radio>--> |
| | | <!-- </el-radio-group>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="缴款单位名称:" prop="payCompanyName"> |
| | | <el-input v-model.trim="dataForm.payCompanyName"/> |
| | | </el-form-item> |
| | | <el-form-item label="缴款单位名称:" prop="name"> |
| | | <el-input v-model.trim="dataForm.name"/> |
| | | </el-form-item> |
| | | <el-form-item label="缴款单位证件号:" prop="cardNo"> |
| | | <el-input v-model.trim="dataForm.cardNo"/> |
| | | <el-form-item label="缴款单位证件号:" prop="payCompanyCard"> |
| | | <el-input v-model.trim="dataForm.payCompanyCard"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | </template> |
| | | |
| | | <script > |
| | | import { addPlat, updatePlat } from '@/api/onlineEducation/plat' |
| | | import { verifySimplePhone } from '@/utils/validate' |
| | | import {coalTeamPay} from "@/api/specialOperationsPay/coalPay"; |
| | | import {nonCoalTeamPay} from "@/api/specialOperationsPay/notCoalPay"; |
| | | |
| | | export default { |
| | | name: 'batchPay', |
| | |
| | | dialogVisible: false, |
| | | dialogStatus: '', |
| | | rules: { |
| | | name: [{ required: true, message: '请输入单位名称', trigger: 'blur' }], |
| | | cardNo: [{ required: true, message: '请输入单位证件号', trigger: 'blur' }] |
| | | payCompanyName: [{ required: true, message: '请输入缴费单位名称', trigger: 'blur' }], |
| | | payCompanyCard: [{ required: true, message: '请输入缴费单位证件号', trigger: 'blur' }] |
| | | }, |
| | | dataForm: {}, |
| | | dataForm: { |
| | | }, |
| | | |
| | | } |
| | | }, |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | openDialog (type, data) { |
| | | openDialog (data,type) { |
| | | this.resetDataForm(); |
| | | this.dialogVisible = true; |
| | | this.dialogStatus = type; |
| | | this.dialogVisible = true |
| | | this.dialogStatus = type |
| | | this.dataForm.id = data.id |
| | | this.dataForm.payPersonType = 2 |
| | | if(this.dialogStatus == 'edit') { |
| | | this.dataForm = data; |
| | | this.dataForm = data |
| | | } |
| | | this.$nextTick(() => { |
| | | this.$refs['dataForm'].clearValidate() |
| | |
| | | this.$refs["dataForm"].validate( async valid => { |
| | | if (valid) { |
| | | if(this.dialogStatus == 'add'){ |
| | | console.log("this.dataForm",this.dataForm) |
| | | // const res = await addPlat(this.dataForm); |
| | | // if(res.code == 200) { |
| | | // this.$emit("getList"); |
| | | // this.dialogVisible = false; |
| | | // this.$message({ |
| | | // type:'success', |
| | | // message: '新增成功' |
| | | // }) |
| | | // }else{ |
| | | // this.$message({ |
| | | // type:'warning', |
| | | // message: res.msg |
| | | // }) |
| | | // } |
| | | const res = await nonCoalTeamPay(this.dataForm); |
| | | if(res.code == 200) { |
| | | this.$emit("getList"); |
| | | this.dialogVisible = false; |
| | | this.$message({ |
| | | type:'success', |
| | | message: '提交成功' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message: res.msg |
| | | }) |
| | | } |
| | | }else { |
| | | // const res = await updatePlat(this.dataForm); |
| | | // if(res.code == 200) { |
| | |
| | | <el-dialog :visible.sync="dialogVisible" width="800px" append-to-body class="stu"> |
| | | <div class="infoTitle"> |
| | | <div>批次名称:<span>{{stuInfo.batchName}}</span></div> |
| | | <div style="margin-left: 35px">所属区划:<span>{{stuInfo.districtName}}</span></div> |
| | | </div> |
| | | <div class="infoTitle"> |
| | | <div>所属区划:<span>{{stuInfo.districtName}}</span></div> |
| | | </div> |
| | | <div class="infoTitle"> |
| | | <div>组织架构:<span>{{stuInfo.deptName}}</span></div> |
| | |
| | | <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" |
| | | style="width: 300px" |
| | | size="small" |
| | | v-model="dateValue" |
| | | @change="changeDate" |
| | |
| | | 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"--> |
| | |
| | | <!-- </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" size="small" style="margin-left: 10px" :options="deptOptions" placeholder="组织架构" :props="{ expandTrigger: 'hover',checkStrictly: true,emitPath: false,value: 'id' }"></el-cascader> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | |
| | | <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?'复训理论':''}} |
| | |
| | | <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> |
| | |
| | | }; |
| | | }, |
| | | 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() |
| | |
| | | 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.getList(); |
| | |
| | | > |
| | | <el-form ref="dataForm" :model="dataForm" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中..."> |
| | | <el-form-item label="所属区划:" prop="districtCode"> |
| | | <el-select v-model="dataForm.districtCode" style="margin-left: 15px" placeholder="行政区划"> |
| | | <el-select v-model="dataForm.districtCode" style="margin-left: 15px" :disabled="!isShow" placeholder="行政区划"> |
| | | <el-option |
| | | v-for="item in areaList" |
| | | :key="item.id" |
| | |
| | | <el-form-item label="科目名称:" prop="subjectName"> |
| | | <el-input v-model.trim="dataForm.subjectName"/> |
| | | </el-form-item> |
| | | <el-form-item label="资格类型:" prop="operateTypeId"> |
| | | <el-form-item label="资格类型:"> |
| | | <el-cascader |
| | | v-model="dataForm.operateTypeId" |
| | | :options="typeList" |
| | | style="width: 100%" |
| | | :props="{ expandTrigger: 'hover', value: 'id',label: 'name',emitPath: false}"></el-cascader> |
| | | :props="{ expandTrigger: 'hover', value: 'id',label: 'name',emitPath: false, checkStrictly: true}"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="金额:" prop="amount"> |
| | | <el-input v-model.trim.number="dataForm.amount"> |
| | |
| | | import {getAreaList} from "@/api/coalMine/placeManage/train"; |
| | | import {getOperatePage} from "@/api/coalMine/operateType"; |
| | | import {addNotCoalPayCategory, getNotCoalPayCategory, updateNotCoalPayCategory} from "@/api/specialOperationsPay/notCoalPay"; |
| | | import store from "@/store"; |
| | | |
| | | export default { |
| | | name: 'detailDialog', |
| | |
| | | districtCode: [{ required: true, message: '请选择所属区划', trigger: 'blur' }], |
| | | categoryType: [{ required: true, message: '请选择类别', trigger: 'blur' }], |
| | | subjectName: [{ required: true, message: '请输入科目名称', trigger: 'blur' }], |
| | | operateTypeId: [{ required: true, message: '请选择资格类型', trigger: 'blur' }], |
| | | amount: [{ required: true, message: '请输入金额', trigger: 'blur' }], |
| | | businessCode: [{ required: true, message: '请输入业务代码', trigger: 'blur' }], |
| | | companyCode: [{ required: true, message: '请输入单位编码', trigger: 'blur' }], |
| | |
| | | reviewer: [{ required: true, message: '请输入复核人', trigger: 'blur' }], |
| | | invoicingCompanyCode: [{ required: true, message: '请输入开票单位社会信用代码', trigger: 'blur' }] |
| | | }, |
| | | dataForm: {}, |
| | | dataForm: { |
| | | |
| | | }, |
| | | isShow: false |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | methods: { |
| | | openDialog (type, data) { |
| | | this.getArea() |
| | | this.getTypeList() |
| | | openDialog (type, data, areaList,code) { |
| | | this.resetDataForm() |
| | | this.areaList = areaList |
| | | if(code !== '65'){ |
| | | this.dataForm.districtCode = code |
| | | this.isShow = false |
| | | }else{ |
| | | this.isShow = true |
| | | } |
| | | this.getTypeList() |
| | | this.dialogVisible = true |
| | | this.title = type == 'add'?'新增':'编辑' |
| | | if(this.title == '编辑') { |
| | |
| | | this.$refs['dataForm'].clearValidate() |
| | | }) |
| | | }, |
| | | async getArea() { |
| | | const res = await getAreaList(); |
| | | if (res.code == 200) { |
| | | this.areaList = res.data |
| | | } |
| | | }, |
| | | // async getArea() { |
| | | // const res = await getAreaList(); |
| | | // if (res.code == 200) { |
| | | // this.areaList = res.data |
| | | // } |
| | | // }, |
| | | async getTypeList() { |
| | | this.loading = true; |
| | | const res = await getOperatePage({name: ''}) |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | style="margin-right: 10px" |
| | | icon="el-icon-plus" |
| | | @click="handleView('add',{})" |
| | | >新增 |
| | | </el-button> |
| | | <el-radio-group v-model="queryParams.categoryType" @change="changeTimeStatus"> |
| | | <el-radio-button>全部</el-radio-button> |
| | | <el-radio-button :label="1">理论</el-radio-button> |
| | | <el-radio-button :label="2">实操</el-radio-button> |
| | | </el-radio-group> |
| | | <el-select v-model="queryParams.districtCode" style="margin-left: 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" style="margin-left: 10px" placeholder="行政区划">--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in areaList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.name"--> |
| | | <!-- :value="item.code">--> |
| | | <!-- </el-option>--> |
| | | <!-- </el-select>--> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | |
| | | @click="resetQuery()" |
| | | >重置 |
| | | </el-button> |
| | | </el-row> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleView('add',{})" |
| | | v-hasPermi="['system:experts:add']" |
| | | >新增 |
| | | </el-button> |
| | | </el-row> |
| | | |
| | | <el-table |
| | | :data="cateGoryList" |
| | | style="width: 100%;margin-bottom: 20px;" |
| | | row-key="id" |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> |
| | | <el-table-column label="地州" align="center" prop="districtName"/> |
| | | <el-table-column label="地州" align="center" prop="districtName" width="260"/> |
| | | <el-table-column label="类别" align="center" prop="categoryType"> |
| | | <template #default="scope"> |
| | | {{scope.row.categoryType == 1?'理论':scope.row.categoryType == 2?'实操':''}} |
| | |
| | | <el-table-column label="复核人" align="center" prop="reviewer"/> |
| | | <el-table-column label="开票单位社会信用代码" align="center" prop="invoicingCompanyCode"/> |
| | | <el-table-column label="描述" align="center" prop="describe"/> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width"> |
| | | <template #default="scope"> |
| | | <el-button |
| | | v-if="scope.row.subjectName" |
| | |
| | | import Cookies from 'js-cookie' |
| | | import {getAreaList} from "@/api/coalMine/placeManage/train"; |
| | | import {delTeacher} from "@/api/coalMine/teacher"; |
| | | import store from "@/store"; |
| | | |
| | | export default { |
| | | name: "coalWorkType", |
| | |
| | | categoryType: null, |
| | | districtCode: '' |
| | | }, |
| | | districtCode: '' |
| | | }; |
| | | }, |
| | | 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.getList() |
| | | this.getArea() |
| | | }, |
| | |
| | | } |
| | | delete i.children |
| | | } |
| | | if(i.children){ |
| | | for(let j of i.children){ |
| | | j.districtName = '' |
| | | } |
| | | } |
| | | return i |
| | | }) |
| | | } |
| | | this.cateGoryList = JSON.parse(JSON.stringify(totalList)) |
| | | console.log(this.cateGoryList,'666') |
| | | this.total = res.total |
| | | this.loading = false; |
| | | } |
| | |
| | | async getArea() { |
| | | const res = await getAreaList(); |
| | | if (res.code == 200) { |
| | | this.areaList = res.data; |
| | | this.areaList = res.data.filter(i=>i.code !== '65') |
| | | console.log(this.areaList,'list') |
| | | } |
| | | }, |
| | | changeTimeStatus(val) { |
| | |
| | | this.getList() |
| | | }, |
| | | handleView(type,data) { |
| | | this.$refs.detailDialogRef.openDialog(type,data); |
| | | this.$refs.detailDialogRef.openDialog(type,data,this.areaList,this.districtCode); |
| | | }, |
| | | handleDelete(row){ |
| | | this.$confirm('此操作将永久删除该条数据, 是否继续?', '提示', { |
| | |
| | | :modal-append-to-body="false" |
| | | fullscreen |
| | | class="myCustomDialog" |
| | | v-loading="payLoading" |
| | | element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(255, 255, 255, 0.8)" |
| | | element-loading-text="等待财政接口加解密返回结果,正在生成支付订单" |
| | | element-loading-customClass="payLoading" |
| | | @close="closePay" |
| | | > |
| | | <div class="topInfo"> |
| | | <el-row style="margin-bottom: 0"> |
| | |
| | | |
| | | <script > |
| | | import {verifyIdCard, verifySimplePhone} from "@/utils/validate"; |
| | | import {nonCoalSelectH5} from "@/api/specialOperationsPay/notCoalPay"; |
| | | import {findStudent} from "@/api/specialOperationsPay/coalPay"; |
| | | import {nonCoalPersonPay, nonCoalSelectH5} from "@/api/specialOperationsPay/notCoalPay"; |
| | | import {coalPersonPay, findStudent} from "@/api/specialOperationsPay/coalPay"; |
| | | import noData from '@/assets/images/noData.png' |
| | | |
| | | export default { |
| | |
| | | hasInfo: true, |
| | | detailVisible: false, |
| | | detailInfo: {}, |
| | | noData |
| | | noData, |
| | | payLoading: false |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | }, |
| | | goPay(item){ |
| | | this.detailInfo = item |
| | | this.detailVisible = true |
| | | if((this.dataForm.type == 1 && this.detailInfo.payPersonType == 2) || (this.dataForm.type == 2 &&this.detailInfo.payType == 2)){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message: '团体缴费类型无法生成缴费订单' |
| | | }) |
| | | }else{ |
| | | this.detailVisible = true |
| | | } |
| | | }, |
| | | payBill(){ |
| | | console.log('立即付款') |
| | | async payBill(){ |
| | | this.payLoading = true |
| | | if(this.dataForm.type == 1){ |
| | | const query = { |
| | | id: this.detailInfo.nonCoalStudentId, |
| | | payType: 1 |
| | | } |
| | | const res = await nonCoalPersonPay(query) |
| | | if(res.code == 200) { |
| | | this.payLoading = false |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message: res.msg |
| | | }) |
| | | } |
| | | }else{ |
| | | const query = { |
| | | coalPayId: this.detailInfo.coalPays.id, |
| | | studentId: this.detailInfo.id |
| | | } |
| | | const res = await coalPersonPay(query) |
| | | if(res.code == 200) { |
| | | this.payLoading = false |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message: res.msg |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | resetDataForm() { |
| | | this.dataForm = { |
| | |
| | | handleClose(){ |
| | | this.info = {} |
| | | this.listVisible = false |
| | | }, |
| | | closePay(){ |
| | | this.detailVisible = false |
| | | this.payLoading = false |
| | | } |
| | | } |
| | | } |
| | |
| | | .container{ |
| | | width: 100%; |
| | | height: 100%; |
| | | max-width: 960px; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | .loginTop{ |
| | |
| | | </style> |
| | | <style lang="scss"> |
| | | .myCustomDialog{ |
| | | width: 100%; |
| | | max-width: 960px; |
| | | margin: 0 auto; |
| | | .el-loading-mask{ |
| | | width: 60%; |
| | | height: 20%; |
| | | margin: 30vh auto; |
| | | border-radius: 20px; |
| | | padding: 10px; |
| | | .el-loading-spinner{ |
| | | width: calc(100% - 20px); |
| | | top: 40%; |
| | | .el-icon-loading,.el-loading-text{ |
| | | color: #000; |
| | | } |
| | | .el-icon-loading{ |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | } |
| | | .el-dialog .el-dialog__header{ |
| | | height: 60px; |
| | | padding: 0; |
| | |
| | | :default-expand-all="isExpandAll" |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}" |
| | | > |
| | | <el-table-column prop="deptName" label="组织架构名称" width="260"></el-table-column> |
| | | <el-table-column prop="deptName" label="组织架构名称"></el-table-column> |
| | | <el-table-column prop="orderNum" label="排序" width="200"></el-table-column> |
| | | <el-table-column prop="status" label="状态" width="100"> |
| | | <el-table-column prop="status" label="状态" width="200"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> |
| | | </template> |
| | |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <el-table-column label="操作" align="center" class-name="small-padding" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | |
| | | <el-row> |
| | | <el-col :span="24" v-if="form.parentId !== 0"> |
| | | <el-form-item label="上级组织架构" prop="parentId"> |
| | | <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级组织架构" /> |
| | | <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级组织架构" @input="getDistrict"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | this.title = "添加组织架构"; |
| | | listDept().then(response => { |
| | | this.deptOptions = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | }) |
| | | }, |
| | | /** 展开/折叠操作 */ |
| | | toggleExpandAll() { |
| | |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | getDistrict(val){ |
| | | const t = this |
| | | t.form.districtCode = t.findCodeById(t.deptOptions,val) |
| | | }, |
| | | findCodeById(data,id){ |
| | | for(let node of data){ |
| | | if(node.deptId == id){ |
| | | return node.districtCode |
| | | } |
| | | if(node.children){ |
| | | const findNode = this.findCodeById(node.children,id) |
| | | if(findNode){ |
| | | return findNode |
| | | } |
| | | } |
| | | } |
| | | return null |
| | | } |
| | | } |
| | | }; |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" v-if="showInstitutuion"> |
| | | <el-form-item label="所属机构" prop="institutionIds"> |
| | | <el-select v-model="form.institutionIds" multiple placeholder="请选择所属机构" style="width: 100%"> |
| | | <el-option |
| | | v-for="item in sectionOptions" |
| | | :key="item.institutionId" |
| | | :label="item.institutionName" |
| | | :value="item.institutionId" |
| | | :disabled="item.status == 1" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-col :span="12"> |
| | | <el-form-item label="组织架构" prop="deptId"> |
| | | <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择组织架构" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="12" v-if="showInstitutuion">--> |
| | | <!-- <el-form-item label="所属机构" prop="institutionIds">--> |
| | | <!-- <el-select v-model="form.institutionIds" multiple placeholder="请选择所属机构" style="width: 100%">--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in sectionOptions"--> |
| | | <!-- :key="item.institutionId"--> |
| | | <!-- :label="item.institutionName"--> |
| | | <!-- :value="item.institutionId"--> |
| | | <!-- :disabled="item.status == 1"--> |
| | | <!-- ></el-option>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <!-- <el-col :span="12">--> |
| | |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <el-col :span="12" v-if="showDeptList"> |
| | | <el-form-item label="组织架构" prop="deptId"> |
| | | <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择组织架构" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="状态"> |
| | | <el-radio-group v-model="form.status" style="width: 100%;"> |
| | |
| | | roleIds: [ |
| | | { required: true, message: "角色不能为空", trigger: "blur" } |
| | | ], |
| | | institutionIds: [ |
| | | { required: true, message: "所属机构不能为空", trigger: "blur" } |
| | | ], |
| | | // institutionIds: [ |
| | | // { required: true, message: "所属机构不能为空", trigger: "blur" } |
| | | // ], |
| | | deptId: [ |
| | | { required: true, message: "组织架构不能为空", trigger: "blur" } |
| | | ], |
| | |
| | | this.open = true; |
| | | this.title = "修改用户"; |
| | | this.form.password = ""; |
| | | if(response.roleIds.indexOf(100)>-1 || response.roleIds.indexOf(102)>-1){ |
| | | this.getSectionList() |
| | | this.showInstitutuion = true |
| | | this.form.institutionIds = response.data.institutions.map(i=>i.institutionId.toString()) |
| | | } |
| | | // if(response.roleIds.indexOf(100)>-1 || response.roleIds.indexOf(102)>-1){ |
| | | // this.getSectionList() |
| | | // this.showInstitutuion = true |
| | | // this.form.institutionIds = response.data.institutions.map(i=>i.institutionId.toString()) |
| | | // } |
| | | if(response.roleIds.indexOf(101)>-1){ |
| | | this.showDeptList = true |
| | | } |