【update】-会议打包统计-编辑打包前金额、会议列表页回显打包前金额到待确收金额字段

This commit is contained in:
fengchenchen
2024-07-04 13:34:48 +08:00
parent 241a860a97
commit 5172d0ca42
3 changed files with 233 additions and 12 deletions
@@ -453,6 +453,12 @@
v-show="record.identity === 1 && record.registerCheckResult !== 0"
v-has:[authorCode.guestsUploadFileFlag]="'attendance:guestsUploadFileFlag'"
>资料状态</a>
<!--缴费方式为打包的可以编辑-->
<a
@click="editBeforePackMoney(record)"
v-show="record.payMode === 3 "
v-has:[authorCode.editBeforePackMoney]="'attendance:editBeforePackMoney'"
>编辑打包前金额</a>
</span>
</a-table>
</div>
@@ -468,6 +474,9 @@
<audit-modal ref="auditModal" @ok="modalFormOk"></audit-modal>
<!--设置资料状态--即嘉宾是否可以在企业端上传资料-->
<set-guess-upload-flag-modal ref="setGuessUploadFlagModal" :meeting-id="meetingId" :meeting-type="meetingTypeValue" @ok="modalFormOk"></set-guess-upload-flag-modal>
<!--编辑打包前金额-->
<edit-before-pack-money ref="editBeforePackMoney" :meeting-id="meetingId" :meeting-type="meetingTypeValue" @ok="modalFormOk"></edit-before-pack-money>
</a-card>
</div>
</template>
@@ -493,6 +502,8 @@ import WasicTopicData from './modules/wasicStaticData'
import { formatMoney } from '@/utils/formatMoney'
import {getPayConfirmList} from '@api/incomePaymentsApi'
import {MeetingTypeEnums} from '@/enums/commonEnums'
import EditBeforePackMoney from './modules/EditBeforePackMoney'
export default {
@@ -510,7 +521,8 @@ export default {
StatusSlot,
PreviewFile,
JImageUpload,
SetGuessUploadFlagModal
SetGuessUploadFlagModal,
EditBeforePackMoney
},
data() {
return {
@@ -706,7 +718,8 @@ export default {
delete: 'otherMeetingSituation:delete',
auditRecord: 'otherMeetingSituation:auditCredentials',
auditSignUpInfo: 'otherMeetingSituation:auditSignUp',
guestsUploadFileFlag: 'otherMeetingSituation:guestsUploadFileFlag'
guestsUploadFileFlag: 'otherMeetingSituation:guestsUploadFileFlag',
editBeforePackMoney: 'otherMeetingSituation:editBeforePackMoney' // 编辑打包前金额
},
// 分标委会议的参会情况权限编码
committeeMeetingCode: {
@@ -718,7 +731,8 @@ export default {
delete: 'committeeMeetingSituation:delete',
auditRecord: 'committeeMeetingSituation:auditCredentials',
auditSignUpInfo: 'committeeMeetingSituation:auditSignUp',
guestsUploadFileFlag: 'committeeMeetingSituation:guestsUploadFileFlag'
guestsUploadFileFlag: 'committeeMeetingSituation:guestsUploadFileFlag',
editBeforePackMoney: 'committeeMeetingSituation:editBeforePackMoney' // 编辑打包前金额
},
// 工作组会议的参会情况的权限编码
workGroupMeetingCode: {
@@ -731,7 +745,8 @@ export default {
auditRecord: 'workGroupMeetingSituation:auditCredentials',
auditSignUpInfo: 'workGroupMeetingSituation:auditSignUp',
batchAuditSignUpInfo: 'workGroupMeetingSituation:batchAuditSignUp', // 批量审核报名信息
guestsUploadFileFlag: 'workGroupMeetingSituation:guestsUploadFileFlag'
guestsUploadFileFlag: 'workGroupMeetingSituation:guestsUploadFileFlag',
editBeforePackMoney: 'workGroupMeetingSituation:editBeforePackMoney' // 编辑打包前金额
},
// 国际研讨会的参会情况的权限编码
internalMeetingCode: {
@@ -743,7 +758,8 @@ export default {
delete: 'internalMeetingSituation:delete',
auditRecord: 'internalMeetingSituation:auditCredentials',
auditSignUpInfo: 'internalMeetingSituation:auditSignUp',
guestsUploadFileFlag: 'internalMeetingSituation:guestsUploadFileFlag'
guestsUploadFileFlag: 'internalMeetingSituation:guestsUploadFileFlag',
editBeforePackMoney: 'internalMeetingSituation:editBeforePackMoney' // 编辑打包前金额
},
// 标协会议的参会情况的权限编码
standardsMeetingCode: {
@@ -755,7 +771,8 @@ export default {
delete: 'standardsMeetingSituation:delete',
auditRecord: 'standardsMeetingSituation:auditCredentials',
auditSignUpInfo: 'standardsMeetingSituation:auditSignUp',
guestsUploadFileFlag: 'standardsMeetingSituation:guestsUploadFileFlag'
guestsUploadFileFlag: 'standardsMeetingSituation:guestsUploadFileFlag',
editBeforePackMoney: 'standardsMeetingSituation:editBeforePackMoney' // 编辑打包前金额
},
// 理事会的参会情况的权限编码
councilMeetingCode: {
@@ -767,7 +784,8 @@ export default {
delete: 'councilMeetingSituation:delete',
auditRecord: 'councilMeetingSituation:auditCredentials',
auditSignUpInfo: 'councilMeetingSituation:auditSignUp',
guestsUploadFileFlag: 'councilMeetingSituation:guestsUploadFileFlag'
guestsUploadFileFlag: 'councilMeetingSituation:guestsUploadFileFlag',
editBeforePackMoney: 'councilMeetingSituation:editBeforePackMoney' // 编辑打包前金额
},
// 起草组会议的参会情况的权限编码
draftGroupMeetingCode: {
@@ -780,7 +798,8 @@ export default {
auditRecord: 'draftGroupMeetingSituation:auditCredentials',
auditSignUpInfo: 'draftGroupMeetingSituation:auditSignUp',
batchAuditSignUpInfo: 'draftGroupMeetingSituation:batchAuditSignUp', // 批量审核报名信息
guestsUploadFileFlag: 'draftGroupMeetingSituation:guestsUploadFileFlag'
guestsUploadFileFlag: 'draftGroupMeetingSituation:guestsUploadFileFlag',
editBeforePackMoney: 'draftGroupMeetingSituation:editBeforePackMoney' // 编辑打包前金额
},
// 海外会议的参会情况的权限编码
overseasMeetingCode: {
@@ -792,7 +811,8 @@ export default {
delete: 'overseasMeetingSituation:delete',
auditRecord: 'overseasMeetingSituation:auditCredentials',
auditSignUpInfo: 'overseasMeetingSituation:auditSignUp',
guestsUploadFileFlag: 'overseasMeetingSituation:guestsUploadFileFlag'
guestsUploadFileFlag: 'overseasMeetingSituation:guestsUploadFileFlag',
editBeforePackMoney: 'overseasMeetingSituation:editBeforePackMoney' // 编辑打包前金额
},
disableMixinCreated: true,
// url: {
@@ -1345,6 +1365,10 @@ export default {
}
})
},
// 编辑打包前金额,只要缴费方式为打包的项目才有的操作
editBeforePackMoney(record) {
this.$refs.editBeforePackMoney.edit(record)
}
}
}
@@ -0,0 +1,156 @@
<!--编辑打包前金额-->
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
:confirmLoading="confirmLoading"
switchFullscreen
@ok="handleOk"
@cancel="handleCancel"
okText="保存"
cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
<a-form-item label="打包前金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入打包前金额"
v-decorator="['beforePackMoney',validatorRules.beforePackMoney]"
:maxLength='50'
@blur="addZeroAmount"
@change="e => e.target.value = (e.target.value.replace(/[^0-9-.]/g, '')).trim()"></a-input>
</a-form-item>
</a-form>
</a-spin>
</j-modal>
</template>
<script>
import pick from 'lodash.pick'
import { addZero } from '../../../../utils/util'
import {httpAction} from '@api/manage'
import { TaxOperateMixin } from '../../../financialManagement/arriveAndInvoicing/modules/TaxOperateMixin'
export default {
name: 'EditBeforePackMoney',
props: {
// // 项目id
// projectId: {
// type: String,
// required: false,
// default: null
// },
// // 项目类型
// projectType: {
// type: [Number, String],
// required: false,
// default: null
// },
// 会议类型
meetingType: {
type: Number,
required: false
},
meetingId: {
type: String,
required: false
}
},
mixins: [TaxOperateMixin],
data() {
return {
title: '修改打包前金额',
width: 600,
visible: false,
confirmLoading: false,
form: this.$form.createForm(this),
model: {},
url: {
// todo 修改接口名称-修改打包前金额
edit: '/paymentRecord/payPaymentRecord/editBeforePackMoney'
},
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 18 }
},
validatorRules: {
beforePackMoney: {
rules: [{ required: true, validator: this.checkMoney }],
validateTrigger: 'blur'
}
}
}
},
methods: {
addZero,
edit(record) {
this.visible = true
this.form.resetFields()
this.model = Object.assign({}, record)
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'beforePackMoney'))
})
},
/**
* 改变税率计算 到账金额 与税额
* */
changeRate(val){
this.taxRate = val
let amount = this.form.getFieldValue('beforePackMoney')
if(!amount) return
let obj = this.calcOtherNumber(amount)
this.$nextTick(() => {
this.form.setFieldsValue( {tax:obj.tax,noTaxAmount: obj.noTaxAmount})
})
},
handleOk() {
if (this.confirmLoading) {
return
}
const that = this
this.form.validateFields((err, values) => {
if (!err) {
that.confirmLoading = true
let method = 'post'
let url = this.url.edit
const formData = Object.assign({}, values)
// 会议id
formData.meetingId = this.meetingId
// 会议类型
formData.meetingType = this.meetingType
formData.id = this.model.id // 报名信息的id
httpAction(url, formData, method).then(res => {
if (res.success) {
that.$message.success(res.message)
that.$emit('ok')
that.handleCancel()
that.confirmLoading = false
} else {
this.$message.warn(res.message)
}
}).finally(() => {
that.confirmLoading = false
})
}
})
},
handleCancel() {
this.close()
},
close() {
this.visible = false
},
// 校验金额格式
checkMoney(rules, value, callback) {
this.checkMoneyTemplate(rules, value, callback, '打包前金额')
}
}
}
</script>
<style scoped>
</style>
@@ -58,6 +58,12 @@
@change="handleTableChange"
:class="dataSource.length === 0 ? 'show-scroll' : ''"
class="j-table-force-nowrap main-table">
<template slot="htmlSlot" slot-scope="text,record">
<a-tooltip>
<template slot="title">{{ text }}</template>
<div class="table-text primary-color" @click="toAttendance(record)">{{ text }}</div>
</a-tooltip>
</template>
<template slot="text" slot-scope="text">
<a-tooltip>
@@ -119,6 +125,7 @@ import JYearDate from '@/components/jero/JYearDate'
import { getAction } from '@api/manage'
import {formatMoney} from '@/utils/formatMoney'
import { MonthData } from './statisticData'
import { MeetingTypeEnums } from '../../enums/commonEnums'
const defaultTableColumns = [
{
@@ -126,7 +133,7 @@ const defaultTableColumns = [
align: 'center',
width: 160,
dataIndex: 'meetingName',
scopedSlots: { customRender: 'text' }
scopedSlots: {customRender: 'htmlSlot'},
},
{
title: '会议类型',
@@ -149,6 +156,14 @@ const defaultTableColumns = [
dataIndex: 'companyContactName',
scopedSlots: { customRender: 'projectName' }
},
{
title: '打包前金额',
align: 'center',
width: 140,
dataIndex: 'beforePackMoney',
sorter: true,
scopedSlots: {customRender: 'allMoney'}
},
{
title: '年度待确收金额',
align: 'center',
@@ -250,7 +265,6 @@ export default {
paymentYear: new Date().getFullYear().toString(),
payMode: 3 // 缴费方式-默认打包
},
// todo 需要替换掉
url: {
list: '/statistics/meetingPackStatistics/page',
exportXlsUrl: '/statistics/meetingPackStatistics/excelMeetingPackStatistics'
@@ -391,7 +405,29 @@ export default {
if(!this.queryParam.paymentYear) {
this.queryParam.paymentMonth = undefined
}
}
},
/*
* 参会情况
* */
toAttendance(record) {
let pathMap = new Map()
pathMap.set('1','/incomePayments/meetManage/AttendanceWorkGroupMeeting')
pathMap.set('2','/incomePayments/meetManage/AttendanceStandardsMeeting')
pathMap.set('3','/incomePayments/meetManage/AttendanceInternalMeeting')
pathMap.set('4','/incomePayments/meetManage/AttendanceOhterMeeting')
pathMap.set('5','/incomePayments/meetManage/AttendanceCommitteeMeeting')
pathMap.set('6','/incomePayments/meetManage/AttendanceCouncilMeeting')
pathMap.set('7','/incomePayments/meetManage/AttendanceDraftGroupMeeting')
pathMap.set(MeetingTypeEnums.overseas.value,'/incomePayments/meetManage/AttendanceOverseasMeeting')
this.$router.push({
path: pathMap.get(record.meetingType+''),
query: {
id: record.meetingId,
meetingName: record.meetingName,
meetingType: record.meetingType
}
})
},
}
}
</script>
@@ -441,4 +477,9 @@ export default {
border-left: none;
}
}
.primary-color {
color: #069f99;
cursor: pointer;
}
</style>