分标委会议

This commit is contained in:
fengachen
2021-09-16 17:52:56 +08:00
parent 998c7634ee
commit 1ea6b71874
12 changed files with 506 additions and 72 deletions
+1 -1
View File
@@ -15,7 +15,7 @@
name: 'JEllipsis', name: 'JEllipsis',
props: { props: {
value: { value: {
type: String, type: [String,Number],
required: false, required: false,
}, },
length: { length: {
@@ -7,8 +7,8 @@
<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 :xl="6" :lg="7" :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.fenBiaoWeiName"></a-input> <a-input placeholder="请输入分表委名称" v-model="queryParam.fenBiaoWeiName"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -34,8 +34,8 @@
<!-- 操作按钮区域--> <!-- 操作按钮区域-->
<div class="table-operator"> <div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增群组</a-button> <a-button type="primary" icon="plus" @click="handleAdd">新增分表委</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('群组维护')">导出</a-button> <a-button type="primary" icon="export" @click="handleExportXls('分表委维护')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button> <a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
</div> </div>
<!-- 操作按钮区域-end--> <!-- 操作按钮区域-end-->
@@ -51,26 +51,28 @@
:loading="loading" :loading="loading"
@change="handleTableChange" @change="handleTableChange"
class="j-table-force-nowrap"> class="j-table-force-nowrap">
<template slot="text" slot-scope="text,record"> <template slot="text" slot-scope="text">
<j-ellipsis :value="text" :length="20"></j-ellipsis> <j-ellipsis :value="text" :length="20"></j-ellipsis>
</template> </template>
<span slot="operation" class="action-span-cell" slot-scope="text, record"> <span slot="operation" class="action-span-cell" slot-scope="text, record">
<a @click="handleMaintainData(record)">资料维护</a>
<a @click="handleMaintainMeeting(record)">会议维护</a>
<a @click="handleAddCommitteeMember(record)">新增成员</a> <a @click="handleAddCommitteeMember(record)">新增成员</a>
<a @click="handleEdit(record)">编辑</a> <a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a> <a @click="handleDelete(record.id)">删除</a>
</span> </span>
<a-table <a-table
rowKey="childrenId" rowKey="childrenId"
slot="expandedRowRender" slot="expandedRowRender"
slot-scope="record" slot-scope="record"
:columns="committeeMemberColumns" :columns="committeeMemberColumns"
:data-source="record.list" :data-source="record.list"
:pagination="false" :pagination="false"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"> class="j-table-force-nowrap">
<template slot="textRow" slot-scope="text, itemRecord"> <template slot="textRow" slot-scope="text">
<j-ellipsis :value="text" :length="20"></j-ellipsis> <j-ellipsis :value="text" :length="20"></j-ellipsis>
</template> </template>
@@ -82,7 +84,7 @@
</div> </div>
<!-- /table表格区域--> <!-- /table表格区域-->
<!-- 新增群组--> <!-- 新增分表委-->
<committee-module ref="modalForm" @ok="modalFormOk"></committee-module> <committee-module ref="modalForm" @ok="modalFormOk"></committee-module>
<committee-member-module ref="memberModalForm" @ok="modalFormOk"></committee-member-module> <committee-member-module ref="memberModalForm" @ok="modalFormOk"></committee-member-module>
</a-card> </a-card>
@@ -90,27 +92,27 @@
</template> </template>
<script> <script>
import { JeroListMixin } from '@/mixins/JeroListMixin' import {JeroListMixin} from '@/mixins/JeroListMixin'
import CommitteeModule from '@views/dataNetworkDiskManagement/committee/modules/CommitteeModule' import CommitteeModule from '@views/dataNetworkDiskManagement/committee/modules/CommitteeModule'
import CommitteeMemberModule from '@views/dataNetworkDiskManagement/committee/modules/CommitteeMemberModule' import CommitteeMemberModule from '@views/dataNetworkDiskManagement/committee/modules/CommitteeMemberModule'
import { getAction } from '@api/manage' import {getAction} from '@api/manage'
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle' import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import IconImg from '@/assets/imgs/icon/icon_committee.png' import IconImg from '@/assets/imgs/icon/icon_committee.png'
export default { export default {
name: 'CommitteeMaintenance', name: 'CommitteeMaintenance',
components: { CommitteeModule, CommitteeMemberModule, PageHeaderTitle }, components: {CommitteeModule, CommitteeMemberModule, PageHeaderTitle},
mixins: [JeroListMixin], mixins: [JeroListMixin],
data() { data() {
return { return {
IconImg, IconImg,
labelCol: { labelCol: {
xs: { span: 24 }, xs: {span: 24},
sm: { span: 5 } sm: {span: 5}
}, },
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: {span: 24},
sm: { span: 10 } sm: {span: 10}
}, },
url: { url: {
list: '/payCaseCommitteeSubitem/payCaseCommitteeSubitem/find', list: '/payCaseCommitteeSubitem/payCaseCommitteeSubitem/find',
@@ -131,16 +133,16 @@ export default {
return parseInt(index) + 1 return parseInt(index) + 1
} }
}, { }, {
title: '群组名称', title: '分表委名称',
align: 'center', align: 'center',
dataIndex: 'name', dataIndex: 'name',
scopedSlots: { customRender: 'text' } scopedSlots: {customRender: 'text'}
}, { }, {
title: '操作', title: '操作',
dataIndex: 'operation', dataIndex: 'operation',
align: 'center', align: 'center',
width: 200, width: 400,
scopedSlots: { customRender: 'operation' } scopedSlots: {customRender: 'operation'}
} }
], ],
// 成员表头 // 成员表头
@@ -158,28 +160,28 @@ export default {
title: '姓名', title: '姓名',
align: 'center', align: 'center',
dataIndex: 'peopleName', dataIndex: 'peopleName',
scopedSlots: { customRender: 'textRow' } scopedSlots: {customRender: 'textRow'}
}, { }, {
title: '企业名称', title: '企业名称',
align: 'center', align: 'center',
dataIndex: 'companyName', dataIndex: 'companyName',
scopedSlots: { customRender: 'textRow' } scopedSlots: {customRender: 'textRow'}
}, { }, {
title: '职务', title: '职务',
align: 'center', align: 'center',
dataIndex: 'post', dataIndex: 'post',
scopedSlots: { customRender: 'textRow' } scopedSlots: {customRender: 'textRow'}
}, { }, {
title: '手机号', title: '手机号',
align: 'center', align: 'center',
dataIndex: 'phone', dataIndex: 'phone',
scopedSlots: { customRender: 'textRow' } scopedSlots: {customRender: 'textRow'}
}, { }, {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
align: 'center', align: 'center',
width: 199, width: 199,
scopedSlots: { customRender: 'action' } scopedSlots: {customRender: 'action'}
} }
], ],
dataSource: [] dataSource: []
@@ -189,12 +191,12 @@ export default {
// 下拉框的搜索 // 下拉框的搜索
filterOption(input, option) { filterOption(input, option) {
return ( return (
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
) )
}, },
handleAdd() { handleAdd() {
this.$refs.modalForm.add() this.$refs.modalForm.add()
this.$refs.modalForm.title = '新增群组' this.$refs.modalForm.title = '新增分表委'
this.$refs.modalForm.disableSubmit = false this.$refs.modalForm.disableSubmit = false
}, },
/** /**
@@ -229,6 +231,28 @@ export default {
} }
}) })
}, },
/*
* 资料维护
* */
handleMaintainData(record){
this.$router.push({
path:'/projectManagement/WorkingGroupProjectDataMaintenance',
query:{
id:record.id
}
})
},
/*
* 会议维护
* */
handleMaintainMeeting(record){
this.$router.push({
path:'/projectManagement/CommitteeMeeting',
query:{
id:record.id
}
})
}
} }
} }
</script> </script>
@@ -12,8 +12,8 @@
<a-form :form="form"> <a-form :form="form">
<a-row> <a-row>
<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-input placeholder="请输入群组名称" <a-input placeholder="请输入分表委名称"
v-decorator="['name',validatorRules.name]" v-decorator="['name',validatorRules.name]"
:disabled="true" :disabled="true"
:maxLength='50' :maxLength='50'
@@ -23,11 +23,11 @@
</a-row> </a-row>
<a-row> <a-row>
<a-col> <a-col>
<a-form-item label="群组名称" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="分表委名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select <a-select
v-decorator="['name', validatorRules.name]" v-decorator="['name', validatorRules.name]"
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
placeholder="请选择群组名称" placeholder="请选择分表委名称"
@select="select" @select="select"
> >
<a-select-option v-for="item in list" :key="item.id" :value="item.id"> <a-select-option v-for="item in list" :key="item.id" :value="item.id">
@@ -90,7 +90,7 @@ export default {
sm: { span: 17 } sm: { span: 17 }
}, },
fileList: [], // 文件数据 fileList: [], // 文件数据
list: [], // 群组名称 list: [], // 分表委名称
memberList: [], // 成员树 memberList: [], // 成员树
checkedKeys: [], // 已选中的成员数组 checkedKeys: [], // 已选中的成员数组
businessSelectedRowKeys: [], businessSelectedRowKeys: [],
@@ -102,7 +102,7 @@ export default {
}, },
validatorRules: { validatorRules: {
name: { name: {
rules: [{ required: true, message: '请选择群组名称' }], rules: [{ required: true, message: '请选择分表委名称' }],
validateTrigger: 'change' validateTrigger: 'change'
}, },
dataId: { dataId: {
@@ -115,15 +115,15 @@ export default {
} }
}, },
url: { url: {
list: 'payCaseCommittee/payCaseCommittee/list', // 分标委列表---群组列表 list: 'payCaseCommittee/payCaseCommittee/list', // 分标委列表---分表委列表
memberList: 'payCaseCommitteeSubitem/payCaseCommitteeSubitem/list', // 群组成员列表 memberList: 'payCaseCommitteeSubitem/payCaseCommitteeSubitem/list', // 分表委成员列表
distribute: 'payDataFile/payDataFile/distribute', // 分发 distribute: 'payDataFile/payDataFile/distribute', // 分发
distributeBatch: 'payDataFile/payDataFile/distributes' // 批量分发 distributeBatch: 'payDataFile/payDataFile/distributes' // 批量分发
} }
} }
}, },
created(){ created(){
// 获取群组名称 // 获取分表委名称
getAction(this.url.list).then(res => { getAction(this.url.list).then(res => {
if (res.success) { if (res.success) {
this.list = res.result.records this.list = res.result.records
@@ -132,7 +132,7 @@ export default {
}, },
methods: { methods: {
select(value) { select(value) {
// 群组value===id去获取成员数据 // 分表委value===id去获取成员数据
if (value) { if (value) {
getAction(this.url.memberList, { id: value }).then(res=>{ getAction(this.url.memberList, { id: value }).then(res=>{
if (res.success) { if (res.success) {
@@ -221,7 +221,7 @@
<a-col :xxl="8" :xl="12" :sm="24" v-if="QRcodeBool"> <a-col :xxl="8" :xl="12" :sm="24" v-if="QRcodeBool">
<a-form-item label="收款二维码" :labelCol="{ xs: {span: 24},sm: {span: 8}}" <a-form-item label="收款二维码" :labelCol="{ xs: {span: 24},sm: {span: 8}}"
:wrapperCol="{ xs: {span: 24},xl:{span:14},sm: {span: 16}}"> :wrapperCol="{ xs: {span: 24},xl:{span:14},sm: {span: 16}}">
<j-image-upload :return-id="true"></j-image-upload> <j-image-upload :return-id="true" v-decorator="[ 'QRcode']"></j-image-upload>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -81,6 +81,10 @@
<label>签到二维码</label><img class="qr-code" :src="signInQRCode" alt="签到二维码"/><i class="copy primary-color" <label>签到二维码</label><img class="qr-code" :src="signInQRCode" alt="签到二维码"/><i class="copy primary-color"
@click="copy(signUpHerfUrl)">复制</i> @click="copy(signUpHerfUrl)">复制</i>
</a-col> </a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>收款二维码</label>
<j-image-upload :return-id="true" v-show="currentMeetingInfo.QRCode"></j-image-upload>
</a-col>
</a-row> </a-row>
<a-row v-show="currentMeetingInfo.meetingType === '2' "> <a-row v-show="currentMeetingInfo.meetingType === '2' ">
<label class="label">酒店联系人及手机号</label><span class="content" <label class="label">酒店联系人及手机号</label><span class="content"
@@ -120,6 +124,12 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="审核报名信息">
<j-dict-select-tag v-model="queryParam.checkSingInResult" placeholder="请选择"
dictCode="signup_status"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="签到"> <a-form-item label="签到">
<j-dict-select-tag v-model="queryParam.checkIn" placeholder="请选择" <j-dict-select-tag v-model="queryParam.checkIn" placeholder="请选择"
@@ -139,7 +149,8 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24" v-if="queryParam.identity === '1' && currentMeetingInfo.meetingType === '3' "> <a-col :xl="6" :lg="7" :md="8" :sm="24"
v-if="queryParam.identity === '1' && currentMeetingInfo.meetingType === '3' ">
<a-form-item label="嘉宾类型"> <a-form-item label="嘉宾类型">
<j-dict-select-tag v-model="queryParam.guestType" placeholder="请选择嘉宾类型" <j-dict-select-tag v-model="queryParam.guestType" placeholder="请选择嘉宾类型"
dictCode="guest_type"/> dictCode="guest_type"/>
@@ -158,12 +169,14 @@
<!-- 操作按钮区域 --> <!-- 操作按钮区域 -->
<div class="table-operator"> <div class="table-operator">
<a-button type="primary" icon="import" @click="importParticipant">导入参会人</a-button> <!-- 变更去掉了此功能 暂时注释 2021-09-16 -->
<!-- <a-button type="primary" icon="import" @click="importParticipant">导入参会人</a-button>-->
<a-button type="primary" icon="plus" @click="addParticipant">添加参会人</a-button> <a-button type="primary" icon="plus" @click="addParticipant">添加参会人</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会员项目')">导出</a-button> <a-button type="primary" icon="download" @click="handleExportXls('会员项目')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button> <a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<!--当会议费用为0不需要合并开票--> <!--当会议费用为0不需要合并开票 -->
<a-button type="primary" @click="batchInvoice" v-show="currentMeetingInfo.meetingCosts !== 0">合并开票</a-button> <!-- 变更将此从能添加到到账开票了 暂时注释 2021-09-16 -->
<!-- <a-button type="primary" @click="batchInvoice" v-show="currentMeetingInfo.meetingCosts !== 0">合并开票</a-button>-->
<!--只有国际研讨会才会有设置对接人--> <!--只有国际研讨会才会有设置对接人-->
<a-button type="primary" @click="batchSetDocker" v-if="currentMeetingInfo.meetingType === '3' ">设置对接人</a-button> <a-button type="primary" @click="batchSetDocker" v-if="currentMeetingInfo.meetingType === '3' ">设置对接人</a-button>
</div> </div>
@@ -204,7 +217,9 @@
<span slot="action" slot-scope="text, record" class="action-span-cell"> <span slot="action" slot-scope="text, record" class="action-span-cell">
<!-- 只有缴费方式为汇款并且上传了汇款凭证的的才会有审核按钮--> <!-- 只有缴费方式为汇款并且上传了汇款凭证的的才会有审核按钮-->
<a @click="handleAudit(record)" v-if="record.payMode === 1 && record.paymentRecord">审核</a> <a @click="handleAudit(record)" v-if="record.payMode === 1 && record.paymentRecord">审核凭证</a>
<!-- 只有工作组会议与分标委会议才有审核报名信息-->
<a @click="handleAuditSignUp(record)" v-show="currentMeetingInfo.meetingType === '1' || currentMeetingInfo.meetingType === '5' ">审核报名信息</a>
<a @click="handleEdit(record)">编辑</a> <a @click="handleEdit(record)">编辑</a>
<!--删除参会人需要判断改参会人是否与合同关联--> <!--删除参会人需要判断改参会人是否与合同关联-->
<a @click="handleDelete(record.id)">删除</a> <a @click="handleDelete(record.id)">删除</a>
@@ -239,6 +254,7 @@ import AuditModal from '@views/incomePayments/meetManage/modules/AuditModal'
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle' import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import StatusSlot from '@comp/tools/StatusSlot' import StatusSlot from '@comp/tools/StatusSlot'
import PreviewFile from '@comp/jero/PreviewFile' import PreviewFile from '@comp/jero/PreviewFile'
import JImageUpload from '@comp/jero/JImageUpload'
export default { export default {
@@ -254,7 +270,8 @@ export default {
AuditModal, AuditModal,
PageHeaderTitle, PageHeaderTitle,
StatusSlot, StatusSlot,
PreviewFile PreviewFile,
JImageUpload
}, },
data() { data() {
return { return {
@@ -370,6 +387,8 @@ export default {
signUpQRCode: '', signUpQRCode: '',
// 签到二维码 // 签到二维码
signInQRCode: '', signInQRCode: '',
// 收款二维码
payMentQRCode: ''
} }
}, },
created() { created() {
@@ -419,6 +438,12 @@ export default {
this.$refs.auditModal.open(record) this.$refs.auditModal.open(record)
}, },
/* /*
* 审核报名信息
* */
handleAuditSignUp(record){
console.log('审核报名信息',record)
},
/*
* 导入参会人 * 导入参会人
* */ * */
importParticipant() { importParticipant() {
@@ -476,12 +501,12 @@ export default {
// flag为true 说明有单位不一样 // flag为true 说明有单位不一样
this.$message.warn('请选择同一企业的参会人进行开票') this.$message.warn('请选择同一企业的参会人进行开票')
return return
} else if(moneyFlag){ } else if (moneyFlag) {
this.$message.warn('身份为嘉宾、内部企业和缴费方式为打包和不需要发票的不支持开票') this.$message.warn('身份为嘉宾、内部企业和缴费方式为打包和不需要发票的不支持开票')
return return
} else { } else {
// 打开模态框 // 打开模态框
this.$refs.batchInvoiceModal.open(this.selectionRows,meetingId,this.selectedRowKeys) this.$refs.batchInvoiceModal.open(this.selectionRows, meetingId, this.selectedRowKeys)
} }
} }
@@ -57,7 +57,8 @@
@change="handleTableChange"> @change="handleTableChange">
<template slot="htmlSlot" slot-scope="text,record"> <template slot="htmlSlot" slot-scope="text,record">
<div class="primary-color" @click="handleSafeguardMember(record)" v-html="text"></div> <j-ellipsis v-if="text" :value="(text.toString())" :length="20" class="primary-color" @click="handleSafeguardMember(record)"></j-ellipsis>
<span v-else></span>
</template> </template>
<template slot="text" slot-scope="text"> <template slot="text" slot-scope="text">
@@ -117,12 +118,13 @@ export default {
title: '收费标准', title: '收费标准',
align: 'center', align: 'center',
dataIndex: 'chargeStandard', dataIndex: 'chargeStandard',
scopedSlots: {customRender: 'text'}
}, },
{ {
title: '负责人', title: '负责人',
align: 'center', align: 'center',
dataIndex: 'directorName', dataIndex: 'directorName',
scopedSlots: {customRender: 'text'}
}, },
{ {
title: '操作', title: '操作',
@@ -6,7 +6,7 @@
<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 :gutter="24"> <a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xxl="6" :xl="9" :sm="24">
<a-form-item label="标协会员项目名称"> <a-form-item label="标协会员项目名称">
<a-input placeholder="请输入会员项目名称" v-model="queryParam.projectName"></a-input> <a-input placeholder="请输入会员项目名称" v-model="queryParam.projectName"></a-input>
</a-form-item> </a-form-item>
@@ -50,16 +50,12 @@
@change="handleTableChange"> @change="handleTableChange">
<template slot="htmlSlot" slot-scope="text,record"> <template slot="htmlSlot" slot-scope="text,record">
<div class="primary-color" @click="handleSafeguardMember(record)" v-html="text"></div> <j-ellipsis class="primary-color" v-if="text" :value="text" @click="handleSafeguardMember(record)" :length="20"></j-ellipsis>
</template>
<template slot="text" slot-scope="text">
<j-ellipsis v-if="text" :value="text" :length="20"></j-ellipsis>
<span v-else></span> <span v-else></span>
</template> </template>
<span slot="action" slot-scope="text, record" class="action-span-cell"> <span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleEdit(record)">编辑</a> <a @click="handleStandardMeeting(record.id)">会议维护</a>
<a @click="handleDelete(record.id)">删除</a>
</span> </span>
</a-table> </a-table>
@@ -100,6 +96,12 @@ export default {
align: 'center', align: 'center',
dataIndex: 'projectName', dataIndex: 'projectName',
scopedSlots: {customRender: 'htmlSlot'} scopedSlots: {customRender: 'htmlSlot'}
},
{
title: '操作',
align: 'center',
dataIndex: '',
scopedSlots: {customRender: 'action'}
} }
], ],
url: { url: {
@@ -120,6 +122,19 @@ export default {
projectName:record.projectName projectName:record.projectName
} }
}) })
},
/*
* 标协会议维护
* */
handleStandardMeeting(record){
console.log(123)
this.$router.push({
path:'/projectManagement/CommitteeMeeting',
query:{
id:record.id,
title:record.projectName
}
})
} }
} }
} }
@@ -39,6 +39,7 @@
<a-input placeholder="请输入收费标准" <a-input placeholder="请输入收费标准"
:maxLength='50' :maxLength='50'
v-decorator="[ 'chargeStandard']" v-decorator="[ 'chargeStandard']"
@blur="addZero"
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"></a-input> @change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"></a-input>
<span class="yuan"></span> <span class="yuan"></span>
</a-form-item> </a-form-item>
@@ -88,6 +89,7 @@ import {httpAction} from '@api/manage'
import JYearDate from '@comp/jero/JYearDate' import JYearDate from '@comp/jero/JYearDate'
import JUpload from '@comp/jero/JUpload' import JUpload from '@comp/jero/JUpload'
import SelectPrincipal from '@comp/company/SelectPrincipal' import SelectPrincipal from '@comp/company/SelectPrincipal'
import {addZero} from '@/utils/util'
export default { export default {
name: 'MemberProjectModal', name: 'MemberProjectModal',
@@ -143,6 +145,7 @@ export default {
} }
}, },
methods: { methods: {
addZero,
add() { add() {
this.edit({}) this.edit({})
}, },
@@ -81,6 +81,7 @@
'amountReceivable', 'amountReceivable',
validatorRules.amountReceivable, validatorRules.amountReceivable,
]" ]"
@blur="addZero"
@change=" @change="
(e) => { (e) => {
e.target.value = e.target.value.replace(/[^0-9.]/g, ''); e.target.value = e.target.value.replace(/[^0-9.]/g, '');
@@ -217,6 +218,7 @@ import JUpload from '@comp/jero/JUpload'
import CompanySelect from '@comp/company/CompanySelect' import CompanySelect from '@comp/company/CompanySelect'
import ContactManagementModule from '@views/businessManagement/modules/ContactManagementModule' import ContactManagementModule from '@views/businessManagement/modules/ContactManagementModule'
import SelectContacts from '@comp/company/SelectContacts' import SelectContacts from '@comp/company/SelectContacts'
import {addZero} from '@/utils/util'
export default { export default {
name: 'SafeguardMemberModal', name: 'SafeguardMemberModal',
@@ -303,6 +305,7 @@ export default {
} }
}, },
methods: { methods: {
addZero,
add() { add() {
this.edit({}) this.edit({})
}, },
@@ -0,0 +1,348 @@
<template>
<div>
<page-header-title :is-level-one="false" :level-two-title="pageTitle"></page-header-title>
<a-card :bordered="false">
<!-- 查询区域-->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="会议名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入会议名称" v-model="queryParam.meetingName"></a-input>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="12" :md="12" :sm="24">
<a-form-item label="会议时间">
<j-date
placeholder="请选择开始日期"
class="query-group-cust"
v-model="queryParam.meetingStartTime"
:disabled-date="disabledStartDate">
</j-date>
<span class="query-group-split-cust"></span>
<j-date
placeholder="请选择结束日期"
class="query-group-cust"
v-model="queryParam.meetingEndTime"
:disabled-date="disabledEndDate">
</j-date>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-year-date style="width:100%" placeholder="请选择年份"
v-model="queryParam.particularYear"></j-year-date>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="12" :md="12" :sm="24">
<a-form-item label="创建时间">
<j-date
placeholder="请选择开始日期"
class="query-group-cust"
v-model="queryParam.createTime_begin"
:disabled-date="disabledStartCreateDate">
</j-date>
<span class="query-group-split-cust"></span>
<j-date
placeholder="请选择结束日期"
class="query-group-cust"
v-model="queryParam.createTime_end"
:disabled-date="disabledEndCreateDate">
</j-date>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="已提醒" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag style="width: 100%"
dict-code="yn"
v-model="queryParam.remind"
placeholder="请选择提醒类型"></j-dict-select-tag>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- /查询区域-->
<!-- 操作按钮区域-->
<div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('工作组会议维护')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<a-button type="primary" @click="publishRemind">发布</a-button>
</div>
<!-- /操作按钮区域-end-->
<!-- table表格区域-->
<div>
<a-table
ref="table"
size="middle"
bordered
rowKey="id"
:scroll="{x:true}"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange"
class="j-table-force-nowrap">
<!-- 工作组名称-->
<template slot="projectName" slot-scope="text, record">
<div class="project-name" @click="goMemberUnitMaintenance(record)">{{ text }}</div>
</template>
<template slot="text" slot-scope="text">
<j-ellipsis :value="text" :length="20"></j-ellipsis>
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="uploadFile(record)">上传文件</a>
<!-- <a @click="applyMsg">报名信息</a>-->
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
</span>
</a-table>
</div>
<publish-remind-modal ref="publishRemindModal" @ok="modalFormOk"></publish-remind-modal>
<upload-meet-file-modal ref="modalForm" @ok="modalFormOk"></upload-meet-file-modal>
</a-card>
</div>
</template>
<script>
import {JeroListMixin} from '@/mixins/JeroListMixin'
import {RangeDateMixin} from '@/mixins/RangeDateMixin'
import JYearDate from '@comp/jero/JYearDate'
import JDate from '@comp/tools/JDate'
import moment from 'moment'
import JDictSelectTag from '@comp/dict/JDictSelectTag'
import PublishRemindModal from '@views/projectManagement/modules/PublishRemindModal'
import UploadMeetFileModal from '@views/incomePayments/meetManage/modules/UploadMeetFileModal'
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import '@/assets/less/TableExpand.less'
export default {
name: 'CommitteeMeeting',
components: {
JYearDate,
JDate,
JDictSelectTag,
PublishRemindModal,
UploadMeetFileModal,
PageHeaderTitle
},
mixins: [JeroListMixin, RangeDateMixin],
data() {
return {
workingGroupProject: '',
workingGroupProjectId: '',
disableMixinCreated: true,
list: [],
labelCol: {
xs: {span: 24},
sm: {span: 5}
},
wrapperCol: {
xs: {span: 24},
sm: {span: 10}
},
dateKeyObj: {
beginKey: 'meetingStartTime',
endKey: 'meetingEndtTime'
},
columns: [
{
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
}
},
{
title: '会议名称',
align: 'center',
dataIndex: 'meetingName',
scopedSlots: {customRender: 'htmlSlot'},
width: 160,
},
{
title: '会议类型',
align: 'center',
dataIndex: 'meetingType_dictText',
width: 100,
},
{
title: '负责人',
align: 'center',
dataIndex: 'directorName',
width: 160,
},
{
title: '召开时间',
align: 'center',
dataIndex: 'startTime',
width: 160,
customRender: function (text, record) {
return `${record.startTime}~${record.endTime}`
}
},
{
title: '召开地点',
align: 'center',
dataIndex: 'venue',
width: 160,
customRender: function (text, record) {
return text + '/' + record.address
}
},
{
title: '年份',
align: 'center',
dataIndex: 'particularYear',
width: 100,
},
{
title: '已提醒',
align: 'center',
dataIndex: 'remind_dictText',
width: 100,
},
{
title: '创建时间',
align: 'center',
dataIndex: 'createTime',
},
{
title: '操作',
align: 'center',
fixed: 'right',
width: 160,
scopedSlots: {customRender: 'action'}
},
],
url: {
list: '/meeting/payMeeting/page',
delete: '/meeting/payMeeting/delete',
deleteBatch: '/meeting/payMeeting/deleteBatch',
exportXlsUrl: '/meeting/payMeeting/exportWorkingGroupXls',
}
}
},
created() {
this.workingGroupProject = this.$route.query.workingGroupProject
this.workingGroupProjectId = this.$route.query.workingGroupProjectId
this.filters.workingGroupId = this.workingGroupProjectId
this.loadData(1)
},
computed:{
pageTitle(){
return `${this.$route.query.title}`
}
},
methods: {
/*
* 新增
* */
handleAdd() {
// 记录当前的工作组id
let currentId = this.$route.query.workingGroupProjectId
this.$router.push({
path: '/incomePayments/meetManage/AddOrDetailMeet',
query: {
workingGroupProjectId: currentId
}
})
},
/*
* 编辑
* */
handleEdit(record) {
// 记录当前的工作组id
let currentId = this.$route.query.workingGroupProjectId
this.$router.push({
path: '/incomePayments/meetManage/AddOrDetailMeet',
query: {
workingGroupProjectId: currentId,
id: record.id,
}
})
},
/*
* 发布
* */
publishRemind() {
if (this.selectionRows.length === 0) {
this.$message.warn('请选择一个会议')
return
} else {
// 传入选中的会议id
this.$refs.publishRemindModal.open(this.selectedRowKeys)
this.$refs.publishRemindModal.title = '发布'
}
},
/*
* 上传文件
* */
uploadFile(record) {
this.$refs.modalForm.edit(record)
},
/*
* 报名信息
* */
applyMsg() {
this.$router.push({
path: '/incomePayments/meetManage/SignUpInfoList'
})
},
/*
* 创建时间开始禁用
* */
disabledStartCreateDate(startValue) {
const endValue = this.queryParam.createTime_end && moment(this.queryParam.createTime_end, this.rangeDateFormat.end)
if (!startValue || !endValue) {
return false
}
return startValue.valueOf() > endValue.valueOf()
},
/*
* 创建时间结束禁用
* */
disabledEndCreateDate(endValue) {
const startValue = this.queryParam.createTime_begin && moment(this.queryParam.createTime_begin, this.rangeDateFormat.begin)
if (!endValue || !startValue) {
return false
}
return startValue.valueOf() > endValue.valueOf()
},
/*
* 修改查询条件
* */
searchQuery() {
this.queryParam.meetingStartTime = this.queryParam.meetingStartTime ? this.queryParam.meetingStartTime + ' ' + '00:00:00' : undefined
this.queryParam.meetingEndTime = this.queryParam.meetingEndTime ? this.queryParam.meetingEndTime + ' ' + '23:59:59' : undefined
this.queryParam.createTime_begin = this.queryParam.createTime_begin ? this.queryParam.createTime_begin + ' ' + '00:00:00' : undefined
this.queryParam.createTime_end = this.queryParam.createTime_end ? this.queryParam.createTime_end + ' ' + '23:59:59' : undefined
this.lastQueryParam = {...this.queryParam}
this.loadData(1)
},
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>
@@ -100,9 +100,9 @@
@change="handleTableChange" @change="handleTableChange"
class="j-table-force-nowrap"> class="j-table-force-nowrap">
<!-- 工作组名称--> <!-- 会议名称 点击去参会情况-->
<template slot="projectName" slot-scope="text, record"> <template slot="htmlSlot" slot-scope="text, record">
<div class="project-name" @click="goMemberUnitMaintenance(record)">{{ text }}</div> <j-ellipsis v-if="!!text" class="primary-color" :value="text" :length="20" @click="toAttendance(record)"></j-ellipsis>
</template> </template>
<template slot="text" slot-scope="text"> <template slot="text" slot-scope="text">
@@ -178,53 +178,55 @@ export default {
dataIndex: 'meetingName', dataIndex: 'meetingName',
scopedSlots: {customRender: 'htmlSlot'}, scopedSlots: {customRender: 'htmlSlot'},
width: 160, width: 160,
}, },
{ {
title: '会议类型', title: '会议类型',
align: 'center', align: 'center',
dataIndex: 'meetingType_dictText', dataIndex: 'meetingType_dictText',
width: 100, width: 100,
scopedSlots: {customRender: 'text'}
}, },
{ {
title: '负责人', title: '负责人',
align: 'center', align: 'center',
dataIndex: 'directorName', dataIndex: 'directorName',
width: 160, width: 160,
scopedSlots: {customRender: 'text'}
}, },
{ {
title: '召开时间', title: '召开时间',
align: 'center', align: 'center',
dataIndex: 'startTime', dataIndex: 'startTime',
width: 160, width: 160,
customRender: function (text, record) { customRender: (text, record) => (<j-ellipsis value={record.startTime + record.endTime} length={20}></j-ellipsis>)
return `${record.startTime}~${record.endTime}`
}
}, },
{ {
title: '召开地点', title: '召开地点',
align: 'center', align: 'center',
dataIndex: 'venue', dataIndex: 'venue',
width: 160, width: 160,
customRender: function (text, record) { customRender: (text, record) => (<j-ellipsis value={text + '/' + record.address} length={20}></j-ellipsis>)
return text + '/' + record.address
}
}, },
{ {
title: '年份', title: '年份',
align: 'center', align: 'center',
dataIndex: 'particularYear', dataIndex: 'particularYear',
width: 100, width: 100,
scopedSlots: {customRender: 'text'}
}, },
{ {
title: '已提醒', title: '已提醒',
align: 'center', align: 'center',
dataIndex: 'remind_dictText', dataIndex: 'remind_dictText',
width: 100, width: 100,
scopedSlots: {customRender: 'text'}
}, },
{ {
title: '创建时间', title: '创建时间',
align: 'center', align: 'center',
dataIndex: 'createTime', dataIndex: 'createTime',
scopedSlots: {customRender: 'text'}
}, },
{ {
title: '操作', title: '操作',
@@ -312,6 +314,18 @@ export default {
path: '/incomePayments/meetManage/SignUpInfoList' path: '/incomePayments/meetManage/SignUpInfoList'
}) })
}, },
/*
* 参会情况
* */
toAttendance(record) {
this.$router.push({
path: '/incomePayments/meetManage/Attendance',
query: {
id: record.id,
meetingName:record.meetingName
}
})
},
/* /*
* 创建时间开始禁用 * 创建时间开始禁用
* */ * */