Browse Source

设置动态列表抽取到顶部 2022年12月13日 sxm

master
[li_she] 3 years ago
parent
commit
177a920dc6
  1. 3
      src/api/table.js
  2. 1
      src/icons/svg/icon-editTable.svg
  3. 557
      src/views/main-navbar.vue
  4. 416
      src/views/modules/common/column.vue

3
src/api/table.js

@ -25,6 +25,9 @@ export const updateTableUser = data => createAPI(`gridTableUser/updateTableUser`
// 删除
export const removerUser = data => createAPI(`gridTableUser/removerUser`,'post',data)
// 获取功能对应下的所有表格
export const getMenuTableList = data => createAPI(`gridTableDefault/getMenuTableList`,'post',data)

1
src/icons/svg/icon-editTable.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670914070507" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2012" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M895.9 288.5v62.4h2.8c21.9 0 42.9 5.8 61.3 16.7v-79.1h-64.1z m-211.2 164v-164h-64.1v164H404.4v-164h-64.1v164H129.1v-164H65v388h-1v64h1v219h279.1l60.2-119.3v-99.7h49.9l30.4-60.8 17.6 17.5 20.7-20.7H404.4v-160h216.2V579l108.3-108.1 18.4-18.4h-62.6z m-344.4 443H129.1v-155h211.2v155z m0-219H129.1v-160h211.2v160zM898.7 640.7v-0.1l-2.8 2.8v33.1h-33.1l-64.1 64h97.2v155H684.7v-8.6l-145.3 72.6H960V579.4z" fill="#17b3a3" p-id="2013"></path><path d="M684.7 879.3v-24.9l-12.5 12.5z" fill="#17b3a3" p-id="2014"></path><path d="M896 288.5v62.4h1.8c22.3 0 43.6 6 62.2 17.3v-79.7h-64z m-767 0H65v608h-1v63h280.3l31.5-63H129v-608z m768.8 352.1l-1.8 1.8v254.1H664.9l-126 63H960V578.4l-62.2 62.2z" fill="#17b3a3" p-id="2015"></path><path d="M937.4 431.3c-21.9-21.9-57.3-21.9-79.2 0l-39.6 39.6 39.1 39.1c0.2 0.2 0.4 0.4 0.5 0.6 0.2 0.2 0.4 0.4 0.6 0.5l39 39.1 39.6-39.6c21.9-22 21.9-57.4 0-79.3zM541.4 748.105l237.586-237.586 79.195 79.196L620.595 827.3zM422.6 946.1L581 866.9l-79.2-79.2z" fill="#17b3a3" p-id="2016"></path><path d="M65 64.5h895v224H65z" fill="#17b3a3" p-id="2017"></path></svg>

557
src/views/main-navbar.vue

@ -10,8 +10,8 @@
<icon-svg name="zhedie"></icon-svg>
</el-menu-item>
</el-menu>
<a class="site-navbar__brand-lg" href="javascript:;">{{pageLanguage.XjSysManage}}</a>
<a class="site-navbar__brand-mini" href="javascript:;">{{pageLanguage.abbreviation}}</a>
<a class="site-navbar__brand-lg" href="javascript:;">{{ pageLanguage.XjSysManage }}</a>
<a class="site-navbar__brand-mini" href="javascript:;">{{ pageLanguage.abbreviation }}</a>
</h1>
</div>
@ -21,6 +21,11 @@
<el-menu
class="site-navbar__menu site-navbar__menu--right"
mode="horizontal">
<el-menu-item class="site-navbar__avatar" index="1">
<span class="el-dropdown-link" @click="userSetting">
<icon-svg name="editTable" style="width: 25px;height: 25px;margin-top: 5px"></icon-svg>
</span>
</el-menu-item>
<el-menu-item v-if="isAuth('review:show')" class="site-navbar__avatar" index="1">
<span class="el-dropdown-link">
<router-link :to="{path:'purchaseorder-procurementReview',query:{'': ''}}">
@ -38,16 +43,16 @@
<el-submenu index="3">
<template slot="title">{{ pageLanguage.setting }}</template>
<el-submenu index="2-1">
<template slot="title">{{pageLanguage.languageSetting}}</template>
<template slot="title">{{ pageLanguage.languageSetting }}</template>
<el-menu-item index="2-1-1" :key="index" :value="item.languageCode" v-for="(item,index) in languageList "
@click.native="switch_the_language(item.languageCode)">{{item.languageName}}
@click.native="switch_the_language(item.languageCode)">{{ item.languageName }}
</el-menu-item>
</el-submenu>
<el-submenu index="2-2">
<template slot="title">{{ pageLanguage.userSetting }}</template>
<el-menu-item index="2-2-1" @click.native="updatePasswordHandle()">{{ pageLanguage.updatePassword }}
</el-menu-item>
<el-menu-item index="2-2-2" @click.native="updateLanguageHandle()">{{pageLanguage.updateDefaultLanguage}}
<el-menu-item index="2-2-2" @click.native="updateLanguageHandle()">{{ pageLanguage.updateDefaultLanguage }}
</el-menu-item>
</el-submenu>
<el-menu-item index="2-3" @click="$router.push({ name: 'theme' })">{{ pageLanguage.cssSetting }}
@ -75,298 +80,322 @@
<FileListView ref="fileListView" v-if="helpFileVisible"></FileListView>
<!-- 打印机列表 -->
<UserPrintList ref="userPrintList" v-if="printListVisible"></UserPrintList>
<!-- 动态列 -->
<column v-if="visible" ref="column" @refreshData="getTableUserColumn" v-drag></column>
</nav>
</template>
<script>
import UpdatePassword from './main-navbar-update-password'
import UpdateLanguage from './main-navbar-update-language'
import {clearLoginInfo} from '@/utils'
import FileListView from './modules/common/file-list-view'
import UserPrintList from './modules/common/user-print-list'
import {
searchFunctionButtonList,
saveButtonList,
searchSysLanguage,
} from "@/api/sysLanguage.js"
import UpdatePassword from './main-navbar-update-password'
import UpdateLanguage from './main-navbar-update-language'
import {clearLoginInfo} from '@/utils'
import FileListView from './modules/common/file-list-view'
import UserPrintList from './modules/common/user-print-list'
import column from "./modules/common/column";
import {
searchFunctionButtonList,
saveButtonList,
searchSysLanguage,
} from "@/api/sysLanguage.js"
import {
getReviewToolCount
import {
getReviewToolCount
} from '@/api/purchaseorder/procurementReview.js'
} from '@/api/purchaseorder/procurementReview.js'
export default {
data() {
return {
updatePassowrdVisible: false,
updateLanguageVisible: false,
helpFileVisible: false,
printListVisible: false,
message: this.$t('language.name'),
languageList: [],
pageLanguage: {
XjSysManage: '旭捷管理系统',
abbreviation: '旭捷',
setting: '设置',
languageSetting: '语言设置',
userSetting: '用户设置',
updatePassword: '修改密码',
updateDefaultLanguage: '修改默认语言',
cssSetting: '主提设置',
printSetting: '打印设置',
export default {
data() {
return {
visible: false,
updatePassowrdVisible: false,
updateLanguageVisible: false,
helpFileVisible: false,
printListVisible: false,
message: this.$t('language.name'),
languageList: [],
pageLanguage: {
XjSysManage: '旭捷管理系统',
abbreviation: '旭捷',
setting: '设置',
languageSetting: '语言设置',
userSetting: '用户设置',
updatePassword: '修改密码',
updateDefaultLanguage: '修改默认语言',
cssSetting: '主提设置',
printSetting: '打印设置',
},
// end
pageLanguageList: [
{
functionId: "systemInformation",
languageValue: '旭捷管理系统',
objectId: 'XjSysManage',
objectType: "label",
tableId: "systemInformation"
},
// end
pageLanguageList: [
{
functionId: "systemInformation",
languageValue: '旭捷管理系统',
objectId: 'XjSysManage',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '首页',
objectId: 'homePage',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '旭捷',
objectId: 'abbreviation',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '设置',
objectId: 'setting',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '语言设置',
objectId: 'languageSetting',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '用户设置',
objectId: 'userSetting',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '修改密码',
objectId: 'updatePassword',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '修改用户语言',
objectId: 'updateDefaultLanguage',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '主题设置',
objectId: 'cssSetting',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '打印设置',
objectId: 'printSetting',
objectType: "label",
tableId: "systemInformation"
}
],
pending: {
pendingReview: 0,
pendingSum: 0,
{
functionId: "systemInformation",
languageValue: '首页',
objectId: 'homePage',
objectType: "label",
tableId: "systemInformation"
},
queryToolReview: {
site: this.$store.state.user.site,
userId: this.$store.state.user.name,
strUserId: this.$store.state.user.id,
{
functionId: "systemInformation",
languageValue: '旭捷',
objectId: 'abbreviation',
objectType: "label",
tableId: "systemInformation"
},
toolReviewTimer: null,
}
},
watch: {
pending: {
deep: true,
handler: function (newV, oldV) {
this.pending.pendingSum = this.pending.pendingReview
{
functionId: "systemInformation",
languageValue: '设置',
objectId: 'setting',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '语言设置',
objectId: 'languageSetting',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '用户设置',
objectId: 'userSetting',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '修改密码',
objectId: 'updatePassword',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '修改用户语言',
objectId: 'updateDefaultLanguage',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '主题设置',
objectId: 'cssSetting',
objectType: "label",
tableId: "systemInformation"
},
{
functionId: "systemInformation",
languageValue: '打印设置',
objectId: 'printSetting',
objectType: "label",
tableId: "systemInformation"
}
],
pending: {
pendingReview: 0,
pendingSum: 0,
},
queryToolReview: {
site: this.$store.state.user.site,
userId: this.$store.state.user.name,
strUserId: this.$store.state.user.id,
},
toolReviewTimer: null,
}
},
watch: {
pending: {
deep: true,
handler: function (newV, oldV) {
this.pending.pendingSum = this.pending.pendingReview
}
},
components: {
UpdatePassword,
UpdateLanguage,
FileListView,
UserPrintList
},
components: {
UpdatePassword,
UpdateLanguage,
FileListView,
UserPrintList,
column,
},
computed: {
navbarLayoutType: {
get() {
return this.$store.state.common.navbarLayoutType
}
},
computed: {
navbarLayoutType: {
get() {
return this.$store.state.common.navbarLayoutType
}
sidebarFold: {
get() {
return this.$store.state.common.sidebarFold
},
sidebarFold: {
get() {
return this.$store.state.common.sidebarFold
},
set(val) {
this.$store.commit('common/updateSidebarFold', val)
}
},
mainTabs: {
get() {
return this.$store.state.common.mainTabs
},
set(val) {
this.$store.commit('common/updateMainTabs', val)
}
set(val) {
this.$store.commit('common/updateSidebarFold', val)
}
},
mainTabs: {
get() {
return this.$store.state.common.mainTabs
},
userName: {
get() {
return this.$store.state.user.userDisplay
}
set(val) {
this.$store.commit('common/updateMainTabs', val)
}
},
activated() {
userName: {
get() {
return this.$store.state.user.userDisplay
}
}
},
activated() {
},
mounted() {
this.toolReviewTimer = setInterval(this.getReviewToolCount, 1000 * 60);
},
beforeDestroy() {
clearInterval(this.toolReviewTimer);
},
methods: {
//
userSetting() {
this.visible = true;
let queryTable = {
userId: this.$store.state.user.name,
functionId: this.$route.meta.menuId,
languageCode: this.$i18n.locale,
tableId: '',
}
this.$nextTick(() => {
this.$refs.column.init(queryTable);
})
},
mounted() {
this.toolReviewTimer = setInterval( this.getReviewToolCount, 1000*60);
},
beforeDestroy() {
clearInterval(this.toolReviewTimer);
getTableUserColumn() {
this.$nextTick(() => {
this.$router.go(0)
})
},
methods: {
//
getReviewToolCount() {
getReviewToolCount(this.queryToolReview).then(({data}) => {
if (data.code == 0) {
this.pending.pendingReview = data.data
}
})
},
//
printList() {
this.printListVisible = true;
this.$nextTick(() => {
this.$refs.userPrintList.init()
})
},
//
helpFileList() {
let fileMappingDto = {
fileId: '',
fileType: '功能帮助文档',
orderRef1: this.$route.meta.menuId,
orderRef2: '',
orderRef3: '',
//
getReviewToolCount() {
getReviewToolCount(this.queryToolReview).then(({data}) => {
if (data.code == 0) {
this.pending.pendingReview = data.data
}
this.helpFileVisible = true;
this.$nextTick(() => {
this.$refs.fileListView.init(fileMappingDto)
})
},
//
getLanguageList() {
searchSysLanguage({languageCode: this.$i18n.locale}).then(({data}) => {
this.languageList = data.rows
})
},
//
getFunctionButtonList() {
let queryButton = {
functionId: 'systemInformation',
tableId: 'systemInformation',
languageCode: this.$i18n.locale,
objectType: 'label'
})
},
//
printList() {
this.printListVisible = true;
this.$nextTick(() => {
this.$refs.userPrintList.init()
})
},
//
helpFileList() {
let fileMappingDto = {
fileId: '',
fileType: '功能帮助文档',
orderRef1: this.$route.meta.menuId,
orderRef2: '',
orderRef3: '',
}
this.helpFileVisible = true;
this.$nextTick(() => {
this.$refs.fileListView.init(fileMappingDto)
})
},
//
getLanguageList() {
searchSysLanguage({languageCode: this.$i18n.locale}).then(({data}) => {
this.languageList = data.rows
})
},
//
getFunctionButtonList() {
let queryButton = {
functionId: 'systemInformation',
tableId: 'systemInformation',
languageCode: this.$i18n.locale,
objectType: 'label'
}
searchFunctionButtonList(queryButton).then(({data}) => {
if (data.code === 0) {
this.pageLanguage = data.data
}
searchFunctionButtonList(queryButton).then(({data}) => {
if (data.code === 0) {
this.pageLanguage = data.data
})
},
// 3
switch_the_language(val) {
localStorage.setItem('locale', val)
location.reload()
},
//
updatePasswordHandle() {
this.updatePassowrdVisible = true
this.$nextTick(() => {
this.$refs.updatePassowrd.init()
})
},
//
updateLanguageHandle() {
this.updateLanguageVisible = true
this.$nextTick(() => {
this.$refs.updateLanguage.init()
})
},
// 退
logoutHandle() {
this.$confirm(`确定进行[退出]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/sys/logout'),
method: 'post',
data: this.$http.adornData()
}).then(({data}) => {
if (data && data.code === 0) {
clearLoginInfo()
this.$router.push({name: 'login'})
}
})
},
// 3
switch_the_language(val) {
localStorage.setItem('locale', val)
location.reload()
},
//
updatePasswordHandle() {
this.updatePassowrdVisible = true
this.$nextTick(() => {
this.$refs.updatePassowrd.init()
})
},
//
updateLanguageHandle() {
this.updateLanguageVisible = true
this.$nextTick(() => {
this.$refs.updateLanguage.init()
})
},
// 退
logoutHandle() {
this.$confirm(`确定进行[退出]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/sys/logout'),
method: 'post',
data: this.$http.adornData()
}).then(({data}) => {
if (data && data.code === 0) {
clearLoginInfo()
this.$router.push({name: 'login'})
}
})
}).catch(() => {
})
}
},
created() {
this.getLanguageList()
this.getFunctionButtonList()
this.getReviewToolCount()
}).catch(() => {
})
}
},
created() {
this.getLanguageList()
this.getFunctionButtonList()
this.getReviewToolCount()
}
}
</script>
<style lang="scss">
.icon-svg {
width: 2em;
}
.icon-svg {
width: 2em;
}
.el-menu--collapse .el-menu .el-submenu, .el-menu--popup, .el-menu-item {
min-width: 50px !important;
}
.el-menu--collapse .el-menu .el-submenu, .el-menu--popup, .el-menu-item {
min-width: 50px !important;
}
.site-navbar__brand-lg, .site-navbar__brand-mini {
margin: 0 5px;
color: #fff;
margin-left: -45px;
}
.site-navbar__brand-lg, .site-navbar__brand-mini {
margin: 0 5px;
color: #fff;
margin-left: -45px;
}
.el-menu--horizontal > .el-menu-item {
color: #3b4249;
}
.el-menu--horizontal > .el-menu-item {
color: #3b4249;
}
</style>

416
src/views/modules/common/column.vue

@ -1,8 +1,14 @@
<template>
<el-dialog :close-on-click-modal="false" :show-close="false" :close-on-press-escape="false" title="设置表格栏位"
<el-dialog :modal-append-to-body="false"
:close-on-click-modal="false" :show-close="false" :close-on-press-escape="false" title="设置表格栏位"
:visible.sync="visible"
class="cl"
width="958px" v-drag>
<el-select v-model="this.queryTable.tableId">
<el-option @change="getTableUserList" :value="item.tableId" :label="item.tableName" v-for="(item,index) in tableList" :key="index">
</el-option>
</el-select>
<el-table
:height="height"
:data="userColumnList"
@ -15,14 +21,14 @@
width="120"
label="栏位名称">
<template slot-scope="scope">
<el-input readonly v-model="scope.row.columnLabel" ></el-input>
<el-input readonly v-model="scope.row.columnLabel"></el-input>
</template>
</el-table-column>
<el-table-column
width="80"
label="显示顺序">
<template slot-scope="scope">
<el-input oninput="value=value.replace(/[^\d]/g, '')" v-model="scope.row.sortLv" :min="0" ></el-input>
<el-input oninput="value=value.replace(/[^\d]/g, '')" v-model="scope.row.sortLv" :min="0"></el-input>
</template>
</el-table-column>
<el-table-column
@ -40,7 +46,7 @@
width="120"
label="固定位置">
<template slot-scope="scope">
<el-select style="width: 100px" v-model="scope.row.fixed">
<el-select style="width: 100px" v-model="scope.row.fixed">
<el-option label="不固定" value=""></el-option>
<el-option label="左固定" value="left"></el-option>
<el-option label="右固定" value="right"></el-option>
@ -62,14 +68,14 @@
width="100"
label="宽度">
<template slot-scope="scope">
<el-input oninput="value=value.replace(/[^\d]/g, '')" v-model="scope.row.columnWidth" :min="0" ></el-input>
<el-input oninput="value=value.replace(/[^\d]/g, '')" v-model="scope.row.columnWidth" :min="0"></el-input>
</template>
</el-table-column>
<el-table-column
width="100"
label="类型">
<template slot-scope="scope">
<el-select v-model="scope.row.columnType" >
<el-select v-model="scope.row.columnType">
<el-option value="string" label="string"></el-option>
<el-option value="number" label="number"></el-option>
<el-option value="date" label="date"></el-option>
@ -80,7 +86,7 @@
width="100"
label="位置">
<template slot-scope="scope">
<el-select v-model="scope.row.align" >
<el-select v-model="scope.row.align">
<el-option value="left" label="居左"></el-option>
<el-option value="center" label="居中"></el-option>
<el-option value="right" label="居右"></el-option>
@ -90,9 +96,8 @@
</el-table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="updateColumnList()" >确定</el-button>
<el-button type="primary" @click="updateColumnList()">确定</el-button>
<el-button @click="visible = false" type="primary">取消</el-button>
</span>
</el-dialog>
@ -102,202 +107,217 @@
<script>
import {
saveTableUser,
getTableDefaultListLanguage,
getTableUserListLanguage
} from "@/api/table.js"
import {
saveTableUser,
getTableDefaultListLanguage,
getTableUserListLanguage,
getMenuTableList
} from "@/api/table.js"
export default {
data() {
return {
height: 400,
//
columnList: [
{
columnLabel: "显示顺序",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "显示状态",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "排序",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "固定状态",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "宽度",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "类型",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "位置",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
export default {
data() {
return {
height: 400,
//
columnList: [
{
columnLabel: "显示顺序",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "显示状态",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "排序",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "固定状态",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "宽度",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "类型",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
{
columnLabel: "位置",
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
},
],
dataList: [],
// table
userColumnList: [],
queryTable: {},
visible: false,
fullscreenLoading: false
}
},
methods: {
],
tableList: [],
dataList: [],
// table
userColumnList: [],
queryTable: {},
visible: false,
fullscreenLoading: false
}
},
methods: {
//
init(queryTable) {
this.visible = true
this.queryTable = queryTable
getTableUserListLanguage(queryTable).then(({data}) => {
if (data.code == 0) {
this.userColumnList = data.rows
if (data.rows.length <= 0) {
getTableDefaultListLanguage(queryTable).then(({data}) => {
this.userColumnList = data.rows
})
}
}
})
//
async init(queryTable) {
if (!queryTable.functionId) return;
this.visible = true
this.queryTable = queryTable
this.dataListLoading = true
},
// table
updateColumnList() {
const loading = this.$loading({
lock: true,
text: '正在保存用户设置',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
let userColumns = []
for (let column of this.userColumnList) {
let userColumn = {
userId: this.$store.state.user.name,
functionId: column.functionId,
tableId: column.tableId,
tableName: column.tableName,
columnProp: column.columnProp,
headerAlign: column.headerAlign,
align: column.align,
columnWidth: column.columnWidth,
columnLabel: column.columnLabel,
columnHidden: column.columnHidden,
columnImage: column.columnImage,
columnSortable: column.columnSortable,
format: column.format,
sortLv: column.sortLv,
status: column.status,
fixed: column.fixed,
serialNumber: column.serialNumber,
columnType:column.columnType
}
userColumns.push(userColumn)
this.$emit("refreshData");
// tableId tableName
await getMenuTableList(queryTable).then(({data}) => {
if (data && data.code == 0) {
this.tableList = data.data
this.queryTable.tableId = data.data.length>0?data.data[0].tableId:'-1'
}
saveTableUser(userColumns).then(({data}) => {
if (data.code == 0) {
this.$message.success(data.msg)
loading.close();
this.visible = false
this.$emit("refreshData",this.queryTable.tableId);
} else {
this.$message.error(data.msg)
}
})
},
}
})
await this.getTableUserList()
},
async getTableUserList(){
await getTableUserListLanguage(this.queryTable).then(({data}) => {
if (data.code == 0) {
this.dataListLoading = false
this.userColumnList = data.rows
if (data.rows.length <= 0) {
getTableDefaultListLanguage(this.queryTable).then(({data}) => {
this.userColumnList = data.rows
})
}
}
})
},
// table
updateColumnList() {
const loading = this.$loading({
lock: true,
text: '正在保存用户设置',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
let userColumns = []
for (let column of this.userColumnList) {
let userColumn = {
userId: this.$store.state.user.name,
functionId: column.functionId,
tableId: column.tableId,
tableName: column.tableName,
columnProp: column.columnProp,
headerAlign: column.headerAlign,
align: column.align,
columnWidth: column.columnWidth,
columnLabel: column.columnLabel,
columnHidden: column.columnHidden,
columnImage: column.columnImage,
columnSortable: column.columnSortable,
format: column.format,
sortLv: column.sortLv,
status: column.status,
fixed: column.fixed,
serialNumber: column.serialNumber,
columnType: column.columnType
}
userColumns.push(userColumn)
this.$emit("refreshData");
}
saveTableUser(userColumns).then(({data}) => {
if (data.code == 0) {
this.$message.success(data.msg)
loading.close();
this.visible = false
this.$emit("refreshData", this.queryTable.tableId);
} else {
this.$message.error(data.msg)
}
})
},
}
}
</script>
<style >
.cl .el-table .cell {
line-height: 20px;
font-size: 12px;
height: 20px;
}
<style>
.cl .el-table .cell {
line-height: 20px;
font-size: 12px;
height: 20px;
}
.cl .el-switch__label * {
line-height: 1;
font-size: 12px;
display: inline-block;
}
.cl .el-switch__label * {
line-height: 1;
font-size: 12px;
display: inline-block;
}
</style>
Loading…
Cancel
Save