7 changed files with 148 additions and 469 deletions
-
7src/api/sysLanguageMenu.js
-
10src/views/main-navbar.vue
-
23src/views/modules/knifemold/receive.vue
-
30src/views/modules/sys/language/common.vue
-
438src/views/modules/sys/language/menu.vue
-
93src/views/modules/sys/menu-language.vue
-
16src/views/modules/sys/menu.vue
@ -0,0 +1,7 @@ |
|||
import { createAPI } from "@/utils/httpRequest.js"; |
|||
|
|||
// 获取 语言列表
|
|||
export const searchMenuLanguageById = data => createAPI(`sys/menu/searchMenuLanguageById`,'post',data) |
|||
|
|||
// 保存语言
|
|||
export const saveMenuLanguage = data => createAPI(`sys/menu/saveMenuLanguage`,'post',data) |
|||
@ -1,438 +0,0 @@ |
|||
<template> |
|||
<div class="mod-config"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|||
<el-form-item> |
|||
<el-input v-model="dataForm.key" :placeholder="$t('commonsearch')" clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button @click="getDataList()" type="primary">{{$t('commonsearch')}}</el-button> |
|||
<el-button v-if="isAuth(':prd:save')" type="primary" @click="addOrUpdateHandle()">{{$t('commonadd')}} |
|||
</el-button> |
|||
<el-button @click="saveColumnList()" type="primary" v-show="showDefault">设置默认配置</el-button> |
|||
<el-button @click="userSetting" type="primary">{{$t('commonsettingTable')}}</el-button> |
|||
<download-excel |
|||
:data="dataList" |
|||
class="el-button el-button--primary el-button--medium" |
|||
name=" "> |
|||
{{$t('commondownload')}} |
|||
</download-excel> |
|||
|
|||
<el-button v-if="isAuth(':prd:delete')" type="danger" @click="deleteHandle()" |
|||
:disabled="dataListSelections.length <= 0">{{$t('commondeleteList')}} |
|||
</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table |
|||
:data="dataList" |
|||
border |
|||
v-loading="dataListLoading" |
|||
@selection-change="selectionChangeHandle" |
|||
style="width: 100%;" |
|||
:header-cell-style="{ |
|||
'background-color': '#17b3a3', |
|||
'color': '#fff', |
|||
'font-weight': '400' |
|||
}"> |
|||
<el-table-column |
|||
type="selection" |
|||
header-align="center" |
|||
width="40" |
|||
align="center"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
v-for="(item,index) in columnList" :key="item.columnProp" |
|||
:sortable="item.columnSortable" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:show-overflow-tooltip="item.showOverflowTooltip" |
|||
:align="item.align" |
|||
:fixed="item.fixed" |
|||
:width="item.columnWidth" |
|||
:label="item.columnLabel"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> |
|||
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
|||
style="width: 100px; height: 80px"/></span> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
|
|||
<el-table-column |
|||
fixed="right" |
|||
header-align="center" |
|||
align="center" |
|||
width="150" |
|||
:label="$t('commoncz')"> |
|||
<template slot-scope="scope"> |
|||
<a type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{$t('commonedit')}}</a> |
|||
<a type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('commondelete')}}</a> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
@size-change="sizeChangeHandle" |
|||
@current-change="currentChangeHandle" |
|||
:current-page="pageIndex" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="pageSize" |
|||
:total="totalPage" |
|||
layout="total, sizes, prev, pager, next, jumper"> |
|||
</el-pagination> |
|||
|
|||
<el-dialog title="设置table列" :visible.sync="visible" width="1000px"> |
|||
<el-form @keyup.enter.native="updateColumnList()" |
|||
v-model="userColumnList" |
|||
inline="inline" |
|||
size="mini" |
|||
label-width="80px"> |
|||
<el-form-item v-for="(item,index) in userColumnList" |
|||
:key="item.columnProp" |
|||
:label="item.columnLabel" |
|||
:prop="item.columnProp"> |
|||
<el-form-item> |
|||
排序 |
|||
<el-input-number v-model="item.sortLv" controls-position="right" size="mini" :min="0" |
|||
:max="10"></el-input-number> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-switch |
|||
v-model="item.status" |
|||
active-text="显示" |
|||
inactive-text="隐藏"> |
|||
</el-switch> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-switch |
|||
v-model="item.columnSortable" |
|||
active-text="排序" |
|||
inactive-text="不排序"> |
|||
</el-switch> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-switch |
|||
v-model="item.fixed" |
|||
active-text="固定" |
|||
inactive-text="不固定"> |
|||
</el-switch> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
宽度 |
|||
<el-input-number v-model="item.columnWidth" controls-position="right" size="mini" :min="0" |
|||
:max="1000"></el-input-number> |
|||
</el-form-item> |
|||
|
|||
</el-form-item> |
|||
</el-form> |
|||
<span slot="footer" class="dialog-footer"> |
|||
<el-button @click="visible = false">取消</el-button> |
|||
<el-button type="primary" @click="updateColumnList()">确定</el-button> |
|||
</span> |
|||
</el-dialog> |
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
|
|||
import {getPrdList} from "@/api/prd.js" |
|||
import { |
|||
saveTableDefaultList, |
|||
saveTableUser, |
|||
getTableDefaultListLanguage, |
|||
getTableUserListLanguage |
|||
} from "@/api/table.js" |
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
functionId: 9001, |
|||
tableId: "common1001", |
|||
value1: true, |
|||
visible: false, |
|||
showDefault: false, |
|||
queryTable: { |
|||
functionId: 9001, |
|||
tableId: "common1001", |
|||
languageCode: this.$i18n.locale |
|||
}, |
|||
queryTableUser: { |
|||
userId: this.$store.state.user.name, |
|||
functionId: 9001, |
|||
tableId: "common1001", |
|||
status: true, |
|||
languageCode: this.$i18n.locale |
|||
}, |
|||
dataForm: { |
|||
key: '' |
|||
}, |
|||
userColumnList: [], |
|||
columnList: [ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 9001, |
|||
serialNumber: 'common1001languageCode', |
|||
tableId: "common1001", |
|||
tableName: "common", |
|||
columnProp: "languageCode", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "语言编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: true, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
}, { |
|||
userId: this.$store.state.user.name, |
|||
functionId: 9001, |
|||
serialNumber: 'common1001functionId', |
|||
tableId: "common1001", |
|||
tableName: "common", |
|||
columnProp: "functionId", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "功能编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: true, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false |
|||
}, { |
|||
userId: this.$store.state.user.name, |
|||
functionId: 9001, |
|||
serialNumber: 'common1001serialNumber', |
|||
tableId: "common1001", |
|||
tableName: "common", |
|||
columnProp: "serialNumber", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "序列化编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: true, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 9001, |
|||
serialNumber: 'common1001type', |
|||
tableId: "common1001", |
|||
tableName: "common", |
|||
columnProp: " type", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "类型", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: true, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
}, { |
|||
userId: this.$store.state.user.name, |
|||
functionId: 9001, |
|||
serialNumber: 'common1001value', |
|||
tableId: "common1001", |
|||
tableName: "common", |
|||
columnProp: " value", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "语言编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: true, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: false, |
|||
} |
|||
], |
|||
dataList: [], |
|||
queryPrd: { |
|||
page: 1, |
|||
limit: 1, |
|||
key: '' |
|||
}, |
|||
pageIndex: 1, |
|||
pageSize: 10, |
|||
totalPage: 0, |
|||
dataListLoading: false, |
|||
dataListSelections: [], |
|||
addOrUpdateVisible: false |
|||
} |
|||
}, |
|||
activated() { |
|||
this.getDataList() |
|||
|
|||
}, |
|||
methods: { |
|||
// 打开页面设置 |
|||
userSetting() { |
|||
this.visible = true; |
|||
this.getTableUserAll() |
|||
}, |
|||
// 获取 用户的配置 |
|||
getTableUserAll() { |
|||
let queryTable = { |
|||
userId: this.$store.state.user.name, |
|||
functionId: 1001, |
|||
tableId: "prd1001", |
|||
languageCode: this.$i18n.locale |
|||
} |
|||
getTableUserListLanguage(queryTable).then(({data}) => { |
|||
if (data.code == 0) { |
|||
this.userColumnList = data.rows |
|||
if (data.rows.length <= 0) { |
|||
getTableDefaultListLanguage(this.queryTable).then(({data}) => { |
|||
this.userColumnList = data.rows |
|||
|
|||
}) |
|||
} |
|||
} |
|||
|
|||
}) |
|||
}, |
|||
// 修改 table 列 |
|||
updateColumnList() { |
|||
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 |
|||
} |
|||
userColumns.push(userColumn) |
|||
} |
|||
saveTableUser(userColumns).then(({data}) => { |
|||
if (data.code == 0) { |
|||
this.$message.success(data.msg) |
|||
this.visible = false |
|||
this.getTableUserColumn() |
|||
} else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}) |
|||
}, |
|||
// 获取 用户保存的 格式列 |
|||
getTableUserColumn() { |
|||
getTableUserListLanguage(this.queryTableUser).then(({data}) => { |
|||
if (data.rows.length > 0) { |
|||
this.columnList = [] |
|||
this.columnList = data.rows |
|||
} else { |
|||
this.getColumnList() |
|||
} |
|||
}) |
|||
}, |
|||
// 保存 默认配置 列 |
|||
saveColumnList() { |
|||
saveTableDefaultList(this.columnList).then(({data}) => { |
|||
if (data.code == 0) { |
|||
this.$message.success(data.msg) |
|||
this.showDefault = false |
|||
} else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}) |
|||
this.getColumnList() |
|||
}, |
|||
// 获取 tableDefault 列 |
|||
getColumnList() { |
|||
getTableDefaultListLanguage(this.queryTable).then(({data}) => { |
|||
if (!data.rows.length == 0) { |
|||
this.showDefault = false |
|||
this.columnList = data.rows |
|||
} else { |
|||
this.showDefault = true |
|||
} |
|||
}) |
|||
}, |
|||
// 获取数据列表 |
|||
getDataList() { |
|||
this.dataListLoading = true |
|||
getPrdList(this.queryPrd).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
this.dataList = data.page.list |
|||
this.totalPage = data.page.totalCount |
|||
} else { |
|||
this.dataList = [] |
|||
this.totalPage = 0 |
|||
} |
|||
this.dataListLoading = false |
|||
}) |
|||
}, |
|||
// 每页数 |
|||
sizeChangeHandle(val) { |
|||
this.pageSize = val |
|||
this.pageIndex = 1 |
|||
this.getDataList() |
|||
}, |
|||
// 当前页 |
|||
currentChangeHandle(val) { |
|||
this.pageIndex = val |
|||
this.getDataList() |
|||
}, |
|||
// 多选 |
|||
selectionChangeHandle(val) { |
|||
this.dataListSelections = val |
|||
}, |
|||
// 删除 |
|||
deleteHandle(id) { |
|||
var ids = id ? [id] : this.dataListSelections.map(item => { |
|||
return item.id |
|||
}) |
|||
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.$http({ |
|||
url: this.$http.adornUrl('//prd/delete'), |
|||
method: 'post', |
|||
data: this.$http.adornData(ids, false) |
|||
}).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => { |
|||
this.getDataList() |
|||
} |
|||
}) |
|||
} else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}) |
|||
}) |
|||
}, |
|||
}, |
|||
created() { |
|||
this.getTableUserColumn() |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-table th { |
|||
display: table-cell !important; |
|||
} |
|||
|
|||
|
|||
</style> |
|||
@ -0,0 +1,93 @@ |
|||
<template> |
|||
<el-dialog |
|||
width="350px" |
|||
title="语言" |
|||
:close-on-click-modal="false" |
|||
:visible.sync="visible"> |
|||
<el-form |
|||
v-model="dataList" |
|||
inline="inline" |
|||
size="mini" |
|||
label-width="80px"> |
|||
<el-form-item v-for="(item,index) in dataList" |
|||
:key="item.columnProp" |
|||
:label="item.columnLabel" |
|||
:prop="item.columnProp"> |
|||
<el-form-item> |
|||
{{item.languageCode }} |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-input v-model="item.languageValue" controls-position="right" style="display:inline"></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" @click="dataFormSubmit(item)"> {{buttons.add}}</el-button> |
|||
</el-form-item> |
|||
|
|||
|
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<span slot="footer" class="dialog-footer"> |
|||
<el-button @click="visible = false" type="primary">关闭</el-button> |
|||
</span> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import {searchMenuLanguageById,saveMenuLanguage} from '@/api/sysLanguageMenu.js' |
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
visible: false, |
|||
addLanguage: false, |
|||
functionId: 9001, |
|||
tableId: "common1001", |
|||
value1: true, |
|||
showDefault: false, |
|||
dataListLoading: false, |
|||
dataList: [], |
|||
querySysLanguageParam: {}, |
|||
buttons: { |
|||
add: '确认', |
|||
}, |
|||
} |
|||
}, |
|||
methods: { |
|||
init(id) { |
|||
this.visible = true |
|||
let menu = { |
|||
menuId: id |
|||
} |
|||
searchMenuLanguageById(menu).then(({data}) =>{ |
|||
this.dataList = data.menuLanguageList |
|||
}) |
|||
}, |
|||
saveLanguageList(){ |
|||
|
|||
}, |
|||
// 获取数据列表 |
|||
getDataList() { |
|||
this.dataListLoading = false |
|||
|
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmit(val) { |
|||
saveMenuLanguage(val).then(({data})=>{ |
|||
if (data.code == 0){ |
|||
this.$message.success(data.msg) |
|||
}else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item { |
|||
margin-bottom: 5px; |
|||
} |
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue