Merge remote-tracking branch 'origin/branch20211008'

This commit is contained in:
fengachen
2021-10-27 16:44:24 +08:00
28 changed files with 261 additions and 129 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ window._CONFIG["casPrefixUrl"] = "http://cas.example.org:8443/cas";
window._CONFIG["onlinePreviewDomainURL"] = "http://localhost:8012/onlinePreview"; window._CONFIG["onlinePreviewDomainURL"] = "http://localhost:8012/onlinePreview";
// 会议管理报名二维码地址 // 会议管理报名二维码地址
window._CONFIG['singUpQRCodeURL'] = 'http://localhost:3000/signUpEntrance' window._CONFIG['singUpQRCodeURL'] = 'http://localhost:3000/signupentrance'
// 签到二维码url // 签到二维码url
window._CONFIG['signInUrl'] = '/meeting/payMeetingSituation/getSignInPage' window._CONFIG['signInUrl'] = '/meeting/payMeetingSituation/getSignInPage'
+1 -1
View File
@@ -12,5 +12,5 @@ window._CONFIG["casPrefixUrl"] = "http://cas.example.org:8443/cas";
window._CONFIG["onlinePreviewDomainURL"] = "http://10.10.10.46:8012/onlinePreview"; window._CONFIG["onlinePreviewDomainURL"] = "http://10.10.10.46:8012/onlinePreview";
// 会议管理报名二维码地址 // 会议管理报名二维码地址
window._CONFIG['singUpQRCodeURL'] = 'http://10.10.10.46:8055/signUpEntrance' window._CONFIG['singUpQRCodeURL'] = 'http://10.10.10.46:8055/signupentrance'
+5 -1
View File
@@ -14,11 +14,15 @@ const createQcCode = (params) => getAction('/meeting/payMeeting/createBase64',pa
// 收入合同的新增会员项目的查询 // 收入合同的新增会员项目的查询
const queryContractMemberProject = (params) => getAction('/jero/memberProject/queryListByNotCompany',params) const queryContractMemberProject = (params) => getAction('/jero/memberProject/queryListByNotCompany',params)
// 通过单位名称校验是否标协会员
const validateStandard = (params) => getAction('/meeting/internalMeetingSituation/checkMember',params)
export { export {
getUserInfo, getUserInfo,
getMeetInfoById, getMeetInfoById,
getAllWorkProjects, getAllWorkProjects,
getSingUpUserInfo, getSingUpUserInfo,
createQcCode, createQcCode,
queryContractMemberProject queryContractMemberProject,
validateStandard
} }
+2 -4
View File
@@ -16,7 +16,7 @@
</a-col> </a-col>
<a-col :span="12" class="detail-item"> <a-col :span="12" class="detail-item">
<label>应收金额:</label> <label>应收金额:</label>
<span><j-ellipsis :value="`${basicInfo.receivableAmount}元`" :length="20"></j-ellipsis></span> <span><j-ellipsis :value="`${basicInfo.receivableAmount ? basicInfo.receivableAmount : '0.00'}元`" :length="20"></j-ellipsis></span>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
@@ -26,7 +26,7 @@
</a-col> </a-col>
</a-row> </a-row>
<!-- 来款方式为合同的显示--> <!-- 来款方式为合同的显示-->
<a-row :gutter="24" v-if="!!basicInfo.contractNum"> <a-row :gutter="24" v-if="basicInfo.chargeWay === 2">
<a-col :span="12" class="detail-item"> <a-col :span="12" class="detail-item">
<label>{{ createIncomeType(basicInfo.projectType) }}:</label> <label>{{ createIncomeType(basicInfo.projectType) }}:</label>
<span>{{ basicInfo.chargeWay_dictText }}</span> <span>{{ basicInfo.chargeWay_dictText }}</span>
@@ -356,8 +356,6 @@ export default {
} else { } else {
return '缴费方式' return '缴费方式'
} }
} }
} }
} }
+9
View File
@@ -4,6 +4,7 @@
<contextmenu :itemList="menuItemList" :visible.sync="menuVisible" style="z-index: 9999;" @select="onMenuSelect"/> <contextmenu :itemList="menuItemList" :visible.sync="menuVisible" style="z-index: 9999;" @select="onMenuSelect"/>
<!-- update-end- author:sunjianlei --- date:20191009 --- for: 提升右键菜单的层级 --> <!-- update-end- author:sunjianlei --- date:20191009 --- for: 提升右键菜单的层级 -->
<a-tabs <a-tabs
v-show="showMenu"
@contextmenu.native="e => onContextmenu(e)" @contextmenu.native="e => onContextmenu(e)"
v-if="multipage" v-if="multipage"
:active-key="activePage" :active-key="activePage"
@@ -39,6 +40,7 @@
const indexKey = '/dashboard/analysis' const indexKey = '/dashboard/analysis'
import Vue from 'vue' import Vue from 'vue'
import { CACHE_INCLUDED_ROUTES } from '@/store/mutation-types' import { CACHE_INCLUDED_ROUTES } from '@/store/mutation-types'
import {mapState} from 'vuex'
export default { export default {
name: 'TabLayout', name: 'TabLayout',
@@ -77,6 +79,13 @@
} else { } else {
return this.$store.state.app.multipage return this.$store.state.app.multipage
} }
},
...mapState({
// 系统名称 目的是监听是否是会员系统,会员系统隐藏菜单
system: state => state.user.system
}),
showMenu() {
return this.system !== 'member'
} }
}, },
created() { created() {
+10 -4
View File
@@ -1,6 +1,5 @@
<template> <template>
<a-layout class="layout" :class="[device]"> <a-layout class="layout" :class="[device]">
<template v-if="layoutMode === 'sidemenu'"> <template v-if="layoutMode === 'sidemenu'">
<a-drawer <a-drawer
v-if="device === 'mobile'" v-if="device === 'mobile'"
@@ -22,7 +21,7 @@
</a-drawer> </a-drawer>
<side-menu <side-menu
v-show="device === 'desktop'" v-show="device === 'desktop' && showMenu"
mode="inline" mode="inline"
:menus="menus" :menus="menus"
@menuSelect="myMenuSelect" @menuSelect="myMenuSelect"
@@ -33,6 +32,7 @@
<!-- 下次优化这些代码 --> <!-- 下次优化这些代码 -->
<template v-else> <template v-else>
<a-drawer <a-drawer
v-show="showMenu"
v-if="device === 'mobile'" v-if="device === 'mobile'"
:wrapClassName="'drawer-sider ' + navTheme" :wrapClassName="'drawer-sider ' + navTheme"
placement="left" placement="left"
@@ -62,6 +62,7 @@
:collapsed="collapsed" :collapsed="collapsed"
:device="device" :device="device"
@toggle="toggle" @toggle="toggle"
v-show="showMenu"
/> />
<!-- layout content --> <!-- layout content -->
@@ -119,8 +120,13 @@ export default {
// 主路由 // 主路由
mainRouters: state => state.permission.addRouters, mainRouters: state => state.permission.addRouters,
// 后台菜单 // 后台菜单
permissionMenuList: state => state.user.permissionList permissionMenuList: state => state.user.permissionList,
}) // 系统名称 目的是监听是否是会员系统,会员系统隐藏菜单
system: state => state.user.system
}),
showMenu() {
return this.system !== 'member'
}
}, },
watch: { watch: {
sidebarOpened(val) { sidebarOpened(val) {
+31 -15
View File
@@ -197,7 +197,11 @@ export const JeroListMixin = {
that.loadData() that.loadData()
that.onClearSelected() that.onClearSelected()
} else { } else {
that.$message.warning(res.message) if (res.message.indexOf('<br/>') > -1) {
that.messageLineFeed('删除失败', res.message)
} else {
that.$message.warning(res.message)
}
} }
}).finally(() => { }).finally(() => {
that.loading = false that.loading = false
@@ -225,7 +229,11 @@ export const JeroListMixin = {
} }
that.loadData() that.loadData()
} else { } else {
that.$message.warning(res.message) if (res.message.indexOf('<br/>') > -1) {
that.messageLineFeed('删除失败', res.message)
} else {
that.$message.warning(res.message)
}
} }
}) })
} }
@@ -322,19 +330,7 @@ export const JeroListMixin = {
} }
this.loadData() this.loadData()
} else { } else {
const messageArr = info.file.response.message.split('<br/>') this.messageLineFeed('文件导入错误', info.file.response.message)
let htmlDom = []
messageArr.map(tt => {
if (tt) {
htmlDom.push((<div>{tt}</div>))
}
})
this.$warning({
title: '文件导入错误',
content: (h) => <div>
{htmlDom}
</div>
})
// this.$message.error(`${info.file.name} ${info.file.response.message}.`); // this.$message.error(`${info.file.name} ${info.file.response.message}.`);
} }
} else if (info.file.status === 'error') { } else if (info.file.status === 'error') {
@@ -386,6 +382,26 @@ export const JeroListMixin = {
let url = getFileAccessHttpUrl(text) let url = getFileAccessHttpUrl(text)
window.open(url) window.open(url)
}, },
/**
* 对包含<br/>的后端错误信息进行处理
* @param title
* @param content
*/
messageLineFeed(title, content) {
const messageArr = content.split('<br/>')
let htmlDom = []
messageArr.map(tt => {
if (tt) {
htmlDom.push((<div>{tt}</div>))
}
})
this.$warning({
title: title,
content: (h) => <div>
{htmlDom}
</div>
})
}
} }
} }
+5 -1
View File
@@ -9,12 +9,16 @@ import { generateIndexRouter } from '@/utils/util'
NProgress.configure({ showSpinner: false }) // NProgress Configuration NProgress.configure({ showSpinner: false }) // NProgress Configuration
const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration','/signUpEntrance','/signUpPage'] // no redirect whitelist const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration','/signupentrance','/signUpPage'] // no redirect whitelist
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
if (to.query.token) { if (to.query.token) {
Vue.ls.set(ACCESS_TOKEN, to.query.token, 7 * 24 * 60 * 60 * 1000) Vue.ls.set(ACCESS_TOKEN, to.query.token, 7 * 24 * 60 * 60 * 1000)
store.commit('SET_TOKEN', to.query.token) store.commit('SET_TOKEN', to.query.token)
// 判断是否是会员系统iframe嵌入的,如果是 不先做左侧菜单和 头部标签
if(to.query.system === 'member') {
store.commit('SET_SYSTEM', to.query.system)
}
} }
NProgress.start() // start progress bar NProgress.start() // start progress bar
+5
View File
@@ -7,6 +7,8 @@ import { getAction } from '@/api/manage'
const user = { const user = {
state: { state: {
// 使用系统的名称,只有在会员系统嵌入来款系统的时候使用 传值为 member
system: '',
token: '', token: '',
username: '', username: '',
realname: '', realname: '',
@@ -18,6 +20,9 @@ const user = {
}, },
mutations: { mutations: {
SET_SYSTEM: (state, system) => {
state.system = system
},
SET_TOKEN: (state, token) => { SET_TOKEN: (state, token) => {
state.token = token state.token = token
}, },
+1 -1
View File
@@ -4,7 +4,7 @@ const hasPermission = {
install (Vue, options) { install (Vue, options) {
Vue.directive('has', { Vue.directive('has', {
inserted: (el, binding, vnode)=>{ inserted: (el, binding, vnode)=>{
// console.log('binding=====',binding.value) // console.log('binding=====',binding)
if(binding.arg){ if(binding.arg){
binding.value = binding.arg binding.value = binding.arg
// console.log( binding.value ,' binding.value =================') // console.log( binding.value ,' binding.value =================')
+2 -2
View File
@@ -3,8 +3,8 @@ import {phoneReg, isEmail, chineseReg} from '@/utils/validate'
// 手机校验的错误信息提示 // 手机校验的错误信息提示
const phoneErrMsg = { const phoneErrMsg = {
err1: '请输入手机号码', err1: '请输入手机号',
err2: '请输入正确格式的手机号码' err2: '请输入正确格式的手机号'
} }
// 邮箱校验错误提示信息 // 邮箱校验错误提示信息
const emailErrMsg = { const emailErrMsg = {
@@ -220,7 +220,11 @@ export default {
} }
that.loadData() that.loadData()
} else { } else {
that.$message.warning(res.message) if (res.message.indexOf('<br/>') > -1) {
that.messageLineFeed('删除失败', res.message)
} else {
that.$message.warning(res.message)
}
} }
}) })
} }
@@ -267,7 +271,11 @@ export default {
that.loadData() that.loadData()
that.onClearSelected() that.onClearSelected()
} else { } else {
that.$message.warning(res.message) if (res.message.indexOf('<br/>') > -1) {
that.messageLineFeed('删除失败', res.message)
} else {
that.$message.warning(res.message)
}
} }
}).finally(() => { }).finally(() => {
that.loading = false that.loading = false
@@ -122,8 +122,8 @@
<div class="part-title"> <div class="part-title">
<div class="part-title-text">存档信息</div> <div class="part-title-text">存档信息</div>
</div> </div>
<div class="detail" v-if="detailData.listArchive && detailData.listArchive.length > 0"> <div class="aduit-text" v-if="detailData.listArchive && detailData.listArchive.length > 0">
<div class="detail-item" v-for="(item, index) in detailData.listArchive" <div v-for="(item, index) in detailData.listArchive"
:key="index"> :key="index">
<a-row> <a-row>
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col> <a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
@@ -114,6 +114,8 @@ export default {
this.close() this.close()
}, },
open() { open() {
this.showExplainRemarks = false
this.form.resetFields()
let userInfo = Vue.ls.get(USER_INFO) let userInfo = Vue.ls.get(USER_INFO)
console.log(userInfo) console.log(userInfo)
this.model.userName = userInfo.realname this.model.userName = userInfo.realname
@@ -123,6 +125,8 @@ export default {
}) })
}, },
close() { close() {
this.showExplainRemarks = false
this.form.resetFields()
this.visible = false this.visible = false
}, },
/** /**
@@ -132,8 +132,8 @@
<div class="part-title"> <div class="part-title">
<div class="part-title-text">存档信息</div> <div class="part-title-text">存档信息</div>
</div> </div>
<div class="detail" v-if="detailData.listArchive && detailData.listArchive.length > 0"> <div class="aduit-text" v-if="detailData.listArchive && detailData.listArchive.length > 0">
<div class="detail-item" v-for="(item, index) in detailData.listArchive" <div v-for="(item, index) in detailData.listArchive"
:key="index"> :key="index">
<a-row> <a-row>
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col> <a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
@@ -152,7 +152,7 @@
<div class="part-title-text">审核记录</div> <div class="part-title-text">审核记录</div>
</div> </div>
<div class="aduit-text" v-if="detailData.listAudit && detailData.listAudit.length > 0"> <div class="aduit-text" v-if="detailData.listAudit && detailData.listAudit.length > 0">
<div v-for="(item, index) in detailData.listAudit" <div v-for="(item, index) in detailData.listAudit"
:key="index"> :key="index">
<a-row> <a-row>
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col> <a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
@@ -618,9 +618,9 @@ export default {
signUpHerfUrl() { signUpHerfUrl() {
return `${ window._CONFIG['singUpQRCodeURL'] }?id=${ this.$route.query.id }` return `${ window._CONFIG['singUpQRCodeURL'] }?id=${ this.$route.query.id }`
}, },
// 签到地址 只给一个会议id // 签到地址 只给一个会议id 加前缀是为了区分 小程序的扫码签到是否扫描的是签到二维码
signInUrl() { signInUrl() {
return this.$route.query.id return `scanSign=${this.$route.query.id}`
} }
}, },
methods: { methods: {
@@ -634,6 +634,7 @@ export default {
* 审核 * 审核
* */ * */
handleAudit(record) { handleAudit(record) {
this.$refs.auditModal.title = '审核凭证'
this.$refs.auditModal.open(record, false) this.$refs.auditModal.open(record, false)
}, },
/* /*
@@ -204,9 +204,34 @@ export default {
meetingType: '', meetingType: '',
// 会议费用是否为0 // 会议费用是否为0
meetingCostBool:false, meetingCostBool:false,
url:{ // url:{
add:'/meeting/payMeetingSituation/add', // add:'/meeting/payMeetingSituation/add',
edit:'/meeting/payMeetingSituation/edit' // edit:'/meeting/payMeetingSituation/edit'
// },
// 其他会议的url
otherMeetingUrl: {
add: '/meeting/ohterMeetingSituation/add',
edit:'/meeting/ohterMeetingSituation/edit'
},
// 分标委会议的url
committeeMeetingUrl: {
add: '/meeting/committeeMeetingSituation/add',
edit:'/meeting/committeeMeetingSituation/edit'
},
// 国际研讨会的url
internalMeetingUrl: {
add: '/meeting/internalMeetingSituation/add',
edit:'/meeting/internalMeetingSituation/edit'
},
// 标协会议的url
standardsMeetingUrl: {
add: '/meeting/standardsMeetingSituation/add',
edit:'/meeting/standardsMeetingSituation/edit'
},
// 工作组会议的url
workGroupMeetingUrl: {
add: '/meeting/workGroupMeetingSituation/add',
edit:'/meeting/workGroupMeetingSituation/edit'
}, },
title:'添加参会人', title:'添加参会人',
} }
@@ -229,6 +254,23 @@ export default {
} }
}, },
computed:{
// eslint-disable-next-line
url() {
switch (this.$route.query.meetingType) {
case '1':
return this.workGroupMeetingUrl
case '2':
return this.standardsMeetingUrl
case '3':
return this.internalMeetingUrl
case '4':
return this.otherMeetingUrl
case '5':
return this.committeeMeetingUrl
}
},
},
methods: { methods: {
addContactsOk() { addContactsOk() {
this.$refs.selectContacts.getContactsList() this.$refs.selectContacts.getContactsList()
@@ -1,77 +1,79 @@
<template> <template>
<j-modal <j-modal
:title="title" :title="title"
:width="width" :width="width"
:visible="visible" :visible="visible"
:confirmLoading="confirmLoading" :confirmLoading="confirmLoading"
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<section class="check"> <section class="check">
<h3>报名信息</h3> <h3>报名信息</h3>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="24"> <a-col :span="24">
<label>参会企业:</label> <label>参会企业:</label>
<span>{{model.companyName}}</span> <span>{{ model.companyName }}</span>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<label>姓名:</label> <label>姓名:</label>
<span>{{model.companyContactName}}</span></a-col> <span>{{ model.companyContactName }}</span></a-col>
<a-col :span="12"> <a-col :span="12">
<label>手机号:</label> <label>手机号:</label>
<span>{{model.phone}}</span></a-col> <span>{{ model.phone }}</span></a-col>
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<label>身份:</label> <label>身份:</label>
<span>{{model.identity_dictText}}</span></a-col> <span>{{ model.identity_dictText }}</span></a-col>
<a-col :span="12" v-show="checkSignBool"> <a-col :span="12" v-show="checkSignBool">
<label>是否住酒店:</label> <label>是否住酒店:</label>
<span>{{model.checkInHotel_dictText}}</span></a-col> <span>{{ model.checkInHotel_dictText }}</span></a-col>
</a-row> </a-row>
<a-row :gutter="24" v-show="checkSignBool"> <a-row :gutter="24" v-show="checkSignBool">
<a-col :span="12"> <a-col :span="12">
<label>抵达时间:</label> <label>抵达时间:</label>
<span>{{model.arrivalTime}}</span></a-col> <span>{{ model.arrivalTime }}</span></a-col>
<a-col :span="12"> <a-col :span="12">
<label>离开时间:</label> <label>离开时间:</label>
<span>{{model.departureTime}}</span></a-col> <span>{{ model.departureTime }}</span></a-col>
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<label>缴费方式:</label> <label>缴费方式:</label>
<span>{{model.payMode_dictText}}</span></a-col> <span>{{ model.payMode_dictText }}</span></a-col>
<a-col :span="12"> <a-col :span="12">
<label>需要发票:</label> <label>需要发票:</label>
<span>{{model.needInvoice_dictText}}</span></a-col> <span>{{ model.needInvoice_dictText }}</span></a-col>
</a-row> </a-row>
</section> </section>
<a-row :gutter="24" style="margin-top: 10px"> <!-- 审核报名信息不显示 -->
<a-col :span="3"> <a-row :gutter="24" style="margin-top: 10px" v-show="!checkSignBool">
<label class="color-999">缴费凭证:</label> <a-col :span="3">
</a-col> <label class="color-999">缴费凭证:</label>
</a-col>
<a-col :span="9"> <a-col :span="9">
<j-image-upload disabled :return-id="true" v-model="model.paymentRecord"></j-image-upload> <j-image-upload disabled :return-id="true" v-model="model.paymentRecord"></j-image-upload>
</a-col> </a-col>
<!-- 缴费上方式为线上的 显示 --> <!-- 缴费上方式为线上的 显示 -->
<a-col :span="12" v-if="model.payMode === 2 "> <a-col :span="12" v-if="model.payMode === 2 ">
<label class="color-999">订单后四位:</label> <label class="color-999">订单后四位:</label>
<span class="color-black">{{model.orderCode}}</span></a-col> <span class="color-black">{{ model.orderCode }}</span></a-col>
</a-row> </a-row>
<h3>审核</h3> <h3>审核</h3>
<a-form :form="form"> <a-form :form="form">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :xl="12" :sm="24" > <a-col :xl="12" :sm="24">
<a-form-item label="审核" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="审核" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-decorator="['checkResult',validatorRules.checkResult]" placeholder="请选择审核结果" @change="changeCheck"> <a-radio-group v-decorator="['checkResult',validatorRules.checkResult]" placeholder="请选择审核结果"
@change="changeCheck">
<a-radio value="1"> <a-radio value="1">
通过 通过
</a-radio> </a-radio>
<a-radio value='2'> <a-radio value='2'>
驳回 驳回
@@ -82,11 +84,11 @@
<a-col :xl="24" :sm="24" v-if="checkBool"> <a-col :xl="24" :sm="24" v-if="checkBool">
<a-form-item label="审核说明" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol"> <a-form-item label="审核说明" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<a-textarea <a-textarea
placeholder="请输入审核说明" placeholder="请输入审核说明"
:auto-size="{ minRows: 3, maxRows: 6 }" :auto-size="{ minRows: 3, maxRows: 6 }"
:maxLength='200' :maxLength='200'
v-decorator="['checkRemark',validatorRules.checkRemark]" v-decorator="['checkRemark',validatorRules.checkRemark]"
@change="e => {e.target.value = (e.target.value + '').trim()}"/> @change="e => {e.target.value = (e.target.value + '').trim()}"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="24" :sm="24" v-if="!checkBool"> <a-col :xl="24" :sm="24" v-if="!checkBool">
@@ -157,53 +159,53 @@ export default {
// 审核凭证 // 审核凭证
check: '/meeting/payMeetingSituation/check', check: '/meeting/payMeetingSituation/check',
// 审核报名信息 // 审核报名信息
checkSignUp:'/meeting/payMeetingSituation/checkRegister' checkSignUp: '/meeting/payMeetingSituation/checkRegister'
}, },
// 其他会议url // 其他会议url
otherMeetingUrl: { otherMeetingUrl: {
// 审核凭证 // 审核凭证
check: '/meeting/ohterMeetingSituation/check', check: '/meeting/ohterMeetingSituation/check',
// 审核报名信息 // 审核报名信息
checkSignUp:'/meeting/ohterMeetingSituation/checkRegister' checkSignUp: '/meeting/ohterMeetingSituation/checkRegister'
}, },
// 工作组会议url // 工作组会议url
workGroupMeetingUrl: { workGroupMeetingUrl: {
// 审核凭证 // 审核凭证
check: '/meeting/workGroupMeetingSituation/check', check: '/meeting/workGroupMeetingSituation/check',
// 审核报名信息 // 审核报名信息
checkSignUp:'/meeting/workGroupMeetingSituation/checkRegister' checkSignUp: '/meeting/workGroupMeetingSituation/checkRegister'
}, },
// 分标委会议url // 分标委会议url
committeeMeetingUrl: { committeeMeetingUrl: {
// 审核凭证 // 审核凭证
check: '/meeting/committeeMeetingSituation/check', check: '/meeting/committeeMeetingSituation/check',
// 审核报名信息 // 审核报名信息
checkSignUp:'/meeting/committeeMeetingSituation/checkRegister' checkSignUp: '/meeting/committeeMeetingSituation/checkRegister'
}, },
// 国际研讨会url // 国际研讨会url
internalMeetingUrl: { internalMeetingUrl: {
// 审核凭证 // 审核凭证
check: '/meeting/internalMeetingSituation/check', check: '/meeting/internalMeetingSituation/check',
// 审核报名信息 // 审核报名信息
checkSignUp:'/meeting/internalMeetingSituation/checkRegister' checkSignUp: '/meeting/internalMeetingSituation/checkRegister'
}, },
// 标协会议url // 标协会议url
standardsMeetingUrl: { standardsMeetingUrl: {
// 审核凭证 // 审核凭证
check: '/meeting/standardsMeetingSituation/check', check: '/meeting/standardsMeetingSituation/check',
// 审核报名信息 // 审核报名信息
checkSignUp:'/meeting/standardsMeetingSituation/checkRegister' checkSignUp: '/meeting/standardsMeetingSituation/checkRegister'
}, },
// 审核结果选择 // 审核结果选择
checkBool:false, checkBool: false,
// 是否是审核报名信息 // 是否是审核报名信息
checkSignBool:false, checkSignBool: false,
// 参会人id // 参会人id
signUpPersonId:'', signUpPersonId: '',
} }
}, },
methods: { methods: {
open(record,signUp) { open(record, signUp) {
this.form.resetFields() this.form.resetFields()
this.visible = true this.visible = true
this.signUpPersonId = record.id this.signUpPersonId = record.id
@@ -211,7 +213,7 @@ export default {
// 控制行程信息显示 审核凭证不显示 // 控制行程信息显示 审核凭证不显示
this.checkSignBool = signUp || false this.checkSignBool = signUp || false
// 会议类型不同 url不同 // 会议类型不同 url不同
this.url = Object.assign({},this.createUrlByMeetingType(this.$route.query.meetingType)) this.url = Object.assign({}, this.createUrlByMeetingType(this.$route.query.meetingType))
console.log(record) console.log(record)
}, },
close() { close() {
@@ -225,10 +227,10 @@ export default {
if (!err) { if (!err) {
that.confirmLoading = true that.confirmLoading = true
let httpurl = '' let httpurl = ''
if(that.checkSignBool){ if (that.checkSignBool) {
// 审核报名信息的接口 // 审核报名信息的接口
httpurl = this.url.checkSignUp httpurl = this.url.checkSignUp
}else { } else {
// 审核凭证的接口 // 审核凭证的接口
httpurl = this.url.check httpurl = this.url.check
} }
@@ -250,9 +252,9 @@ export default {
} }
}) })
}, },
querySingUpUserInfo(){ querySingUpUserInfo() {
getSingUpUserInfo({id:this.signUpPersonId}).then(res => { getSingUpUserInfo({id: this.signUpPersonId}).then(res => {
if(res.success){ if (res.success) {
this.model = res.result this.model = res.result
} }
}) })
@@ -263,25 +265,30 @@ export default {
/* /*
* 选择审核结果 * 选择审核结果
* */ * */
changeCheck(e){ changeCheck(e) {
console.log(e) console.log(e)
// 审核结果选择拒绝 审核说明必填 // 审核结果选择拒绝 审核说明必填
if(e.target.value === '1'){ if (e.target.value === '1') {
this.checkBool = false this.checkBool = false
}else if(e.target.value === '2'){ } else if (e.target.value === '2') {
this.checkBool = true this.checkBool = true
} }
}, },
/* /*
* 根据会议类型不同的url * 根据会议类型不同的url
* */ * */
createUrlByMeetingType(meetingType){ createUrlByMeetingType(meetingType) {
switch (meetingType){ switch (meetingType) {
case '1': return this.workGroupMeetingUrl case '1':
case '2': return this.standardsMeetingUrl return this.workGroupMeetingUrl
case '3': return this.internalMeetingUrl case '2':
case '4': return this.otherMeetingUrl return this.standardsMeetingUrl
case '5': return this.committeeMeetingUrl case '3':
return this.internalMeetingUrl
case '4':
return this.otherMeetingUrl
case '5':
return this.committeeMeetingUrl
} }
} }
} }
@@ -316,7 +323,8 @@ export default {
.color-999 { .color-999 {
color: #999; color: #999;
} }
.color-black { .color-black {
color:black; color: black;
} }
</style> </style>
+3 -1
View File
@@ -161,7 +161,9 @@ export default {
align: 'center', align: 'center',
width: 200, width: 200,
dataIndex: 'invoiceAmount', dataIndex: 'invoiceAmount',
scopedSlots: { customRender: 'text' } customRender: (text, record) => (
<j-ellipsis value={ record.invoiceAmount + '元' } length={ 15 }></j-ellipsis>
)
}, },
{ {
title: '项目负责人', title: '项目负责人',
+12 -10
View File
@@ -9,12 +9,12 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :xl="5" :lg="8" :md="8" :sm="24"> <a-col :xl="5" :lg="8" :md="8" :sm="24">
<a-form-item label="合同编号"> <a-form-item label="合同编号">
<a-input placeholder="请输入来款项目" v-model="queryParam.contractNum" :maxLength='50'></a-input> <a-input placeholder="请输入合同编号" v-model="queryParam.contractNum" :maxLength='50'></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="5" :lg="8" :md="8" :sm="24"> <a-col :xl="5" :lg="8" :md="8" :sm="24">
<a-form-item label="合同名称"> <a-form-item label="合同名称">
<a-input placeholder="请输入来款单位" v-model="queryParam.contractName" :maxLength='50'></a-input> <a-input placeholder="请输入合同名称" v-model="queryParam.contractName" :maxLength='50'></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="5" :lg="12" :md="16" :sm="24"> <a-col :xl="5" :lg="12" :md="16" :sm="24">
@@ -126,56 +126,58 @@ export default {
align: 'center', align: 'center',
width: 300, width: 300,
dataIndex: 'contractNum', dataIndex: 'contractNum',
scopedSlots: { customRender: 'htmlSlot' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '合同名称', title: '合同名称',
align: 'center', align: 'center',
width: 300, width: 300,
dataIndex: 'contractName', dataIndex: 'contractName',
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '签订单位', title: '签订单位',
align: 'center', align: 'center',
width: 300, width: 300,
dataIndex: 'signedCompanyTemporaryName', dataIndex: 'signedCompanyTemporaryName',
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '负责人', title: '负责人',
align: 'center', align: 'center',
width: 300, width: 300,
dataIndex: 'principalName', dataIndex: 'principalName',
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '合同总金额', title: '合同总金额',
align: 'center', align: 'center',
width: 200, width: 200,
dataIndex: 'contractAmount', dataIndex: 'contractAmount',
scopedSlots: { customRender: 'projectName' } customRender: (text, record) => (
<j-ellipsis value={ record.contractAmount + '元' } length={ 15 }></j-ellipsis>
)
}, },
{ {
title: '邮寄联系人', title: '邮寄联系人',
align: 'center', align: 'center',
width: 300, width: 300,
dataIndex: 'liaisonMan', dataIndex: 'liaisonMan',
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '联系人电话', title: '联系人电话',
align: 'center', align: 'center',
width: 200, width: 200,
dataIndex: 'mobile', dataIndex: 'mobile',
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '状态', title: '状态',
align: 'center', align: 'center',
width: 200, width: 200,
dataIndex: 'postStatus_dictText', dataIndex: 'postStatus_dictText',
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '打印', title: '打印',
@@ -181,7 +181,8 @@ export default {
width: 150, width: 150,
dataIndex: 'receivableAmount', dataIndex: 'receivableAmount',
customRender: (text, record) => ( customRender: (text, record) => (
<j-ellipsis value={ record.receivableAmount + '元' } length={ 15 }></j-ellipsis>) <j-ellipsis value={ record.receivableAmount + '元' } length={ 15 }></j-ellipsis>
)
}, { }, {
title: '实收金额', title: '实收金额',
align: 'center', align: 'center',
@@ -282,13 +282,17 @@ export default {
align: 'center', align: 'center',
dataIndex: 'receivableAmount', dataIndex: 'receivableAmount',
width: 180, width: 180,
scopedSlots: { customRender: 'text' } customRender: (text, record) => (
<j-ellipsis value={ record.receivableAmount + '元' } length={ 15 }></j-ellipsis>
)
}, { }, {
title: '实收金额', title: '实收金额',
align: 'center', align: 'center',
dataIndex: 'paidAmount', dataIndex: 'paidAmount',
width: 180, width: 180,
scopedSlots: { customRender: 'text' } customRender: (text, record) => (
<j-ellipsis value={ record.paidAmount + '元' } length={ 15 }></j-ellipsis>
)
}, { }, {
title: '打包', title: '打包',
align: 'center', align: 'center',
@@ -536,7 +540,6 @@ export default {
&-filename { &-filename {
cursor: pointer; cursor: pointer;
color: #069f99;
} }
} }
} }
+7 -1
View File
@@ -121,7 +121,13 @@ export default {
} }
}, },
async mounted() { async mounted() {
this.singUpQRCode = await this.generateQRCode('123') this.singUpQRCode = await this.generateQRCode(this.signUpHerfUrl)
},
computed:{
// 报名链接
signUpHerfUrl() {
return `${ window._CONFIG['singUpQRCodeURL'] }?id=${this.meetingId}`
},
}, },
methods: { methods: {
/* /*
+14 -1
View File
@@ -223,7 +223,7 @@
</template> </template>
<script> <script>
import {getMeetInfoById} from '@api/incomeMeetingApi' import {getMeetInfoById,validateStandard} from '@api/incomeMeetingApi'
import SelectContacts from '@comp/company/SelectContacts' import SelectContacts from '@comp/company/SelectContacts'
import OtherMeetingForm from '@views/incomePayments/meetManage/OtherMeetingForm' import OtherMeetingForm from '@views/incomePayments/meetManage/OtherMeetingForm'
import SeminarVipForm from '@views/incomePayments/meetManage/modules/SeminarVipForm' import SeminarVipForm from '@views/incomePayments/meetManage/modules/SeminarVipForm'
@@ -331,6 +331,8 @@ export default {
isPackBool: false, isPackBool: false,
// 国际研讨会身份的控制 // 国际研讨会身份的控制
identityBool: false, identityBool: false,
// 是否是标协成员
isStandardBool:false,
// url是否有id字段 默认没有 // url是否有id字段 默认没有
urlHaveIdBool: false, urlHaveIdBool: false,
url: { url: {
@@ -529,7 +531,18 @@ export default {
* 选择参会企业 * 选择参会企业
* */ * */
changeCompany(value) { changeCompany(value) {
this.selectedCompany = value this.selectedCompany = value
// 通过企业名称判断当前参会人
if(this.currentMeetingInfo.meetingType +'' === '2' ){
console.log('标协会议')
validateStandard({companyName:this.selectedCompany.companyName}).then(res => {
this.isStandardBool = res.result
if(this.isStandardBool){
this.meetingCostSum = this.currentMeetingInfo.meetingCostsVip
}
})
}
// 选择企业清空 姓名 手机号 // 选择企业清空 姓名 手机号
this.form.resetFields(['companyContactId', 'phone']) this.form.resetFields(['companyContactId', 'phone'])
@@ -7,27 +7,27 @@
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery"> <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row> <a-row>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xxl="4" :xl="8" :lg="8" :md="8" :sm="24">
<a-form-item label="来款单位" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="来款单位" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入来款单位" v-model="queryParam.chargeCompanyTemporaryName" :maxLength="50"></a-input> <a-input placeholder="请输入来款单位" v-model="queryParam.chargeCompanyTemporaryName" :maxLength="50"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xxl="4" :xl="8" :lg="8" :md="8" :sm="24">
<a-form-item label="来款项目" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="来款项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入来款项目" v-model="queryParam.projectName" :maxLength="50"></a-input> <a-input placeholder="请输入来款项目" v-model="queryParam.projectName" :maxLength="50"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xxl="4" :xl="8" :lg="8" :md="8" :sm="24">
<a-form-item label="来款用途" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="来款用途" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-model="queryParam.chargeUse" placeholder="请选择来款用途" dictCode="payment_charge_use"/> <j-dict-select-tag v-model="queryParam.chargeUse" placeholder="请选择来款用途" dictCode="payment_charge_use"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xxl="4" :xl="8" :lg="8" :md="8" :sm="24">
<a-form-item label="来款年份" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="来款年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-year-date style="width:100%" placeholder="请选择来款年份" v-model="queryParam.year"></j-year-date> <j-year-date style="width:100%" placeholder="请选择来款年份" v-model="queryParam.year"></j-year-date>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="10" :lg="11" :md="12" :sm="24"> <a-col :xxl="6" :xl="12" :lg="12" :md="12" :sm="24">
<a-form-item label="应收款项" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="应收款项" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input <a-input
placeholder="请输入应收款项" placeholder="请输入应收款项"
@@ -42,12 +42,12 @@
@change="checkMoney('end')"></a-input> @change="checkMoney('end')"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xxl="4" :xl="8" :lg="8" :md="8" :sm="24">
<a-form-item label="项目负责人" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="项目负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择项目负责人" v-model="queryParam.principalNameId"></select-principal> <select-principal placeholder="请选择项目负责人" v-model="queryParam.principalNameId"></select-principal>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xxl="4" :xl="8" :lg="8" :md="8" :sm="24">
<a-form-item label="所属科室" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="所属科室" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-tree-select <a-tree-select
style="width:100%" style="width:100%"
+1 -1
View File
@@ -43,7 +43,7 @@
</a-row> </a-row>
<a-row> <a-row>
<a-col :md="2" :sm="24"> <a-col :md="2" :sm="24">
<a-button style="margin-bottom: 10px" type="primary" @click="handleAdd" v-has="'dic:item:add'">新增</a-button> <a-button style="margin-bottom: 10px" type="primary" @click="handleAdd" v-has="'dic:item:add'" icon="plus">新增</a-button>
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
+1 -1
View File
@@ -181,7 +181,7 @@ export default {
// scopedSlots: { customRender: "text" }, // scopedSlots: { customRender: "text" },
// }, // },
{ {
title: '手机号', title: '手机号码',
align: 'center', align: 'center',
width: 160, width: 160,
dataIndex: 'phone', dataIndex: 'phone',
+2 -2
View File
@@ -155,8 +155,8 @@
v-decorator="[ 'emailPassword', validatorRules.emailPassword]" :maxLength="50"/> v-decorator="[ 'emailPassword', validatorRules.emailPassword]" :maxLength="50"/>
</a-form-item> </a-form-item>
<a-form-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入手机号码" @change="event => event.target.value = event.target.value.trim()" <a-input placeholder="请输入手机号" @change="event => event.target.value = event.target.value.trim()"
:disabled="isDisabledAuth('user:form:phone') || disableSubmit" :disabled="isDisabledAuth('user:form:phone') || disableSubmit"
v-decorator="[ 'phone', validatorRules.phone]" :maxLength="11"/> v-decorator="[ 'phone', validatorRules.phone]" :maxLength="11"/>
</a-form-item> </a-form-item>