Merge branch 'branch20211008' of http://10.10.10.43:9090/income_payments/income_payments_client into xuqiubangeng1026

This commit is contained in:
zhaoxiao
2021-10-28 16:06:35 +08:00
22 changed files with 197 additions and 128 deletions
-1
View File
@@ -23,7 +23,6 @@ window.addEventListener('message', function (event) {
document.onkeydown = keyDown
function keyDown(e) {
console.log(navigator.userAgent)
// 拦截backspace按钮,谷歌浏览器不需要拦截
// 拦截仍然存在的问题:当input、textarea失去焦点后,仍然会后退页面
if (e.keyCode === 8 && navigator.userAgent.indexOf('AppleWebKit') === -1 ) {
+1 -1
View File
@@ -113,7 +113,7 @@ const getContactsByCompany = (params) => getAction('/company/payContactsManageme
// 通过企业名称获取该企业下的联系人无权限接口
const getContactsByCompanyNoLimit = (params) => getAction('/company/payContactsManagement/queryByCompanyMeeting', params)
// 通过联系人id获取联系人信息
const getContactsById = (param) => getAction('/company/payContactsManagement/queryByIdGetContract', param)
const getContactsById = (param) => getAction('/company/payContactsManagement/queryByIdMeeting', param)
// 加密获取key 与 iv
const getKeyIv = (param) => getAction('/sys/getEncryptedString',param)
+2 -1
View File
@@ -161,7 +161,8 @@ export default {
this.$refs.contactForm.disableSubmit = false
return
}
this.$message.warn('请先选择来款企业再为该企业新建联系人')
// 调用无权限的提示语修改
this.$message.warn('请先选择企业再为该企业新建联系人')
},
addContactsOk(id) {
this.getContactsList().then(() => {
+24 -24
View File
@@ -7,34 +7,34 @@
<span v-if="isDesktop()"><j-ellipsis :value="`欢迎您,${nickname()}`" :length="10"></j-ellipsis></span>
</span>
<a-menu slot="overlay" class="user-dropdown-menu-wrapper">
<a-menu-item key="0">
<router-link :to="{ name: 'account-center' }">
<a-icon type="user"/>
<span>个人中心</span>
</router-link>
</a-menu-item>
<a-menu-item key="1">
<router-link :to="{ name: 'account-settings-base' }">
<a-icon type="setting"/>
<span>账户设置</span>
</router-link>
</a-menu-item>
<a-menu-item key="3" @click="systemSetting">
<a-icon type="tool"/>
<span>系统设置</span>
</a-menu-item>
<!-- <a-menu-item key="0">-->
<!-- <router-link :to="{ name: 'account-center' }">-->
<!-- <a-icon type="user"/>-->
<!-- <span>个人中心</span>-->
<!-- </router-link>-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="1">-->
<!-- <router-link :to="{ name: 'account-settings-base' }">-->
<!-- <a-icon type="setting"/>-->
<!-- <span>账户设置</span>-->
<!-- </router-link>-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="3" @click="systemSetting">-->
<!-- <a-icon type="tool"/>-->
<!-- <span>系统设置</span>-->
<!-- </a-menu-item>-->
<a-menu-item key="4" @click="updatePassword">
<a-icon type="setting"/>
<span>密码修改</span>
</a-menu-item>
<a-menu-item key="5" @click="updateCurrentDepart">
<a-icon type="cluster"/>
<span>切换部门</span>
</a-menu-item>
<a-menu-item key="6" @click="clearCache">
<a-icon type="sync"/>
<span>清理缓存</span>
</a-menu-item>
<!-- <a-menu-item key="5" @click="updateCurrentDepart">-->
<!-- <a-icon type="cluster"/>-->
<!-- <span>切换部门</span>-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="6" @click="clearCache">-->
<!-- <a-icon type="sync"/>-->
<!-- <span>清理缓存</span>-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="2" disabled>
<a-icon type="setting"/>
<span>测试</span>
+2 -2
View File
@@ -3,8 +3,8 @@ import {phoneReg, isEmail, chineseReg} from '@/utils/validate'
// 手机校验的错误信息提示
const phoneErrMsg = {
err1: '请输入手机号',
err2: '请输入正确格式的手机号'
err1: '请输入手机号',
err2: '请输入正确格式的手机号'
}
// 邮箱校验错误提示信息
const emailErrMsg = {
@@ -33,7 +33,7 @@
<a-row>
<a-col :xl="12" :sm="24">
<a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-decorator="['gender', {}]" :triggerChange="true" placeholder="请选择性别"
<j-dict-select-tag v-decorator="['gender']" :triggerChange="true" placeholder="请选择性别"
dictCode="sex"/>
</a-form-item>
</a-col>
@@ -244,7 +244,9 @@ export default {
// 处理企业名称和id等信息
values.companyName = values.company.companyName
values.companyId = values.company.id
values.gender = Number(values.gender)
if (values.gender === undefined) {
values.gender = null
}
// values.dataSource = this.dataForm
// values.signingUp = this.applyAdd
let httpurl = ''
@@ -309,7 +309,7 @@ export default {
},
principalId: {
rules: [{ required: true, message: '请选择负责人' }],
validateTrigger: 'blur'
validateTrigger: 'change'
},
contractAmount: {
rules: [{ required: true, validator: this.checkMoney }],
@@ -539,15 +539,21 @@ export default {
* @param value
*/
principalChange(value) {
let param = {
id: value
}
getAllUserList(param).then(res => {
this.model.departmentName = res.result[0].orgCodeTxt
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'departmentName'))
// value不为undefined
if (value) {
let param = {
id: value
}
getAllUserList(param).then(res => {
this.model.departmentName = res.result[0].orgCodeTxt
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'departmentName'))
})
})
})
return
}
// value为undefined时清除部门名称
this.form.setFieldsValue({departmentName: undefined})
},
/**
* 总签订金额修改
@@ -592,19 +592,25 @@ export default {
* @param value
*/
principalChange(value) {
let param = {
id: value
}
getAllUserList(param).then(res => {
if (res.success) {
this.model.departmentName = res.result[0].orgCodeTxt
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'departmentName'))
})
} else {
this.$message.warn(res.message)
// value不为undefined
if (value) {
let param = {
id: value
}
})
getAllUserList(param).then(res => {
if (res.success) {
this.model.departmentName = res.result[0].orgCodeTxt
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'departmentName'))
})
} else {
this.$message.warn(res.message)
}
})
return
}
// value为undefined时清除部门名称
this.form.setFieldsValue({departmentName: undefined})
},
/**
* 打包状态修改
@@ -142,14 +142,14 @@ export default {
title: '会议名称',
align: 'center',
dataIndex: 'meetingName',
width: 160,
width: 280,
scopedSlots: { customRender: 'text' }
},
{
title: '参会单位',
align: 'center',
dataIndex: 'companyName',
width: 260,
width: 280,
scopedSlots: { customRender: 'text' }
},
// 合同里来款用途固定为会务费
@@ -166,7 +166,7 @@ export default {
title: '参会人员',
align: 'center',
dataIndex: 'companyContactName',
width: 260,
width: 280,
scopedSlots: { customRender: 'text' }
},
{
@@ -194,7 +194,7 @@ export default {
title: '负责人',
align: 'center',
dataIndex: 'directorName',
width: 200,
width: 280,
scopedSlots: { customRender: 'text' }
},
{
@@ -369,6 +369,8 @@ export default {
let param = {
departId: value
}
this.queryParam.principalId = undefined
this.lastQueryParam.principalId = undefined
queryUserByDepartId(param).then(res => {
if (res.success) {
this.userList = res.result
@@ -502,6 +502,12 @@ export default {
this.meetingType = record.meetingType + ''
// 编辑根据接口返回的会议类型获取不同的会议url
this.url = this.createUrlByMeetingType(this.meetingType)
// 判断会议费用是否为 0 缴费二维码显示
if(this.model.meetingCosts === '0.00' ){
this.QRcodeBool = false
}else {
this.QRcodeBool = true
}
} else {
this.title = '新增会议'
// 如果是标协会会议需要显示酒店联系人
@@ -58,13 +58,13 @@
<label>VIP邀请码</label><span>{{ currentMeetingInfo.vipInvitationCode }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-show="currentMeetingInfo.meetingType ==='3' ">
<label>演讲嘉宾邀请码</label><span>{{ currentMeetingInfo.speakerInvitationCode }}</span>
<label style="min-width: 116px">演讲嘉宾邀请码</label><span><j-ellipsis :value="currentMeetingInfo.speakerInvitationCode" :length="40"></j-ellipsis></span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-show="currentMeetingInfo.meetingType ==='3' ">
<label>特邀嘉宾邀请码</label><span>{{ currentMeetingInfo.guestInvitationCode }}</span>
<label style="min-width: 116px">特邀嘉宾邀请码</label><span><j-ellipsis :value="currentMeetingInfo.guestInvitationCode" :length="40"></j-ellipsis></span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-show="currentMeetingInfo.meetingType ==='3' ">
<label>合作伙伴邀请码</label><span>{{ currentMeetingInfo.cooperativeInvitationCode }}</span>
<label style="min-width: 116px">合作伙伴邀请码</label><span><j-ellipsis :value="currentMeetingInfo.cooperativeInvitationCode" :length="40"></j-ellipsis></span>
</a-col>
</a-row>
<a-row class="flex-col">
@@ -95,7 +95,8 @@
<label>签到二维码</label><img class="qr-code" :src="signInQRCode" alt="签到二维码"/>
<!-- <i class="copy primary-color" @click="copy(signUpHerfUrl)">复制</i>-->
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" style="display:flex;">
<!-- 会议费用为0 不显示 -->
<a-col :xxl="8" :xl="12" :sm="24" style="display:flex;" v-if="currentMeetingInfo.meetingCosts !== '0.00' ">
<label>收款二维码</label>
<j-image-upload :return-id="true" v-if="currentMeetingInfo.paymentQrCode"
v-model="currentMeetingInfo.paymentQrCode" disabled></j-image-upload>
@@ -91,8 +91,8 @@
</a-col>
<!-- 选择嘉宾和内部企业缴费方式为打包也不显示-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 && !payModeBool ">
<a-form-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入地址"
<a-form-item label="邮寄地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入邮寄地址"
:maxLength='50'
:disabled="isEditBool"
v-decorator="[ 'postContactAddress']"></a-input>
@@ -233,7 +233,6 @@ export default {
* 清空邮寄联系人 地址 邮编
* */
clearFormItem(){
// 选择企业清空 姓名 手机号
this.form.resetFields(['postContactId','postContactAddress','postCode'])
},
@@ -250,6 +249,9 @@ export default {
* 选择联系人之后地址邮编复制
* */
changePost(val){
if(val === undefined){
this.clearFormItem()
}
getContactsById({id:val}).then(res => {
if(res.success){
this.setAddressVal(res.result)
@@ -5,12 +5,12 @@
<!--个人信息begin-->
<template>
<div class="item-title">个人信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-row :gutter="24" class="flex-col">
<a-col :xxl="24" :xl="24" :sm="24">
<label class="label">参会企业</label><span>{{ model.companyName }}</span>
</a-col>
</a-row>
<a-row :gutter="24">
<a-row :gutter="24" class="flex-col">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">姓名</label><span>{{ model.companyContactName }}</span>
</a-col>
@@ -32,7 +32,7 @@
<!--行程信息begin-->
<template>
<div class="item-title">行程信息</div>
<a-row :gutter="24">
<a-row :gutter="24" class="flex-col">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">是否住酒店</label><span>{{ model.checkInHotel_dictText }}</span>
</a-col>
@@ -51,7 +51,7 @@
<!--缴费信息begin-->
<template v-if="model.identity === 2">
<div class="item-title">缴费信息</div>
<a-row :gutter="24">
<a-row :gutter="24" class="flex-col">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">缴费方式</label><span>{{ model.payMode_dictText }}</span>
</a-col>
@@ -69,7 +69,7 @@
<!--邮寄信息begin-->
<template v-if="model.identity === 2 && model.needInvoice !== 0 ">
<div class="item-title">邮寄信息</div>
<a-row :gutter="24">
<a-row :gutter="24" class="flex-col">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">邮寄联系人</label><span>{{ model.postContactName }}</span>
</a-col>
@@ -88,7 +88,7 @@
<!--行程信息begin-->
<template>
<div class="item-title">行程信息</div>
<a-row :gutter="24">
<a-row :gutter="24" class="flex-col">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">是否住酒店</label><span>{{ model.checkInHotel_dictText }}</span>
</a-col>
@@ -106,7 +106,7 @@
<!-- 内部企业显示 -->
<template v-if="model.identity !== 3 ">
<div class="item-title">缴费信息</div>
<a-row :gutter="24">
<a-row :gutter="24" class="flex-col">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">缴费方式</label><span>{{ model.payMode_dictText }}</span>
</a-col>
@@ -125,7 +125,7 @@
<!-- 参会人不需要发票不显示 -->
<template v-if="model.needInvoice !== 0">
<div class="item-title">邮寄信息</div>
<a-row :gutter="24">
<a-row :gutter="24" class="flex-col">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">邮寄联系人</label><span>{{ model.postContactName }}</span>
</a-col>
@@ -351,6 +351,7 @@ export default {
.ant-col {
label {
color: #999;
min-width: 45px;
}
span {
@@ -199,7 +199,7 @@
</a-row>
<!--特邀嘉宾没有备注-->
<a-row v-if="guestType!== 3">
<a-row v-if="guestType!== 3" :gutter="24" style="transform: translateX(-4px)">
<a-col>
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<a-textarea
+1 -1
View File
@@ -87,7 +87,7 @@
</template>
<span slot="print" slot-scope="text, record" class="action-span-cell">
<a-button type="primary" :disabled="record.sendMethod === 1 ? false : true">打印</a-button>
<a-button type="primary" :disabled="record.sendMethod === 2">打印</a-button>
</span>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleAdd(record)" v-if="record.postStatus === 0" v-has="'billMail:mail'">邮寄</a>
@@ -283,18 +283,28 @@ export default {
*/
postContactChange(value) {
console.log(value)
getContactsById({ id: value }).then(res => {
let obj = {
postalCode: res.result.postalCode,
contactAddress: res.result.contactAddress
}
if (this.packContactId) {
this.packContact = obj
this.packContact.contactId = value
} else {
this.form.setFieldsValue(pick(obj, 'postalCode', 'contactAddress'))
}
})
// value不为undefined
if (value) {
getContactsById({ id: value }).then(res => {
let obj = {
postalCode: res.result.postalCode,
contactAddress: res.result.contactAddress
}
if (this.packContactId) {
this.packContact = obj
this.packContact.contactId = value
} else {
this.form.setFieldsValue(pick(obj, 'postalCode', 'contactAddress'))
}
})
return
}
// value为undefined,清除邮政编码和通讯地址
const obj = {
postalCode: undefined,
contactAddress: undefined
}
this.form.setFieldsValue(pick(obj, 'postalCode', 'contactAddress'))
},
/**
* 清空本次开票金额
@@ -539,7 +539,7 @@ export default {
}
&-filename {
cursor: pointer;
//cursor: pointer;
}
}
}
+2 -2
View File
@@ -59,7 +59,7 @@
<span>{{ currentMeetingInfo.registerDeadline }}</span>
</a-col>
<a-col :span="12" style="display: flex">
<label>附件</label>
<label>会议通知</label>
<preview-file :file-id="currentMeetingInfo.meetingFiles"
v-if="currentMeetingInfo.meetingFiles"></preview-file>
</a-col>
@@ -177,7 +177,7 @@ export default {
if (this.currentMeetingInfo.meetingCostsVip) {
this.meetingMoney = `普通会员(${this.currentMeetingInfo.meetingCosts}/人) 标协会员(${this.currentMeetingInfo.meetingCostsVip}/人)`
} else {
this.meetingMoney = `普通会员(${this.currentMeetingInfo.meetingCosts}/人)`
this.meetingMoney = ` ${this.currentMeetingInfo.meetingCosts}/人`
}
// 初始化召开时间
if (this.currentMeetingInfo.startTime) {
+68 -35
View File
@@ -74,7 +74,7 @@
v-if="currentMeetingInfo.meetingFiles"></preview-file>
</a-col>
</a-row>
<a-row type="flex">
<a-row type="flex" v-if="currentMeetingInfo.meetingCosts !== '0.00' ">
<label>收费二维码</label>
<j-image-upload :return-id="true" v-if="currentMeetingInfo.paymentQrCode"
v-model="currentMeetingInfo.paymentQrCode" disabled></j-image-upload>
@@ -223,7 +223,7 @@
</template>
<script>
import {getMeetInfoById,validateStandard} from '@api/incomeMeetingApi'
import {getMeetInfoById, validateStandard} from '@api/incomeMeetingApi'
import SelectContacts from '@comp/company/SelectContacts'
import OtherMeetingForm from '@views/incomePayments/meetManage/OtherMeetingForm'
import SeminarVipForm from '@views/incomePayments/meetManage/modules/SeminarVipForm'
@@ -332,7 +332,7 @@ export default {
// 国际研讨会身份的控制
identityBool: false,
// 是否是标协成员
isStandardBool:false,
isStandardBool: false,
// url是否有id字段 默认没有
urlHaveIdBool: false,
url: {
@@ -359,13 +359,13 @@ export default {
if (res.success) {
this.currentMeetingInfo = res.result
this.meetingType = this.currentMeetingInfo.meetingType
// 初始化会议费用 这里的判断有问题 应该根据单位是否是标协会员单位 显示不同的会议费用
// 初始化会议费用
if (this.currentMeetingInfo.meetingCostsVip) {
this.meetingMoney = `普通会员(${this.currentMeetingInfo.meetingCosts}/人) 标协会员(${this.currentMeetingInfo.meetingCostsVip}/人)`
// 费用合计
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
} else {
this.meetingMoney = `普通会员(${this.currentMeetingInfo.meetingCosts}/人)`
this.meetingMoney = `${this.currentMeetingInfo.meetingCosts}/人`
// 费用合计
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
}
@@ -520,6 +520,24 @@ export default {
if (e.target.value !== 1) {
this.guestType = null
}
// 当前会议是国际研讨会 并且选择身份是内部企业的会议费用为0
if(e.target.value === 3 && this.currentMeetingInfo.meetingType === '3' ){
this.meetingCostSum = '0.00'
}else {
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
}
// 当前会议不是国际研讨会议 身份选择嘉宾和 内部企业的会议费用为0
if(e.target.value !== 2 && this.currentMeetingInfo.meetingType !== '3' ){
this.meetingCostSum = '0.00'
}else {
// 会议是标协会议的话 需要判断企业是否是标准协会
if(this.currentMeetingInfo.meetingType === '2' && this.isStandardBool){
this.meetingCostSum = this.currentMeetingInfo.meetingCostsVip
}else {
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
}
}
},
/*
* 选择嘉宾类型
@@ -531,26 +549,34 @@ export default {
* 选择参会企业
* */
changeCompany(value) {
this.selectedCompany = value
// 通过企业名称判断当前参会人
if(this.currentMeetingInfo.meetingType +'' === '2' ){
if (this.currentMeetingInfo.meetingType + '' === '2') {
console.log('标协会议')
validateStandard({companyName:this.selectedCompany.companyName}).then(res => {
validateStandard({companyName: this.selectedCompany.companyName}).then(res => {
this.isStandardBool = res.result
if(this.isStandardBool){
if (this.isStandardBool) {
this.meetingCostSum = this.currentMeetingInfo.meetingCostsVip
}else {
this.meetingCostSum = this.currentMeetingInfo.meetingCosts
}
})
}
// 选择企业清空 姓名 手机号
this.form.resetFields(['companyContactId', 'phone'])
if (this.$refs.formother) {
this.$refs.formother.clearFormItem()
}
},
/*
* 选择联系人获取信息
* */
changeContact(val) {
// 监听删除联系人的时候 清除对应的表单赋值
if(val === undefined){
this.form.resetFields(['phone'])
}
const that = this
getContactsById({id: val}).then(res => {
const model = Object.assign({}, res.result)
@@ -595,32 +621,39 @@ export default {
* 下一步
* */
nextSetp() {
// 获取邀请码
let code = this.form.getFieldValue('code')
switch (code) {
// 合作伙伴
case this.currentMeetingInfo.cooperativeInvitationCode:
this.identifyType = 1
this.guestType = 4
break
// 演讲嘉宾
case this.currentMeetingInfo.speakerInvitationCode:
this.identifyType = 1
this.guestType = 2
break
// 特邀嘉宾
case this.currentMeetingInfo.guestInvitationCode:
this.identifyType = 1
this.guestType = 3
break
// vip
case this.currentMeetingInfo.vipInvitationCode:
this.identifyType = 1
this.guestType = 1
break
default :
this.guestType = null
}
this.form.validateFields(['code'],(err) => {
if(!err){
// 获取邀请码
let code = this.form.getFieldValue('code')
switch (code) {
// 合作伙伴
case this.currentMeetingInfo.cooperativeInvitationCode:
this.identifyType = 1
this.guestType = 4
break
// 演讲嘉宾
case this.currentMeetingInfo.speakerInvitationCode:
this.identifyType = 1
this.guestType = 2
break
// 特邀嘉宾
case this.currentMeetingInfo.guestInvitationCode:
this.identifyType = 1
this.guestType = 3
break
// vip
case this.currentMeetingInfo.vipInvitationCode:
this.identifyType = 1
this.guestType = 1
break
default :
this.guestType = null
}
}
})
},
/*
* 校验邀请码是否正确 给出提示
+1 -1
View File
@@ -595,7 +595,7 @@ export default {
that.onClearSelected()
}
} else {
that.$message.warning('删除失败!')
that.$message.warning(resp.message)
}
})
}
+3 -3
View File
@@ -155,8 +155,8 @@
v-decorator="[ 'emailPassword', validatorRules.emailPassword]" :maxLength="50"/>
</a-form-item>
<a-form-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入手机号" @change="event => event.target.value = event.target.value.trim()"
<a-form-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入手机号" @change="event => event.target.value = event.target.value.trim()"
:disabled="isDisabledAuth('user:form:phone') || disableSubmit"
v-decorator="[ 'phone', validatorRules.phone]" :maxLength="11"/>
</a-form-item>
@@ -619,7 +619,7 @@ export default {
if (res.success) {
callback()
} else {
callback(res.code === 500 ? '手机号已存在' : res)
callback(res.code === 500 ? '手机号已存在' : res)
}
})
},