fix 基础模块bug修改,JTable注册为全局组件

This commit is contained in:
赵霄
2024-06-26 15:07:59 +08:00
parent 252a518ef0
commit 022296b667
16 changed files with 487 additions and 325 deletions
+2 -1
View File
@@ -84,7 +84,8 @@ module.exports = {
isShelf: 'Shelf Or Not',
sort: 'Sort',
shelfWarn: 'the link is empty please fill in the link first',
maxLinksReached: '当前上架链接已达上限!'
maxLinksReached: 'The current link listing limit has been reached!',
logo: 'LOGO'
},
// 联络人管理
contact: {
+2 -1
View File
@@ -86,7 +86,8 @@ module.exports = {
isShelf: '是否上架',
sort: '排序',
shelfWarn: '链接为空,请先填写链接',
maxLinksReached: '当前上架链接已达上限!'
maxLinksReached: '当前上架链接已达上限!',
logo: 'LOGO'
},
// 联络人管理
contact: {
+2 -1
View File
@@ -50,7 +50,7 @@ import JeroComponents from '@/components/jero/index'
import JDictComponenets from '@comp/dict/index.js'
console.log('ant-design-vue version:', version)
import JTable from '@comp/jero/JTable.vue'
// Vue.prototype.rules = rules
Vue.config.productionTip = false
Vue.use(Storage, config.storageOptions)
@@ -62,6 +62,7 @@ Vue.use(VueI18n)
Vue.use(Viewer)
Vue.use(JeroComponents)
Vue.use(JDictComponenets)
Vue.component('JTable', JTable)
Viewer.setDefaults({
// 需要配置的属性 注意属性并没有引号
title: false,
+8 -12
View File
@@ -20,15 +20,12 @@
<a-row :gutter="10">
<a-col :md="8" :sm="12">
<a-form-item :label="$t('name')">
<j-input style="width: 120px;" :placeholder="$t('pleaseEnter') + $t('name')" v-model="queryParam.itemText"></j-input>
<j-input :placeholder="$t('pleaseEnter') + $t('name')" v-model="queryParam.itemText"></j-input>
</a-form-item>
</a-col>
<a-col :md="9" :sm="24">
<a-form-item :label="$t('status')" style="width: 170px" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select
:placeholder="$t('pleaseSelect')"
v-model="queryParam.status"
>
<a-col :md="8" :sm="12">
<a-form-item :label="$t('status')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select style="width: 100%" :placeholder="$t('pleaseSelect')" v-model="queryParam.status">
<a-select-option value="1">{{ $t('normal') }}</a-select-option>
<a-select-option value="0">{{ $t('disable') }}</a-select-option>
</a-select>
@@ -53,7 +50,6 @@
ref="table"
can-drag
:class="{'tree-table': attributeType === TagsAttributeTypeEnums.TREE.value}"
:bordered="true"
size="middle"
rowKey="id"
:columns="columns"
@@ -99,26 +95,26 @@ export default {
{
title: this.$t('name'),
align: 'center',
ellipsis: true,
width: 120,
dataIndex: 'itemText'
},
{
title: this.$t('englishName'),
align: 'center',
ellipsis: true,
width: 120,
dataIndex: 'enName'
},
{
title: this.$t('dict.dataValue'),
align: 'center',
width: 150,
width: 100,
dataIndex: 'itemValue'
},
{
title: this.$t('operation'),
dataIndex: 'action',
align: 'center',
width: 150,
width: 100,
scopedSlots: { customRender: 'action' }
}
],
+9 -11
View File
@@ -1,7 +1,5 @@
<template>
<a-card :bordered="false">
<!-- 左侧面板 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
@@ -41,7 +39,7 @@
{{ $t('dict.refreshCache') }}
</a-button>
<a-button type="primary" icon="hdd" ghost @click="openDeleteList">{{ $t('recycleBin') }}</a-button>
<!--<a-button type="primary" icon="hdd" ghost @click="openDeleteList">{{ $t('recycleBin') }}</a-button>-->
</div>
<j-table
@@ -50,7 +48,7 @@
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:scroll="{x: '100%', y: yScrollHeight}"
:scroll="{x: 900, y: yScrollHeight}"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:operation-list="operationList"
@change="handleTableChange"
@@ -93,7 +91,7 @@ export default {
// 表头
columns: [
{
title: '#',
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
@@ -104,28 +102,28 @@ export default {
},
{
title: this.$t('dict.dictionaryName'),
align: 'left',
align: 'center',
width: 100,
dataIndex: 'dictName',
scopedSlots: { customRender: 'text' }
},
{
title: this.$t('dict.dictionaryEnglishName'),
align: 'left',
align: 'center',
width: 100,
dataIndex: 'dictEnglishName',
scopedSlots: { customRender: 'text' }
},
{
title: this.$t('dict.dictionaryNumber'),
align: 'left',
align: 'center',
width: 100,
dataIndex: 'dictCode',
scopedSlots: { customRender: 'text' }
},
{
title: this.$t('description'),
align: 'left',
align: 'center',
dataIndex: 'description',
width: 200,
scopedSlots: { customRender: 'text' }
@@ -133,8 +131,8 @@ export default {
{
title: this.$t('operation'),
// dataIndex: 'action',
align: 'left',
width: 170,
align: 'center',
width: 100,
scopedSlots: { customRender: 'action' }
}
],
+116 -71
View File
@@ -8,8 +8,11 @@
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="this.selectedRowKeys1.length === 0 ? 6: 12" :sm="12">
<a-form-item :label="$t('roleManage.roleName')" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
<j-input :placeholder="$t('pleaseEnter') + $t('roleManage.roleName')" v-model="queryParam.roleName"></j-input>
<a-form-item :label="$t('roleManage.roleName')"
:labelCol="{span: 5}"
:wrapperCol="{span: 18, offset: 1}">
<j-input :placeholder="$t('pleaseEnter') + $t('roleManage.roleName')"
v-model="queryParam.roleName"></j-input>
</a-form-item>
</a-col>
<!--
@@ -22,14 +25,18 @@
</a-col>
-->
<div style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px">{{ $t('query') }}</a-button>
<a-button type="primary" @click="searchReset" icon="reload" ghost style="margin-left: 8px">{{ $t('reset') }}</a-button>
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px">{{ $t('query')
}}
</a-button>
<a-button type="primary" @click="searchReset" icon="reload" ghost style="margin-left: 8px">
{{ $t('reset') }}
</a-button>
</div>
</a-row>
</a-form>
</div>
<!-- 操作按钮区域 -->
<div class="table-operator" style="margin: 5px 0 10px 2px">
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">{{ $t('roleManage.newRole') }}</a-button>
<!--<a-button @click="handleEdit(model1)" type="primary" icon="plus">角色编辑</a-button>-->
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
@@ -39,21 +46,20 @@
</div>
<div style="margin-top: 15px">
<a-table
:components="drag(columns,'columns')"
<j-table
ref="table"
style="max-height: 500px"
size="middle"
bordered
:can-drag="true"
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:scroll="{x: '100%', y: yScrollHeight}"
:scroll="{x: 500, y: yScrollHeight}"
:rowSelection="{selectedRowKeys: selectedRowKeys1, onChange: onSelectChange1, type:'radio'}"
@change="handleTableChange">
<span slot="action" slot-scope="text, record">
<span slot="action" slot-scope="{text, record}">
<a @click="handleOpen(record)">{{ $t('roleManage.userBtn') }}</a>
<a-divider type="vertical" />
@@ -76,7 +82,7 @@
</a-menu>
</a-dropdown>
</span>
</a-table>
</j-table>
</div>
<!-- 右侧的角色权限配置 -->
<user-role-modal ref="modalUserRole"></user-role-modal>
@@ -85,53 +91,41 @@
</a-col>
<a-col :md="rightColMd" :sm="24" v-if="this.rightcolval === 1">
<a-card :bordered="false">
<div style="text-align: right;margin-bottom: 6px">
<a-icon type="close-circle" @click="hideUserList" />
</div>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="24">
<a-col :md="12" :sm="12">
<a-form-item :label="$t('user.userAccount')">
<a-input :placeholder="$t('pleaseEnter') + $t('user.userAccount')" v-model="queryParam2.username"></a-input>
</a-form-item>
</a-col>
<div style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery2" icon="search" style="margin-left: 21px">{{ $t('query') }}</a-button>
<a-button type="primary" @click="searchReset2" icon="reload" style="margin-left: 8px">{{ $t('reset') }}</a-button>
</div>
</a-row>
</a-form>
<div class="user-top-box">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="24">
<a-col :md="12" :sm="12">
<a-form-item :label="$t('user.userAccount')">
<a-input :placeholder="$t('pleaseEnter') + $t('user.userAccount')"
v-model="queryParam2.username"></a-input>
</a-form-item>
</a-col>
<div style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery2" icon="search">{{ $t('query') }}</a-button>
<a-button type="primary" @click="searchReset2" icon="reload" ghost style="margin-left: 8px">
{{ $t('reset') }}
</a-button>
</div>
</a-row>
</a-form>
</div>
<a-icon type="close-circle" class="close-icon" @click="hideUserList" />
</div>
<!-- 操作按钮区域 -->
<div class="table-operator">
<!--<a-button @click="handleAdd2" type="primary" icon="plus" style="margin-top: 16px">{{ $t('roleManage.newUser') }}</a-button>-->
<!--<a-button @click="handleEdit2" type="primary" icon="edit" style="margin-top: 16px">用户编辑</a-button>-->
<a-button @click="handleAddUserRole" type="primary" icon="plus" style="margin-top: 16px">{{
$t('roleManage.existingUsers')
}}
<a-button @click="handleAddUserRole" type="primary" icon="plus">{{ $t('roleManage.existingUsers') }}
</a-button>
<a-dropdown v-if="selectedRowKeys2.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel2">
<a-icon type="delete" />
{{ $t('delete') }}
</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> {{ $t('batchOperation') }}
<a-icon type="down" />
</a-button>
</a-dropdown>
<a-button @click="batchDel2" type="danger" icon="delete">{{ $t('delete') }}</a-button>
</div>
<!-- table区域-begin -->
<div>
<a-table
:components="drag(columns2,'columns2')"
<j-table
ref="table2"
bordered
:can-drag="true"
style="max-height: 500px"
size="middle"
rowKey="id"
@@ -139,15 +133,13 @@
:dataSource="dataSource2"
:pagination="ipagination2"
:loading="loading2"
:scroll="{x: '100%', y: yScrollHeight}"
:scroll="{x: 500, y: yScrollHeight}"
:rowSelection="{selectedRowKeys: selectedRowKeys2, onChange: onSelectChange2}"
@change="handleTableChange2">
<template slot="action" slot-scope="text, record">
<a-popconfirm :title="$t('areYouSure')" @confirm="() => handleDelete2(record.id)">
<a>{{ $t('delete') }}</a>
</a-popconfirm>
<template slot="action" slot-scope="{text, record}">
<a @click="handleDelete2(record.id)">{{ $t('delete') }}</a>
</template>
</a-table>
</j-table>
</div>
<!-- 表单区域 -->
<role-modal ref="modalForm" @ok="modalFormOk"></role-modal>
@@ -232,12 +224,14 @@ export default {
{
title: this.$t('roleManage.roleCode'),
align: 'center',
dataIndex: 'roleCode'
dataIndex: 'roleCode',
width: 100
},
{
title: this.$t('roleManage.roleName'),
align: 'center',
dataIndex: 'roleName'
dataIndex: 'roleName',
width: 100
},
{
title: this.$t('createTime'),
@@ -246,21 +240,24 @@ export default {
sorter: true,
customRender: (text) => {
return moment(text).format('YYYY-MM-DD')
}
},
width: 100
},
{
title: this.$t('operation'),
dataIndex: 'action',
align: 'center',
scopedSlots: { customRender: 'action' }
scopedSlots: { customRender: 'action' },
width: 80
}
],
columns2: [{
title: this.$t('user.userAccount'),
align: 'center',
dataIndex: 'username',
width: 120
},
columns2: [
{
title: this.$t('user.userAccount'),
align: 'center',
dataIndex: 'username',
width: 120
},
{
title: this.$t('user.userName'),
align: 'center',
@@ -279,9 +276,9 @@ export default {
dataIndex: 'action',
scopedSlots: { customRender: 'action' },
align: 'center',
width: 120
}],
width: 80
}
],
// 高级查询参数
superQueryParams2: '',
// 高级查询拼接条件
@@ -332,6 +329,8 @@ export default {
this.loadData2()
},
onClearSelected () {
this.selectedRowKeys2 = []
this.selectionRows2 = []
},
getQueryParams2 () {
@@ -366,7 +365,11 @@ export default {
} else {
this.$refs.modalForm2.roleDisabled = true
this.$refs.modalForm2.title = this.$t('newlyAdded')
this.$refs.modalForm2.edit({ activitiSync: '1', userIdentity: 1, selectedroles: this.currentRoleId })
this.$refs.modalForm2.edit({
activitiSync: '1',
userIdentity: 1,
selectedroles: this.currentRoleId
})
}
},
modalFormOk2 () {
@@ -405,9 +408,16 @@ export default {
return
}
const that = this
postAction(that.url.delete2, { roleId: this.currentRoleId, userId: id }).then((res) => {
postAction(that.url.delete2, {
roleId: this.currentRoleId,
userId: id
}).then((res) => {
if (res.success) {
that.$message.success(res.message)
// 判断当前删除的数据是否是最后一页的最后一条数据,如果是的话页码减一
if (that.ipagination2.current > 1 && ((that.ipagination2.current - 1) * that.ipagination2.pageSize) + 1 === that.ipagination2.total) {
that.ipagination2.current -= 1
}
that.loadData2()
} else {
that.$message.warning(res.message)
@@ -431,10 +441,22 @@ export default {
this.$confirm({
title: this.$t('confirmDeletion'),
content: this.$t('deleteAData'),
onOk: function () {
postAction(that.url.deleteBatch2, { roleId: that.currentRoleId, userIds: ids }).then((res) => {
onOk: () => {
postAction(that.url.deleteBatch2, {
roleId: that.currentRoleId,
userIds: ids
}).then((res) => {
if (res.success) {
that.$message.success(res.message)
// 总数量-count
const count = this.selectedRowKeys2.length
const total = this.ipagination2.total - count
// 获取删除后的分页数
const currentIndex = Math.ceil(total / this.ipagination2.pageSize)
// 删除后的分页数<所在当前页
if (currentIndex < this.ipagination2.current) {
this.ipagination2.current = currentIndex
}
that.loadData2()
that.onClearSelected()
} else {
@@ -524,4 +546,27 @@ export default {
/deep/ .table-page-search-wrapper .ant-form-inline .ant-form-item > .ant-form-item-label {
min-width: 60px;
}
.user-top-box {
display: flex;
justify-content: space-between;
.table-page-search-wrapper {
flex: 1;
width: 0;
.ant-row {
margin-right: 0 !important;
}
}
.table-page-search-submitButtons {
margin-right: 0;
}
.close-icon {
margin-left: 8px;
cursor: pointer;
}
}
</style>
+30 -30
View File
@@ -29,11 +29,11 @@
</a-col>
<template v-if="toggleSearchStatus">
<a-col :md="6" :sm="12">
<a-form-item :label="$t('phoneNumber')">
<a-input :placeholder="$t('pleaseEnter') + $t('phoneNumber')" v-model="queryParam.phone"></a-input>
</a-form-item>
</a-col>
<!--<a-col :md="6" :sm="12">-->
<!-- <a-form-item :label="$t('phoneNumber')">-->
<!-- <a-input :placeholder="$t('pleaseEnter') + $t('phoneNumber')" v-model="queryParam.phone"></a-input>-->
<!-- </a-form-item>-->
<!--</a-col>-->
<a-col :md="6" :sm="12">
<a-form-item :label="$t('status')">
<a-select v-model="queryParam.status" :placeholder="$t('pleaseSelect') + $t('status')">
@@ -88,28 +88,28 @@
<div class="table-operator" style="border-top: 5px">
<a-button v-if="isDev" @click="handleAdd" type="primary" icon="plus">{{ $t('user.addUser') }}</a-button>
<a-button type="primary" ghost icon="upload" @click="handleExportXls($t('user.userInformation'), '.xls')">{{ $t('export') }}</a-button>
<a-button v-if="isDev" type="primary" ghost icon="hdd" @click="recycleBinVisible=true">{{ $t('recycleBin') }}</a-button>
<a-button v-if="isDev" type="primary" ghost icon="hdd" @click="roleAssignment">{{ $t('user.roleAllocation') }}</a-button>
<a-dropdown v-if="isDev && selectedRowKeys.length > 0">
<a-menu slot="overlay" @click="handleMenuClick">
<a-menu-item key="1">
<a-icon type="delete" @click="batchDel" />
{{ $t('delete') }}
</a-menu-item>
<a-menu-item key="2">
<a-icon type="lock" @click="batchFrozen('2')" />
{{ $t('user.frozen') }}
</a-menu-item>
<a-menu-item key="3">
<a-icon type="unlock" @click="batchFrozen('1')" />
{{ $t('user.thaw') }}
</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px">
{{ $t('batchOperation') }}
<a-icon type="down" />
</a-button>
</a-dropdown>
<!--<a-button v-if="isDev" type="primary" ghost icon="hdd" @click="recycleBinVisible=true">{{ $t('recycleBin') }}</a-button>-->
<!--<a-button v-if="isDev" type="primary" ghost icon="hdd" @click="roleAssignment">{{ $t('user.roleAllocation') }}</a-button>-->
<!--<a-dropdown v-if="isDev && selectedRowKeys.length > 0">-->
<!-- <a-menu slot="overlay" @click="handleMenuClick">-->
<!-- <a-menu-item key="1">-->
<!-- <a-icon type="delete" @click="batchDel" />-->
<!-- {{ $t('delete') }}-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="2">-->
<!-- <a-icon type="lock" @click="batchFrozen('2')" />-->
<!-- {{ $t('user.frozen') }}-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="3">-->
<!-- <a-icon type="unlock" @click="batchFrozen('1')" />-->
<!-- {{ $t('user.thaw') }}-->
<!-- </a-menu-item>-->
<!-- </a-menu>-->
<!-- <a-button style="margin-left: 8px">-->
<!-- {{ $t('batchOperation') }}-->
<!-- <a-icon type="down" />-->
<!-- </a-button>-->
<!--</a-dropdown>-->
<!--<j-super-query :fieldList="superQueryFieldList" @handleSuperQuery="handleSuperQuery"/>-->
</div>
@@ -135,7 +135,7 @@
</template>
<template v-slot:action="{text, record}" v-if="isDev">
<a @click="handleEdit(record)">{{ $t('edit') }}</a>
<a @click="handleEdit(record)" v-has="'user:edit'">{{ $t('edit') }}</a>
<a-divider type="vertical" />
@@ -158,13 +158,13 @@
</a-popconfirm>
</a-menu-item>
<a-menu-item v-if="(record.status + '')==='1'">
<a-menu-item v-if="(record.status + '')==='1'" v-has="'user:edit'">
<a-popconfirm :title="$t('user.freezePassword')" @confirm="() => handleFrozen(record.id,2,record.username)">
<a>{{ $t('user.frozen') }}</a>
</a-popconfirm>
</a-menu-item>
<a-menu-item v-if="(record.status + '')==='2'">
<a-menu-item v-if="(record.status + '')==='2'" v-has="'user:edit'">
<a-popconfirm :title="$t('user.youThaw')" @confirm="() => handleFrozen(record.id,1,record.username)">
<a>{{ $t('user.thaw') }}</a>
</a-popconfirm>
@@ -24,8 +24,12 @@
</a-col>
<div style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search" v-has="'sys:friendshipLink:search'">{{ $t('query') }}</a-button>
<a-button type="primary" ghost @click="searchReset" icon="reload" style="margin-left: 8px">{{ $t('reset') }}</a-button>
<a-button type="primary" @click="searchQuery" icon="search" v-has="'sys:friendshipLink:search'">
{{ $t('query') }}
</a-button>
<a-button type="primary" ghost @click="searchReset" icon="reload" style="margin-left: 8px">{{ $t('reset')
}}
</a-button>
</div>
</a-row>
@@ -58,8 +62,10 @@
</a-tooltip>
</template>
<template v-slot:isShelf="{text, record}">
<a-switch v-model="record.grounding" @change="switchChange(record)" />
<template v-slot:logoUrl="{text}">
<div class="table-image" v-viewer="{movable: false}">
<img :src="getImgView(text)">
</div>
</template>
<template v-slot:action="{text, record}">
@@ -83,7 +89,11 @@ import FriendshipLinkModal from './modules/FriendshipLinkModal'
export default {
name: 'FriendshipLinkList',
components: { FriendshipLinkModal, JTable, JDictSelectTag },
components: {
FriendshipLinkModal,
JTable,
JDictSelectTag
},
mixins: [JeroListMixin],
data () {
return {
@@ -113,11 +123,11 @@ export default {
scopedSlots: { customRender: 'link' }
},
{
title: this.$t('system.friendshipLink.isShelf'),
title: this.$t('system.friendshipLink.logo'),
align: 'center',
width: 180,
dataIndex: 'isShelf',
scopedSlots: { customRender: 'isShelf' }
dataIndex: 'logoUrl',
scopedSlots: { customRender: 'logoUrl' }
},
{
title: this.$t('system.friendshipLink.sort'),
@@ -165,6 +175,7 @@ export default {
},
// 是否上架状态改变
switchChange (record) {
console.log(record)
if (!record.link) {
this.$message.warning(this.$t('system.friendshipLink.shelfWarn'))
return
@@ -192,7 +203,15 @@ export default {
<style scoped lang="less">
@import '~@assets/less/common.less';
/deep/ .table-page-search-wrapper .ant-form-inline .ant-form-item > .ant-form-item-label {
min-width: 80px;
}
.table-image {
img {
max-width: 100%;
max-height: 50px;
}
}
</style>
@@ -26,6 +26,16 @@
:placeholder="$t('pleaseEnter')+$t('system.friendshipLink.link')"
></a-input>
</a-form-item>
<a-form-item :required="true"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
:label="$t('system.friendshipLink.logo')">
<j-image-upload class="avatar-uploader"
:text="$t('upload')"
v-decorator.trim="['logoUrl', validatorRules.logoUrl]"
:number=1
accept='.png,.PNG,.jpg,.JPG'></j-image-upload>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('system.friendshipLink.sort')">
<a-input
v-decorator.trim="[ 'sort', validatorRules.sort]"
@@ -34,13 +44,6 @@
:placeholder="$t('pleaseEnter')+$t('system.friendshipLink.sort')"
></a-input>
</a-form-item>
<a-form-item :required="true" :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('system.friendshipLink.isShelf')">
<a-switch
v-decorator="[ 'grounding', { valuePropName: 'checked', rules: validatorRules.grounding }]"
:placeholder="$t('pleaseSelect')+$t('system.friendshipLink.isShelf')"
>
</a-switch>
</a-form-item>
</a-form>
</a-spin>
@@ -70,25 +73,37 @@ export default {
validatorRules: {
name: {
rules: [
{ required: true, message: this.$t('pleaseEnter') + this.$t('system.friendshipLink.linkName') }
{
required: true,
message: this.$t('pleaseEnter') + this.$t('system.friendshipLink.linkName')
}
],
validateTrigger: 'blur'
},
link: {
rules: [
{ required: true, message: this.$t('pleaseEnter') + this.$t('system.friendshipLink.link') }
{
required: true,
message: this.$t('pleaseEnter') + this.$t('system.friendshipLink.link')
}
],
validateTrigger: 'blur'
},
sort: {
rules: [
{ required: true, message: this.$t('pleaseEnter') + this.$t('system.friendshipLink.sort') }
{
required: true,
message: this.$t('pleaseEnter') + this.$t('system.friendshipLink.sort')
}
],
validateTrigger: 'blur'
},
grounding: {
logoUrl: {
rules: [
{ required: true, message: this.$t('pleaseSelect') + this.$t('system.friendshipLink.grounding') }
{
required: true,
message: this.$t('pleaseSelect') + this.$t('system.friendshipLink.logo')
}
],
validateTrigger: 'change'
}
+40 -11
View File
@@ -1,7 +1,7 @@
<template>
<j-modal
:title="title"
:width="800"
:width="600"
:visible="visible"
:confirmLoading="confirmLoading"
@ok="handleOk"
@@ -14,13 +14,21 @@
<a-spin :spinning="confirmLoading">
<a-form-model ref="form" v-bind="layout" :model="model" :rules="validatorRules">
<a-form-model-item :label="$t('roleManage.roleCode')" required prop="roleCode">
<a-input v-model="model.roleCode" :disabled="roleDisabled" :placeholder="$t('pleaseEnter') + $t('roleManage.roleCode')" />
<a-input :maxLength="64"
v-model="model.roleCode"
:disabled="roleDisabled"
:placeholder="$t('pleaseEnter') + $t('roleManage.roleCode')" />
</a-form-model-item>
<a-form-model-item :label="$t('roleManage.roleName')" required prop="roleName">
<a-input v-model="model.roleName" :placeholder="$t('pleaseEnter') + $t('roleManage.roleName')" />
<a-input :maxLength="30"
v-model="model.roleName"
:placeholder="$t('pleaseEnter') + $t('roleManage.roleName')" />
</a-form-model-item>
<a-form-model-item :label="$t('roleManage.roleDescribe')" prop="description">
<a-textarea :rows="5" v-model="model.description" :placeholder="$t('pleaseEnter') + $t('roleManage.roleDescribe')" />
<a-textarea :rows="5"
:maxLenght="126"
v-model="model.description"
:placeholder="$t('pleaseEnter') + $t('roleManage.roleDescribe')" />
</a-form-model-item>
</a-form-model>
</a-spin>
@@ -40,22 +48,43 @@ export default {
roleDisabled: false,
model: {},
layout: {
labelCol: { span: 3 },
wrapperCol: { span: 14 }
labelCol: { span: 4 },
wrapperCol: { span: 20 }
},
confirmLoading: false,
validatorRules: {
roleName: [
{ required: true, validator: this.validateRoleName },
{ min: 2, max: 30, message: this.$t('roleManage.lengthIsTwoToThirty'), trigger: 'blur' }
{
required: true,
validator: this.validateRoleName
},
{
min: 2,
max: 30,
message: this.$t('roleManage.lengthIsTwoToThirty'),
trigger: 'blur'
}
],
roleCode: [
{ required: true, message: this.$t('pleaseEnter') + this.$t('roleManage.roleCode') + '!' },
{ min: 0, max: 64, message: this.$t('roleManage.notExceed') + ' 64 ' + this.$t('roleManage.charLength'), trigger: 'blur' },
{
required: true,
message: this.$t('pleaseEnter') + this.$t('roleManage.roleCode') + '!'
},
{
min: 0,
max: 64,
message: this.$t('roleManage.notExceed') + ' 64 ' + this.$t('roleManage.charLength'),
trigger: 'blur'
},
{ validator: this.validateRoleCode }
],
description: [
{ min: 0, max: 126, message: this.$t('roleManage.notExceed') + ' 126 ' + this.$t('roleManage.charLength'), trigger: 'blur' }
{
min: 0,
max: 126,
message: this.$t('roleManage.notExceed') + ' 126 ' + this.$t('roleManage.charLength'),
trigger: 'blur'
}
]
}
}
+4 -3
View File
@@ -37,7 +37,7 @@
</div>
<!-- table区域-begin -->
<div>
<a-table
<j-table
size="small"
bordered
rowKey="id"
@@ -49,7 +49,7 @@
:rowSelection="{selectedRowKeys: selectedRowKeys,onSelectAll:onSelectAll,onSelect:onSelect,onChange: onSelectChange}"
@change="handleTableChange">
</a-table>
</j-table>
</div>
<!-- table区域-end -->
@@ -75,7 +75,7 @@ export default {
// 表头
columns1: [
{
title: '#',
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 50,
@@ -182,6 +182,7 @@ export default {
console.log('data:' + this.dataSource2)
this.$emit('selectFinished', this.dataSource2)
this.visible = false
this.onClearSelected()
},
add () {
this.visible = true
+190 -149
View File
@@ -7,154 +7,158 @@
:closable="true"
@close="handleCancel"
:visible="visible"
style="height: 100%;overflow: auto;padding-bottom: 53px;">
class="custom-drawer-style">
<template slot="title">
<div style="width: 100%;">
<span>{{ title }}</span>
<span style="display:inline-block;width:calc(100% - 51px);padding-right:10px;text-align: right">
<a-button @click="toggleScreen" icon="appstore" style="height:20px;width:20px;border:0"></a-button>
</span>
</div>
<div class="custom-drawer-style-scroll">
<a-spin :spinning="confirmLoading">
<a-form-model ref="form" :model="model" :rules="validatorRules">
</template>
<a-spin :spinning="confirmLoading">
<a-form-model ref="form" :model="model" :rules="validatorRules">
<a-form-model-item :label="$t('user.userAccount')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="username">
<a-input :placeholder="$t('pleaseEnter') + $t('user.userAccount')"
:maxLength="50"
v-model="model.username"
:readOnly="!!model.id"
:disabled="disableSubmit" />
</a-form-model-item>
<template v-if="!model.id">
<a-form-model-item :label="$t('user.loginPassword')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="password">
<a-input-password type="password"
:placeholder="$t('pleaseEnter') + $t('user.loginPassword')"
:maxLength="20"
v-model="model.password" />
<a-form-model-item :label="$t('user.userAccount')"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
prop="username">
<a-input :placeholder="$t('pleaseEnter') + $t('user.userAccount')"
:maxLength="50"
v-model="model.username"
:readOnly="!!model.id"
:disabled="disableSubmit" />
</a-form-model-item>
<a-form-model-item :label="$t('user.confirmPassword')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmpassword">
<a-input-password type="password"
@blur="handleConfirmBlur"
:maxLength="20"
:placeholder="$t('user.reenterLoginPassword')"
v-model="model.confirmpassword" />
<template v-if="!model.id">
<a-form-model-item :label="$t('user.loginPassword')"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
prop="password">
<a-input-password type="password"
:placeholder="$t('pleaseEnter') + $t('user.loginPassword')"
:maxLength="20"
v-model="model.password" />
</a-form-model-item>
<a-form-model-item :label="$t('user.confirmPassword')"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
prop="confirmpassword">
<a-input-password type="password"
@blur="handleConfirmBlur"
:maxLength="20"
:placeholder="$t('user.reenterLoginPassword')"
v-model="model.confirmpassword" />
</a-form-model-item>
</template>
<a-form-model-item :label="$t('user.userName')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realname">
<a-input :placeholder="$t('pleaseEnter') + $t('user.userName')"
v-model="model.realname"
:maxLength="50"
:disabled="disableSubmit" />
</a-form-model-item>
</template>
<a-form-model-item :label="$t('user.userName')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realname">
<a-input :placeholder="$t('pleaseEnter') + $t('user.userName')"
v-model="model.realname"
:maxLength="50"
:disabled="disableSubmit" />
</a-form-model-item>
<a-form-model-item :label="$t('user.post')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="post">
<a-input :placeholder="$t('pleaseEnter') + $t('user.post')"
v-model="model.post"
:maxLength="50"
:disabled="disableSubmit" />
</a-form-model-item>
<a-form-model-item :label="$t('user.post')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="post">
<a-input :placeholder="$t('pleaseEnter') + $t('user.post')"
v-model="model.post"
:maxLength="50"
:disabled="disableSubmit" />
</a-form-model-item>
<a-form-model-item :label="$t('user.roleAssignment')"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
v-show="!roleDisabled">
<j-multi-select-tag
:disabled="disableSubmit"
v-model="model.selectedroles"
:options="rolesOptions"
:placeholder="$t('pleaseSelect') + $t('role')">
</j-multi-select-tag>
</a-form-model-item>
<a-form-model-item :label="$t('user.roleAssignment')" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled">
<j-multi-select-tag
:disabled="disableSubmit"
v-model="model.selectedroles"
:options="rolesOptions"
:placeholder="$t('pleaseSelect') + $t('role')">
</j-multi-select-tag>
</a-form-model-item>
<!--部门分配-->
<a-form-model-item :label="$t('user.departmentAllocation')"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
v-show="!departDisabled">
<j-select-depart
:disabled="disableSubmit"
v-model="model.selecteddeparts"
:multi="true"
@back="backDepartInfo"
:backDepart="true"
:treeOpera="true">>
</j-select-depart>
</a-form-model-item>
<!--部门分配-->
<a-form-model-item :label="$t('user.departmentAllocation')" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled">
<j-select-depart
:disabled="disableSubmit"
v-model="model.selecteddeparts"
:multi="true"
@back="backDepartInfo"
:backDepart="true"
:treeOpera="true">>
</j-select-depart>
</a-form-model-item>
<!--租户分配
<a-form-model-item label="租户分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled">
<j-multi-select-tag
:disabled="disableSubmit"
v-model="model.relTenantIds"
:options="tenantsOptions"
placeholder="请选择租户">
</j-multi-select-tag>
</a-form-model-item>
-->
<!--租户分配
<a-form-model-item label="租户分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled">
<j-multi-select-tag
:disabled="disableSubmit"
v-model="model.relTenantIds"
:options="tenantsOptions"
placeholder="请选择租户">
</j-multi-select-tag>
</a-form-model-item>
-->
<a-form-model-item :label="$t('user.identity')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-model="model.userIdentity" @change="identityChange" :disabled="disableSubmit">
<a-radio :value="1">{{ $t('user.ordinaryUsers') }}</a-radio>
<a-radio :value="2">{{ $t('user.superior') }}</a-radio>
</a-radio-group>
</a-form-model-item>
<a-form-model-item :label="$t('user.responsibleDepartment')"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
v-if="departIdShow===true">
<j-multi-select-tag
:disabled="disableSubmit"
v-model="model.departIds"
:options="nextDepartOptions"
:placeholder="$t('pleaseSelect') + $t('user.responsibleDepartment')">
</j-multi-select-tag>
</a-form-model-item>
<!-- update--end--autor:wangshuai-----date:20200108------for新增身份和负责部门------ -->
<!--手写章用于企标制修订流程最后一个节点在线编辑的手写章信息维护-->
<a-form-model-item :label="$t('user.handStamp')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-image-upload class="avatar-uploader"
:text="$t('upload')"
v-model="model.avatar"
:disabled="disableSubmit"
:number=1
accept='.png,.PNG,.jpg,.JPG'></j-image-upload>
</a-form-model-item>
<a-form-model-item :label="$t('user.identity')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-model="model.userIdentity" @change="identityChange" :disabled="disableSubmit">
<a-radio :value="1">{{ $t('user.ordinaryUsers') }}</a-radio>
<a-radio :value="2">{{ $t('user.superior') }}</a-radio>
</a-radio-group>
</a-form-model-item>
<a-form-model-item :label="$t('user.responsibleDepartment')"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
v-if="departIdShow===true">
<j-multi-select-tag
:disabled="disableSubmit"
v-model="model.departIds"
:options="nextDepartOptions"
:placeholder="$t('pleaseSelect') + $t('user.responsibleDepartment')">
</j-multi-select-tag>
</a-form-model-item>
<!-- update--end--autor:wangshuai-----date:20200108------for新增身份和负责部门------ -->
<!--手写章用于企标制修订流程最后一个节点在线编辑的手写章信息维护-->
<a-form-model-item :label="$t('user.handStamp')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-image-upload class="avatar-uploader"
:text="$t('upload')"
v-model="model.avatar"
:disabled="disableSubmit"
:number=1
accept='.png,.PNG,.jpg,.JPG'></j-image-upload>
</a-form-model-item>
<a-form-model-item :label="$t('user.gender')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select v-model="model.sex"
:placeholder="$t('pleaseSelect') + $t('user.gender')"
:getPopupContainer="(target) => target.parentNode"
:disabled="disableSubmit">
<a-select-option :value="1">{{ $t('user.male') }}</a-select-option>
<a-select-option :value="2">{{ $t('user.female') }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item :label="$t('user.gender')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select v-model="model.sex"
:placeholder="$t('pleaseSelect') + $t('user.gender')"
:getPopupContainer="(target) => target.parentNode"
:disabled="disableSubmit">
<a-select-option :value="1">{{ $t('user.male') }}</a-select-option>
<a-select-option :value="2">{{ $t('user.female') }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item :label="$t('user.mailbox')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="email">
<a-input :placeholder="$t('pleaseEnter') + $t('user.mailbox')"
v-model="model.email"
:maxLength="50"
:disabled="disableSubmit || !!model.id" />
</a-form-model-item>
<a-form-model-item :label="$t('user.mailbox')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="email">
<a-input :placeholder="$t('pleaseEnter') + $t('user.mailbox')"
v-model="model.email"
:maxLength="50"
:disabled="disableSubmit" />
</a-form-model-item>
<a-form-model-item :label="$t('phoneNumber')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone">
<a-input :placeholder="$t('pleaseEnter') + $t('phoneNumber')"
:disabled="isDisabledAuth('user:form:phone') || disableSubmit || !!model.id"
v-model="model.phone" />
</a-form-model-item>
<a-form-model-item :label="$t('phoneNumber')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone">
<a-input :placeholder="$t('pleaseEnter') + $t('phoneNumber')"
:disabled="isDisabledAuth('user:form:phone') || disableSubmit"
v-model="model.phone" />
</a-form-model-item>
<!-- <a-form-model-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <j-dict-select-tag v-model="model.activitiSync" placeholder="请选择是否同步工作流引擎" :type="'radio'" dictCode="activiti_sync"/>-->
<!-- </a-form-model-item>-->
<!-- <a-form-model-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <j-dict-select-tag v-model="model.activitiSync" placeholder="请选择是否同步工作流引擎" :type="'radio'" dictCode="activiti_sync"/>-->
<!-- </a-form-model-item>-->
</a-form-model>
</a-spin>
<div class="drawer-bootom-button" v-show="!disableSubmit">
<a-popconfirm :title="$t('areYouWantDiscardEditing')" @confirm="handleCancel" :okText="$t('determine')" :cancelText="$t('cancel')">
<a-button style="margin-right: .8rem">{{ $t('cancel') }}</a-button>
</a-popconfirm>
</a-form-model>
</a-spin>
</div>
<div class="custom-drawer-style-bottom-btn" v-show="!disableSubmit">
<a-button @click="handleCancel">{{ $t('cancel') }}</a-button>
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{ $t('submit') }}</a-button>
</div>
@@ -191,17 +195,37 @@ export default {
disableSubmit: false,
dateFormat: 'YYYY-MM-DD',
validatorRules: {
username: [{ required: true, message: this.$t('pleaseEnter') + this.$t('user.userAccount') },
{ validator: this.validateUsername }],
password: [{
required: true,
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
message: this.$t('user.passwordConsists')
},
{ validator: this.validateToNextPassword, trigger: 'change' }],
confirmpassword: [{ required: true, message: this.$t('user.reenterLoginPassword') },
{ validator: this.compareToFirstPassword }],
realname: [{ required: true, message: this.$t('pleaseEnter') + this.$t('user.userName') }],
username: [
{
required: true,
message: this.$t('pleaseEnter') + this.$t('user.userAccount')
},
{ validator: this.validateUsername }
],
password: [
{
required: true,
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
message: this.$t('user.passwordConsists')
},
{
validator: this.validateToNextPassword,
trigger: 'change'
}
],
confirmpassword: [
{
required: true,
message: this.$t('user.reenterLoginPassword')
},
{ validator: this.compareToFirstPassword }
],
realname: [
{
required: true,
message: this.$t('pleaseEnter') + this.$t('user.userName')
}
],
phone: [{ validator: this.validatePhone }],
email: [{ validator: this.validateEmail }],
roles: {}
@@ -248,6 +272,8 @@ export default {
methods: {
add () {
this.refresh()
this.validatorRules.phone = [{ validator: this.validatePhone }]
this.validatorRules.email = [{ validator: this.validateEmail }]
this.edit({ userIdentity: 1 })
},
edit (record) {
@@ -256,7 +282,10 @@ export default {
that.visible = true
// 根据屏幕宽度自适应抽屉宽度
this.resetScreenSize()
that.model = Object.assign({}, { selectedroles: '', selecteddeparts: '' }, record)
that.model = Object.assign({}, {
selectedroles: '',
selecteddeparts: ''
}, record)
// 身份为上级显示负责部门,否则不显示
this.departIdShow = this.model.userIdentity === 2
if (Object.prototype.hasOwnProperty.call(record, 'id')) {
@@ -291,7 +320,10 @@ export default {
getAction(this.url.queryTenantList).then(res => {
if (res.success) {
this.tenantsOptions = res.result.map((item) => {
return { label: item.name, value: item.id + '' }
return {
label: item.name,
value: item.id + ''
}
})
}
})
@@ -301,7 +333,10 @@ export default {
queryall().then((res) => {
if (res.success) {
this.rolesOptions = res.result.map((item) => {
return { label: item.roleName, value: item.id }
return {
label: item.roleName,
value: item.id
}
})
}
})
@@ -335,7 +370,10 @@ export default {
backDepartInfo (info) {
this.model.departIds = this.model.selecteddeparts
this.nextDepartOptions = info.map((item) => {
return { label: item.text, value: item.value + '' }
return {
label: item.text,
value: item.value + ''
}
})
},
refresh () {
@@ -357,7 +395,10 @@ export default {
// 先拉取秘钥
getRSAPublicKey().then(res => {
this.rsaPublicKey = res.result
if (this.model.id) {
delete this.validatorRules.phone
delete this.validatorRules.email
}
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
@@ -114,8 +114,8 @@ export default {
{
title: this.$t('operation'),
scopedSlots: { customRender: 'action' },
align: 'left',
width: 170
align: 'center',
width: 100
}
],
treeColumn: [
@@ -123,7 +123,7 @@ export default {
title: this.$t('system.tag.name'),
dataIndex: 'itemText',
key: 'itemText',
align: 'left',
align: 'center',
ellipsis: true,
width: 150,
// 必须增加 为了过滤掉组件本身的插槽
@@ -135,7 +135,7 @@ export default {
title: this.$t('system.tag.name'),
dataIndex: 'itemText',
key: 'itemText',
align: 'left',
align: 'center',
ellipsis: true,
width: 100,
scopedSlots: { customRender: 'text' }
@@ -11,7 +11,7 @@
v-model="queryParam.dbFieldTxt"></j-input>
</a-form-item>
</a-col>
<div style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<div style="float: right;overflow: hidden;margin-right: 12px" class="table-page-search-submitButtons">
<a-button icon="search" class="box-button" v-has="'tag:page'" style="margin-left: 8px" type="primary" @click="searchQuery">{{ $t('query') }}</a-button>
<a-button icon="reload" class="box-button" @click="searchReset">{{ $t('reset') }}</a-button>
</div>
@@ -153,6 +153,8 @@ export default {
}
</script>
<style scoped>
<style scoped lang="less">
/deep/ .table-page-search-wrapper .ant-form-inline .ant-form-item > .ant-form-item-label {
min-width: 65px;
}
</style>
+17 -6
View File
@@ -20,8 +20,13 @@
</a-select>
</a-form-item>
</a-col>
<div style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-button icon="search" class="box-button" v-has="'tag:page'" style="margin-left: 8px" type="primary" @click="searchQuery">
<div style="float: right;overflow: hidden;margin-right: 12px" class="table-page-search-submitButtons">
<a-button icon="search"
class="box-button"
v-has="'tag:page'"
style="margin-left: 8px"
type="primary"
@click="searchQuery">
{{ $t('query') }}
</a-button>
<a-button icon="reload" class="box-button" @click="searchReset">{{ $t('reset') }}</a-button>
@@ -33,9 +38,13 @@
<!--新增-->
<a-button icon="plus" type="primary" @click="handleAdd" v-has="'tag:add'">{{ $t('newlyAdded') }}</a-button>
<!--展示区域管理-->
<a-button icon="unordered-list" type="primary" ghost @click="handleShow" v-has="'tag:area:list'">{{ $t('system.tag.exhibitionAreaManagement') }}</a-button>
<a-button icon="unordered-list" type="primary" ghost @click="handleShow" v-has="'tag:area:list'">
{{ $t('system.tag.exhibitionAreaManagement') }}
</a-button>
<!--批量删除-->
<a-button type="primary" icon="delete" ghost @click="batchDel" v-has="'tag:logicDeleteBatch'">{{ $t('batchDelete') }}</a-button>
<a-button type="primary" icon="delete" ghost @click="batchDel" v-has="'tag:logicDeleteBatch'">{{ $t('batchDelete')
}}
</a-button>
</div>
<div>
@@ -202,6 +211,8 @@ export default {
}
</script>
<style scoped>
<style scoped lang="less">
/deep/ .table-page-search-wrapper .ant-form-inline .ant-form-item > .ant-form-item-label {
min-width: 65px;
}
</style>
+4 -2
View File
@@ -191,6 +191,8 @@ export default {
}
</script>
<style scoped>
<style scoped lang="less">
/deep/ .table-page-search-wrapper .ant-form-inline .ant-form-item > .ant-form-item-label {
min-width: 65px;
}
</style>