style: 格式化代码
This commit is contained in:
@@ -1,87 +1,101 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-drawer :title="title"
|
<el-drawer
|
||||||
:visible="showDrawer"
|
:title="title"
|
||||||
:wrapperClosable="false"
|
:visible="showDrawer"
|
||||||
@close="onClose"
|
:wrapperClosable="false"
|
||||||
size="1050px">
|
size="1050px"
|
||||||
|
@close="onClose"
|
||||||
|
>
|
||||||
<div class="drawer-content">
|
<div class="drawer-content">
|
||||||
<el-form
|
<el-form
|
||||||
v-if="showDrawer && reloadForm"
|
v-if="showDrawer && reloadForm"
|
||||||
ref="formRef"
|
ref="formRef"
|
||||||
:model="form"
|
:model="form"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
class="label-input-form"
|
class="label-input-form"
|
||||||
>
|
>
|
||||||
<el-col :span="24"><div class="divider-line">基础信息</div></el-col>
|
<el-col :span="24"><div class="divider-line">基础信息</div></el-col>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="会议名称" prop="meetingName" label-width="150px" class="add-form-item">
|
<el-form-item label="会议名称" prop="meetingName" label-width="150px" class="add-form-item">
|
||||||
<el-input v-model="form.meetingName"
|
<el-input
|
||||||
placeholder="请输入会议名称"
|
v-model="form.meetingName"
|
||||||
clearable></el-input>
|
placeholder="请输入会议名称"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="课题名称" prop="topicName" label-width="150px" class="add-form-item">
|
<el-form-item label="课题名称" prop="topicName" label-width="150px" class="add-form-item">
|
||||||
<el-input v-model="form.topicName"
|
<el-input
|
||||||
placeholder="请输入课题名称"
|
v-model="form.topicName"
|
||||||
clearable></el-input>
|
placeholder="请输入课题名称"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
class="common-button-primary"
|
class="common-button-primary"
|
||||||
size="mini"
|
size="mini"
|
||||||
style="position:absolute;top: 10px;right: 0;"
|
style="position:absolute;top: 10px;right: 0;"
|
||||||
@click="handleGetTopic"
|
@click="handleGetTopic"
|
||||||
>调取课题</el-button>
|
>
|
||||||
|
调取课题
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="会议主办单位" prop="meetingOrganizer" label-width="150px" class="add-form-item">
|
<el-form-item label="会议主办单位" prop="meetingOrganizer" label-width="150px" class="add-form-item">
|
||||||
<el-input v-model="form.meetingOrganizer"
|
<el-input
|
||||||
placeholder="请输入会议主办单位"
|
v-model="form.meetingOrganizer"
|
||||||
clearable></el-input>
|
placeholder="请输入会议主办单位"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<CustomDatePick
|
<CustomDatePick
|
||||||
:config="{
|
v-model="form.meetingTime"
|
||||||
attrName: '会议时间',
|
:config="{
|
||||||
attrField: 'meetingTime'
|
attrName: '会议时间',
|
||||||
}"
|
attrField: 'meetingTime'
|
||||||
v-model="form.meetingTime"
|
}"
|
||||||
></CustomDatePick>
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="会议地点" prop="meetingAddress" label-width="150px" class="add-form-item">
|
<el-form-item label="会议地点" prop="meetingAddress" label-width="150px" class="add-form-item">
|
||||||
<el-input v-model="form.meetingAddress"
|
<el-input
|
||||||
placeholder="请输入会议地点"
|
v-model="form.meetingAddress"
|
||||||
clearable></el-input>
|
placeholder="请输入会议地点"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="参会人员" prop="participants" label-width="150px" class="add-form-item">
|
<el-form-item label="参会人员" prop="participants" label-width="150px" class="add-form-item">
|
||||||
<el-input v-model="form.participants"
|
<el-input
|
||||||
placeholder="请输入参会人员"
|
v-model="form.participants"
|
||||||
clearable></el-input>
|
placeholder="请输入参会人员"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<custom-file
|
<custom-file
|
||||||
:config="{
|
v-model="form.meetingMinutes"
|
||||||
attrName: '会议纪要',
|
:config="{
|
||||||
attrField: 'meetingMinutes'
|
attrName: '会议纪要',
|
||||||
}"
|
attrField: 'meetingMinutes'
|
||||||
v-model="form.meetingMinutes"
|
}"
|
||||||
></custom-file>
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<CustomTextarea
|
<CustomTextarea
|
||||||
:config="{
|
v-model="form.meetingContent"
|
||||||
|
:config="{
|
||||||
attrName: '会议主要内容',
|
attrName: '会议主要内容',
|
||||||
attrField: 'meetingContent'
|
attrField: 'meetingContent'
|
||||||
}"
|
}"
|
||||||
v-model="form.meetingContent"
|
/>
|
||||||
></CustomTextarea>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-col :span="24"><div class="divider-line">会议分类</div></el-col>
|
<el-col :span="24"><div class="divider-line">会议分类</div></el-col>
|
||||||
@@ -89,13 +103,16 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="1级会议分类" prop="firstMeetingType" label-width="150px" class="add-form-item">
|
<el-form-item label="1级会议分类" prop="firstMeetingType" label-width="150px" class="add-form-item">
|
||||||
<template slot="label">1级会议分类</template>
|
<template slot="label">1级会议分类</template>
|
||||||
<el-select v-model="form.firstMeetingType"
|
<el-select
|
||||||
placeholder="请选择1级会议分类"
|
v-model="form.firstMeetingType"
|
||||||
clearable>
|
placeholder="请选择1级会议分类"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="opt in dict.firstMeetingType"
|
v-for="opt in dict.firstMeetingType"
|
||||||
:key="opt.value"
|
:key="opt.value"
|
||||||
:value="opt.value === undefined ? '' :opt.value" :label="opt.label"
|
:value="opt.value === undefined ? '' :opt.value"
|
||||||
|
:label="opt.label"
|
||||||
>
|
>
|
||||||
{{ opt.label }}
|
{{ opt.label }}
|
||||||
</el-option>
|
</el-option>
|
||||||
@@ -105,13 +122,16 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="2级会议分类" prop="secondMeetingType" label-width="150px" class="add-form-item">
|
<el-form-item label="2级会议分类" prop="secondMeetingType" label-width="150px" class="add-form-item">
|
||||||
<template slot="label">2级会议分类</template>
|
<template slot="label">2级会议分类</template>
|
||||||
<el-select v-model="form.secondMeetingType"
|
<el-select
|
||||||
placeholder="请选择2级会议分类"
|
v-model="form.secondMeetingType"
|
||||||
clearable>
|
placeholder="请选择2级会议分类"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="opt in dict.secondMeetingType"
|
v-for="opt in dict.secondMeetingType"
|
||||||
:key="opt.value"
|
:key="opt.value"
|
||||||
:value="opt.value === undefined ? '' :opt.value" :label="opt.label"
|
:value="opt.value === undefined ? '' :opt.value"
|
||||||
|
:label="opt.label"
|
||||||
>
|
>
|
||||||
{{ opt.label }}
|
{{ opt.label }}
|
||||||
</el-option>
|
</el-option>
|
||||||
@@ -121,65 +141,99 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<template v-for="(item, index) in form.meetingTopicList">
|
<template v-for="(item, index) in form.meetingTopicList">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<div class="divider-line">
|
<div class="divider-line">
|
||||||
会议议题
|
会议议题
|
||||||
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addMeetingTopic"
|
<el-button
|
||||||
:style="{visibility: (index === form.meetingTopicList.length - 1) ? 'visible' : 'collapse'}"></el-button>
|
type="primary"
|
||||||
<el-button type="primary" size="mini" icon="el-icon-minus" @click="removeMeetingTopic(index)"
|
size="mini"
|
||||||
:style="{visibility: (form.meetingTopicList.length < 2 && index === 0) ? 'collapse' : 'visible'}"></el-button>
|
icon="el-icon-plus"
|
||||||
</div>
|
:style="{visibility: (index === form.meetingTopicList.length - 1) ? 'visible' : 'collapse'}"
|
||||||
</el-col>
|
@click="addMeetingTopic"
|
||||||
|
/>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="mini"
|
||||||
|
icon="el-icon-minus"
|
||||||
|
:style="{visibility: (form.meetingTopicList.length < 2 && index === 0) ? 'collapse' : 'visible'}"
|
||||||
|
@click="removeMeetingTopic(index)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="议题名称" :prop="'meetingTopicList.' + index + '.agendaName'" :rules="rules.agendaName" label-width="150px" class="add-form-item">
|
<el-form-item
|
||||||
<el-input v-model="item.agendaName"
|
label="议题名称"
|
||||||
placeholder="请输入议题名称"
|
:prop="'meetingTopicList.' + index + '.agendaName'"
|
||||||
clearable></el-input>
|
:rules="rules.agendaName"
|
||||||
|
label-width="150px"
|
||||||
|
class="add-form-item"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="item.agendaName"
|
||||||
|
placeholder="请输入议题名称"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<customFile
|
<customFile
|
||||||
|
v-model="item.agendaMaterials"
|
||||||
:config="{
|
:config="{
|
||||||
attrName: '议题材料',
|
attrName: '议题材料',
|
||||||
attrField: `meetingTopicList.${index}.agendaMaterials`
|
attrField: `meetingTopicList.${index}.agendaMaterials`
|
||||||
}"
|
}"
|
||||||
:rules="rules.agendaMaterials"
|
:rules="rules.agendaMaterials"
|
||||||
v-model="item.agendaMaterials"
|
/>
|
||||||
></customFile>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="汇报人" :prop="'meetingTopicList.' + index + '.reporter'" :rules="rules.reporter" label-width="150px" class="add-form-item">
|
<el-form-item
|
||||||
<el-input v-model="item.reporter"
|
label="汇报人"
|
||||||
placeholder="请输入汇报人"
|
:prop="'meetingTopicList.' + index + '.reporter'"
|
||||||
clearable></el-input>
|
:rules="rules.reporter"
|
||||||
|
label-width="150px"
|
||||||
|
class="add-form-item"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="item.reporter"
|
||||||
|
placeholder="请输入汇报人"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="汇报人单位" :prop="'meetingTopicList.' + index + '.reportingUnit'" :rules="rules.reportingUnit" label-width="150px" class="add-form-item">
|
<el-form-item
|
||||||
<el-input v-model="item.reportingUnit"
|
label="汇报人单位"
|
||||||
placeholder="请输入汇报人单位"
|
:prop="'meetingTopicList.' + index + '.reportingUnit'"
|
||||||
clearable></el-input>
|
:rules="rules.reportingUnit"
|
||||||
|
label-width="150px"
|
||||||
|
class="add-form-item"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="item.reportingUnit"
|
||||||
|
placeholder="请输入汇报人单位"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<CustomTextarea
|
<CustomTextarea
|
||||||
:config="{
|
v-model="item.agendaContent"
|
||||||
attrName: '议题主要内容',
|
:config="{
|
||||||
attrField: `meetingTopicList.${index}.agendaContent`
|
attrName: '议题主要内容',
|
||||||
}"
|
attrField: `meetingTopicList.${index}.agendaContent`
|
||||||
:rules="rules.agendaContent"
|
}"
|
||||||
v-model="item.agendaContent"
|
:rules="rules.agendaContent"
|
||||||
></CustomTextarea>
|
/>
|
||||||
</el-col>
|
</el-col>
|
||||||
</template>
|
</template>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="drawer-footer">
|
<div class="drawer-footer">
|
||||||
<el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button>
|
<el-button icon="el-icon-check" type="primary" :loading="isSubmit" @click="onSubmit">提交</el-button>
|
||||||
<el-button icon="el-icon-close" @click="onClose" :loading="isSubmit">取消</el-button>
|
<el-button icon="el-icon-close" :loading="isSubmit" @click="onClose">取消</el-button>
|
||||||
</div>
|
</div>
|
||||||
<TopicsTable ref="TopicsTableRef" @dragIn="dragIn"></TopicsTable>
|
<TopicsTable ref="TopicsTableRef" @dragIn="dragIn" />
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -187,10 +241,10 @@
|
|||||||
import CustomDatePick from '@/components/CustomFormComponents/DatePicker'
|
import CustomDatePick from '@/components/CustomFormComponents/DatePicker'
|
||||||
import CustomFile from '@/components/CustomFormComponents/File'
|
import CustomFile from '@/components/CustomFormComponents/File'
|
||||||
import CustomTextarea from '@/components/CustomFormComponents/Textarea'
|
import CustomTextarea from '@/components/CustomFormComponents/Textarea'
|
||||||
import TopicsTable from "./TopicsTable";
|
import TopicsTable from './TopicsTable';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "editDrawer",
|
name: 'EditDrawer',
|
||||||
components: {
|
components: {
|
||||||
CustomDatePick,
|
CustomDatePick,
|
||||||
CustomFile,
|
CustomFile,
|
||||||
@@ -213,52 +267,52 @@ export default {
|
|||||||
type: Object
|
type: Object
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data (){
|
data () {
|
||||||
const rules = {
|
const rules = {
|
||||||
meetingName: [
|
meetingName: [
|
||||||
{required: true, type: 'string', message: '会议名称不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '会议名称不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '会议名称不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '会议名称不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
meetingOrganizer: [
|
meetingOrganizer: [
|
||||||
{required: true, type: 'string', message: '会议主办单位不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '会议主办单位不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '会议主办单位不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '会议主办单位不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
meetingTime: [
|
meetingTime: [
|
||||||
{required: true, message: '会议时间不能为空', trigger: 'change'}
|
{ required: true, message: '会议时间不能为空', trigger: 'change' }
|
||||||
],
|
],
|
||||||
meetingAddress: [
|
meetingAddress: [
|
||||||
{required: true, type: 'string', message: '会议地点不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '会议地点不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '会议地点不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '会议地点不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
participants: [
|
participants: [
|
||||||
{required: true, type: 'string', message: '参会人员不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '参会人员不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '参会人员不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '参会人员不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
meetingContent: [
|
meetingContent: [
|
||||||
{required: true, type: 'string', message: '会议主要内容不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '会议主要内容不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '会议主要内容不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '会议主要内容不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
firstMeetingType: [
|
firstMeetingType: [
|
||||||
{required: true, message: '1级会议分类不能为空', trigger: 'change'}
|
{ required: true, message: '1级会议分类不能为空', trigger: 'change' }
|
||||||
],
|
],
|
||||||
secondMeetingType: [
|
secondMeetingType: [
|
||||||
{required: true, message: '2级会议分类不能为空', trigger: 'change'}
|
{ required: true, message: '2级会议分类不能为空', trigger: 'change' }
|
||||||
],
|
],
|
||||||
agendaName: [
|
agendaName: [
|
||||||
{required: true, type: 'string', message: '议题名称不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '议题名称不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '议题名称不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '议题名称不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
reporter: [
|
reporter: [
|
||||||
{required: true, type: 'string', message: '汇报人不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '汇报人不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '汇报人不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '汇报人不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
reportingUnit: [
|
reportingUnit: [
|
||||||
{required: true, type: 'string', message: '汇报人单位不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '汇报人单位不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '汇报人单位不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '汇报人单位不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
agendaContent: [
|
agendaContent: [
|
||||||
{required: true, type: 'string', message: '议题主要内容不能为空', trigger: 'change'},
|
{ required: true, type: 'string', message: '议题主要内容不能为空', trigger: 'change' },
|
||||||
{type: 'string', max: 500, message: '议题主要内容不能超过500个字符', trigger: 'change'}
|
{ type: 'string', max: 500, message: '议题主要内容不能超过500个字符', trigger: 'change' }
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
const form = {
|
const form = {
|
||||||
@@ -288,7 +342,7 @@ export default {
|
|||||||
reloadForm: true,
|
reloadForm: true,
|
||||||
api: {
|
api: {
|
||||||
add: 'lawss/insideOutsideMeeting/addMeetingInfo',
|
add: 'lawss/insideOutsideMeeting/addMeetingInfo',
|
||||||
delete :'lawss/insideOutsideMeeting/deleteMeetingInfo',
|
delete: 'lawss/insideOutsideMeeting/deleteMeetingInfo',
|
||||||
update: 'lawss/insideOutsideMeeting/updateMeetingInfo'
|
update: 'lawss/insideOutsideMeeting/updateMeetingInfo'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -311,10 +365,10 @@ export default {
|
|||||||
reportingUnit: '',
|
reportingUnit: '',
|
||||||
agendaContent: ''
|
agendaContent: ''
|
||||||
}
|
}
|
||||||
this.form.meetingTopicList = [...this.form.meetingTopicList, meetingTopicItem]
|
this.form.meetingTopicList = [ ...this.form.meetingTopicList, meetingTopicItem ]
|
||||||
},
|
},
|
||||||
removeMeetingTopic (index) {
|
removeMeetingTopic (index) {
|
||||||
let res = []
|
const res = []
|
||||||
this.form.meetingTopicList.forEach((item, i) => {
|
this.form.meetingTopicList.forEach((item, i) => {
|
||||||
if (i !== index) {
|
if (i !== index) {
|
||||||
res.push(item)
|
res.push(item)
|
||||||
|
|||||||
@@ -4,200 +4,236 @@
|
|||||||
<div class="search-area">
|
<div class="search-area">
|
||||||
<el-form :modal="searchForm" :inline="true" class="label-input-form">
|
<el-form :modal="searchForm" :inline="true" class="label-input-form">
|
||||||
<el-formItem label="会议名称" prop="meetingName" class="search-item">
|
<el-formItem label="会议名称" prop="meetingName" class="search-item">
|
||||||
<el-input v-model="searchForm.meetingName" clearable placeholder="请输入会议名称" :maxlength="100" @keyup.enter.native="onSearch"/>
|
<el-input
|
||||||
|
v-model="searchForm.meetingName"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入会议名称"
|
||||||
|
:maxlength="100"
|
||||||
|
@keyup.enter.native="onSearch"
|
||||||
|
/>
|
||||||
</el-formItem>
|
</el-formItem>
|
||||||
<el-formItem label="会议主办单位" prop="meetingOrganizer" class="search-item">
|
<el-formItem label="会议主办单位" prop="meetingOrganizer" class="search-item">
|
||||||
<el-input v-model="searchForm.meetingOrganizer" clearable placeholder="请输入会议主办单位" :maxlength="100" @keyup.enter.native="onSearch"/>
|
<el-input
|
||||||
|
v-model="searchForm.meetingOrganizer"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入会议主办单位"
|
||||||
|
:maxlength="100"
|
||||||
|
@keyup.enter.native="onSearch"
|
||||||
|
/>
|
||||||
</el-formItem>
|
</el-formItem>
|
||||||
<el-formItem label="会议时间" class="search-item" style="margin-right: 0">
|
<el-formItem label="会议时间" class="search-item" style="margin-right: 0">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
value-format="yyyy-MM-dd"
|
v-model="searchForm.meetingTimeBegin"
|
||||||
format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
type="date"
|
format="yyyy-MM-dd"
|
||||||
clearable
|
type="date"
|
||||||
:editable="true"
|
clearable
|
||||||
placeholder="选择开始时间"
|
:editable="true"
|
||||||
v-model="searchForm.meetingTimeBegin"
|
placeholder="选择开始时间"
|
||||||
>
|
/>
|
||||||
</el-date-picker>
|
|
||||||
</el-formItem>
|
</el-formItem>
|
||||||
<el-form-item label="至" label-width="25px" class="search-item">
|
<el-form-item label="至" label-width="25px" class="search-item">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
value-format="yyyy-MM-dd"
|
v-model="searchForm.meetingTimeEnd"
|
||||||
format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
type="date"
|
format="yyyy-MM-dd"
|
||||||
clearable
|
type="date"
|
||||||
:editable="true"
|
clearable
|
||||||
placeholder="选择结束时间"
|
:editable="true"
|
||||||
v-model="searchForm.meetingTimeEnd"
|
placeholder="选择结束时间"
|
||||||
>
|
/>
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="search-item btn-box">
|
<el-form-item class="search-item btn-box">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
v-btn-permission="'520f8524252e76e751a883a0a8a8615c'"
|
||||||
size="mini"
|
type="primary"
|
||||||
class="common-button-primary"
|
size="mini"
|
||||||
v-btn-permission="'520f8524252e76e751a883a0a8a8615c'"
|
class="common-button-primary"
|
||||||
@click="onSearch">
|
@click="onSearch"
|
||||||
|
>
|
||||||
查询
|
查询
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
v-btn-permission="'6a9483964b7b49dd473ef9e6fd4a649e'"
|
||||||
class="common-button-default"
|
size="mini"
|
||||||
v-btn-permission="'6a9483964b7b49dd473ef9e6fd4a649e'"
|
class="common-button-default"
|
||||||
@click="onClear">清空
|
@click="onClear"
|
||||||
|
>
|
||||||
|
清空
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
v-btn-permission="'7f98cd8b424d6ad83b1770a6576993fc'"
|
||||||
type="primary"
|
size="mini"
|
||||||
class="common-button-primary"
|
type="primary"
|
||||||
v-btn-permission="'7f98cd8b424d6ad83b1770a6576993fc'"
|
class="common-button-primary"
|
||||||
@click="advancedSearch">高级检索
|
@click="advancedSearch"
|
||||||
|
>
|
||||||
|
高级检索
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<!--按钮区-->
|
<!--按钮区-->
|
||||||
<div class="action-bar">
|
<div class="action-bar">
|
||||||
<el-button class="common-button-default export-button"
|
<el-button
|
||||||
size="mini"
|
v-btn-permission="'6d749caee927a480fa99e5ddc48d8e05'"
|
||||||
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
|
class="common-button-default export-button"
|
||||||
v-btn-permission="'6d749caee927a480fa99e5ddc48d8e05'"
|
size="mini"
|
||||||
@click="exportData"><i class="iconfont"></i>导出
|
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
|
||||||
|
@click="exportData"
|
||||||
|
>
|
||||||
|
<i class="iconfont"></i>导出
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button class="common-button-default in-button"
|
<el-button
|
||||||
size="mini"
|
v-btn-permission="'b168e0381ec7ba5d762c36ad2935542f'"
|
||||||
v-btn-permission="'b168e0381ec7ba5d762c36ad2935542f'"
|
class="common-button-default in-button"
|
||||||
@click="addImportModal"><i class="iconfont"></i>导入
|
size="mini"
|
||||||
|
@click="addImportModal"
|
||||||
|
>
|
||||||
|
<i class="iconfont"></i>导入
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button class="common-button-default in-button"
|
<el-button
|
||||||
size="mini"
|
v-btn-permission="'7990fb64c468c2d37cc2246fc3cb694e'"
|
||||||
v-btn-permission="'7990fb64c468c2d37cc2246fc3cb694e'"
|
class="common-button-default in-button"
|
||||||
@click="handleMoudel"><i class="iconfont"></i>模板下载
|
size="mini"
|
||||||
|
@click="handleMoudel"
|
||||||
|
>
|
||||||
|
<i class="iconfont"></i>模板下载
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary"
|
<el-button
|
||||||
class="common-button-primary add-button"
|
v-btn-permission="'f0e663244c1f823caa07e99bfc6535dc'"
|
||||||
size="mini"
|
type="primary"
|
||||||
v-btn-permission="'f0e663244c1f823caa07e99bfc6535dc'"
|
class="common-button-primary add-button"
|
||||||
@click="openDrawer('add')"
|
size="mini"
|
||||||
><i class="el-icon-plus"></i>新增
|
@click="openDrawer('add')"
|
||||||
|
>
|
||||||
|
<i class="el-icon-plus" />新增
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<el-table
|
<el-table
|
||||||
ref="selection"
|
ref="selection"
|
||||||
:data="data"
|
:data="data"
|
||||||
tooltip-effect="dark"
|
tooltip-effect="dark"
|
||||||
style="width:100%;height: calc(100% - 57px)"
|
style="width:100%;height: calc(100% - 57px)"
|
||||||
height="string"
|
height="string"
|
||||||
border
|
border
|
||||||
class="drag-table"
|
class="drag-table"
|
||||||
@sort-change="sortChange"
|
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px', padding: 0}"
|
||||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px', padding: 0}"
|
:cell-style="{padding: 0}"
|
||||||
:cell-style="{padding: 0}"
|
@sort-change="sortChange"
|
||||||
@selection-change="selectionChange"
|
@selection-change="selectionChange"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="selection"
|
type="selection"
|
||||||
width="55"
|
width="55"
|
||||||
align="center">
|
align="center"
|
||||||
</el-table-column>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="index"
|
type="index"
|
||||||
width="55"
|
width="55"
|
||||||
label="序号"
|
label="序号"
|
||||||
align="center">
|
align="center"
|
||||||
|
>
|
||||||
<template slot-scope="{scope, column, $index}">
|
<template slot-scope="{scope, column, $index}">
|
||||||
{{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }}
|
{{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
prop="meetingName"
|
prop="meetingName"
|
||||||
label="会议名称"
|
label="会议名称"
|
||||||
align="center"
|
align="center"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
<template slot-scope="{row, column, $index}">
|
<template slot-scope="{row, column, $index}">
|
||||||
<a class="table-jump" style="color: #2d8cf0" @click="handlePreview(row.id)">{{ row.meetingName }}</a>
|
<a class="table-jump" style="color: #2d8cf0" @click="handlePreview(row.id)">{{ row.meetingName }}</a>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
prop="meetingOrganizer"
|
prop="meetingOrganizer"
|
||||||
label="会议主办单位"
|
label="会议主办单位"
|
||||||
align="center"
|
align="center"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
/>
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
prop="meetingTime"
|
prop="meetingTime"
|
||||||
label="会议时间"
|
label="会议时间"
|
||||||
align="center"
|
align="center"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
/>
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
prop="meetingAddress"
|
prop="meetingAddress"
|
||||||
label="会议地点"
|
label="会议地点"
|
||||||
align="center"
|
align="center"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
/>
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
prop="agendaNameStr"
|
prop="agendaNameStr"
|
||||||
label="议题名称"
|
label="议题名称"
|
||||||
align="center"
|
align="center"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
/>
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="isPermission('62cdf3d570941c154d28371632ccfa2e,71155d105e930bb8e7881a8a9809646a') > 0"
|
v-if="isPermission('62cdf3d570941c154d28371632ccfa2e,71155d105e930bb8e7881a8a9809646a') > 0"
|
||||||
prop="action"
|
prop="action"
|
||||||
label="操作"
|
label="操作"
|
||||||
align="center"
|
align="center"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<a class="table-jump" v-btn-permission="'62cdf3d570941c154d28371632ccfa2e'" style="color: #2d8cf0" @click="openDrawer('edit', scope.row)">编辑</a>
|
<a v-btn-permission="'62cdf3d570941c154d28371632ccfa2e'" class="table-jump" style="color: #2d8cf0" @click="openDrawer('edit', scope.row)">编辑</a>
|
||||||
<a class="table-jump" v-btn-permission="'71155d105e930bb8e7881a8a9809646a'" style="color: #f56c6c;margin-left: 10px" @click="onDelete(scope.row.id)">删除</a>
|
<a v-btn-permission="'71155d105e930bb8e7881a8a9809646a'" class="table-jump" style="color: #f56c6c;margin-left: 10px" @click="onDelete(scope.row.id)">删除</a>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<pagination :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
<pagination :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange" />
|
||||||
<loading :loading="loading">数据获取中...</loading>
|
<loading :loading="loading">数据获取中...</loading>
|
||||||
</div>
|
</div>
|
||||||
<!-- 高级搜索 -->
|
<!-- 高级搜索 -->
|
||||||
<AdvancedSearch :visible.sync="advancedSearchVisible" :form="advancedSearchForm" :dict="dict" @search="onSearch" @resetAdvancedSearchForm="resetAdvancedSearchForm"></AdvancedSearch>
|
<AdvancedSearch
|
||||||
|
:visible.sync="advancedSearchVisible"
|
||||||
|
:form="advancedSearchForm"
|
||||||
|
:dict="dict"
|
||||||
|
@search="onSearch"
|
||||||
|
@resetAdvancedSearchForm="resetAdvancedSearchForm"
|
||||||
|
/>
|
||||||
<!-- 新增编辑 -->
|
<!-- 新增编辑 -->
|
||||||
<editDrawer ref="editDrawerRef" :dict="dict" :showDrawer.sync="showDrawer" :title="titleDrawer" :editForm="editForm" @load="getData"></editDrawer>
|
<editDrawer
|
||||||
|
ref="editDrawerRef"
|
||||||
|
:dict="dict"
|
||||||
|
:showDrawer.sync="showDrawer"
|
||||||
|
:title="titleDrawer"
|
||||||
|
:editForm="editForm"
|
||||||
|
@load="getData"
|
||||||
|
/>
|
||||||
<!-- 导入 -->
|
<!-- 导入 -->
|
||||||
<ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData"></ImportZip>
|
<ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData" />
|
||||||
<!-- 导出 -->
|
<!-- 导出 -->
|
||||||
<ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog>
|
<ExportDialog ref="exportDialogRef" @exportName="handleExport" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import editDrawer from "./components/editDrawer";
|
import editDrawer from './components/editDrawer';
|
||||||
import AdvancedSearch from './components/advancedSearch'
|
import AdvancedSearch from './components/advancedSearch'
|
||||||
import ImportZip from '@/components/hzwlComponents/importZip'
|
import ImportZip from '@/components/hzwlComponents/importZip'
|
||||||
import ExportDialog from '@/components/hzwlComponents/exportDialog'
|
import ExportDialog from '@/components/hzwlComponents/exportDialog'
|
||||||
import store from "@/store";
|
import store from '@/store';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "meeting",
|
name: 'Meeting',
|
||||||
components: {
|
components: {
|
||||||
editDrawer,
|
editDrawer,
|
||||||
AdvancedSearch,
|
AdvancedSearch,
|
||||||
ImportZip,
|
ImportZip,
|
||||||
ExportDialog
|
ExportDialog
|
||||||
},
|
},
|
||||||
data(){
|
data () {
|
||||||
return {
|
return {
|
||||||
searchForm: {},
|
searchForm: {},
|
||||||
advancedSearchForm: {},
|
advancedSearchForm: {},
|
||||||
@@ -216,18 +252,18 @@ export default {
|
|||||||
editForm: void 0,
|
editForm: void 0,
|
||||||
api: {
|
api: {
|
||||||
page: 'lawss/insideOutsideMeeting/page',
|
page: 'lawss/insideOutsideMeeting/page',
|
||||||
delete :'lawss/insideOutsideMeeting/deleteMeetingInfo'
|
delete: 'lawss/insideOutsideMeeting/deleteMeetingInfo'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created () {
|
||||||
this.getDicTypeListCode()
|
this.getDicTypeListCode()
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 点击查看
|
// 点击查看
|
||||||
handlePreview(id) {
|
handlePreview (id) {
|
||||||
let routeUrl = this.$router.resolve({
|
const routeUrl = this.$router.resolve({
|
||||||
name: 'meetingDetail',
|
name: 'meetingDetail',
|
||||||
params: { id }
|
params: { id }
|
||||||
})
|
})
|
||||||
@@ -235,13 +271,13 @@ export default {
|
|||||||
},
|
},
|
||||||
isPermission (value) {
|
isPermission (value) {
|
||||||
let hasCount = 0
|
let hasCount = 0
|
||||||
let set =new Set( value.split(","))
|
const set = new Set( value.split(','))
|
||||||
let menuList = store.getters.getMenuList
|
const menuList = store.getters.getMenuList
|
||||||
if (menuList === '') {
|
if (menuList === '') {
|
||||||
return hasCount
|
return hasCount
|
||||||
} else {
|
} else {
|
||||||
menuList.map((menu) => {
|
menuList.map((menu) => {
|
||||||
if ( set.has(menu.id)|| value === undefined || value === '') {
|
if ( set.has(menu.id) || value === undefined || value === '') {
|
||||||
hasCount++
|
hasCount++
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -251,14 +287,14 @@ export default {
|
|||||||
async getData () {
|
async getData () {
|
||||||
this.searchForm.pageSize = this.searchForm.pageSize || this.$store.getters.userInfo.configContent
|
this.searchForm.pageSize = this.searchForm.pageSize || this.$store.getters.userInfo.configContent
|
||||||
this.searchForm.page = this.searchForm.page || 1
|
this.searchForm.page = this.searchForm.page || 1
|
||||||
let params = { ...this.searchForm, ...this.advancedSearchForm }
|
const params = { ...this.searchForm, ...this.advancedSearchForm }
|
||||||
const res = await this.$http._getData(this.api.page, params, {_this:this,loading: 'loading'})
|
const res = await this.$http._getData(this.api.page, params, { _this: this, loading: 'loading' })
|
||||||
if (res.ok && res.data) {
|
if (res.ok && res.data) {
|
||||||
this.data = res.data.list
|
this.data = res.data.list
|
||||||
this.total = res.data.count
|
this.total = res.data.count
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onSearch(){
|
onSearch () {
|
||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
onClear () {
|
onClear () {
|
||||||
@@ -283,7 +319,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 表格排序
|
// 表格排序
|
||||||
sortChange({ column, prop, order }) {
|
sortChange ({ column, prop, order }) {
|
||||||
this.searchForm.sortField = prop
|
this.searchForm.sortField = prop
|
||||||
this.searchForm.sortMode = 'asc'
|
this.searchForm.sortMode = 'asc'
|
||||||
if (order === 'descending') {
|
if (order === 'descending') {
|
||||||
@@ -317,23 +353,23 @@ export default {
|
|||||||
exportIds: this.selectedList.join(',')
|
exportIds: this.selectedList.join(',')
|
||||||
}
|
}
|
||||||
let query = '?'
|
let query = '?'
|
||||||
for(let i in params){
|
for(const i in params) {
|
||||||
if (params[i] && params[i]!=='') {
|
if (params[i] && params[i] !== '') {
|
||||||
query = query + i + '=' + params[i] + '&'
|
query = query + i + '=' + params[i] + '&'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
query = query.slice(0,-1)
|
query = query.slice(0, -1)
|
||||||
window.open('/api/lawss/insideOutsideMeeting/exportMeetingInfo' + query)
|
window.open('/api/lawss/insideOutsideMeeting/exportMeetingInfo' + query)
|
||||||
this.$refs.exportDialogRef.cancel()
|
this.$refs.exportDialogRef.cancel()
|
||||||
this.$message.success('导出信息成功')
|
this.$message.success('导出信息成功')
|
||||||
},
|
},
|
||||||
// 导入
|
// 导入
|
||||||
addImportModal() {
|
addImportModal () {
|
||||||
this.importModalShowFlag = true
|
this.importModalShowFlag = true
|
||||||
this.importExcelUrl = '/api/lawss/insideOutsideMeeting/importMeetingInfo'
|
this.importExcelUrl = '/api/lawss/insideOutsideMeeting/importMeetingInfo'
|
||||||
},
|
},
|
||||||
// 模板下载
|
// 模板下载
|
||||||
handleMoudel(){
|
handleMoudel () {
|
||||||
window.open('/api/lawss/insideOutsideMeeting/exportTemplateFile?fileName=内外部会议导入模板')
|
window.open('/api/lawss/insideOutsideMeeting/exportTemplateFile?fileName=内外部会议导入模板')
|
||||||
},
|
},
|
||||||
// 新增编辑
|
// 新增编辑
|
||||||
@@ -348,7 +384,7 @@ export default {
|
|||||||
this.$set(this, 'editForm', row)
|
this.$set(this, 'editForm', row)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
this.$nextTick(()=>{
|
this.$nextTick(() => {
|
||||||
this.showDrawer = true
|
this.showDrawer = true
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user