From fcd8261278449d58a67badf39bd3cc41944c1158 Mon Sep 17 00:00:00 2001 From: fengchenchen Date: Mon, 20 Dec 2021 18:16:04 +0800 Subject: [PATCH] =?UTF-8?q?[update]-=E6=8E=88=E6=9D=83=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=A2=9E=E5=8A=A0=EF=BC=9B=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E7=AB=AF=E6=B6=88=E6=81=AF=E7=9A=84=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=EF=BC=9B=E5=88=97=E8=A1=A8=E9=A1=B5=E5=AD=97=E6=AE=B5=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E4=B8=8D=E6=AD=A3=E7=A1=AE=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/memberAnnounceApi.js | 48 ++++ src/api/standardsAssociationApi.js | 9 +- src/config/router.config.js | 41 ++- .../CertificateManagement.vue | 4 +- .../standardsAssociation/MemberManagement.vue | 9 +- .../announce/MemberDynamicNotice.vue | 47 ++++ .../announce/announceUtil.js | 223 +++++++++++++++ .../vinCertificate/Authorization.vue | 260 ++++++++++++++++++ src/views/system/UserAnnouncementList.vue | 172 +++++++----- 9 files changed, 725 insertions(+), 88 deletions(-) create mode 100644 src/api/memberAnnounceApi.js create mode 100644 src/views/standardsAssociation/announce/MemberDynamicNotice.vue create mode 100644 src/views/standardsAssociation/announce/announceUtil.js create mode 100644 src/views/standardsAssociation/vinCertificate/Authorization.vue diff --git a/src/api/memberAnnounceApi.js b/src/api/memberAnnounceApi.js new file mode 100644 index 0000000..136db4c --- /dev/null +++ b/src/api/memberAnnounceApi.js @@ -0,0 +1,48 @@ +/** + * @Description: 标协会员 因为消息 增加的api + * @param {*} + * @Date: 2021-09-24 fcc + * */ +import { getAction } from '@api/memberManage' + +// 会员缴费 -通过 会员缴费的id 获得全部的缴费信息数据 +const getPaymentInfoById = (params) => { + return new Promise(resolve => { + getAction('/paymentInfo/queryById', params).then(res => { + resolve(res) + }) + }) +} +// 证书缴费 -通过 证书缴费的id 获得全部的缴费信息数据 +const getCertificatePaymentInfoById = (params) => { + return new Promise(resolve => { + getAction('/certificatePaymentInfo/queryById', params).then(res => { + resolve(res) + }) + }) +} +// 证书缴费 -财务人员拒绝或驳回 在证书管理模块使用证书id获得相关信息 +const getVinCertificateById = (params) => { + return new Promise(resolve => { + getAction('/vinCertificate/vinCertificate/queryById', params).then(res => { + resolve(res) + }) + }) +} +// 证书缴费 -财务人员拒绝或驳回 在证书管理模块使用证书id获得相关信息 +const getBillingInfoById = (params) => { + return new Promise(resolve => { + // billingInfo/billingInfo/list + getAction('/billingInfo/billingInfo/getById', params).then(res => { + resolve(res) + }) + }) +} + +export { + getPaymentInfoById, + getCertificatePaymentInfoById, + getVinCertificateById, + getBillingInfoById +} + diff --git a/src/api/standardsAssociationApi.js b/src/api/standardsAssociationApi.js index d493e26..8a034b1 100644 --- a/src/api/standardsAssociationApi.js +++ b/src/api/standardsAssociationApi.js @@ -60,6 +60,11 @@ const getCertificateById = (params) => getAction('/vinCertificate/vinCertificate /****证书缴费 列表页所用接口-结束 ****/ +// 会员申请授权 +const application = (params) => postAction('/vincertificateauthorize/tbVinCertificateAuthorize/application', params) +// 确认和取消授权 +const determineOrCancel = (params) => postAction('/vincertificateauthorize/tbVinCertificateAuthorize/authorize', params) + export { getMemberBaseInfo, @@ -78,7 +83,9 @@ export { getCheckInfo, getByMemberTime, downNewestNotice, - getCertificateById, + application, + determineOrCancel + } diff --git a/src/config/router.config.js b/src/config/router.config.js index 48ed0df..9c0a19d 100644 --- a/src/config/router.config.js +++ b/src/config/router.config.js @@ -125,7 +125,7 @@ export const routerData = [ componentName: 'BasicInfo', title: '基本信息' }, - name: 'standardsAssociation/BasicInfo', + name: 'standardsAssociation-BasicInfo', path: '/standardsAssociation/BasicInfo', route: '1' }, { @@ -137,7 +137,7 @@ export const routerData = [ componentName: 'MemberManagement', title: '会员管理' }, - name: 'standardsAssociation/MemberManagement', + name: 'standardsAssociation-MemberManagement', path: '/standardsAssociation/MemberManagement', route: '1' }, { @@ -149,10 +149,25 @@ export const routerData = [ componentName: 'CertificateManagement', title: '证书管理' }, - name: 'standardsAssociation/CertificateManagement', + name: 'standardsAssociation-CertificateManagement', path: '/standardsAssociation/CertificateManagement', route: '1' - }, { + }, + { + component: 'standardsAssociation/vinCertificate/Authorization', + id: '4-3-1', + hidden: true, + meta: { + keepAlive: false, + internalOrExternal: false, + componentName: 'CertificateManagement', + title: '授权申请' + }, + name: 'member-vinCertificate-Authorization', + path: '/standardsAssociation/vinCertificate/Authorization', + route: '1' + }, + { component: 'layouts/RouteView', id: '4-4', meta: { @@ -161,7 +176,7 @@ export const routerData = [ componentName: 'PaymentInfo', title: '缴费信息' }, - name: 'standardsAssociation/PaymentInfo', + name: 'standardsAssociation-PaymentInfo', path: '/standardsAssociation/PaymentInfo', route: '1', children: [ @@ -174,7 +189,7 @@ export const routerData = [ componentName: 'MemberInfo', title: '会员缴费' }, - name: 'standardsAssociation/PaymentInfo/MemberInfo', + name: 'standardsAssociation-PaymentInfo-MemberInfo', path: '/standardsAssociation/PaymentInfo/MemberInfo', route: '1' }, { @@ -186,7 +201,7 @@ export const routerData = [ componentName: 'CertificateInfo', title: '证书缴费' }, - name: 'standardsAssociation/PaymentInfo/CertificateInfo', + name: 'standardsAssociation-PaymentInfo-CertificateInfo', path: '/standardsAssociation/PaymentInfo/CertificateInfo', route: '1' }, { @@ -198,7 +213,7 @@ export const routerData = [ componentName: 'InvoiceInfo', title: '发票信息' }, - name: 'standardsAssociation/PaymentInfo/InvoiceInfo', + name: 'standardsAssociation-PaymentInfo-InvoiceInfo', path: '/standardsAssociation/PaymentInfo/InvoiceInfo', route: '1' } @@ -212,7 +227,7 @@ export const routerData = [ componentName: 'Council', title: '理事会' }, - name: 'standardsAssociation/Council', + name: 'standardsAssociation-Council', path: '/standardsAssociation/Council', route: '1' }, { @@ -224,7 +239,7 @@ export const routerData = [ componentName: 'StandardPublicizingImplementation', title: '标准宣贯' }, - name: 'standardsAssociation/StandardPublicizingImplementation', + name: 'standardsAssociation-StandardPublicizingImplementation', path: '/standardsAssociation/StandardPublicizingImplementation', route: '1' }, { @@ -236,7 +251,7 @@ export const routerData = [ componentName: 'InfoCommunicationMeeting', title: '信息交流会' }, - name: 'standardsAssociation/InfoCommunicationMeeting', + name: 'standardsAssociation-InfoCommunicationMeeting', path: '/standardsAssociation/InfoCommunicationMeeting', route: '1' }, { @@ -248,7 +263,7 @@ export const routerData = [ componentName: 'TrainingMeeting', title: '培训会' }, - name: 'standardsAssociation/TrainingMeeting', + name: 'standardsAssociation-TrainingMeeting', path: '/standardsAssociation/TrainingMeeting', route: '1' } @@ -415,5 +430,5 @@ export const routerData = [ }, name: 'work-team-detail', id: '14' - }, + } ] diff --git a/src/views/standardsAssociation/CertificateManagement.vue b/src/views/standardsAssociation/CertificateManagement.vue index 9653d41..7e141d4 100644 --- a/src/views/standardsAssociation/CertificateManagement.vue +++ b/src/views/standardsAssociation/CertificateManagement.vue @@ -134,7 +134,7 @@ 授权申请 @@ -203,7 +203,7 @@ export default { end: 'YYYY-MM-DD' }, description: 'VIN证书管理页面', - roleCode: Vue.ls.get(USER_INFO).roleCode, + roleCode: 'member', // 表头 columns: [ { diff --git a/src/views/standardsAssociation/MemberManagement.vue b/src/views/standardsAssociation/MemberManagement.vue index 9f289a6..5b35fcb 100644 --- a/src/views/standardsAssociation/MemberManagement.vue +++ b/src/views/standardsAssociation/MemberManagement.vue @@ -74,7 +74,7 @@
- + @@ -292,6 +292,7 @@ export default { this.remainingTime = this.remainingTimeCount(res.result.validDate) this.$nextTick(() => { this.$refs.memberInfoDom && this.$refs.memberInfoDom.initData(res.result) + }) } if (res.code === 510) { @@ -355,14 +356,12 @@ export default { this.pageType = this.$route.query.pageType // 当前默认选中的tab页 this.navIndex = Number(this.$route.query.navIndex) || 1 - // 不是跳转第一页的时候,触发相应的点击事件 - if (this.navIndex !== 1) { - this.switchNav(this.navIndex) - } // 获得会员的相关信息 this.getMemberInfo() // 获得公钥的相关信息 this.getEncryptedStringFunc() + // 不是跳转第一页的时候,触发相应的点击事件 + console.log('navIndex====', this.navIndex) } } diff --git a/src/views/standardsAssociation/announce/MemberDynamicNotice.vue b/src/views/standardsAssociation/announce/MemberDynamicNotice.vue new file mode 100644 index 0000000..4ff35f1 --- /dev/null +++ b/src/views/standardsAssociation/announce/MemberDynamicNotice.vue @@ -0,0 +1,47 @@ + + diff --git a/src/views/standardsAssociation/announce/announceUtil.js b/src/views/standardsAssociation/announce/announceUtil.js new file mode 100644 index 0000000..49b757c --- /dev/null +++ b/src/views/standardsAssociation/announce/announceUtil.js @@ -0,0 +1,223 @@ +import +{ + getPaymentInfoById, + getCertificatePaymentInfoById, + getVinCertificateById, + getBillingInfoById +} from '@/api/memberAnnounceApi' + +export const AnnounceEnum = { + PAYMENT_CHECK: { name: '会员缴费-核对凭证', value: 'PAYMENT_CHECK' }, + PAYMENT_EDIT: { name: '会员缴费-编辑', value: 'PAYMENT_EDIT' }, + CERTIFICATE_PAYMENT_CHECK: { name: '证书缴费-核对凭证', value: 'CERTIFICATE_PAYMENT_CHECK' }, + CERTIFICATE_MANAGE_EDIT: { name: '证书管理-编辑', value: 'CERTIFICATE_MANAGE_EDIT' }, + CERTIFICATE_MANAGE_VIEW: { name: '证书管理-查看', value: 'CERTIFICATE_MANAGE_VIEW' }, + PAYMENT_ADD: { name: '会员缴费-新增', value: 'PAYMENT_ADD' }, + CERTIFICATE_MANAGE_CHECK: { name: '证书管理-核实', value: 'CERTIFICATE_MANAGE_CHECK' }, + BILLINGINFO_MAIL: { name: '发票管理-邮寄', value: 'BILLINGINFO_MAIL' }, + CERTIFICATE_MANAGE_AUTHORIZE: { name: '证书管理-授权', value: 'CERTIFICATE_MANAGE_AUTHORIZE' }, + COMPANY_NAME_CHECK: { name: '单位名称变更-审核', value: 'COMPANY_NAME_CHECK' }, + COMPANY_NAME_REJECT: { name: '单位名称变更-驳回', value: 'COMPANY_NAME_REJECT' }, + COMPANY_NAME_PASS: { name: '单位名称变更-通过', value: 'COMPANY_NAME_PASS' } +} +export const OpenTypeEnum = { + PAGE: { name: '新标签页', value: 1 }, + COMPONENT: { name: '组件', value: 2 }, + METHODS: { name: '方法', value: 3 } +} + +function remainingTimeCount(date) { + if (date === null || date === undefined || date.length === 0) { + return 0 + } + date = date.substring(11) + var strArr = (date + ' 23:59:59').split(' ') + var strDay = strArr[0].split('-') + var strTime = strArr[1].split(':') + var yy = strDay[0] + var mm = strDay[1] + var dd = strDay[2] + var hh = strTime[0] + var mi = strTime[1] + var se = strTime[2] + var date1 = new Date(Date.UTC(yy, mm - 1, dd, hh - 8, mi, se)) + var date2 = new Date() + if (date1 <= date2) { + return 0 + } + // var miao = (date1.getTime() - date2.getTime()) / 1000 + var fen = ((date1.getTime() - date2.getTime()) / 1000) / 60 + return parseInt(fen / (24 * 60)) // 得出剩bai余 +} + +// 2021-09-24 判断当前消息是否有 jumpParameter 参数,如果有的话需要跳转页面或者弹框;没有的话 就直接显示详情页 +// jumpParameter示例 :paymentInfoId:1441329411264643074,memberId:1413419593870872578,paymentType:0,window:PAYMENT_CHECK" +export const parseJumpParameter = function(jumpParameter) { + // 对当前的jumpParameter 进行解析 + const jumpParam = {} + const jumpParamArr = jumpParameter.split(',') + jumpParamArr.length > 0 && jumpParamArr.map(item => { + const arr = item.split(':') + if (arr.length > 0) { + jumpParam[arr[0]] = arr[1] + } + }) + // 如果有跳转的方法 -- openType 打开消息的方式 openPage- 组件/路由 地址 + if (jumpParam.window) { + switch (jumpParam.window) { + // 会员缴费-核对凭证- 提醒人员 系统人员-财务人员,此处不需要 + case AnnounceEnum.PAYMENT_CHECK.value: + jumpParam.openType = OpenTypeEnum.COMPONENT.value + jumpParam.openPage = 'member/paymentInfo/modules/PaymentInfoModal' + jumpParam.requestMethod = getPaymentInfoById + jumpParam.requestParams = { id: jumpParam.paymentInfoId } + // 所有操作完成后的回调方法 + jumpParam.callback = (dom, record) => { + dom.title = '核对凭证' + dom.handleCheck(record) + } + break + // 会员缴费-编辑 + case AnnounceEnum.PAYMENT_EDIT.value: + jumpParam.openType = OpenTypeEnum.COMPONENT.value + // jumpParam.openPage = 'member/paymentInfo/modules/PaymentInfoModal' + jumpParam.openPage = 'standardsAssociation/PaymentInfo/modules/PaymentInfoModal' + jumpParam.requestMethod = getPaymentInfoById + jumpParam.requestParams = { id: jumpParam.paymentInfoId } + // 所有操作完成后的回调方法 + jumpParam.callback = (dom, record) => { + dom.title = '编辑' + dom.edit(record) + } + break + // 证书缴费-核对凭证 --财务人员用,此处不需要处理 + case AnnounceEnum.CERTIFICATE_PAYMENT_CHECK.value: + jumpParam.openType = OpenTypeEnum.COMPONENT.value + jumpParam.openPage = 'member/certificatePaymentInfo/modules/CertificatePaymentInfoModal' + jumpParam.requestMethod = getCertificatePaymentInfoById + jumpParam.requestParams = { id: jumpParam.certificatePayId } + // 所有操作完成后的回调方法 + jumpParam.callback = (dom, record) => { + dom.title = '核对凭证' + dom.handleCheck(record) + } + break + // 证书管理-编辑--财务人员拒绝或驳回 证书缴费 -会员进行查看 + case AnnounceEnum.CERTIFICATE_MANAGE_EDIT.value: + jumpParam.openType = OpenTypeEnum.COMPONENT.value + // jumpParam.openPage = 'member/vinCertificate/modules/VinCertificateModal' + jumpParam.openPage = 'standardsAssociation/memberManagementModule/VinCertificateModal' + jumpParam.requestMethod = getVinCertificateById + jumpParam.requestParams = { id: jumpParam.certificateId } + // 所有操作完成后的回调方法 + jumpParam.callback = (dom, record) => { + dom.title = '新增申请' + dom.disableSubmit = false + dom.pageType = 11 + dom.edit6(record) + } + break + // 证书管理-查看 + case AnnounceEnum.CERTIFICATE_MANAGE_VIEW.value: + jumpParam.openType = OpenTypeEnum.COMPONENT.value + // jumpParam.openPage = 'member/vinCertificate/modules/VinCertificateModal' + jumpParam.openPage = 'standardsAssociation/memberManagementModule/VinCertificateModal' + jumpParam.requestMethod = getVinCertificateById + jumpParam.requestParams = { id: jumpParam.certificateId } + // 所有操作完成后的回调方法 + jumpParam.callback = (dom, record) => { + dom.title = '查看证书' + dom.disableSubmit = true + dom.pageType = 1 + dom.remainingTime = remainingTimeCount(record.certificateValidDate) + dom.edit(record) + } + break + // 会员缴费-新增 + // 注册的时候 跳转到会员缴费的页面 + case AnnounceEnum.PAYMENT_ADD.value: + jumpParam.openType = OpenTypeEnum.PAGE.value + jumpParam.openPage = { + name: 'standardsAssociation-PaymentInfo-MemberInfo' + } + break + // 证书管理-核实 财务人员-证书缴费(续费)-核对凭证通过 流转到证书人员核实 (证书人员使用,此处不用) + case AnnounceEnum.CERTIFICATE_MANAGE_CHECK.value: + jumpParam.openType = OpenTypeEnum.COMPONENT.value + jumpParam.openPage = 'member/vinCertificate/modules/VinCertificateModal' + jumpParam.requestMethod = getVinCertificateById + jumpParam.requestParams = { id: jumpParam.certificateId } + // 所有操作完成后的回调方法 + jumpParam.callback = (dom, record) => { + dom.title = '核对证书' + dom.disableSubmit = true + if (record.certificateModality === 1) { + dom.pageType = 3 + } else { + // 新增和续证使用2号核对窗口 + dom.pageType = 2 + } + // 换证时使用3号核对窗口· + dom.edit(record) + } + break + // 发票管理-邮寄 -企业端不用 + case AnnounceEnum.BILLINGINFO_MAIL.value: + jumpParam.openType = OpenTypeEnum.COMPONENT.value + jumpParam.openPage = 'member/billingInfo/modules/BillingInfoModal' + jumpParam.requestMethod = getBillingInfoById + jumpParam.requestParams = { id: jumpParam.billingInfoId } + // 所有操作完成后的回调方法 + jumpParam.callback = (dom, record) => { + dom.title = '邮寄发票' + dom.disableSubmit = true + dom.pageType = 1 + dom.edit(record) + } + break + // 证书管理-授权--需要跳转到证书详情页 + case AnnounceEnum.CERTIFICATE_MANAGE_AUTHORIZE.value: + jumpParam.openType = OpenTypeEnum.PAGE.value + jumpParam.openPage = { + name: 'member-vinCertificate-Authorization', + query: { + id: jumpParam.certificateId + } + } + break + // 单位名称变更-审核 + case AnnounceEnum.COMPANY_NAME_CHECK.value: + jumpParam.openType = OpenTypeEnum.COMPONENT.value + jumpParam.openPage = 'member/memberInfo/modules/ChangeApproveModal' + // 所有操作完成后的回调方法 + jumpParam.id = jumpParam.memberId + jumpParam.callback = (dom, record) => { + dom.open(record) + } + break + // 单位名称变更-审核 拒絕 + case AnnounceEnum.COMPANY_NAME_REJECT.value: + jumpParam.openType = OpenTypeEnum.PAGE.value + jumpParam.openPage = { + name: 'standardsAssociation-MemberManagement', + query: { + // 会员id + id: jumpParam.memberId, + // tab页签 + navIndex: 4, + pageType: 1, + // 会员剩余天数 + remainingTime: remainingTimeCount(jumpParam.validDate) + } + } + break + case AnnounceEnum.COMPANY_NAME_PASS.value: + // 该情况特殊 处理,内部触发退出的方法 + jumpParam.openType = OpenTypeEnum.METHODS.value + break + default: + break + } + } + return jumpParam +} diff --git a/src/views/standardsAssociation/vinCertificate/Authorization.vue b/src/views/standardsAssociation/vinCertificate/Authorization.vue new file mode 100644 index 0000000..7c3368f --- /dev/null +++ b/src/views/standardsAssociation/vinCertificate/Authorization.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/src/views/system/UserAnnouncementList.vue b/src/views/system/UserAnnouncementList.vue index 619e096..3112f2b 100644 --- a/src/views/system/UserAnnouncementList.vue +++ b/src/views/system/UserAnnouncementList.vue @@ -83,6 +83,7 @@ +
@@ -90,12 +91,14 @@