From 02bd5982028af6e791dd0857f535a41aaf74679e Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期一, 10 二月 2025 13:14:32 +0800 Subject: [PATCH] 修改 --- src/views/specialOperationsPay/coalPay/components/batchPay.vue | 66 +++--- src/views/specialOperationsPay/coalPay/index.vue | 6 src/views/specialOperationsPay/notCoalPay/components/addDialog.vue | 10 src/views/specialOperationsPay/notCoalPay/components/studentDialog.vue | 4 src/views/system/dept/index.vue | 28 ++ src/views/commonMod/examApply/index.vue | 11 src/views/notCoalMine/nPlaceManage/nExamManage/index.vue | 2 src/views/specialOperationsPay/notCoalWorkType/components/detailDialog.vue | 36 ++- src/layout/components/Navbar.vue | 7 src/views/specialOperationsPay/notCoalPay/components/batchPay.vue | 67 +++--- src/api/specialOperationsPay/coalPay.js | 16 + src/api/specialOperationsPay/notCoalPay.js | 16 + src/views/commonMod/examApply/components/examApplyDialog.vue | 6 src/views/specialOperationsPay/coalPay/components/addDialog.vue | 10 src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue | 24 +- src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue | 24 +- src/views/coalMine/cPlaceManage/cExamManage/index.vue | 2 src/views/system/user/index.vue | 48 ++-- src/views/login.vue | 9 src/views/specialOperationsPay/singlePage/index.vue | 81 +++++++ src/views/specialOperationsPay/coalWorkType/index.vue | 2 src/views/specialOperationsPay/notCoalWorkType/index.vue | 62 +++-- src/views/specialOperationsPay/notCoalPay/index.vue | 37 ++- 23 files changed, 376 insertions(+), 198 deletions(-) diff --git a/src/api/specialOperationsPay/coalPay.js b/src/api/specialOperationsPay/coalPay.js index b7be4c3..3cef0f0 100644 --- a/src/api/specialOperationsPay/coalPay.js +++ b/src/api/specialOperationsPay/coalPay.js @@ -141,3 +141,19 @@ 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 + }) +} diff --git a/src/api/specialOperationsPay/notCoalPay.js b/src/api/specialOperationsPay/notCoalPay.js index 2f258a6..6674ea4 100644 --- a/src/api/specialOperationsPay/notCoalPay.js +++ b/src/api/specialOperationsPay/notCoalPay.js @@ -120,3 +120,19 @@ 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 + }) +} diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index b47929b..b1d499e 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -56,6 +56,7 @@ 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: { @@ -68,10 +69,14 @@ RuoYiGit, RuoYiDoc }, + data(){ + return { + avatar + } + }, computed: { ...mapGetters([ 'sidebar', - 'avatar', 'device' ]), setting: { diff --git a/src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue b/src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue index 38f85b0..8a630c2 100644 --- a/src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue +++ b/src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue @@ -36,16 +36,16 @@ <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> @@ -73,7 +73,7 @@ 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}$/, @@ -103,7 +103,7 @@ 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() diff --git a/src/views/coalMine/cPlaceManage/cExamManage/index.vue b/src/views/coalMine/cPlaceManage/cExamManage/index.vue index 16bb0d0..c2987e5 100644 --- a/src/views/coalMine/cPlaceManage/cExamManage/index.vue +++ b/src/views/coalMine/cPlaceManage/cExamManage/index.vue @@ -19,7 +19,7 @@ <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> diff --git a/src/views/commonMod/examApply/components/examApplyDialog.vue b/src/views/commonMod/examApply/components/examApplyDialog.vue index 8c6addf..9a75740 100644 --- a/src/views/commonMod/examApply/components/examApplyDialog.vue +++ b/src/views/commonMod/examApply/components/examApplyDialog.vue @@ -148,16 +148,17 @@ 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 @@ -166,7 +167,6 @@ t.form.institutionId = userInfo.institutions[0].institutionId } t.open = true - t.reset() if(type == 'add'){ t.title = '新增申报' t.disable = false diff --git a/src/views/commonMod/examApply/index.vue b/src/views/commonMod/examApply/index.vue index 14e1f92..846e025 100644 --- a/src/views/commonMod/examApply/index.vue +++ b/src/views/commonMod/examApply/index.vue @@ -41,19 +41,20 @@ 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> @@ -174,10 +175,16 @@ 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() diff --git a/src/views/login.vue b/src/views/login.vue index 5a467a1..01727f8 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -49,7 +49,11 @@ <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 @@ -169,6 +173,9 @@ }); } }); + }, + toPay(){ + this.$router.push("/singlePage"); } } }; diff --git a/src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue b/src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue index 477c9d2..cd143ed 100644 --- a/src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue +++ b/src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue @@ -36,16 +36,16 @@ <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> @@ -73,7 +73,7 @@ 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}$/, @@ -103,7 +103,7 @@ 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() diff --git a/src/views/notCoalMine/nPlaceManage/nExamManage/index.vue b/src/views/notCoalMine/nPlaceManage/nExamManage/index.vue index 8e16b02..0959c6c 100644 --- a/src/views/notCoalMine/nPlaceManage/nExamManage/index.vue +++ b/src/views/notCoalMine/nPlaceManage/nExamManage/index.vue @@ -19,7 +19,7 @@ <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> diff --git a/src/views/specialOperationsPay/coalPay/components/addDialog.vue b/src/views/specialOperationsPay/coalPay/components/addDialog.vue index 0a84bc2..bac9271 100644 --- a/src/views/specialOperationsPay/coalPay/components/addDialog.vue +++ b/src/views/specialOperationsPay/coalPay/components/addDialog.vue @@ -181,9 +181,15 @@ 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 + }) } } }) diff --git a/src/views/specialOperationsPay/coalPay/components/batchPay.vue b/src/views/specialOperationsPay/coalPay/components/batchPay.vue index 902132b..80e28d6 100644 --- a/src/views/specialOperationsPay/coalPay/components/batchPay.vue +++ b/src/views/specialOperationsPay/coalPay/components/batchPay.vue @@ -8,16 +8,16 @@ :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"> @@ -28,8 +28,8 @@ </template> <script > -import { addPlat, updatePlat } from '@/api/onlineEducation/plat' import { verifySimplePhone } from '@/utils/validate' +import {coalTeamPay} from "@/api/specialOperationsPay/coalPay"; export default { name: 'batchPay', @@ -40,10 +40,11 @@ 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: { + }, } }, @@ -51,12 +52,14 @@ }, 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() @@ -70,21 +73,20 @@ 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) { diff --git a/src/views/specialOperationsPay/coalPay/index.vue b/src/views/specialOperationsPay/coalPay/index.vue index bcf75cb..14c0a56 100644 --- a/src/views/specialOperationsPay/coalPay/index.vue +++ b/src/views/specialOperationsPay/coalPay/index.vue @@ -63,7 +63,7 @@ <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> @@ -168,8 +168,8 @@ 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(); diff --git a/src/views/specialOperationsPay/coalWorkType/index.vue b/src/views/specialOperationsPay/coalWorkType/index.vue index c266023..41548d7 100644 --- a/src/views/specialOperationsPay/coalWorkType/index.vue +++ b/src/views/specialOperationsPay/coalWorkType/index.vue @@ -11,9 +11,7 @@ <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> diff --git a/src/views/specialOperationsPay/notCoalPay/components/addDialog.vue b/src/views/specialOperationsPay/notCoalPay/components/addDialog.vue index 1ba49ec..82a1f01 100644 --- a/src/views/specialOperationsPay/notCoalPay/components/addDialog.vue +++ b/src/views/specialOperationsPay/notCoalPay/components/addDialog.vue @@ -180,9 +180,15 @@ 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 + }) } } }) diff --git a/src/views/specialOperationsPay/notCoalPay/components/batchPay.vue b/src/views/specialOperationsPay/notCoalPay/components/batchPay.vue index 902132b..0adfc96 100644 --- a/src/views/specialOperationsPay/notCoalPay/components/batchPay.vue +++ b/src/views/specialOperationsPay/notCoalPay/components/batchPay.vue @@ -8,16 +8,16 @@ :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"> @@ -28,8 +28,9 @@ </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', @@ -40,10 +41,11 @@ 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: { + }, } }, @@ -51,12 +53,14 @@ }, 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() @@ -70,21 +74,20 @@ 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) { diff --git a/src/views/specialOperationsPay/notCoalPay/components/studentDialog.vue b/src/views/specialOperationsPay/notCoalPay/components/studentDialog.vue index 82cd217..cbe435c 100644 --- a/src/views/specialOperationsPay/notCoalPay/components/studentDialog.vue +++ b/src/views/specialOperationsPay/notCoalPay/components/studentDialog.vue @@ -3,7 +3,9 @@ <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> diff --git a/src/views/specialOperationsPay/notCoalPay/index.vue b/src/views/specialOperationsPay/notCoalPay/index.vue index fc8b607..1a54724 100644 --- a/src/views/specialOperationsPay/notCoalPay/index.vue +++ b/src/views/specialOperationsPay/notCoalPay/index.vue @@ -3,13 +3,13 @@ <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" @@ -20,14 +20,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,7 +37,7 @@ <!-- </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" @@ -58,7 +58,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?'复训理论':''}} @@ -80,7 +80,7 @@ <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 +142,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() @@ -193,8 +200,8 @@ 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(); diff --git a/src/views/specialOperationsPay/notCoalWorkType/components/detailDialog.vue b/src/views/specialOperationsPay/notCoalWorkType/components/detailDialog.vue index fb6eb2e..4009005 100644 --- a/src/views/specialOperationsPay/notCoalWorkType/components/detailDialog.vue +++ b/src/views/specialOperationsPay/notCoalWorkType/components/detailDialog.vue @@ -9,7 +9,7 @@ > <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" @@ -27,12 +27,12 @@ <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"> @@ -71,6 +71,7 @@ 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', @@ -86,7 +87,6 @@ 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' }], @@ -94,18 +94,26 @@ 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 == '编辑') { @@ -116,12 +124,12 @@ 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: ''}) diff --git a/src/views/specialOperationsPay/notCoalWorkType/index.vue b/src/views/specialOperationsPay/notCoalWorkType/index.vue index 466a0d1..7ae7413 100644 --- a/src/views/specialOperationsPay/notCoalWorkType/index.vue +++ b/src/views/specialOperationsPay/notCoalWorkType/index.vue @@ -1,19 +1,26 @@ <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" @@ -28,25 +35,12 @@ @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?'实操':''}} @@ -61,7 +55,7 @@ <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" @@ -101,6 +95,7 @@ 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", @@ -121,9 +116,17 @@ 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() }, @@ -156,11 +159,15 @@ } 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; } @@ -169,7 +176,8 @@ 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) { @@ -190,7 +198,7 @@ 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('此操作将永久删除该条数据, 是否继续?', '提示', { diff --git a/src/views/specialOperationsPay/singlePage/index.vue b/src/views/specialOperationsPay/singlePage/index.vue index 18a3b4c..73c25da 100644 --- a/src/views/specialOperationsPay/singlePage/index.vue +++ b/src/views/specialOperationsPay/singlePage/index.vue @@ -102,6 +102,12 @@ :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"> @@ -164,8 +170,8 @@ <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 { @@ -211,7 +217,8 @@ hasInfo: true, detailVisible: false, detailInfo: {}, - noData + noData, + payLoading: false } }, created() { @@ -268,10 +275,46 @@ }, 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 = { @@ -280,6 +323,10 @@ handleClose(){ this.info = {} this.listVisible = false + }, + closePay(){ + this.detailVisible = false + this.payLoading = false } } } @@ -289,6 +336,8 @@ .container{ width: 100%; height: 100%; + max-width: 960px; + margin: 0 auto; } .loginTop{ @@ -355,6 +404,26 @@ </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; diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue index 4b87c69..d43e67e 100644 --- a/src/views/system/dept/index.vue +++ b/src/views/system/dept/index.vue @@ -56,9 +56,9 @@ :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> @@ -68,7 +68,7 @@ <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" @@ -103,7 +103,7 @@ <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> @@ -319,7 +319,7 @@ this.title = "添加组织架构"; listDept().then(response => { this.deptOptions = this.handleTree(response.data, "deptId"); - }); + }) }, /** 展开/折叠操作 */ toggleExpandAll() { @@ -374,6 +374,24 @@ 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 } } }; diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index cc9e96e..6fd572b 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -283,19 +283,24 @@ </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">--> @@ -310,11 +315,6 @@ <!-- </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%;"> @@ -472,9 +472,9 @@ roleIds: [ { required: true, message: "角色不能为空", trigger: "blur" } ], - institutionIds: [ - { required: true, message: "所属机构不能为空", trigger: "blur" } - ], + // institutionIds: [ + // { required: true, message: "所属机构不能为空", trigger: "blur" } + // ], deptId: [ { required: true, message: "组织架构不能为空", trigger: "blur" } ], @@ -681,11 +681,11 @@ 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 } -- Gitblit v1.9.2