会议管理 参会情况
This commit is contained in:
@@ -26,6 +26,7 @@ import JeroComponents from "@/components/jero/index";
|
|||||||
import JDictSelectTag from "./components/dict/index.js";
|
import JDictSelectTag from "./components/dict/index.js";
|
||||||
import '@/utils/filter' // base filtermybatis-plus
|
import '@/utils/filter' // base filtermybatis-plus
|
||||||
import vTrim from "@/utils/vTrim";
|
import vTrim from "@/utils/vTrim";
|
||||||
|
import preventClick from "@/utils/preventClick";
|
||||||
import '@/assets/less/JAreaLinkage.less'
|
import '@/assets/less/JAreaLinkage.less'
|
||||||
import VueAreaLinkage from 'vue-area-linkage'
|
import VueAreaLinkage from 'vue-area-linkage'
|
||||||
|
|
||||||
@@ -37,6 +38,7 @@ Vue.use(router);
|
|||||||
Vue.use(JeroComponents);
|
Vue.use(JeroComponents);
|
||||||
Vue.use(JDictSelectTag);
|
Vue.use(JDictSelectTag);
|
||||||
Vue.use(vTrim)
|
Vue.use(vTrim)
|
||||||
|
Vue.use(preventClick)
|
||||||
Vue.use(VueAreaLinkage)
|
Vue.use(VueAreaLinkage)
|
||||||
|
|
||||||
new Vue({
|
new Vue({
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
export default {
|
||||||
|
|
||||||
|
install (Vue) {
|
||||||
|
// 防重复点击(指令实现)
|
||||||
|
Vue.directive('preventclick', {
|
||||||
|
inserted (el, binding) {
|
||||||
|
el.addEventListener('click', () => {
|
||||||
|
if (!el.disabled) {
|
||||||
|
el.disabled = true
|
||||||
|
setTimeout(() => {
|
||||||
|
el.disabled = false
|
||||||
|
}, binding.value || 1000)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,309 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<!-- 查询区域 -->
|
||||||
|
<div class="table-page-search-wrapper">
|
||||||
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="参会单位">
|
||||||
|
<a-input placeholder="请输入参会单位" v-model="queryParam.projectName"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="参会人">
|
||||||
|
<a-input placeholder="请输入参会人" v-model="queryParam.projectName"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="审核">
|
||||||
|
<j-dict-select-tag v-model="queryParam.audit" placeholder="请选择"
|
||||||
|
dictCode="signup_status"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="签到">
|
||||||
|
<j-dict-select-tag v-model="queryParam.audit" placeholder="请选择"
|
||||||
|
dictCode="signin_status"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="来款年份">
|
||||||
|
<j-year-date style="width:100%" placeholder="请选择来款年份" v-model="queryParam.particularYear"></j-year-date>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="身份">
|
||||||
|
<j-dict-select-tag v-model="queryParam.identify" placeholder="请选择身份"
|
||||||
|
dictCode="meet_identify_type"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24" v-if="queryParam.identify === '1' ">
|
||||||
|
<a-form-item label="嘉宾类型">
|
||||||
|
<j-dict-select-tag v-model="queryParam.guest" placeholder="请选择身份"
|
||||||
|
dictCode="guest_type"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||||
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||||
|
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
<!-- 查询区域-END -->
|
||||||
|
|
||||||
|
<!-- 操作按钮区域 -->
|
||||||
|
<div class="table-operator">
|
||||||
|
<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="download" @click="handleExportXls('会员项目')">导出</a-button>
|
||||||
|
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
|
||||||
|
<a-button type="primary" @click="batchInvoice">合并开票</a-button>
|
||||||
|
<a-button type="primary" @click="batchSetDocker">设置对接人</a-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- table区域-begin -->
|
||||||
|
<div>
|
||||||
|
<a-table
|
||||||
|
ref="table"
|
||||||
|
size="middle"
|
||||||
|
bordered
|
||||||
|
rowKey="id"
|
||||||
|
:columns="columns"
|
||||||
|
:dataSource="dataSource"
|
||||||
|
:pagination="ipagination"
|
||||||
|
:loading="loading"
|
||||||
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||||
|
class="j-table-force-nowrap"
|
||||||
|
@change="handleTableChange">
|
||||||
|
|
||||||
|
<template slot="htmlSlot" slot-scope="text,record">
|
||||||
|
<div class="primary-color" @click="openDetailModal(record)">参会单位</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template slot="text" slot-scope="text">
|
||||||
|
<j-ellipsis v-if="text" :value="text" :length="20"></j-ellipsis>
|
||||||
|
<span v-else></span>
|
||||||
|
</template>
|
||||||
|
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||||
|
<a @click="handleAudit(record)">审核</a>
|
||||||
|
<a @click="handleEdit(record)">编辑</a>
|
||||||
|
<a @click="handleDelete(record.id)">删除</a>
|
||||||
|
</span>
|
||||||
|
</a-table>
|
||||||
|
</div>
|
||||||
|
<import-participant-modal ref="importParticipantModal" @ok="modalFormOk"></import-participant-modal>
|
||||||
|
<batch-invocie-modal ref="batchInvoiceModal" @ok="modalFormOk"></batch-invocie-modal>
|
||||||
|
<batch-set-docker-modal ref="batchSetDockerModal" @ok="modalFormOk"></batch-set-docker-modal>
|
||||||
|
<project-detail-modal ref="projectDetailModal"></project-detail-modal>
|
||||||
|
<audit-modal ref="auditModal" @ok="modalFormOk"></audit-modal>
|
||||||
|
</a-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {JeroListMixin} from "@/mixins/JeroListMixin";
|
||||||
|
import {mixinDevice} from "@/utils/mixin";
|
||||||
|
import JYearDate from "@comp/jero/JYearDate";
|
||||||
|
import JDictSelectTag from "@comp/dict/JDictSelectTag";
|
||||||
|
import ImportParticipantModal from "@views/incomePayments/meetManage/modules/ImportParticipantModal";
|
||||||
|
import BatchInvocieModal from "@views/incomePayments/meetManage/modules/BatchInvocieModal";
|
||||||
|
import BatchSetDockerModal from "@views/incomePayments/meetManage/modules/BatchSetDockerModal";
|
||||||
|
import ProjectDetailModal from "@comp/ProjectDetailModal";
|
||||||
|
import AuditModal from "@views/incomePayments/meetManage/modules/AuditModal";
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "Attendance",
|
||||||
|
mixins: [JeroListMixin, mixinDevice],
|
||||||
|
components: {
|
||||||
|
JYearDate,
|
||||||
|
JDictSelectTag,
|
||||||
|
ImportParticipantModal,
|
||||||
|
BatchInvocieModal,
|
||||||
|
BatchSetDockerModal,
|
||||||
|
ProjectDetailModal,
|
||||||
|
AuditModal
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
description: '参会情况',
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '序号',
|
||||||
|
dataIndex: '',
|
||||||
|
key: 'rowIndex',
|
||||||
|
width: 60,
|
||||||
|
align: "center",
|
||||||
|
customRender: function (t, r, index) {
|
||||||
|
return parseInt(index) + 1;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '参会单位',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: '',
|
||||||
|
scopedSlots: {customRender: 'htmlSlot'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '参会人员',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '应收金额',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '实收金额',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '缴费方式',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '是否签到',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '打包',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '需要发票',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '到账',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '开票',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '邮寄',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '对接人',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
align: "center",
|
||||||
|
scopedSlots: {customRender: 'action'}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
url: {
|
||||||
|
list: "/jero/memberProject/page",
|
||||||
|
delete: "/jero/memberProject/delete",
|
||||||
|
deleteBatch: "/jero/memberProject/deleteBatch",
|
||||||
|
exportXlsUrl: "/jero/memberProject/exportXls",
|
||||||
|
importExcelUrl: "jero/memberProject/importExcel",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/*
|
||||||
|
* 审核
|
||||||
|
* */
|
||||||
|
handleAudit(record) {
|
||||||
|
this.$refs.auditModal.open(record)
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* 导入参会人
|
||||||
|
* */
|
||||||
|
importParticipant() {
|
||||||
|
this.$refs.importParticipantModal.open()
|
||||||
|
this.$refs.importParticipantModal.title = '导入参会人'
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* 添加参会人
|
||||||
|
* */
|
||||||
|
addParticipant(){
|
||||||
|
this.$router.push({
|
||||||
|
path:'/incomePayments/meetManage/SignUpInfoEdit'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* 合并开票
|
||||||
|
* */
|
||||||
|
batchInvoice(){
|
||||||
|
if(this.selectionRows.length === 0){
|
||||||
|
this.$message.warn('请选择一条记录')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 只能选择相同的单位进行合并开票
|
||||||
|
if(this.selectionRows.length > 0){
|
||||||
|
// 一个数据不做判断
|
||||||
|
if(this.selectionRows.length === 1){
|
||||||
|
// 打开模态框
|
||||||
|
this.$refs.batchInvoiceModal.open()
|
||||||
|
}else {
|
||||||
|
let initName = this.selectionRows[0].name;
|
||||||
|
// 单位判重
|
||||||
|
let flag = this.selectionRows.some(item => {
|
||||||
|
return item.name !== initName
|
||||||
|
})
|
||||||
|
if(flag){
|
||||||
|
// flag为true 说明有单位不一样
|
||||||
|
this.$message.warn('请选择同一企业的参会人进行开票')
|
||||||
|
return
|
||||||
|
}else {
|
||||||
|
// 打开模态框 要传一个参数
|
||||||
|
this.$refs.batchInvoiceModal.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* 设置对接人 只有研讨会 会议才可以设置
|
||||||
|
* */
|
||||||
|
batchSetDocker(){
|
||||||
|
if(this.selectionRows.length === 0){
|
||||||
|
this.$message.warn('请选择一条记录')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let flag = this.selectionRows.some(item => {
|
||||||
|
return item.meetingType !== 3
|
||||||
|
})
|
||||||
|
if(flag){
|
||||||
|
this.$message.warn('只有研讨会议才可设置对接人')
|
||||||
|
return
|
||||||
|
}else {
|
||||||
|
// 打开模态框
|
||||||
|
this.$refs.batchSetDockerModal.open()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* 打开项目详情
|
||||||
|
* */
|
||||||
|
openDetailModal(record){
|
||||||
|
this.$refs.projectDetailModal.open(record)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
@import '~@assets/less/common.less';
|
||||||
|
</style>
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
@change="handleTableChange">
|
@change="handleTableChange">
|
||||||
|
|
||||||
<template slot="htmlSlot" slot-scope="text,record">
|
<template slot="htmlSlot" slot-scope="text,record">
|
||||||
<div class="primary-color">会议名称</div>
|
<div class="primary-color" @click="toAttendance">会议名称</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot="text" slot-scope="text">
|
<template slot="text" slot-scope="text">
|
||||||
@@ -213,6 +213,17 @@ export default {
|
|||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* 参会情况
|
||||||
|
* */
|
||||||
|
toAttendance(record){
|
||||||
|
this.$router.push({
|
||||||
|
path:"/incomePayments/meetManage/Attendance",
|
||||||
|
query:{
|
||||||
|
id:record.id
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,7 +59,6 @@
|
|||||||
|
|
||||||
<!-- table区域-begin -->
|
<!-- table区域-begin -->
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
<a-table
|
<a-table
|
||||||
ref="table"
|
ref="table"
|
||||||
size="middle"
|
size="middle"
|
||||||
@@ -183,7 +182,7 @@ export default {
|
|||||||
this.$router.push({
|
this.$router.push({
|
||||||
path:'/incomePayments/meetManage/SignUpInfoEdit'
|
path:'/incomePayments/meetManage/SignUpInfoEdit'
|
||||||
})
|
})
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,188 @@
|
|||||||
|
<template>
|
||||||
|
<j-modal
|
||||||
|
:title="title"
|
||||||
|
:width="width"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleOk"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
cancelText="关闭">
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<h3>报名信息</h3>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="24">
|
||||||
|
<label>参会企业:</label>
|
||||||
|
<span></span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<label>姓名:</label>
|
||||||
|
<span></span></a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<label>手机号:</label>
|
||||||
|
<span></span></a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<label>身份:</label>
|
||||||
|
<span></span></a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<label>是否入住协议酒店:</label>
|
||||||
|
<span></span></a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<label>抵达时间:</label>
|
||||||
|
<span></span></a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<label>抵达时间:</label>
|
||||||
|
<span></span></a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :span="12">
|
||||||
|
<label>缴费方式:</label>
|
||||||
|
<span></span></a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<label>需要发票:</label>
|
||||||
|
<span></span></a-col>
|
||||||
|
</a-row>
|
||||||
|
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<j-image-upload></j-image-upload>
|
||||||
|
</a-row>
|
||||||
|
|
||||||
|
<h3>审核</h3>
|
||||||
|
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :xl="12" :sm="24">
|
||||||
|
<a-form-item label="会议对接人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-radio-group v-decorator="['',]" placeholder="请选择机构类型">
|
||||||
|
<a-radio value="1">
|
||||||
|
通过
|
||||||
|
</a-radio>
|
||||||
|
<a-radio value=0>
|
||||||
|
驳回
|
||||||
|
</a-radio>
|
||||||
|
</a-radio-group>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="24" :sm="24">
|
||||||
|
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||||
|
<a-textarea
|
||||||
|
placeholder="请输入备注"
|
||||||
|
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||||
|
:maxLength='200'
|
||||||
|
v-decorator="['']"
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
<template slot="footer">
|
||||||
|
<a-button @click="handleCancel">关闭</a-button>
|
||||||
|
<a-button type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
||||||
|
</template>
|
||||||
|
</j-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import JImageUpload from "@comp/jero/JImageUpload";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "AuditModal",
|
||||||
|
components: {
|
||||||
|
JImageUpload
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: '审核凭证',
|
||||||
|
width: 800,
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this),
|
||||||
|
model: {},
|
||||||
|
labelCol: {
|
||||||
|
xs: {span: 24},
|
||||||
|
sm: {span: 6}
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: {span: 24},
|
||||||
|
sm: {span: 18}
|
||||||
|
},
|
||||||
|
remarksLabelCol: {
|
||||||
|
xs: {span: 24},
|
||||||
|
sm: {span: 3}
|
||||||
|
},
|
||||||
|
remarksWrapperCol: {
|
||||||
|
xs: {span: 24},
|
||||||
|
sm: {span: 21}
|
||||||
|
},
|
||||||
|
validatorRules: {
|
||||||
|
projectName: {
|
||||||
|
rules: [{required: true, message: '请输入会员项目'}],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
particularYear: {
|
||||||
|
rules: [{required: true, message: '请选择年份'}],
|
||||||
|
validateTrigger: ['change', 'blur']
|
||||||
|
},
|
||||||
|
directorId: {
|
||||||
|
rules: [{required: true, message: '请选择负责人'}],
|
||||||
|
validateTrigger: ['change', 'blur']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
url: {
|
||||||
|
add: "/jero/memberProject/add",
|
||||||
|
edit: "/jero/memberProject/edit",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
open(record) {
|
||||||
|
this.visible = true
|
||||||
|
this.model = Object.assign({}, record)
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$emit('close')
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
handleOk() {
|
||||||
|
const that = this
|
||||||
|
// 触发表单验证
|
||||||
|
this.form.validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
let httpurl = ''
|
||||||
|
let method = 'post'
|
||||||
|
const formData = Object.assign(this.model, values)
|
||||||
|
console.log('表单提交数据', formData)
|
||||||
|
httpAction(httpurl, formData, method).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
that.$message.success(res.message)
|
||||||
|
that.$emit('ok')
|
||||||
|
that.close()
|
||||||
|
} else {
|
||||||
|
that.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
that.confirmLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel() {
|
||||||
|
this.close()
|
||||||
|
},
|
||||||
|
addContactsOk() {
|
||||||
|
this.$refs.selectContacts.getContactsList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,152 @@
|
|||||||
|
<template>
|
||||||
|
<j-modal
|
||||||
|
:title="title"
|
||||||
|
:width="width"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
switchFullscreen
|
||||||
|
@ok="handleOk"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
cancelText="关闭">
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :xl="24" :sm="24">
|
||||||
|
<a-form-item label="邮寄联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<select-contacts :selected-company="selectedCompany"
|
||||||
|
placeholder="请选择联系人"
|
||||||
|
v-decorator="['contactsId',validatorRules.contactsId]"
|
||||||
|
:maxLength='50'
|
||||||
|
ref="selectContacts"
|
||||||
|
@ok="addContactsOk"></select-contacts>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :xl="24" :sm="24">
|
||||||
|
<a-form-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入地址"
|
||||||
|
:maxLength='50'
|
||||||
|
v-decorator="[ 'chargeStandard']"
|
||||||
|
></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :xl="24" :sm="24">
|
||||||
|
<a-form-item label="发票号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入发票号"
|
||||||
|
:maxLength='50'
|
||||||
|
v-decorator="[ 'chargeStandard']"
|
||||||
|
></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :xl="24" :sm="24">
|
||||||
|
<a-form-item label="开票金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入开票金额"
|
||||||
|
:maxLength='50'
|
||||||
|
v-decorator="[ 'chargeStandard']"
|
||||||
|
></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
<template slot="footer">
|
||||||
|
<a-button @click="handleCancel">关闭</a-button>
|
||||||
|
<a-button type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
||||||
|
</template>
|
||||||
|
</j-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import SelectContacts from "@comp/company/SelectContacts";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "BatchInvocieModal",
|
||||||
|
components:{
|
||||||
|
SelectContacts
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: '合并开票',
|
||||||
|
width: 800,
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this),
|
||||||
|
// 选中的企业
|
||||||
|
selectedCompany:{},
|
||||||
|
labelCol: {
|
||||||
|
xs: {span: 24},
|
||||||
|
sm: {span: 6}
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: {span: 24},
|
||||||
|
sm: {span: 18}
|
||||||
|
},
|
||||||
|
validatorRules: {
|
||||||
|
projectName: {
|
||||||
|
rules: [{required: true, message: '请输入会员项目'}],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
particularYear: {
|
||||||
|
rules: [{required: true, message: '请选择年份'}],
|
||||||
|
validateTrigger: ['change', 'blur']
|
||||||
|
},
|
||||||
|
directorId: {
|
||||||
|
rules: [{required: true, message: '请选择负责人'}],
|
||||||
|
validateTrigger: ['change', 'blur']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
url: {
|
||||||
|
add: "/jero/memberProject/add",
|
||||||
|
edit: "/jero/memberProject/edit",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
open(){
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$emit('close')
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
handleOk() {
|
||||||
|
const that = this
|
||||||
|
// 触发表单验证
|
||||||
|
this.form.validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
let httpurl = ''
|
||||||
|
let method = 'post'
|
||||||
|
const formData = Object.assign(this.model, values)
|
||||||
|
console.log('表单提交数据', formData)
|
||||||
|
httpAction(httpurl, formData, method).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
that.$message.success(res.message)
|
||||||
|
that.$emit('ok')
|
||||||
|
that.close()
|
||||||
|
} else {
|
||||||
|
that.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
that.confirmLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel() {
|
||||||
|
this.close()
|
||||||
|
},
|
||||||
|
addContactsOk(){
|
||||||
|
this.$refs.selectContacts.getContactsList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
<template>
|
||||||
|
<j-modal
|
||||||
|
:title="title"
|
||||||
|
:width="width"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleOk"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
cancelText="关闭">
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :xl="24" :sm="24">
|
||||||
|
<a-form-item label="会议对接人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<select-principal placeholder="请选择会议对接人"
|
||||||
|
v-decorator="['directorId']"></select-principal>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
<template slot="footer">
|
||||||
|
<a-button @click="handleCancel">关闭</a-button>
|
||||||
|
<a-button type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
||||||
|
</template>
|
||||||
|
</j-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import SelectPrincipal from "@comp/company/SelectPrincipal";
|
||||||
|
export default {
|
||||||
|
name: "BatchSetDockerModal",
|
||||||
|
components:{
|
||||||
|
SelectPrincipal
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: '设置对接人',
|
||||||
|
width: 400,
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this),
|
||||||
|
labelCol: {
|
||||||
|
xs: {span: 24},
|
||||||
|
sm: {span: 6}
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: {span: 24},
|
||||||
|
sm: {span: 18}
|
||||||
|
},
|
||||||
|
validatorRules: {
|
||||||
|
projectName: {
|
||||||
|
rules: [{required: true, message: '请输入会员项目'}],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
particularYear: {
|
||||||
|
rules: [{required: true, message: '请选择年份'}],
|
||||||
|
validateTrigger: ['change', 'blur']
|
||||||
|
},
|
||||||
|
directorId: {
|
||||||
|
rules: [{required: true, message: '请选择负责人'}],
|
||||||
|
validateTrigger: ['change', 'blur']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
url: {
|
||||||
|
add: "/jero/memberProject/add",
|
||||||
|
edit: "/jero/memberProject/edit",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
open() {
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$emit('close')
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
handleOk() {
|
||||||
|
const that = this
|
||||||
|
// 触发表单验证
|
||||||
|
this.form.validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
let httpurl = ''
|
||||||
|
let method = 'post'
|
||||||
|
const formData = Object.assign(this.model, values)
|
||||||
|
console.log('表单提交数据', formData)
|
||||||
|
httpAction(httpurl, formData, method).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
that.$message.success(res.message)
|
||||||
|
that.$emit('ok')
|
||||||
|
that.close()
|
||||||
|
} else {
|
||||||
|
that.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
that.confirmLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel() {
|
||||||
|
this.close()
|
||||||
|
},
|
||||||
|
addContactsOk() {
|
||||||
|
this.$refs.selectContacts.getContactsList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,182 @@
|
|||||||
|
<template>
|
||||||
|
<j-modal
|
||||||
|
:title="title"
|
||||||
|
:width="width"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
switchFullscreen
|
||||||
|
@ok="handleOk"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
cancelText="关闭">
|
||||||
|
<div class="color-red">请确保企业信息和参会人信息准确,谢谢</div>
|
||||||
|
<!-- 查询区域 -->
|
||||||
|
<div class="table-page-search-wrapper">
|
||||||
|
<a-form layout="inline">
|
||||||
|
<a-row :gutter="24">
|
||||||
|
<a-col :xl="12" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="姓名/手机号">
|
||||||
|
<a-input placeholder="请输入姓名/手机号" v-model="queryParam.projectName"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="12" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="企业名称">
|
||||||
|
<a-input placeholder="请输入企业名称" v-model="queryParam.projectName"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||||
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||||
|
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
<!-- 查询区域-END -->
|
||||||
|
<a-table
|
||||||
|
ref="table"
|
||||||
|
size="middle"
|
||||||
|
bordered
|
||||||
|
rowKey="id"
|
||||||
|
:columns="columns"
|
||||||
|
:dataSource="dataSource"
|
||||||
|
:pagination="ipagination"
|
||||||
|
:loading="loading"
|
||||||
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||||
|
class="j-table-force-nowrap"
|
||||||
|
@change="handleTableChange">
|
||||||
|
|
||||||
|
<template slot="htmlSlot" slot-scope="text,record">
|
||||||
|
<div class="primary-color">参会单位</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template slot="text" slot-scope="text">
|
||||||
|
<j-ellipsis v-if="text" :value="text" :length="20"></j-ellipsis>
|
||||||
|
<span v-else></span>
|
||||||
|
</template>
|
||||||
|
>
|
||||||
|
</a-table>
|
||||||
|
|
||||||
|
<template slot="footer">
|
||||||
|
<a-button @click="handleCancel">关闭</a-button>
|
||||||
|
<a-button type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
||||||
|
</template>
|
||||||
|
</j-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {JeroListMixin} from "@/mixins/JeroListMixin";
|
||||||
|
import {mixinDevice} from "@/utils/mixin";
|
||||||
|
import {postAction} from "@api/manage";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "ImportParticipantModal",
|
||||||
|
mixins: [JeroListMixin, mixinDevice],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
description: "导入参会人模态框",
|
||||||
|
disableMixinCreated: true,
|
||||||
|
title: '操作',
|
||||||
|
width: 1000,
|
||||||
|
confirmLoading: false,
|
||||||
|
flag:false,
|
||||||
|
visible: false,
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '序号',
|
||||||
|
dataIndex: '',
|
||||||
|
key: 'rowIndex',
|
||||||
|
width: 60,
|
||||||
|
align: "center",
|
||||||
|
customRender: function (t, r, index) {
|
||||||
|
return parseInt(index) + 1;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '企业名称',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '姓名',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '身份',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '手机号',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '职务',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '邮箱',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: '',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
model: {},
|
||||||
|
url: {
|
||||||
|
list: "/jero/memberProject/page",
|
||||||
|
add: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleOk() {
|
||||||
|
console.log(this.selectionRows)
|
||||||
|
const that = this
|
||||||
|
this.flag = false
|
||||||
|
if(this.flag){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.selectionRows.length === 0) {
|
||||||
|
this.$message.warn('请选择一条记录')
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.selectionRows.length > 0) {
|
||||||
|
this.flag = true
|
||||||
|
this.confirmLoading = true
|
||||||
|
postAction(this.url.add,{params:this.selectionRows}).then(res => {
|
||||||
|
if(res.success){
|
||||||
|
that.$emit('ok')
|
||||||
|
}
|
||||||
|
}).finally( () => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.flag = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleCancel() {
|
||||||
|
this.close()
|
||||||
|
},
|
||||||
|
open() {
|
||||||
|
this.visible = true
|
||||||
|
// 清空上次选中
|
||||||
|
this.onClearSelected()
|
||||||
|
this.loadData(1)
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
|
.color-red {
|
||||||
|
color: red;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user