【更新】更新版本v1.3.2 具体可看readme更新日志

pull/22/head v1.3.2
俞宝山 2021-03-16 21:07:38 +08:00 committed by 小诺
parent 4bd84924be
commit 3e75c46b0a
25 changed files with 768 additions and 730 deletions

View File

@ -214,6 +214,14 @@ jodconverter:
### 更新日志:
#### v1.3.2
- 1、【bug修复】修复一个代码生成bug
- 2、【修复】新增数据时若手动设置了创建人和创建时间则不去设置创建人和创建时间
- 3、【修复】前端传入token为undefined时判断为无效
- 4、【新增】新增XCard组件为列表查询区域统一样式
- 5、【修改】更改所有列表界面默认为“紧凑”
- 6、【修改】更改所有列表界面查询区域与列表在不同card显示
#### v1.3.1
- 1、【更新】更换新版logo小诺更有朝气
- 2、【更新】更新ip地址定位描述

View File

@ -21,7 +21,6 @@ Table 重封装组件说明
<template>
<s-table
ref="table"
size="default"
:rowKey="(record) => record.data.id"
:columns="columns"
:data="loadData"
@ -102,7 +101,6 @@ Table 重封装组件说明
<template>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
>

View File

@ -1,6 +1,5 @@
import T from 'ant-design-vue/es/table/Table'
import get from 'lodash.get'
import screenfull from 'screenfull'
import draggable from 'vuedraggable'
import columnSetting from './columnSetting'
import './index.less'
@ -47,7 +46,7 @@ export default {
},
size: {
type: String,
default: 'default'
default: 'middle'
},
/**
* alert: {
@ -331,20 +330,6 @@ export default {
},
onClick: () => {
}
},
{
icon: this.isFullscreen ? 'fullscreen-exit' : 'fullscreen',
title: '',
onClick: () => {
if (screenfull.isEnabled) {
const table = document.querySelector('.table-wrapper')
const antdCard = table.parentNode.parentNode
if (antdCard.classList.contains('ant-card')) {
screenfull.toggle(antdCard)
this.isFullscreen = !this.isFullscreen
}
}
}
}
]
if (this.extraTool.length) {

View File

@ -23,7 +23,6 @@
<a-spin :spinning="Loading">
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"

View File

@ -1,8 +1,8 @@
/* eslint-disable eqeqeq */
<template>
<a-card :bordered="false" >
<a-spin :spinning="loading">
<div class="table-page-search-wrapper" v-if="hasPerm('sysApp:page')">
<div>
<x-card v-if="hasPerm('sysApp:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
@ -24,49 +24,53 @@
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onChange }"
>
<template slot="operator" v-if="hasPerm('sysApp:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysApp:add')"></a-button>
</template>
<span slot="active" slot-scope="text">
{{ activeFilter(text) }}
</span>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysApp:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysApp:edit') & hasPerm('sysApp:delete')" />
<a-popconfirm v-if="hasPerm('sysApp:delete')" placement="topRight" title="确认删除?" @confirm="() => sysAppDelete(record)">
<a>删除</a>
</a-popconfirm>
<a-divider type="vertical" v-if="hasPerm('sysApp:setAsDefault') & hasPerm('sysApp:delete') & record.active == 'N' || hasPerm('sysApp:edit') & hasPerm('sysApp:setAsDefault') & record.active == 'N'" />
<a-popconfirm v-if="hasPerm('sysApp:setAsDefault') & record.active == 'N'" placement="topRight" title="设置为默认应用?" @confirm="() => sysDefault(record)">
<a>设为默认</a>
</a-popconfirm>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
</a-spin>
</a-card>
</x-card>
<a-card :bordered="false" >
<a-spin :spinning="loading">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onChange }"
>
<template slot="operator" v-if="hasPerm('sysApp:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysApp:add')"></a-button>
</template>
<span slot="active" slot-scope="text">
{{ activeFilter(text) }}
</span>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysApp:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysApp:edit') & hasPerm('sysApp:delete')" />
<a-popconfirm v-if="hasPerm('sysApp:delete')" placement="topRight" title="确认删除?" @confirm="() => sysAppDelete(record)">
<a>删除</a>
</a-popconfirm>
<a-divider type="vertical" v-if="hasPerm('sysApp:setAsDefault') & hasPerm('sysApp:delete') & record.active == 'N' || hasPerm('sysApp:edit') & hasPerm('sysApp:setAsDefault') & record.active == 'N'" />
<a-popconfirm v-if="hasPerm('sysApp:setAsDefault') & record.active == 'N'" placement="topRight" title="设置为默认应用?" @confirm="() => sysDefault(record)">
<a>设为默认</a>
</a-popconfirm>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
</a-spin>
</a-card>
</div>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { getAppPage, sysAppDelete, sysAppSetAsDefault } from '@/api/modular/system/appManage'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import editForm from './editForm'
import addForm from './addForm'
export default {
components: {
XCard,
STable,
editForm,
addForm
@ -105,6 +109,7 @@
scopedSlots: { customRender: 'status' }
}
],
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
// Promise
loadData: parameter => {
return getAppPage(Object.assign(parameter, this.queryParam)).then((res) => {

View File

@ -1,87 +1,91 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysConfig:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="参数名称">
<a-input v-model="queryParam.name" allow-clear placeholder="请输入参数名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="唯一编码">
<a-input v-model="queryParam.code" allow-clear placeholder="请输入唯一编码"/>
</a-form-item>
</a-col>
<template v-if="advanced">
<div>
<x-card v-if="hasPerm('sysConfig:page')">
<div slot="content" class="table-page-search-wrapper" >
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="所属分类">
<a-select v-model="queryParam.groupCode" placeholder="请选择所属分类" allow-clear>
<a-select-option v-for="(item,index) in groupCodeDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
<a-form-item label="参数名称">
<a-input v-model="queryParam.name" allow-clear placeholder="请输入参数名称"/>
</a-form-item>
</a-col>
</template>
<a-col :md="!advanced && 8 || 24" :sm="24" >
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.code"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysConfig:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysConfig:add')"></a-button>
</template>
<span slot="name" slot-scope="text">
<ellipsis :length="20" tooltip>{{ text }}</ellipsis>
</span>
<span slot="code" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="value" slot-scope="text">
<ellipsis :length="16" tooltip>{{ text }}</ellipsis>
</span>
<span slot="remark" slot-scope="text">
<ellipsis :length="16" tooltip>{{ text }}</ellipsis>
</span>
<span slot="groupCode" slot-scope="text">
{{ groupCodeFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysConfig:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysConfig:edit') & hasPerm('sysConfig:delete')"/>
<a-popconfirm v-if="hasPerm('sysConfig:delete')" placement="topRight" title="确认删除?" @confirm="() => sysConfigDelete(record)">
<a>删除</a>
</a-popconfirm>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" v-if="hasPerm('sysConfig:add')"/>
<edit-form ref="editForm" @ok="handleOk" v-if="hasPerm('sysConfig:edit')"/>
</a-card>
<a-col :md="8" :sm="24">
<a-form-item label="唯一编码">
<a-input v-model="queryParam.code" allow-clear placeholder="请输入唯一编码"/>
</a-form-item>
</a-col>
<template v-if="advanced">
<a-col :md="8" :sm="24">
<a-form-item label="所属分类">
<a-select v-model="queryParam.groupCode" placeholder="请选择所属分类" allow-clear>
<a-select-option v-for="(item,index) in groupCodeDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
</template>
<a-col :md="!advanced && 8 || 24" :sm="24" >
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.code"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysConfig:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysConfig:add')"></a-button>
</template>
<span slot="name" slot-scope="text">
<ellipsis :length="20" tooltip>{{ text }}</ellipsis>
</span>
<span slot="code" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="value" slot-scope="text">
<ellipsis :length="16" tooltip>{{ text }}</ellipsis>
</span>
<span slot="remark" slot-scope="text">
<ellipsis :length="16" tooltip>{{ text }}</ellipsis>
</span>
<span slot="groupCode" slot-scope="text">
{{ groupCodeFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysConfig:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysConfig:edit') & hasPerm('sysConfig:delete')"/>
<a-popconfirm v-if="hasPerm('sysConfig:delete')" placement="topRight" title="确认删除?" @confirm="() => sysConfigDelete(record)">
<a>删除</a>
</a-popconfirm>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" v-if="hasPerm('sysConfig:add')"/>
<edit-form ref="editForm" @ok="handleOk" v-if="hasPerm('sysConfig:edit')"/>
</a-card>
</div>
</template>
<script>
import { STable, Ellipsis } from '@/components'
import { STable, Ellipsis, XCard } from '@/components'
import { sysConfigPage, sysConfigDelete } from '@/api/modular/system/configManage'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import addForm from './addForm'
import editForm from './editForm'
export default {
components: {
XCard,
STable,
Ellipsis,
addForm,

View File

@ -6,8 +6,8 @@
:footer="null"
@cancel="handleCancel"
>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysDictData:page')">
<x-card v-if="hasPerm('sysDictData:page')">
<div slot="content" class="table-page-search-wrapper" >
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
@ -29,9 +29,10 @@
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="false"
@ -58,13 +59,14 @@
</a-modal>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { sysDictDataPage, sysDictDataDelete } from '@/api/modular/system/dictDataManage'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import addForm from './addForm'
import editForm from './editForm'
export default {
components: {
XCard,
STable,
addForm,
editForm

View File

@ -1,75 +1,79 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysDictType:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="类型名称" >
<a-input v-model="queryParam.name" allow-clear placeholder="请输入类型名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="唯一编码" v-if="hasPerm('sysDictType:page')">
<a-input v-model="queryParam.code" allow-clear placeholder="请输入唯一编码"/>
</a-form-item>
</a-col>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="false"
:rowKey="(record) => record.code"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysDictType:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysDictType:add')"></a-button>
</template>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a @click="$refs.dataIndex.index(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysDictType:edit') || hasPerm('sysDictType:delete')"/>
<a-dropdown v-if="hasPerm('sysDictType:edit') || hasPerm('sysDictType:delete')">
<a class="ant-dropdown-link">
更多 <a-icon type="down" />
</a>
<a-menu slot="overlay">
<a-menu-item v-if="hasPerm('sysDictType:edit')">
<a @click="$refs.editForm.edit(record)"></a>
</a-menu-item>
<a-menu-item v-if="hasPerm('sysDictType:delete')">
<a-popconfirm placement="topRight" title="确认删除?" @confirm="() => sysDictTypeDelete(record)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
<data-index ref="dataIndex" @ok="handleOk" />
</a-card>
<div>
<x-card v-if="hasPerm('sysDictType:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="类型名称" >
<a-input v-model="queryParam.name" allow-clear placeholder="请输入类型名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="唯一编码" v-if="hasPerm('sysDictType:page')">
<a-input v-model="queryParam.code" allow-clear placeholder="请输入唯一编码"/>
</a-form-item>
</a-col>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="false"
:rowKey="(record) => record.code"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysDictType:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysDictType:add')"></a-button>
</template>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a @click="$refs.dataIndex.index(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysDictType:edit') || hasPerm('sysDictType:delete')"/>
<a-dropdown v-if="hasPerm('sysDictType:edit') || hasPerm('sysDictType:delete')">
<a class="ant-dropdown-link">
更多 <a-icon type="down" />
</a>
<a-menu slot="overlay">
<a-menu-item v-if="hasPerm('sysDictType:edit')">
<a @click="$refs.editForm.edit(record)"></a>
</a-menu-item>
<a-menu-item v-if="hasPerm('sysDictType:delete')">
<a-popconfirm placement="topRight" title="确认删除?" @confirm="() => sysDictTypeDelete(record)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
<data-index ref="dataIndex" @ok="handleOk" />
</a-card>
</div>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { sysDictTypePage, sysDictTypeDelete, sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import addForm from './addForm'
import editForm from './editForm'
import dataIndex from './dictdata/index'
export default {
components: {
XCard,
STable,
addForm,
editForm,

View File

@ -1,7 +1,7 @@
<template>
<a-spin :spinning="cardLoading">
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysFileInfo:page')">
<x-card v-if="hasPerm('sysFileInfo:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
@ -36,20 +36,10 @@
</a-row>
</a-form>
</div>
<!--<div class="table-operator" v-if="hasPerm('sysFileInfo:upload')">
<a-upload
v-if="hasPerm('sysFileInfo:upload')"
name="file"
:multiple="true"
:customRequest="customRequest"
:showUploadList="false"
>
<a-button> <a-icon type="upload" />上传文件</a-button>
</a-upload>
</div>-->
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
@ -89,6 +79,8 @@
</a-popconfirm>
<a-divider type="vertical" v-if="(hasPerm('sysFileInfo:preview') & record.fileSuffix === 'png' || record.fileSuffix === 'jpeg' || record.fileSuffix === 'jpg'|| record.fileSuffix === 'gif'|| record.fileSuffix === 'tif' || record.fileSuffix === 'bmp' ) & hasPerm('sysFileInfo:delete')"/>
<a v-if="(hasPerm('sysFileInfo:preview') & record.fileSuffix === 'png' || record.fileSuffix === 'jpeg'|| record.fileSuffix === 'jpg'|| record.fileSuffix === 'gif'|| record.fileSuffix === 'tif' || record.fileSuffix === 'bmp' )" @click="$refs.previewForm.preview(record)"></a>
<a-divider type="vertical" v-if="(hasPerm('sysFileInfo:preview') & record.fileSuffix === 'doc' || record.fileSuffix === 'docx'|| record.fileSuffix === 'xls'|| record.fileSuffix === 'xlsx') & hasPerm('sysFileInfo:delete')"/>
<a v-if="(hasPerm('sysFileInfo:preview') & record.fileSuffix === 'doc' || record.fileSuffix === 'docx'|| record.fileSuffix === 'xls'|| record.fileSuffix === 'xlsx')" @click="previewMicrosoft(record)"></a>
</span>
</s-table>
<detail-form ref="detailForm" @ok="handleOk" v-if="hasPerm('sysFileInfo:detail')"/>
@ -97,13 +89,14 @@
</a-spin>
</template>
<script>
import { STable, Ellipsis } from '@/components'
import { STable, Ellipsis, XCard } from '@/components'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import { sysFileInfoPage, sysFileInfoDelete, sysFileInfoUpload, sysFileInfoDownload } from '@/api/modular/system/fileManage'
import detailForm from './detailForm'
import previewForm from './previewForm'
export default {
components: {
XCard,
STable,
Ellipsis,
detailForm,
@ -178,6 +171,12 @@
return values[0].value
}
},
/**
* 预览文件微软插件
*/
previewMicrosoft (record) {
window.open('https://view.officeapps.live.com/op/view.aspx?src=' + process.env.VUE_APP_API_BASE_URL + '/sysFileInfo/download?id=' + record.id)
},
/**
* 获取字典数据
*/

View File

@ -1,100 +1,104 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysOpLog:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="日志名称">
<a-input v-model="queryParam.name" allow-clear placeholder="请输入日志名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="操作类型">
<a-select v-model="queryParam.opType" allow-clear placeholder="请选择操作类型" >
<a-select-option v-for="(item,index) in opTypeDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<template v-if="advanced">
<div>
<x-card v-if="hasPerm('sysOpLog:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="是否成功">
<a-select v-model="queryParam.success" placeholder="请选择是否成功" >
<a-select-option v-for="(item,index) in successDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
<a-form-item label="日志名称">
<a-input v-model="queryParam.name" allow-clear placeholder="请输入日志名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="操作类型">
<a-select v-model="queryParam.opType" allow-clear placeholder="请选择操作类型" >
<a-select-option v-for="(item,index) in opTypeDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="10" :sm="24">
<a-form-item label="操作时间">
<a-range-picker
v-model="queryParam.dates"
:show-time="{
hideDisabledOptions: true,
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
}"
format="YYYY-MM-DD HH:mm:ss"
/>
</a-form-item>
<template v-if="advanced">
<a-col :md="8" :sm="24">
<a-form-item label="是否成功">
<a-select v-model="queryParam.success" placeholder="请选择是否成功" >
<a-select-option v-for="(item,index) in successDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="10" :sm="24">
<a-form-item label="操作时间">
<a-range-picker
v-model="queryParam.dates"
:show-time="{
hideDisabledOptions: true,
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
}"
format="YYYY-MM-DD HH:mm:ss"
/>
</a-form-item>
</a-col>
</template>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</template>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysOpLog:delete')">
<a-popconfirm @confirm="() => sysOpLogDelete()" placement="top" title="确认清空日志?">
<a-button >清空日志</a-button>
</a-popconfirm>
</template>
<span slot="opType" slot-scope="text">
{{ opTypeFilter(text) }}
</span>
<span slot="success" slot-scope="text">
{{ successFilter(text) }}
</span>
<span slot="name" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="url" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="opTime" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="action" slot-scope="text, record">
<span slot="action" >
<a @click="$refs.detailsOplog.details(record)"></a>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysOpLog:delete')">
<a-popconfirm @confirm="() => sysOpLogDelete()" placement="top" title="确认清空日志?">
<a-button >清空日志</a-button>
</a-popconfirm>
</template>
<span slot="opType" slot-scope="text">
{{ opTypeFilter(text) }}
</span>
</span>
</s-table>
<details-oplog ref="detailsOplog"/>
</a-card>
<span slot="success" slot-scope="text">
{{ successFilter(text) }}
</span>
<span slot="name" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="url" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="opTime" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="action" slot-scope="text, record">
<span slot="action" >
<a @click="$refs.detailsOplog.details(record)"></a>
</span>
</span>
</s-table>
<details-oplog ref="detailsOplog"/>
</a-card>
</div>
</template>
<script>
import { STable, Ellipsis } from '@/components'
import { STable, Ellipsis, XCard } from '@/components'
import { sysOpLogPage, sysOpLogDelete } from '@/api/modular/system/logManage'
import detailsOplog from './details'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import moment from 'moment'
export default {
components: {
XCard,
STable,
Ellipsis,
detailsOplog

View File

@ -1,97 +1,101 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysVisLog:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="日志名称">
<a-input v-model="queryParam.name" allow-clear placeholder="请输入日志名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="访问类型">
<a-select v-model="queryParam.visType" allow-clear placeholder="请选择访问类型" >
<a-select-option v-for="(item,index) in visTypeDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<template v-if="advanced">
<div>
<x-card v-if="hasPerm('sysVisLog:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="是否成功">
<a-select v-model="queryParam.success" placeholder="请选择是否成功" >
<a-select-option v-for="(item,index) in successDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
<a-form-item label="日志名称">
<a-input v-model="queryParam.name" allow-clear placeholder="请输入日志名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="访问类型">
<a-select v-model="queryParam.visType" allow-clear placeholder="请选择访问类型" >
<a-select-option v-for="(item,index) in visTypeDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="10" :sm="24">
<a-form-item label="访问时间">
<a-range-picker
v-model="queryParam.dates"
:show-time="{
hideDisabledOptions: true,
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
}"
format="YYYY-MM-DD HH:mm:ss"
/>
</a-form-item>
<template v-if="advanced">
<a-col :md="8" :sm="24">
<a-form-item label="是否成功">
<a-select v-model="queryParam.success" placeholder="请选择是否成功" >
<a-select-option v-for="(item,index) in successDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="10" :sm="24">
<a-form-item label="访问时间">
<a-range-picker
v-model="queryParam.dates"
:show-time="{
hideDisabledOptions: true,
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
}"
format="YYYY-MM-DD HH:mm:ss"
/>
</a-form-item>
</a-col>
</template>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</template>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysVisLog:sysVisLog')">
<a-popconfirm @confirm="() => sysVisLogDelete()" placement="top" title="确认清空日志?" v-if="hasPerm('sysVisLog:delete')">
<a-button >清空日志</a-button>
</a-popconfirm>
</template>
<span slot="name" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="visTime" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="visType" slot-scope="text">
{{ visTypeFilter(text) }}
</span>
<span slot="success" slot-scope="text">
{{ successFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<span slot="action" >
<a @click="$refs.detailsVislog.details(record)"></a>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysVisLog:sysVisLog')">
<a-popconfirm @confirm="() => sysVisLogDelete()" placement="top" title="确认清空日志?" v-if="hasPerm('sysVisLog:delete')">
<a-button >清空日志</a-button>
</a-popconfirm>
</template>
<span slot="name" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
</span>
</s-table>
<details-vislog ref="detailsVislog"/>
</a-card>
<span slot="visTime" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="visType" slot-scope="text">
{{ visTypeFilter(text) }}
</span>
<span slot="success" slot-scope="text">
{{ successFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<span slot="action" >
<a @click="$refs.detailsVislog.details(record)"></a>
</span>
</span>
</s-table>
<details-vislog ref="detailsVislog"/>
</a-card>
</div>
</template>
<script>
import { STable, Ellipsis } from '@/components'
import { STable, Ellipsis, XCard } from '@/components'
import { sysVisLogPage, sysVisLogDelete } from '@/api/modular/system/logManage'
import detailsVislog from './details'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import moment from 'moment'
export default {
components: {
XCard,
STable,
Ellipsis,
detailsVislog

View File

@ -14,6 +14,7 @@
<a-table
ref="table"
size="middle"
:rowKey="(record) => record.id"
:pagination="false"
:defaultExpandAllRows="true"

View File

@ -1,79 +1,82 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysNotice:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="关键词" >
<a-input v-model="queryParam.searchValue" allow-clear placeholder="请输入标题、内容"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="类型" >
<a-select v-model="queryParam.type" placeholder="请选择类型" allow-clear >
<a-select-option v-for="(item,index) in typeDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysNotice:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysNotice:add')" >新增公告</a-button>
</template>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="type" slot-scope="text">
{{ typeFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<div v-if="record.status == 0">
<a v-if="hasPerm('sysNotice:detail')" @click="$refs.detailForm.detail(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysNotice:detail') & hasPerm('sysNotice:edit')"/>
<a v-if="hasPerm('sysNotice:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysNotice:edit') & hasPerm('sysNotice:changeStatus')"/>
<a-popconfirm v-if="hasPerm('sysNotice:changeStatus')" placement="topRight" title="确认发布该信息?" @confirm="() => editNoticeStatus(1,record)">
<a>发布</a>
</a-popconfirm>
</div>
<div v-if="record.status == 1">
<a v-if="hasPerm('sysNotice:detail')" @click="$refs.detailForm.detail(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysNotice:detail') & hasPerm('sysNotice:changeStatus')"/>
<a-popconfirm v-if="hasPerm('sysNotice:changeStatus')" placement="topRight" title="确认撤回该信息?" @confirm="() => editNoticeStatus(2,record)">
<a>撤回</a>
</a-popconfirm>
</div>
<div v-if="record.status == 2">
<a v-if="hasPerm('sysNotice:detail')" @click="$refs.detailForm.detail(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysNotice:detail') & hasPerm('sysNotice:delete')"/>
<a-popconfirm v-if="hasPerm('sysNotice:delete')" placement="topRight" title="确认删除?" @confirm="() => sysNoticeDelete(record)">
<a>删除</a>
</a-popconfirm>
</div>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" v-if="hasPerm('sysNotice:add')"/>
<edit-form ref="editForm" @ok="handleOk" v-if="hasPerm('sysNotice:edit')"/>
<detail-form ref="detailForm" @ok="handleOk" v-if="hasPerm('sysNotice:detail')"/>
<div ref="editor"></div>
</a-card>
<div>
<x-card v-if="hasPerm('sysNotice:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="关键词" >
<a-input v-model="queryParam.searchValue" allow-clear placeholder="请输入标题、内容"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="类型" >
<a-select v-model="queryParam.type" placeholder="请选择类型" allow-clear >
<a-select-option v-for="(item,index) in typeDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</a-col>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysNotice:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysNotice:add')" >新增公告</a-button>
</template>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="type" slot-scope="text">
{{ typeFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<div v-if="record.status == 0">
<a v-if="hasPerm('sysNotice:detail')" @click="$refs.detailForm.detail(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysNotice:detail') & hasPerm('sysNotice:edit')"/>
<a v-if="hasPerm('sysNotice:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysNotice:edit') & hasPerm('sysNotice:changeStatus')"/>
<a-popconfirm v-if="hasPerm('sysNotice:changeStatus')" placement="topRight" title="确认发布该信息?" @confirm="() => editNoticeStatus(1,record)">
<a>发布</a>
</a-popconfirm>
</div>
<div v-if="record.status == 1">
<a v-if="hasPerm('sysNotice:detail')" @click="$refs.detailForm.detail(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysNotice:detail') & hasPerm('sysNotice:changeStatus')"/>
<a-popconfirm v-if="hasPerm('sysNotice:changeStatus')" placement="topRight" title="确认撤回该信息?" @confirm="() => editNoticeStatus(2,record)">
<a>撤回</a>
</a-popconfirm>
</div>
<div v-if="record.status == 2">
<a v-if="hasPerm('sysNotice:detail')" @click="$refs.detailForm.detail(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysNotice:detail') & hasPerm('sysNotice:delete')"/>
<a-popconfirm v-if="hasPerm('sysNotice:delete')" placement="topRight" title="确认删除?" @confirm="() => sysNoticeDelete(record)">
<a>删除</a>
</a-popconfirm>
</div>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" v-if="hasPerm('sysNotice:add')"/>
<edit-form ref="editForm" @ok="handleOk" v-if="hasPerm('sysNotice:edit')"/>
<detail-form ref="detailForm" @ok="handleOk" v-if="hasPerm('sysNotice:detail')"/>
<div ref="editor"></div>
</a-card>
</div>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { sysNoticePage, sysNoticeDelete, sysNoticeChangeStatus } from '@/api/modular/system/noticeManage'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import addForm from './addForm'
@ -81,6 +84,7 @@
import detailForm from './detailForm'
export default {
components: {
XCard,
STable,
addForm,
editForm,

View File

@ -1,61 +1,64 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysNotice:received')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="关键词" v-if="hasPerm('sysNotice:received')">
<a-input v-model="queryParam.searchValue" allow-clear placeholder="请输入标题、内容"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="类型" v-if="hasPerm('sysNotice:received')">
<a-select v-model="queryParam.type" placeholder="请选择类型" allow-clear >
<a-select-option v-for="(item,index) in typeDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" >
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="type" slot-scope="text">
{{ typeFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysNotice:received')" @click="$refs.detailForm.detail(record)"></a>
</span>
</s-table>
<detail-form ref="detailForm" @ok="handleOk" />
<div ref="editor"></div>
</a-card>
<div>
<x-card v-if="hasPerm('sysNotice:received')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="关键词" v-if="hasPerm('sysNotice:received')">
<a-input v-model="queryParam.searchValue" allow-clear placeholder="请输入标题、内容"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="类型" v-if="hasPerm('sysNotice:received')">
<a-select v-model="queryParam.type" placeholder="请选择类型" allow-clear >
<a-select-option v-for="(item,index) in typeDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" >
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="type" slot-scope="text">
{{ typeFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysNotice:received')" @click="$refs.detailForm.detail(record)"></a>
</span>
</s-table>
<detail-form ref="detailForm" @ok="handleOk" />
<div ref="editor"></div>
</a-card>
</div>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
// eslint-disable-next-line no-unused-vars
import { sysNoticePage } from '@/api/modular/system/noticeManage'
import { sysNoticeReceived } from '@/api/modular/system/noticeReceivedManage'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import detailForm from './detailForm'
export default {
components: {
XCard,
STable,
detailForm
},

View File

@ -2,7 +2,6 @@
<a-card :bordered="false">
<s-table
ref="table"
size="default"
:pagination="false"
:loading="loading"
:columns="columns"

View File

@ -18,8 +18,8 @@
</a-card>
</a-col>
<a-col :md="19" :sm="24">
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysOrg:page')">
<x-card v-if="hasPerm('sysOrg:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
@ -36,9 +36,10 @@
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
@ -63,13 +64,14 @@
</a-row>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { Empty } from 'ant-design-vue'
import { getOrgPage, sysOrgDelete, getOrgTree } from '@/api/modular/system/orgManage'
import addForm from './addForm'
import editForm from './editForm'
export default {
components: {
XCard,
STable,
addForm,
editForm

View File

@ -1,63 +1,67 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysPos:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="职位名称" >
<a-input v-model="queryParam.name" allow-clear placeholder="请输入职位名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="唯一编码" >
<a-input v-model="queryParam.code" allow-clear placeholder="请输入唯一编码" />
</a-form-item>
</a-col>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.code"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysPos:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysPos:add')"></a-button>
</template>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysPos:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysPos:edit') & hasPerm('sysPos:delete')"/>
<a-popconfirm v-if="hasPerm('sysPos:delete')" placement="topRight" title="确认删除?" @confirm="() => sysPosDelete(record)">
<a>删除</a>
</a-popconfirm>
</span>
<div>
<x-card v-if="hasPerm('sysPos:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="职位名称" >
<a-input v-model="queryParam.name" allow-clear placeholder="请输入职位名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="唯一编码" >
<a-input v-model="queryParam.code" allow-clear placeholder="请输入唯一编码" />
</a-form-item>
</a-col>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.code"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysPos:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysPos:add')"></a-button>
</template>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysPos:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysPos:edit') & hasPerm('sysPos:delete')"/>
<a-popconfirm v-if="hasPerm('sysPos:delete')" placement="topRight" title="确认删除?" @confirm="() => sysPosDelete(record)">
<a>删除</a>
</a-popconfirm>
</span>
</s-table>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
</a-card>
</a-card>
</div>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { sysPosPage, sysPosDelete } from '@/api/modular/system/posManage'
import addForm from './addForm'
import editForm from './editForm'
export default {
components: {
XCard,
STable,
addForm,
editForm

View File

@ -1,80 +1,83 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysRole:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="角色名">
<a-input v-model="queryParam.name" allow-clear placeholder="请输入角色名"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="唯一编码">
<a-input v-model="queryParam.code" allow-clear placeholder="请输入唯一编码"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.code"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysRole:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysRole:add')"></a-button>
</template>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysRole:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysRole:edit')"/>
<a-dropdown v-if="hasPerm('sysRole:grantMenu') || hasPerm('sysRole:grantData') || hasPerm('sysRole:delete')">
<a class="ant-dropdown-link">
更多 <a-icon type="down" />
</a>
<a-menu slot="overlay">
<a-menu-item v-if="hasPerm('sysRole:grantMenu')">
<a @click="$refs.roleMenuForm.roleMenu(record)"></a>
</a-menu-item>
<a-menu-item v-if="hasPerm('sysRole:grantData')">
<a @click="$refs.roleOrgForm.roleOrg(record)"></a>
</a-menu-item>
<a-menu-item v-if="hasPerm('sysRole:delete')">
<a-popconfirm placement="topRight" title="确认删除?" @confirm="() => sysRoleDelete(record)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
<div>
<x-card v-if="hasPerm('sysRole:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="角色名">
<a-input v-model="queryParam.name" allow-clear placeholder="请输入角色名"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="唯一编码">
<a-input v-model="queryParam.code" allow-clear placeholder="请输入唯一编码"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</a-col>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.code"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysRole:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysRole:add')"></a-button>
</template>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysRole:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysRole:edit')"/>
<a-dropdown v-if="hasPerm('sysRole:grantMenu') || hasPerm('sysRole:grantData') || hasPerm('sysRole:delete')">
<a class="ant-dropdown-link">
更多 <a-icon type="down" />
</a>
<a-menu slot="overlay">
<a-menu-item v-if="hasPerm('sysRole:grantMenu')">
<a @click="$refs.roleMenuForm.roleMenu(record)"></a>
</a-menu-item>
<a-menu-item v-if="hasPerm('sysRole:grantData')">
<a @click="$refs.roleOrgForm.roleOrg(record)"></a>
</a-menu-item>
<a-menu-item v-if="hasPerm('sysRole:delete')">
<a-popconfirm placement="topRight" title="确认删除?" @confirm="() => sysRoleDelete(record)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</s-table>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
<role-menu-form ref="roleMenuForm" @ok="handleOk"/>
<role-org-form ref="roleOrgForm" @ok="handleOk"/>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
<role-menu-form ref="roleMenuForm" @ok="handleOk"/>
<role-org-form ref="roleOrgForm" @ok="handleOk"/>
</a-card>
</a-card>
</div>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { getRolePage, sysRoleDelete } from '@/api/modular/system/roleManage'
import addForm from './addForm'
import editForm from './editForm'
import roleMenuForm from './roleMenuForm'
import roleOrgForm from './roleOrgForm'
export default {
components: {
XCard,
STable,
addForm,
editForm,

View File

@ -1,66 +1,70 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysSms:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="手机号">
<a-input v-model="queryParam.phoneNumbers" placeholder="请输入手机号"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="发送状态">
<a-select v-model="queryParam.status" placeholder="请选择发送状态" >
<a-select-option v-for="(item,index) in statusDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<template v-if="advanced">
<div>
<x-card v-if="hasPerm('sysSms:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="来源">
<a-select v-model="queryParam.source" placeholder="请选择来源" >
<a-select-option v-for="(item,index) in sourceDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
<a-form-item label="手机号">
<a-input v-model="queryParam.phoneNumbers" placeholder="请输入手机号"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="发送状态">
<a-select v-model="queryParam.status" placeholder="请选择发送状态" >
<a-select-option v-for="(item,index) in statusDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
</template>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="source" slot-scope="text">
{{ sourceFilter(text) }}
</span>
</s-table>
</a-card>
<template v-if="advanced">
<a-col :md="8" :sm="24">
<a-form-item label="来源">
<a-select v-model="queryParam.source" placeholder="请选择来源" >
<a-select-option v-for="(item,index) in sourceDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
</template>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<span slot="status" slot-scope="text">
{{ statusFilter(text) }}
</span>
<span slot="source" slot-scope="text">
{{ sourceFilter(text) }}
</span>
</s-table>
</a-card>
</div>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { smsPage } from '@/api/modular/system/smsManage'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
export default {
components: {
XCard,
STable
},
data () {

View File

@ -1,69 +1,72 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysTimers:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="任务名称">
<a-input v-model="queryParam.timerName" allow-clear placeholder="请输入任务名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="任务状态">
<a-select v-model="queryParam.jobStatus" placeholder="请选择状态" >
<a-select-option v-for="(item,index) in jobStatusDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</a-col>
</a-row>
</a-form>
</div>
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysTimers:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysTimers:add')"></a-button>
</template>
<span slot="actionClass" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="remark" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="jobStatus" slot-scope="text,record" v-if="hasPerm('sysTimers:start') || hasPerm('sysTimers:stop')">
<a-popconfirm placement="top" :title="text===1? '确定停止该任务?':'确定启动该任务?'" @confirm="() => editjobStatusStatus(text,record)">
<div>
<x-card v-if="hasPerm('sysTimers:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="任务名称">
<a-input v-model="queryParam.timerName" allow-clear placeholder="请输入任务名称"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="任务状态">
<a-select v-model="queryParam.jobStatus" placeholder="请选择状态" >
<a-select-option v-for="(item,index) in jobStatusDictTypeDropDown" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</a-col>
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="operator" v-if="hasPerm('sysTimers:add')">
<a-button @click="$refs.addForm.add()" icon="plus" type="primary" v-if="hasPerm('sysTimers:add')"></a-button>
</template>
<span slot="actionClass" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="remark" slot-scope="text">
<ellipsis :length="10" tooltip>{{ text }}</ellipsis>
</span>
<span slot="jobStatus" slot-scope="text,record" v-if="hasPerm('sysTimers:start') || hasPerm('sysTimers:stop')">
<a-popconfirm placement="top" :title="text===1? '确定停止该任务?':'确定启动该任务?'" @confirm="() => editjobStatusStatus(text,record)">
<a-badge :status="text===1? 'processing':'default'" />
<a>{{ jobStatusFilter(text) }}</a>
</a-popconfirm>
</span>
<span slot="jobStatus" v-else>
<a-badge :status="text===1? 'processing':'default'" />
<a>{{ jobStatusFilter(text) }}</a>
</a-popconfirm>
</span>
<span slot="jobStatus" v-else>
<a-badge :status="text===1? 'processing':'default'" />
{{ jobStatusFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysTimers:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysTimers:edit') & hasPerm('sysTimers:delete')"/>
<a-popconfirm v-if="hasPerm('sysTimers:delete')" placement="topRight" title="确认删除?" @confirm="() => sysTimersDelete(record)">
<a>删除</a>
</a-popconfirm>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
</a-card>
{{ jobStatusFilter(text) }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('sysTimers:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('sysTimers:edit') & hasPerm('sysTimers:delete')"/>
<a-popconfirm v-if="hasPerm('sysTimers:delete')" placement="topRight" title="确认删除?" @confirm="() => sysTimersDelete(record)">
<a>删除</a>
</a-popconfirm>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
</a-card>
</div>
</template>
<script>
import { STable, Ellipsis } from '@/components'
import { STable, Ellipsis, XCard } from '@/components'
import { sysTimersPage, sysTimersDelete, sysTimersStart, sysTimersStop } from '@/api/modular/system/timersManage'
import addForm from './addForm'
import editForm from './editForm'
@ -71,6 +74,7 @@
export default {
name: 'PosIndex',
components: {
XCard,
STable,
Ellipsis,
addForm,

View File

@ -221,6 +221,7 @@
:wrapperCol="wrapperCol_JG"
>
<a-table
size="middle"
:columns="columns"
:dataSource="data"
:pagination="false"

View File

@ -192,6 +192,7 @@
:wrapperCol="wrapperCol_JG"
>
<a-table
size="middle"
:columns="columns"
:dataSource="data"
:pagination="false"

View File

@ -1,5 +1,4 @@
<template>
<a-row :gutter="24" >
<a-col :md="5" :sm="24">
<a-card :bordered="false" :loading="treeLoading">
@ -18,9 +17,8 @@
</a-card>
</a-col>
<a-col :md="19" :sm="24">
<a-card :bordered="false">
<div class="table-page-search-wrapper" v-if="hasPerm('sysUser:page')">
<x-card v-if="hasPerm('sysUser:page')">
<div slot="content" class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
@ -42,9 +40,10 @@
</a-row>
</a-form>
</div>
</x-card>
<a-card :bordered="false">
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"
@ -102,7 +101,7 @@
</a-row>
</template>
<script>
import { STable } from '@/components'
import { STable, XCard } from '@/components'
import { Empty } from 'ant-design-vue'
import { getOrgTree } from '@/api/modular/system/orgManage'
import { getUserPage, sysUserDelete, sysUserChangeStatus, sysUserResetPwd } from '@/api/modular/system/userManage'
@ -113,6 +112,7 @@
import userOrgForm from './userOrgForm'
export default {
components: {
XCard,
STable,
addForm,
editForm,

View File

@ -12,6 +12,7 @@
<div>
<a-table
size="middle"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
:dataSource="loadData"

View File

@ -102,7 +102,6 @@
<a-card :bordered="false">
<s-table
ref="table"
size="default"
:columns="columns"
:data="loadData"
:alert="true"