[update]-1、会员报名页面增加发票信息 2、证书初步页面的修改
This commit is contained in:
@@ -45,6 +45,12 @@ export default {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true
|
||||
},
|
||||
// 是否返回企业的全部信息,如果是 则再change方法中以第二个参数返回
|
||||
fullCompanyInfo: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -69,7 +75,11 @@ export default {
|
||||
id: value.id,
|
||||
companyName: value.companyName
|
||||
}
|
||||
this.$emit('change', company)
|
||||
if(this.fullCompanyInfo) {
|
||||
this.$emit('change', company, {...value})
|
||||
} else {
|
||||
this.$emit('change', company)
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 新增企业
|
||||
|
||||
@@ -1,34 +1,5 @@
|
||||
<template>
|
||||
<a-form :form="form">
|
||||
<!-- <div class="item-title">行程信息</div>-->
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
|
||||
<!-- <a-form-item label="是否住酒店" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||
<!-- <a-radio-group v-decorator="['checkInHotel']">-->
|
||||
<!-- <a-radio :value="1">是</a-radio>-->
|
||||
<!-- <a-radio :value="0">否</a-radio>-->
|
||||
<!-- </a-radio-group>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- <a-row :gutter="24">-->
|
||||
|
||||
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
|
||||
<!-- <a-form-item label="抵达时间" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||
<!-- <j-date placeholder="请选择抵达时间" style="width: 100%;" v-decorator="['arrivalTime']" :trigger-change="true" :disabled-date="disabledStartDate"-->
|
||||
<!-- date-format="YYYY-MM-DD"/>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
|
||||
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
|
||||
<!-- <a-form-item label="离开时间" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||
<!-- <j-date placeholder="请选择离开时间" :disabled-date="disabledEndDate" style="width: 100%;"-->
|
||||
<!-- v-decorator="['departureTime']" :trigger-change="true"-->
|
||||
<!-- date-format="YYYY-MM-DD"/>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- 选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
||||
<!-- 会议费为0不显示 -->
|
||||
<template v-if="!meetingCostBool">
|
||||
<div class="item-title" v-if="identifyType === 2">缴费信息</div>
|
||||
@@ -57,12 +28,86 @@
|
||||
|
||||
</a-row>
|
||||
</template>
|
||||
<!-- 其他会议选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
||||
<!-- 会议费为0不显示 -->
|
||||
<template v-if="!meetingCostBool && !needInvoiceBool ">
|
||||
<div class="item-title" v-if="identifyType === 2 && !payModeBool ">邮寄信息</div>
|
||||
<!-- 发票信息=== 会议费用不为0 且需要发票 且 身份为参会人 且 缴费方式不是打包 -->
|
||||
<template v-if="!meetingCostBool && needInvoiceBool && identifyType === MeetIdentifyTypeEnums.attendee.index && !payModeBool">
|
||||
<div class="item-title">发票信息</div>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 && !payModeBool ">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="企业名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入企业名称"
|
||||
v-decorator="['companyName',validatorRules.companyName]"
|
||||
:maxLength='50'
|
||||
disabled
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="信用代码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入信用代码"
|
||||
v-decorator="['dutyCode', validatorRules.dutyCode]"
|
||||
:maxLength='18'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--增值税专用发票 多5个信息-->
|
||||
<template v-if="selectedInvoiceType === InvoiceTypeEnums.special.index">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="公司地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入公司地址"
|
||||
v-decorator="['companyAddress', validatorRules.companyAddress]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="公司电话" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入公司电话"
|
||||
v-decorator="['companyPhone', validatorRules.companyPhone]"
|
||||
:maxLength='15'
|
||||
@change="e => e.target.value = (e.target.value.replace(/[^0-9-]/g, '')).trim()"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="开户行" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入开户行"
|
||||
v-decorator="['openingBank', validatorRules.openingBank]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="银行户名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入银行户名"
|
||||
v-decorator="['bankAccountName', validatorRules.bankAccountName]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="联行号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入联行号"
|
||||
v-decorator="['linkBankNumber', validatorRules.linkBankNumber]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="发票项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-dict-select-tag style="width: 100%" dict-code="invoice_project"
|
||||
v-decorator="['invoiceProject',validatorRules.invoiceProject]"
|
||||
:trigger-change="true"
|
||||
placeholder="请选择发票项目"></j-dict-select-tag>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
<!-- 其他会议选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
||||
<!-- 会议费用不为0 且需要发票 且 身份为参会人 且 缴费方式不是打包 -->
|
||||
<template v-if="!meetingCostBool && needInvoiceBool && identifyType === MeetIdentifyTypeEnums.attendee.index && !payModeBool ">
|
||||
<div class="item-title">邮寄信息</div>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="邮寄联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<select-contacts :selected-company="selectedCompany"
|
||||
:init-contacts="selectPostPerson"
|
||||
@@ -77,7 +122,7 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- 选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 && !payModeBool ">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="邮寄地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入邮寄地址"
|
||||
:maxLength='50'
|
||||
@@ -86,7 +131,7 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 && !payModeBool ">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="邮编" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入邮编"
|
||||
:disabled="isEditBool"
|
||||
@@ -107,6 +152,7 @@ import pick from 'lodash.pick'
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import moment from 'moment'
|
||||
import {getContactsById} from '@api/incomePaymentsApi'
|
||||
import {MeetIdentifyTypeEnums, InvoiceTypeEnums} from '../../enums/commonEnum'
|
||||
|
||||
export default {
|
||||
name: 'OtherMeetingForm',
|
||||
@@ -144,6 +190,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
MeetIdentifyTypeEnums,
|
||||
InvoiceTypeEnums,
|
||||
desription: '其他会议的参会情况的表单',
|
||||
form: this.$form.createForm(this),
|
||||
labelCol: {
|
||||
@@ -193,12 +241,44 @@ export default {
|
||||
rules: [{required: true, message: '请输入邮编'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
|
||||
companyName: {
|
||||
rules: [{ required: true, message: '请输入企业名称' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
dutyCode: {
|
||||
rules: [{required: true, message: '请输入信用代码'}, {
|
||||
pattern: /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/,
|
||||
message: '请输入15位、18位的信用代码'
|
||||
}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
companyAddress: {
|
||||
rules: [{ required: true, message: '请输入公司地址' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
companyPhone: {
|
||||
rules: [{ required: true, validator: this.checkCompanyPhone }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
openingBank: {
|
||||
rules: [{ required: true, message: '请输入开户行' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
bankAccountName: {
|
||||
rules: [{ required: true, message: '请输入银行户名' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
linkBankNumber: { rules: [{ required: true, message: '请输入联行号' }], validateTrigger: 'blur' },
|
||||
invoiceProject: {
|
||||
rules: [{required: true, message: '请选择发票项目'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
},
|
||||
// 是否可编辑
|
||||
isEditBool: false,
|
||||
// 是否需要发票
|
||||
needInvoiceBool: true,
|
||||
needInvoiceBool: false,
|
||||
selectedInvoiceType: 0, // 选择是否需要发票
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -282,7 +362,7 @@ export default {
|
||||
* */
|
||||
changePayMode(e) {
|
||||
if (e.target.value === 3) {
|
||||
this.payModeBool = false
|
||||
this.payModeBool = true
|
||||
} else {
|
||||
this.payModeBool = false
|
||||
}
|
||||
@@ -298,7 +378,8 @@ export default {
|
||||
* */
|
||||
setFormVal(record) {
|
||||
this.isEditBool = record.checkResult === 1
|
||||
this.needInvoiceBool = record.needInvoice === 0
|
||||
this.needInvoiceBool = record.needInvoice !== 0
|
||||
this.selectedInvoiceType = Number(record.needInvoice)
|
||||
// 回显邮寄联系人
|
||||
this.selectPostPerson = {
|
||||
id: record.postContactTemporaryId,
|
||||
@@ -328,14 +409,47 @@ export default {
|
||||
* 选择发票
|
||||
* */
|
||||
changeInvoice(val) {
|
||||
this.selectedInvoiceType = Number(val)
|
||||
if (val === '0') {
|
||||
// 不需要发票
|
||||
this.needInvoiceBool = true
|
||||
} else {
|
||||
this.needInvoiceBool = false
|
||||
} else {
|
||||
this.needInvoiceBool = true
|
||||
}
|
||||
this.setInvoiceFormItem()
|
||||
},
|
||||
addContactsOk() {
|
||||
},
|
||||
// 设置表单中发票的信息
|
||||
setInvoiceFormItem() {
|
||||
if (this.selectedInvoiceType === InvoiceTypeEnums.special.index) {
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.selectedCompany, 'companyName', 'dutyCode', 'companyAddress', 'companyPhone', 'bankAccountName', 'openingBank', 'linkBankNumber'))
|
||||
})
|
||||
} else if(this.selectedInvoiceType === InvoiceTypeEnums.plain.index) {
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.selectedCompany, 'companyName', 'dutyCode'))
|
||||
})
|
||||
}
|
||||
},
|
||||
// 清空 发票信息的数据
|
||||
clearInvoiceFormItem() {
|
||||
this.form.resetFields(['companyName', 'dutyCode', 'companyAddress', 'companyPhone', 'bankAccountName', 'openingBank', 'linkBankNumber'])
|
||||
},
|
||||
|
||||
/*
|
||||
* 验证发票信息-电话号码 的正确性
|
||||
* */
|
||||
checkCompanyPhone(rule, value, callback) {
|
||||
const reg = /^((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\d{8}$|^([0-9]{3,4}-)[0-9]{7,8}$/
|
||||
if (!value) {
|
||||
callback('请输入电话号码')
|
||||
}
|
||||
if (value && !reg.test(value)) {
|
||||
callback(new Error('请输入正确格式的电话号码'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
// this.dictOptions = cacheOption
|
||||
// return
|
||||
// }
|
||||
if(!this.dictCode) return
|
||||
//根据字典Code, 初始化字典数组
|
||||
ajaxGetDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
|
||||
@@ -47,3 +47,9 @@ export const MeetIdentifyTypeEnums = {
|
||||
attendee: { name: '参会人', index: 2 },
|
||||
internal: { name: '内部企业', index: 3 }
|
||||
}
|
||||
// 需要发票的类型
|
||||
export const InvoiceTypeEnums = {
|
||||
noNeed: { name: '不需要', index: 0 },
|
||||
plain: { name: '增值税普通发票', index: 1 },
|
||||
special: { name: '增值税专用发票', index: 2 }
|
||||
}
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
<company-select @change="changeCompany" v-decorator="['companyId',validatorRules.companyId]"
|
||||
placeholder="请选择参会企业"
|
||||
:is-limit="true"
|
||||
full-company-info
|
||||
:maxLength='50'>
|
||||
</company-select>
|
||||
<span class="color-red">若没有您要选择的企业,请您添加企业信息(发票抬头)</span>
|
||||
@@ -163,15 +164,6 @@
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="inviteCodeBool">
|
||||
<a-form-item label="邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<!-- <div class="code-form-item">-->
|
||||
<!-- <a-input-->
|
||||
<!-- placeholder="请输入邀请码"-->
|
||||
<!-- :maxLength="50"-->
|
||||
<!-- @change="event => event.target.value = event.target.value.trim()"-->
|
||||
<!-- @blur="validateCode"-->
|
||||
<!-- v-decorator="[ 'code',validatorRules.code]"-->
|
||||
<!-- ></a-input>-->
|
||||
<!-- </div>-->
|
||||
<invite-code v-decorator="[ 'invitationCode', validatorRules.invitationCode]" @change-value="validateCode"></invite-code>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -227,6 +219,8 @@
|
||||
</div>
|
||||
</section>
|
||||
<!--内容end-->
|
||||
|
||||
<invoice-confirm-modal ref="invoiceConfirmModal" @ok="confirmOk"></invoice-confirm-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -243,6 +237,7 @@ import OtherMeetingForm from '@comp/signUpForm/OtherMeetingForm'
|
||||
import SeminarVipForm from '@comp/signUpForm/SeminarVipForm'
|
||||
import SeminarPartnerForm from '@comp/signUpForm/SeminarPartnerForm'
|
||||
import InviteCode from './InviteCode'
|
||||
import InvoiceConfirmModal from './modules/InvoiceConfirmModal'
|
||||
|
||||
|
||||
export default {
|
||||
@@ -256,7 +251,8 @@ export default {
|
||||
PreviewFile,
|
||||
JImageUpload,
|
||||
CompanySelect,
|
||||
InviteCode
|
||||
InviteCode,
|
||||
InvoiceConfirmModal
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -493,6 +489,7 @@ export default {
|
||||
this.$message.error('邀请码填写错误')
|
||||
return
|
||||
}
|
||||
|
||||
this.confirmLoading = true
|
||||
let submitData = Object.assign({}, values, this.formData)
|
||||
submitData.companyId = values.companyId.id
|
||||
@@ -508,30 +505,40 @@ export default {
|
||||
if(this.meetingCostSum === '0.00' ){
|
||||
submitData.needInvoice = 0
|
||||
}
|
||||
let url = this.url.add
|
||||
let method = 'post'
|
||||
httpAction(url, submitData, method).then(res => {
|
||||
if (res.success) {
|
||||
that.$emit('ok')
|
||||
let messageText = '报名成功'
|
||||
// 标协会议增加不同的提示语
|
||||
if(submitData.meetingType === '2' && Number(this.currentMeetingInfo.isAddQuestion)) {
|
||||
messageText = '报名成功!请到会议详情页-问题征集处进行提问'
|
||||
// 直接写一个回调函数,然后做后续的调用
|
||||
const callbackFunc = (submitData, that) => {
|
||||
let url = that.url.add
|
||||
let method = 'post'
|
||||
httpAction(url, submitData, method).then(res => {
|
||||
if (res.success) {
|
||||
that.$emit('ok')
|
||||
let messageText = '报名成功'
|
||||
// 标协会议增加不同的提示语
|
||||
if(submitData.meetingType === '2' && Number(this.currentMeetingInfo.isAddQuestion)) {
|
||||
messageText = '报名成功!请到会议详情页-问题征集处进行提问'
|
||||
}
|
||||
// that.$message.success(res.message)
|
||||
that.$notification.success({
|
||||
message: messageText,
|
||||
})
|
||||
setTimeout(() => {
|
||||
that.handleCancel()
|
||||
},500)
|
||||
that.confirmLoading = false
|
||||
} else {
|
||||
that.$message.warn(res.message)
|
||||
}
|
||||
// that.$message.success(res.message)
|
||||
that.$notification.success({
|
||||
message: messageText,
|
||||
})
|
||||
setTimeout(() => {
|
||||
that.handleCancel()
|
||||
},500)
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
} else {
|
||||
that.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
})
|
||||
}
|
||||
//todo 判断当前是否需要发票,如果需要发票,二次判断对应发票的信息是否正确
|
||||
if (submitData.needInvoice) {
|
||||
that.showInvoiceConfirmModal(submitData, callbackFunc)
|
||||
that.confirmLoading = false
|
||||
})
|
||||
return
|
||||
}
|
||||
callbackFunc && callbackFunc(submitData, that)
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -578,10 +585,12 @@ export default {
|
||||
/*
|
||||
* 选择参会企业
|
||||
* */
|
||||
changeCompany(value) {
|
||||
this.selectedCompany = value
|
||||
// 通过企业名称判断当前参会人
|
||||
changeCompany(value, otherParams) {
|
||||
console.log(otherParams)
|
||||
// this.selectedCompany = value
|
||||
this.selectedCompany = otherParams
|
||||
if (this.currentMeetingInfo.meetingType + '' === '2') {
|
||||
// 标协会员会议判断企业类型确认会议价格
|
||||
validateStandard({companyName: this.selectedCompany.companyName}).then(res => {
|
||||
this.isStandardBool = res.result
|
||||
if (this.isStandardBool) {
|
||||
@@ -767,6 +776,15 @@ export default {
|
||||
addContactsOk() {
|
||||
this.$refs.selectContacts.getContactsList()
|
||||
},
|
||||
showInvoiceConfirmModal(obj, callbackFunc) {
|
||||
this.$refs.invoiceConfirmModal.show(obj)
|
||||
this.nextCallbackFunc = callbackFunc
|
||||
this.nextCallbackParams = obj
|
||||
},
|
||||
// 二次确定发票信息的回调
|
||||
confirmOk() {
|
||||
this.nextCallbackFunc && this.nextCallbackParams && this.nextCallbackFunc(this.nextCallbackParams, this)
|
||||
},
|
||||
// 验证邀请码输入是否正确的方法
|
||||
checkCode(rules, value, callback) {
|
||||
if (value) {
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
class="invoice-confirm-modal"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<template>
|
||||
<div class="top-notice">请确认以下发票信息是否正确?</div>
|
||||
<div class="top-notice">点击确认后该企业后续相关信息将替换成新的内容</div>
|
||||
<ul class="confirm-content">
|
||||
<li v-for="item in confirmArr" :key="item.key">
|
||||
<span>{{item.name}}</span>:
|
||||
<span>{{confirmObj[item.key]}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'InvoiceConfirmModal',
|
||||
data() {
|
||||
return {
|
||||
form: this.$form.createForm(this),
|
||||
title: '确认发票信息',
|
||||
width: 600,
|
||||
visible: false,
|
||||
model: {},
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 16 }
|
||||
},
|
||||
confirmLoading: false,
|
||||
confirmArr: [
|
||||
{name: '企业名称', key: 'companyName'},
|
||||
{name: '信用代码', key: 'dutyCode'},
|
||||
{name: '公司地址', key: 'companyAddress'},
|
||||
{name: '公司电话', key: 'companyPhone'},
|
||||
{name: '开户行', key: 'openingBank'},
|
||||
{name: '银行户名', key: 'bankAccountName'},
|
||||
{name: '联行号', key: 'linkBankNumber'},
|
||||
],
|
||||
confirmObj: {} // 需要验证的信息
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
show(obj) {
|
||||
this.confirmObj = {...obj}
|
||||
this.visible = true
|
||||
},
|
||||
handleOk() {
|
||||
// TODO 请求接口同步数据
|
||||
this.$emit('ok')
|
||||
this.close()
|
||||
|
||||
},
|
||||
handleCancel() {
|
||||
this.close()
|
||||
},
|
||||
close() {
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.invoice-confirm-modal{
|
||||
.top-notice{
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
//font-size: 16px;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
ul,li {
|
||||
list-style: none;
|
||||
}
|
||||
li {
|
||||
margin: 10px;
|
||||
}
|
||||
li span {
|
||||
margin: 0 5px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -66,7 +66,7 @@
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button @click="searchReset" icon="reload" style="margin-left: 8px" class="reset-button">重置</a-button>
|
||||
<a-button
|
||||
v-if="$store.getters.userInfo.roleCode !== '3' && showApply"
|
||||
v-if="isMemberFlag && showApply"
|
||||
type="primary"
|
||||
@click="applyCertificate"
|
||||
class="primary"
|
||||
@@ -101,48 +101,35 @@
|
||||
@change="handleTableChange">
|
||||
|
||||
|
||||
<div slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<!-- 待支付 不显示 ,其他状态均显示撤回-->
|
||||
<a v-if="record.certificateStatus !== CertificateStatusEnums.toPay.index && isMemberFlag "
|
||||
@click="handleWithdraw(record)">撤回</a>
|
||||
<a @click="handleDetail(record)">查看</a>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<!-- v-if="$store.getters.userInfo.roleCode !== '3'"-->
|
||||
<!-- 待支付 不显示 -->
|
||||
<a v-if="record.certificateStatus+'' !== '0' && $store.getters.userInfo.roleCode !== '3' "
|
||||
@click="handleWithdraw(record)">撤回</a>
|
||||
<a @click="handleDetail(record)">查看</a>
|
||||
<a v-show="record.certificateStatus == 4 && $store.getters.userInfo.roleCode !== '3'">
|
||||
<a href="javascript:;"
|
||||
@click="(record.certificateStatus == 4) && $store.getters.userInfo.roleCode !== '3' && bindMember(record)">绑定会员</a>
|
||||
</a>
|
||||
<!-- v-show="record.chargeType != 1 && record.certificateModality == 3 && record.certificateStatus == 5"-->
|
||||
<!-- 已绑定的证书不能续费 已支付已缴费的不能续费 需要流程走完才能续费 v-has="'vin:renew'"-->
|
||||
<a
|
||||
v-show="(Number(record.certificateStatus) === 4 ||Number(record.certificateStatus) === 5 || Number(record.certificateStatus) === 7) && $store.getters.userInfo.roleCode !== '3' ">
|
||||
<a href="javascript:;" @click="renewCharge(record)">续费</a>
|
||||
</a>
|
||||
<!-- v-has="'vin:renewal'"-->
|
||||
<a
|
||||
v-show="record.certificateModality == 3 && (record.certificateStatus == 1 || record.certificateStatus == 4) && $store.getters.userInfo.roleCode !== '3'">
|
||||
<a href="javascript:;"
|
||||
@click="(record.certificateModality == 3 && (record.certificateStatus == 1 || record.certificateStatus == 4)) && replacement(record)">换证</a>
|
||||
</a>
|
||||
<a
|
||||
v-show="($store.getters.userInfo.roleCode !== '3' && (record.certificateStatus == 6 && record.chargeType == 2) || record.certificateStatus == 0) && record.paymentStatus !== 4">
|
||||
<a href="javascript:;"
|
||||
@click="((record.certificateStatus == 6 && record.chargeType == 2 && record.paymentStatus !== 4) || record.certificateStatus == 0) && handleEditRenew(record) && $store.getters.userInfo.roleCode !== '3'">编辑</a>
|
||||
</a>
|
||||
<!-- 会员 只有企业证书才 正常使用 已绑定的证书 可授权申请-->
|
||||
<a
|
||||
v-show="roleCode === 'member'&& record.certificateType == 2 && (record.certificateStatus == 4 || record.certificateStatus == 1) && $store.getters.userInfo.roleCode !== '3'"
|
||||
>
|
||||
<a href="javascript:;" @click="authorizationFunc(record)">授权申请</a>
|
||||
</a>
|
||||
|
||||
<!-- 管理员上传的缴费会员不能删除 record.paymentStatus !== 4-->
|
||||
<a
|
||||
v-show="(record.certificateStatus == 6 || record.certificateStatus == 0) && $store.getters.userInfo.roleCode !== '3' && record.paymentStatus !== 4">
|
||||
<a v-show="(Number(record.certificateStatus) === 4 ||Number(record.certificateStatus) === 5 || Number(record.certificateStatus) === 7) && isMemberFlag ">
|
||||
<a href="javascript:;" @click="renewCharge(record)">续费</a>
|
||||
</a>
|
||||
<a
|
||||
@click="(record.certificateStatus == 6 || record.certificateStatus == 0) && record.paymentStatus !== 4 && handleDelete(record.id)">删除</a>
|
||||
</a>
|
||||
</span>
|
||||
v-show="(isMemberFlag && (record.certificateStatus == 6 && record.chargeType == 2) || record.certificateStatus == 0) && record.paymentStatus !== 4">
|
||||
<a href="javascript:;"
|
||||
@click="((record.certificateStatus == 6 && record.chargeType == 2 && record.paymentStatus !== 4) || record.certificateStatus == 0) && handleEditRenew(record) && isMemberFlag">编辑</a>
|
||||
</a>
|
||||
<!-- 会员 只有企业证书才 正常使用 已绑定的证书 可授权申请-->
|
||||
<a
|
||||
v-show="roleCode === 'member'&& record.certificateType == 2 && (record.certificateStatus == 4 || record.certificateStatus == 1) && isMemberFlag"
|
||||
>
|
||||
<a href="javascript:;" @click="authorizationFunc(record)">授权申请</a>
|
||||
</a>
|
||||
|
||||
<!-- 管理员上传的缴费会员不能删除 record.paymentStatus !== 4-->
|
||||
<a
|
||||
v-show="(record.certificateStatus == 6 || record.certificateStatus == 0) && isMemberFlag && record.paymentStatus !== 4">
|
||||
<a
|
||||
@click="(record.certificateStatus == 6 || record.certificateStatus == 0) && record.paymentStatus !== 4 && handleDelete(record.id)">删除</a>
|
||||
</a>
|
||||
</div>
|
||||
<!-- 状态渲染模板 -->
|
||||
<template slot="customRenderStatus" slot-scope="certificateStatus">
|
||||
<a-tag v-if="certificateStatus==0" color="#c37e00">待支付</a-tag>
|
||||
@@ -261,6 +248,7 @@ export default {
|
||||
return {
|
||||
getAction,
|
||||
getFileAccessHttpUrl,
|
||||
CertificateStatusEnums,
|
||||
// 时间范围查询显示的类型
|
||||
rangeDateFormat: {
|
||||
begin: 'YYYY-MM-DD hh:mm:ss',
|
||||
@@ -381,6 +369,10 @@ export default {
|
||||
computed: {
|
||||
importExcelUrl: function () {
|
||||
return `${window._CONFIG['memberURL']}/${this.url.importExcelUrl}`
|
||||
},
|
||||
// 是否是会员企业
|
||||
isMemberFlag() {
|
||||
return this.$store.getters.userInfo.roleCode !== '3'
|
||||
}
|
||||
},
|
||||
created(){
|
||||
|
||||
@@ -1094,11 +1094,11 @@ export default {
|
||||
that.form.validateFields(async(err, values) => {
|
||||
if (!err) {
|
||||
// 校验缴费凭证 或打包协议必填
|
||||
if(this.paymentMethodFlag && !values.paymentRecord){
|
||||
// 选择了打包协议
|
||||
this.$message.warning('请上传打包协议')
|
||||
return
|
||||
}
|
||||
// if(this.paymentMethodFlag && !values.paymentRecord){
|
||||
// // 选择了打包协议
|
||||
// this.$message.warning('请上传打包协议')
|
||||
// return
|
||||
// }
|
||||
if(!this.paymentMethodFlag && !values.paymentRecord) {
|
||||
this.$message.warning('请上传缴费凭证/付款说明')
|
||||
return
|
||||
|
||||
@@ -1226,11 +1226,11 @@ export default {
|
||||
that.form.validateFields({ force: true }, async (err, values) => {
|
||||
if (!err) {
|
||||
// 校验缴费凭证 或打包协议必填
|
||||
if(this.paymentMethodFlag && !values.paymentRecord){
|
||||
// 选择了打包协议
|
||||
this.$message.warning('请上传打包协议')
|
||||
return
|
||||
}
|
||||
// if(this.paymentMethodFlag && !values.paymentRecord){
|
||||
// // 选择了打包协议
|
||||
// this.$message.warning('请上传打包协议')
|
||||
// return
|
||||
// }
|
||||
if(!this.paymentMethodFlag && !values.paymentRecord) {
|
||||
this.$message.warning('请上传缴费凭证/付款说明')
|
||||
return
|
||||
|
||||
@@ -74,6 +74,9 @@
|
||||
<!-- 企业管理员没有操作权限 -->
|
||||
<a-button @click="handleAdd" type="primary" icon="plus" v-if="$store.getters.userInfo.roleCode !== '3'">新增
|
||||
</a-button>
|
||||
<div class="notice-msg">
|
||||
附加证书需求,请转至“证书服务”工作区提交申请。
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- table区域-begin -->
|
||||
@@ -101,6 +104,13 @@
|
||||
<template slot-scope="text,record" slot="billNumber">
|
||||
{{text}}<span v-if="record.paymentStatus === 0 && !record.paymentRecord " class="color-red"> (待上传凭证)</span>
|
||||
</template>
|
||||
<!--缴费状态--费用核验中 的时候 提示 对公银行预计15个工作日完成费用核验,请耐心等待-->
|
||||
<template slot-scope="text,record" slot="paymentStatus">
|
||||
<a-tooltip>
|
||||
<template slot="title">{{ record.paymentStatus === 1 ? '对公银行预计15个工作日完成费用核验,请耐心等待' : text }}</template>
|
||||
<div class="table-text">{{ text }}<span class="inner-notice" v-if="record.paymentStatus === 1">?</span></div>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
|
||||
<div slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<!-- 会员缴费的相关操作 -->
|
||||
@@ -108,13 +118,13 @@
|
||||
<!-- 管理端上传的缴费 企业端只能上传凭证 -->
|
||||
<template v-if="record.adminAddFlag === 0">
|
||||
<!--已支付显示 撤回-->
|
||||
<a v-show="record.paymentStatus === 1 && $store.getters.userInfo.roleCode !== '3' "
|
||||
<a v-if="record.paymentStatus === 1 && $store.getters.userInfo.roleCode !== '3' "
|
||||
@click="handleWithdraw(record)">撤回</a>
|
||||
<a v-show="(record.paymentStatus<1 ||record.paymentStatus==2) && $store.getters.userInfo.roleCode !== '3'"
|
||||
@click="(record.paymentStatus<1 ||record.paymentStatus==2) && handleEdit(record)">编辑</a>
|
||||
<a v-if="(record.paymentStatus<1 ||record.paymentStatus==2) && $store.getters.userInfo.roleCode !== '3'"
|
||||
@click="handleEdit(record)">编辑</a>
|
||||
|
||||
<a v-show="(record.paymentStatus<1||record.paymentStatus==2) && $store.getters.userInfo.roleCode !== '3'">
|
||||
<a @click="(record.paymentStatus<1||record.paymentStatus==2) && handleDelete(record.id)">删除</a>
|
||||
<a v-if="(record.paymentStatus<1||record.paymentStatus==2) && $store.getters.userInfo.roleCode !== '3'">
|
||||
<a @click="handleDelete(record.id)">删除</a>
|
||||
</a>
|
||||
<a>
|
||||
<a href="javascript:;" @click="handleDetail(record)">查看</a>
|
||||
@@ -123,8 +133,8 @@
|
||||
|
||||
<template v-if="record.adminAddFlag === 1">
|
||||
<!-- 待上传的可以上传凭证 -->
|
||||
<a v-show="record.paymentStatus === 4 || record.paymentStatus === 2 " href="javascript:;"
|
||||
@click="(record.paymentStatus === 4 || record.paymentStatus === 2) && handleUploadRecord(record)">上传凭证</a>
|
||||
<a v-if="record.paymentStatus === 4 || record.paymentStatus === 2 " href="javascript:;"
|
||||
@click="handleUploadRecord(record)">上传凭证</a>
|
||||
<a href="javascript:;" @click="handleDetail(record)">查看</a>
|
||||
</template>
|
||||
</template>
|
||||
@@ -173,7 +183,7 @@ import CombinationPaymentModal from '@views/standardsAssociation/PaymentInfo/mod
|
||||
import UploadRecordModal from '@views/standardsAssociation/PaymentInfo/modules/UploadRecordModal'
|
||||
import CertificatePaymentInfoModal from '../PaymentInfo/modules/CertificatePaymentInfoModal'
|
||||
|
||||
import {getAction} from '@/api/memberManage'
|
||||
import {getAction, postAction} from '@/api/memberManage'
|
||||
import {filterObj} from '../../../utils/util'
|
||||
import {RangeDateMixin} from '@/mixins/RangeDateMixin'
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
@@ -209,7 +219,7 @@ const columns = [
|
||||
title: '缴费状态',
|
||||
align: 'center',
|
||||
dataIndex: 'paymentStatus_dictText',
|
||||
scopedSlots: { customRender: 'status' }
|
||||
scopedSlots: { customRender: 'paymentStatus' }
|
||||
},
|
||||
{
|
||||
title: '缴费类别',
|
||||
@@ -437,6 +447,36 @@ export default {
|
||||
this.$refs.modalForm.title = '核对凭证'
|
||||
this.$refs.modalForm.pageType = 2
|
||||
},
|
||||
handleEdit: function (record) {
|
||||
this.$refs.modalForm.edit(record)
|
||||
this.$refs.modalForm.title = '编辑'
|
||||
this.$refs.modalForm.disableSubmit = false
|
||||
},
|
||||
handleDelete: function (id) {
|
||||
if(!this.url.delete){
|
||||
this.$message.error('请设置url.delete属性!')
|
||||
return
|
||||
}
|
||||
var that = this
|
||||
this.$confirm({
|
||||
title: '确认删除',
|
||||
content: '确定要删除此条数据吗?',
|
||||
onOk: function() {
|
||||
postAction(that.url.delete, {id: id}).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message)
|
||||
// 判断当前删除的数据是否是最后一页的最后一条数据,如果是的话页码减一
|
||||
if (that.ipagination.current > 1 && ((that.ipagination.current - 1) * that.ipagination.pageSize) + 1 === that.ipagination.total) {
|
||||
that.ipagination.current -= 1
|
||||
}
|
||||
that.loadData()
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 查看
|
||||
handleDetail: function (record) {
|
||||
this.$refs.modalForm.detail(record)
|
||||
@@ -486,7 +526,27 @@ export default {
|
||||
|
||||
|
||||
/*列表td的padding设置 可以控制列表大小*/
|
||||
.standard-table .ant-table-tbody .ant-table-row td .action-span-cell a{
|
||||
.standard-table .ant-table-tbody .ant-table-row td .action-span-cell > a{
|
||||
padding: 0 10px;
|
||||
}
|
||||
.color-red {
|
||||
color: red;
|
||||
}
|
||||
.inner-notice{
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
//height: 15px;
|
||||
border-radius: 5px;
|
||||
background-color: #f6f6f6;
|
||||
margin: 0 5px;
|
||||
color: red;
|
||||
cursor: pointer;
|
||||
}
|
||||
.notice-msg{
|
||||
display: inline-block;
|
||||
color: red;
|
||||
padding-bottom: 8px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user