[update]-1、会员报名页面增加发票信息 2、证书初步页面的修改

This commit is contained in:
fengchenchen
2023-07-18 18:34:20 +08:00
parent de47c7937b
commit 19d6804975
10 changed files with 435 additions and 137 deletions
+11 -1
View File
@@ -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)
}
},
/**
* 新增企业
+156 -42
View File
@@ -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) {
+6
View File
@@ -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 }
}
+52 -34
View File
@@ -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">&nbsp;(待上传凭证)</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>