【更新】更新版本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 #### v1.3.1
- 1、【更新】更换新版logo小诺更有朝气 - 1、【更新】更换新版logo小诺更有朝气
- 2、【更新】更新ip地址定位描述 - 2、【更新】更新ip地址定位描述

View File

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

View File

@ -1,6 +1,5 @@
import T from 'ant-design-vue/es/table/Table' import T from 'ant-design-vue/es/table/Table'
import get from 'lodash.get' import get from 'lodash.get'
import screenfull from 'screenfull'
import draggable from 'vuedraggable' import draggable from 'vuedraggable'
import columnSetting from './columnSetting' import columnSetting from './columnSetting'
import './index.less' import './index.less'
@ -47,7 +46,7 @@ export default {
}, },
size: { size: {
type: String, type: String,
default: 'default' default: 'middle'
}, },
/** /**
* alert: { * alert: {
@ -331,20 +330,6 @@ export default {
}, },
onClick: () => { 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) { if (this.extraTool.length) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<template> <template>
<a-spin :spinning="cardLoading"> <a-spin :spinning="cardLoading">
<a-card :bordered="false"> <x-card v-if="hasPerm('sysFileInfo:page')">
<div class="table-page-search-wrapper" v-if="hasPerm('sysFileInfo:page')"> <div slot="content" class="table-page-search-wrapper">
<a-form layout="inline"> <a-form layout="inline">
<a-row :gutter="48"> <a-row :gutter="48">
<a-col :md="8" :sm="24"> <a-col :md="8" :sm="24">
@ -36,20 +36,10 @@
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
<!--<div class="table-operator" v-if="hasPerm('sysFileInfo:upload')"> </x-card>
<a-upload <a-card :bordered="false">
v-if="hasPerm('sysFileInfo:upload')"
name="file"
:multiple="true"
:customRequest="customRequest"
:showUploadList="false"
>
<a-button> <a-icon type="upload" />上传文件</a-button>
</a-upload>
</div>-->
<s-table <s-table
ref="table" ref="table"
size="default"
:columns="columns" :columns="columns"
:data="loadData" :data="loadData"
:alert="true" :alert="true"
@ -89,6 +79,8 @@
</a-popconfirm> </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-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 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> </span>
</s-table> </s-table>
<detail-form ref="detailForm" @ok="handleOk" v-if="hasPerm('sysFileInfo:detail')"/> <detail-form ref="detailForm" @ok="handleOk" v-if="hasPerm('sysFileInfo:detail')"/>
@ -97,13 +89,14 @@
</a-spin> </a-spin>
</template> </template>
<script> <script>
import { STable, Ellipsis } from '@/components' import { STable, Ellipsis, XCard } from '@/components'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage' import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import { sysFileInfoPage, sysFileInfoDelete, sysFileInfoUpload, sysFileInfoDownload } from '@/api/modular/system/fileManage' import { sysFileInfoPage, sysFileInfoDelete, sysFileInfoUpload, sysFileInfoDownload } from '@/api/modular/system/fileManage'
import detailForm from './detailForm' import detailForm from './detailForm'
import previewForm from './previewForm' import previewForm from './previewForm'
export default { export default {
components: { components: {
XCard,
STable, STable,
Ellipsis, Ellipsis,
detailForm, detailForm,
@ -178,6 +171,12 @@
return values[0].value 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> <template>
<a-card :bordered="false"> <div>
<div class="table-page-search-wrapper" v-if="hasPerm('sysOpLog:page')"> <x-card v-if="hasPerm('sysOpLog:page')">
<a-form layout="inline"> <div slot="content" class="table-page-search-wrapper">
<a-row :gutter="48"> <a-form layout="inline">
<a-col :md="8" :sm="24"> <a-row :gutter="48">
<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">
<a-col :md="8" :sm="24"> <a-col :md="8" :sm="24">
<a-form-item label="是否成功"> <a-form-item label="日志名称">
<a-select v-model="queryParam.success" placeholder="请选择是否成功" > <a-input v-model="queryParam.name" allow-clear placeholder="请输入日志名称"/>
<a-select-option v-for="(item,index) in successDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option> </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-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="10" :sm="24"> <template v-if="advanced">
<a-form-item label="操作时间"> <a-col :md="8" :sm="24">
<a-range-picker <a-form-item label="是否成功">
v-model="queryParam.dates" <a-select v-model="queryParam.success" placeholder="请选择是否成功" >
:show-time="{ <a-select-option v-for="(item,index) in successDict" :key="index" :value="item.code" >{{ item.value }}</a-select-option>
hideDisabledOptions: true, </a-select>
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')], </a-form-item>
}" </a-col>
format="YYYY-MM-DD HH:mm:ss" <a-col :md="10" :sm="24">
/> <a-form-item label="操作时间">
</a-form-item> <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> </a-col>
</template> </a-row>
<a-col :md="!advanced && 8 || 24" :sm="24"> </a-form>
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} "> </div>
<a-button type="primary" @click="$refs.table.refresh(true)"></a-button> </x-card>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button> <a-card :bordered="false">
<a @click="toggleAdvanced" style="margin-left: 8px"> <s-table
{{ advanced ? '收起' : '展开' }} ref="table"
<a-icon :type="advanced ? 'up' : 'down'"/> :columns="columns"
</a> :data="loadData"
</span> :alert="true"
</a-col> :rowKey="(record) => record.id"
</a-row> :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
</a-form> >
</div> <template slot="operator" v-if="hasPerm('sysOpLog:delete')">
<s-table <a-popconfirm @confirm="() => sysOpLogDelete()" placement="top" title="确认清空日志?">
ref="table" <a-button >清空日志</a-button>
size="default" </a-popconfirm>
:columns="columns" </template>
:data="loadData" <span slot="opType" slot-scope="text">
:alert="true" {{ opTypeFilter(text) }}
: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>
</span> </span>
</span> <span slot="success" slot-scope="text">
</s-table> {{ successFilter(text) }}
<details-oplog ref="detailsOplog"/> </span>
</a-card> <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> </template>
<script> <script>
import { STable, Ellipsis } from '@/components' import { STable, Ellipsis, XCard } from '@/components'
import { sysOpLogPage, sysOpLogDelete } from '@/api/modular/system/logManage' import { sysOpLogPage, sysOpLogDelete } from '@/api/modular/system/logManage'
import detailsOplog from './details' import detailsOplog from './details'
import { sysDictTypeDropDown } from '@/api/modular/system/dictManage' import { sysDictTypeDropDown } from '@/api/modular/system/dictManage'
import moment from 'moment' import moment from 'moment'
export default { export default {
components: { components: {
XCard,
STable, STable,
Ellipsis, Ellipsis,
detailsOplog detailsOplog

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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