style: 格式化代码

This commit is contained in:
zyn
2024-01-23 11:41:47 +08:00
parent b76d2ff5ca
commit b42d918212
2 changed files with 345 additions and 255 deletions
@@ -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)
+173 -137
View File
@@ -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">&#xe6e9;</i>导出 title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
@click="exportData"
>
<i class="iconfont">&#xe6e9;</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">&#xe6de;</i>导入 size="mini"
@click="addImportModal"
>
<i class="iconfont">&#xe6de;</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">&#xe6de;</i>模板下载 size="mini"
@click="handleMoudel"
>
<i class="iconfont">&#xe6de;</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
}) })
}, },