代收水费、电费

20240205
yujialong 5 months ago
parent e48876d125
commit 45dfe32c87
  1. 41
      src/pages/counter/list/myConfig.js
  2. 348
      src/pages/manage/list/agent/electricRate.vue
  3. 25
      src/pages/manage/list/agent/waterRate.vue

@ -351,6 +351,47 @@ const myConfig = {
isPassword: true,
},
'713': {
nbm: 713,
name: 'waterRateIdCard',
parentId: '5,706,709',
isPassword: false,
machine: '身份证扫描仪'
},
'715': {
nbm: 715,
name: 'waterRateBankCard',
parentId: '5,706,709',
isPassword: false,
machine: '刷卡器'
},
'720': {
nbm: 720,
name: 'waterRatePassword',
parentId: '5,706,709',
isPassword: true
},
'722': {
nbm: 722,
name: 'electricRateIdCard',
parentId: '5,706,710',
isPassword: false,
machine: '身份证扫描仪'
},
'724': {
nbm: 724,
name: 'electricRateBankCard',
parentId: '5,706,710',
isPassword: false,
machine: '刷卡器'
},
'729': {
nbm: 729,
name: 'electricRatePassword',
parentId: '5,706,710',
isPassword: true
},
}
export {

@ -1,149 +1,86 @@
<!-- 代收电费 -->
<template>
<div class="body">
<el-row :gutter="20"
style="margin: 0">
<el-form ref="form"
:model="form"
label-width="120px"
:rules="rules">
<el-col :span="10"
:offset="1">
<el-form-item label="证件类型"
prop="certificateType">
<el-select v-model.trim="form.certificateType"
placeholder="请选择"
ref="certificateType">
<el-option label="身份证"
:value="83"> </el-option>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType" disabled>
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="账号"
required>
<div v-if='!cardNumberJudge'
class="idCard"
@click="popUp2('刷卡器')">
<el-form-item label="账号" required>
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input @blur="getDataBlur"
maxlength="20"
ref="voucherNumber"
disabled
:value="form.voucherNumber"
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</div>
<!-- <el-input @blur="getDataBlur" maxlength="20" ref="voucherNumber" :value="form.voucherNumber" @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input> -->
</el-form-item>
<el-form-item label="缴费单位"
required>
<el-input :value="form.mailbox"
@input="val => mailBoxListen(val, form, 'mailbox')"
maxlength="30"
ref="mailbox"></el-input>
<el-form-item label="缴费单位" required>
<el-input v-model="form.paymentUnit" />
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="证件号码"
required>
<div class="idCard"
@click="popUp1('身份证扫描仪')"
v-if='!idNumberJudge'>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp1('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber"
disabled
ref="idNumber"></el-input>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="客户姓名"
prop="customerName">
<el-input ref="customerName"
disabled
:value="form.customerName"
<el-form-item label="客户姓名" prop="customerName">
<el-input ref="customerName" disabled :value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="户号"
required>
<el-input :value="form.mailbox"
@input="val => mailBoxListen(val, form, 'mailbox')"
maxlength="30"
ref="mailbox"></el-input>
<el-form-item label="户号" required>
<el-input v-model="form.houseId" />
</el-form-item>
</el-col>
<el-col :span="21"
:offset="1">
<el-form-item label="住址信息"
prop="textarea">
<el-input type="textarea"
:rows="3"
placeholder="请输入内容"
v-model.trim="form.abstract"></el-input>
<el-col :span="21" :offset="1">
<el-form-item label="住址信息" prop="address">
<el-input type="textarea" :rows="3" placeholder="请输入住址信息" v-model.trim="form.address"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="缴费金额"
prop="monthDeposit"
required>
<!-- :value="form.monthDeposit" -->
<el-input :value="form.monthDeposit"
maxlength="15"
@input="val => ismoney(val, form, 'monthDeposit')"
ref="monthDeposit"></el-input>
<el-col :span="10" :offset="1">
<el-form-item label="缴费金额" prop="paymentMoney">
<el-input :value="form.paymentMoney" maxlength="15"
@input="val => ismoney(val, form, 'paymentMoney')"></el-input>
</el-form-item>
<el-form-item label="支取密码"
required>
<div v-if='!form.drawPassword'
class="idCard"
@click="popUp3('密码器')">
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else
@click="popUp3('密码器')">
<el-input :value="form.drawPassword"
ref="drawPassword"
type="password"></el-input>
<div v-else @click="popUp3('密码器')">
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="每月代扣"
prop="extendPeriod"
required>
<el-radio-group v-model.trim="form.extendPeriod"
ref="extendPeriod">
<el-radio :label="90"></el-radio>
<el-radio :label="91"></el-radio>
<el-col :span="10" :offset="1">
<el-form-item label="每月代扣" prop="monthlyWithholding" required>
<el-radio-group v-model.trim="form.monthlyWithholding">
<el-radio :label="142"></el-radio>
<el-radio :label="143"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2"
depositNumber='0816' />
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm"
type="primary"
class="submitBtn"
v-throttle>提交</el-button>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</template>
<script>
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { addOperation, getOperation } from '@/api/http';
const moduleName = 'usefulPhrases/openAccount'
const moduleName = 'agent/electricRate'
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
@ -157,20 +94,11 @@ export default {
},
mixins: [TipsBefore],
created () {
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
if (sessionStorage.getItem('electricRatePassword')) {
this.form.drawPassword = sessionStorage.getItem('electricRatePassword')
}
// if(sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// if(sessionStorage.getItem('nomUsefulPhrasesOpenCard')) {
// this.cardNumberJudge = true
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753'
// }
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
if (sessionStorage.getItem('electricRateIdCard')) {
this.idNumberJudge = true
//
const { idNumber, userName, peopleNumber, currency, goldLogo } = this.dataFlow
@ -181,100 +109,102 @@ export default {
this.form.goldLogo = goldLogo
this.form.voucherType = 127
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard')) {
if (sessionStorage.getItem('electricRateBankCard')) {
this.cardNumberJudge = true
const { voucherNumber } = this.dataFlow
this.form.voucherNumber = voucherNumber
}
this.getFormData()
// this.getFormData()
},
data () {
return {
moduleName: 'usefulPhrases/openAccount',
moduleName,
visible: false,
cardNumberJudge: false,
idNumberJudge: false,
form: {
//
// identityCard: '', //
certificateType: 83,
idNumber: '',
customerName: '', //
currency: '', //
goldLogo: '', //
voucherType: '', //
monthDeposit: '', //
depositTerm: '', //
extendDepositTarget: '', //
voucherNumber: '', //
drawPassword: '', //
//
clientNumber: '', //
certificateType: 83, //
voucherNumber: '',
customerName: '',
paymentUnit: '',
houseId: '',
address: '',
paymentMoney: '',
monthlyWithholding: '',
drawPassword: '',
},
formName: {
//
// identityCard: '', //
idNumber: '身份证',
customerName: '客户姓名', //
currency: '币种', //
goldLogo: '钞汇标识', //
voucherType: '凭证类型', //
monthDeposit: '月存金额', //
depositTerm: '存期', //
extendDepositTarget: '续存标识', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
//
clientNumber: '客户号', //
certificateType: '证件类型', //
certificateType: '证件类型',
idNumber: '证件号码',
voucherNumber: '账号',
customerName: '客户姓名',
paymentUnit: '缴费单位',
houseId: '户号',
address: '住址信息',
paymentMoney: '缴费金额',
monthlyWithholding: '每月代扣',
drawPassword: '支付密码',
},
rules: {
customerName: vercustomer,
currency: [
idNumber: [
{
required: true,
message: '请选择币种',
message: '请输入证件号码',
trigger: 'blur'
}
],
goldLogo: [
voucherNumber: [
{
required: true,
message: '请选择钞汇标识',
message: '请输入账号',
trigger: 'blur'
}
],
voucherType: [
customerName: [
{
required: true,
message: '请选择凭证类型',
message: '请输入客户姓名',
trigger: 'blur'
}
],
monthDeposit: [
paymentUnit: [
{
required: true,
message: '请输入月存金额',
message: '请输入缴费单位',
trigger: 'blur'
}
],
depositTerm: [
houseId: [
{
required: true,
message: '请选择存期',
message: '请输入户号',
trigger: 'blur'
}
],
extendDepositTarget: [
address: [
{
required: true,
message: '请选择续存标识',
message: '请输入住址信息',
trigger: 'blur'
}
],
paymentMoney: [
{
required: true,
message: '请输入缴费金额',
trigger: 'blur'
}
],
extendDepomonthlyWithholdingsitTarget: [
{
required: true,
message: '请选择每月代扣',
trigger: 'change'
}
],
},
myTable2: {
158: {
@ -346,11 +276,6 @@ export default {
},
methods: {
// userName,
// peopleNumber,
// idNumber,
// currency:'CNY',
// goldLogo:'',
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
@ -358,24 +283,21 @@ export default {
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getDataBlur () {
// console.log('???')
},
popUp1 (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('1399')
this.setPopId('722')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('166')
this.setPopId('724')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('167')
this.setPopId('729')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
@ -403,30 +325,6 @@ export default {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
// let formList = [
// {
// "answerId":'159',
// "emptyOne": "",
// "emptyTwo": "",
// "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,59,155,159,13",
// "type": ""
// }
// ]
// let params= {
// parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155,159',
// lcJudgmentRuleReq:formList,
// projectId:+projectId,
// startTime:startTime,
// }
// addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// }).catch((error)=>{
// })
return
}
if (!this.form.voucherNumber) {
@ -444,34 +342,39 @@ export default {
}, this.$refs));
},
submitForm2 () {
// let nomUsefulPhrasesOpenCard = sessionStorage.getItem('nomUsefulPhrasesOpenCard')
// let nomUsefulPhrasesOpenCard2 = sessionStorage.getItem('nomUsefulPhrasesOpenCard2')
// let nomUsefulPhrasesOpenPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = [
{
key: '159,13'
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
const { form } = this
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,706,710'
formList.push(
{ answerId: 725, emptyOne: 111, emptyTwo: form.paymentUnit, operationIds: preId + ',725', type: 3 },
{ answerId: 726, emptyOne: 112, emptyTwo: form.houseId, operationIds: preId + ',726', type: 3 },
{ answerId: 730, emptyOne: '', emptyTwo: '', operationIds: preId + ',730', type: '' },
{ answerId: 727, emptyOne: 113, emptyTwo: form.paymentMoney, operationIds: preId + ',727', type: 3 },
{ answerId: 728, emptyOne: 114, emptyTwo: form.monthlyWithholding, operationIds: preId + ',728', type: 1 },
)
let params = {
parentId: preId,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
// {
// 1399: nomUsefulPhrasesOpenCard2
// },
// {
// 166: nomUsefulPhrasesOpenCard
// },
// {
// 167: nomUsefulPhrasesOpenPassword,
// "subjectId": 17,
// }
]
this.setDataFlow(this.form)
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
addOperation(params).then((data) => {
this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error) => {
this.$message({
message: '服务器繁忙,提交失败。',
center: true,
type: 'info'
});
})
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen: inputListen
ismoney,
checkHanzi,
checkName,
inputListen,
},
computed: {
...mapGetters({
@ -484,5 +387,4 @@ export default {
}
}
</script>
<style lang='scss' scoped>
</style>
<style lang='scss' scoped></style>

@ -20,7 +20,7 @@
</el-form-item>
<el-form-item label="缴费单位" prop="paymentUnit">
<el-input v-model="form.paymentUnit"></el-input>
<el-input v-model="form.paymentUnit" />
</el-form-item>
<el-form-item label="缴费金额" prop="paymentMoney">
<el-input :value="form.paymentMoney" maxlength="15"
@ -50,7 +50,7 @@
</el-form-item>
<el-form-item label="户号" required>
<el-input v-model="form.houseId"></el-input>
<el-input v-model="form.houseId" />
</el-form-item>
<el-form-item label="每月代扣" prop="monthlyWithholding" required>
<el-radio-group v-model.trim="form.monthlyWithholding">
@ -70,11 +70,12 @@
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { addOperation, getOperation } from '@/api/http';
const moduleName = 'usefulPhrases/openAccount'
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'agent/waterRate'
export default {
name: '',
props: {},
@ -84,16 +85,16 @@ export default {
},
mixins: [TipsBefore],
created () {
if (sessionStorage.getItem('nomCurrentTransferPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCurrentTransferPassword')
if (sessionStorage.getItem('waterRatePassword')) {
this.form.drawPassword = sessionStorage.getItem('waterRatePassword')
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard2')) {
if (sessionStorage.getItem('waterRateIdCard')) {
this.idNumberJudge = true
const { idNumber } = this.dataFlow
this.form.idNumber = idNumber
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenCard')) {
if (sessionStorage.getItem('waterRateBankCard')) {
this.cardNumberJudge = true
const { voucherNumber, userName } = this.dataFlow
this.form.voucherNumber = voucherNumber
@ -106,7 +107,7 @@ export default {
},
data () {
return {
moduleName: 'usefulPhrases/openAccount',
moduleName,
visible: false,
cardNumberJudge: false,
idNumberJudge: false,
@ -123,7 +124,7 @@ export default {
},
formName: {
certificateType: '证件类型',
idNumber: '身份证',
idNumber: '证件号码',
voucherNumber: '账号',
customerName: '客户姓名',
paymentUnit: '缴费单位',
@ -263,19 +264,19 @@ export default {
}),
popUp1 (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('1399')
this.setPopId('713')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('166')
this.setPopId('715')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('99')
this.setPopId('720')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},

Loading…
Cancel
Save