Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -26,6 +26,7 @@ import JeroComponents from "@/components/jero/index";
|
||||
import JDictSelectTag from "./components/dict/index.js";
|
||||
import '@/utils/filter' // base filtermybatis-plus
|
||||
import vTrim from "@/utils/vTrim";
|
||||
import preventClick from "@/utils/preventClick";
|
||||
import '@/assets/less/JAreaLinkage.less'
|
||||
import VueAreaLinkage from 'vue-area-linkage'
|
||||
|
||||
@@ -37,6 +38,7 @@ Vue.use(router);
|
||||
Vue.use(JeroComponents);
|
||||
Vue.use(JDictSelectTag);
|
||||
Vue.use(vTrim)
|
||||
Vue.use(preventClick)
|
||||
Vue.use(VueAreaLinkage)
|
||||
|
||||
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">
|
||||
|
||||
<template slot="htmlSlot" slot-scope="text,record">
|
||||
<div class="primary-color">会议名称</div>
|
||||
<div class="primary-color" @click="toAttendance">会议名称</div>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
@@ -213,6 +213,17 @@ export default {
|
||||
this.$router.push({
|
||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 参会情况
|
||||
* */
|
||||
toAttendance(record){
|
||||
this.$router.push({
|
||||
path:"/incomePayments/meetManage/Attendance",
|
||||
query:{
|
||||
id:record.id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -59,7 +59,6 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
@@ -183,7 +182,7 @@ export default {
|
||||
this.$router.push({
|
||||
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