Browse Source

数据端菜单管理

feature/syp_points
songyunpeng 5 years ago
parent
commit
8764e295c3
  1. 23
      src/views/modules/sys/app-menu-add-or-update.vue
  2. 23
      src/views/modules/sys/app-menu.vue
  3. 57
      src/views/modules/sys/appmenutemplate-add-or-update.vue
  4. 16
      src/views/modules/sys/appmenutemplate.vue
  5. 49
      src/views/modules/sys/role-add-or-update.vue

23
src/views/modules/sys/app-menu-add-or-update.vue

@ -24,6 +24,16 @@
:placeholder="$t('menu.name')" :placeholder="$t('menu.name')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="所属类别"
prop="category">
<el-select v-model="dataForm.category" placeholder="请选择">
<el-option v-for="item in appMenuCategory"
:key="item.dictValue"
:label="item.dictName"
:value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="menuCode" :label="$t('menu.menuCode')"> <el-form-item prop="menuCode" :label="$t('menu.menuCode')">
<el-input <el-input
v-model="dataForm.menuCode" v-model="dataForm.menuCode"
@ -222,6 +232,7 @@ export default {
name: '', name: '',
pid: '0', pid: '0',
parentName: '', parentName: '',
category: '',
url: '', url: '',
sort: 0, sort: 0,
icon: '', icon: '',
@ -232,7 +243,8 @@ export default {
numFlag: '0' numFlag: '0'
}, },
uploadUrl: '', uploadUrl: '',
loading: false loading: false,
appMenuCategory: []
} }
}, },
computed: { computed: {
@ -278,6 +290,15 @@ export default {
} }
}) })
}) })
this.getListFromDict()
},
getListFromDict () {
this.$http.get(`/sys/dict/listSimple/app_menu_category`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.appMenuCategory = res.data
}).catch(() => { })
}, },
// //
getMenuList () { getMenuList () {

23
src/views/modules/sys/app-menu.vue

@ -21,12 +21,7 @@
border border
style="width: 100%;" style="width: 100%;"
> >
<table-tree-column <table-tree-column prop="name" :label="$t('menu.name')" header-align="center" width="150" ></table-tree-column>
prop="name"
:label="$t('menu.name')"
header-align="center"
width="150"
></table-tree-column>
<el-table-column <el-table-column
prop="icon" prop="icon"
label="菜单图标" label="菜单图标"
@ -58,6 +53,13 @@
header-align="center" header-align="center"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column
prop="category"
label="所属类别"
header-align="center"
:formatter="showCategoryFormatter"
align="center"
></el-table-column>
<el-table-column <el-table-column
prop="numFlag" prop="numFlag"
label="显示数字" label="显示数字"
@ -127,6 +129,15 @@ export default {
} else { } else {
return '未知' return '未知'
} }
},
showCategoryFormatter: function (row, column) {
if (row.category === 'work') {
return '工作端'
} else if (row.category === 'analysis') {
return '数据端'
} else {
return '未知'
}
} }
} }
} }

57
src/views/modules/sys/appmenutemplate-add-or-update.vue

@ -18,6 +18,16 @@
placeholder="模板名称" placeholder="模板名称"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="所属类别"
prop="category">
<el-select v-model="dataForm.category" placeholder="请选择">
<el-option v-for="item in appMenuCategory"
:key="item.dictValue"
:label="item.dictName"
:value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="模板编码" prop="templateCode"> <el-form-item label="模板编码" prop="templateCode">
<el-input <el-input
v-model="dataForm.templateCode" v-model="dataForm.templateCode"
@ -72,9 +82,9 @@ export default {
className: '', className: '',
spareClassName: '', spareClassName: '',
columnAmount: 0, columnAmount: 0,
createdTime: '', category: ''
updatedTime: '' },
} appMenuCategory: []
} }
}, },
computed: { computed: {
@ -115,37 +125,9 @@ export default {
trigger: 'blur' trigger: 'blur'
} }
], ],
revision: [ category: [
{
required: false,
message: this.$t('validate.required'),
trigger: 'blur'
}
],
createdBy: [
{ {
required: false, required: true,
message: this.$t('validate.required'),
trigger: 'blur'
}
],
createdTime: [
{
required: false,
message: this.$t('validate.required'),
trigger: 'blur'
}
],
updatedBy: [
{
required: false,
message: this.$t('validate.required'),
trigger: 'blur'
}
],
updatedTime: [
{
required: false,
message: this.$t('validate.required'), message: this.$t('validate.required'),
trigger: 'blur' trigger: 'blur'
} }
@ -162,6 +144,15 @@ export default {
this.getInfo() this.getInfo()
} }
}) })
this.getListFromDict()
},
getListFromDict () {
this.$http.get(`/sys/dict/listSimple/app_menu_category`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.appMenuCategory = res.data
}).catch(() => { })
}, },
// //
getInfo () { getInfo () {

16
src/views/modules/sys/appmenutemplate.vue

@ -52,6 +52,13 @@
header-align="center" header-align="center"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column
prop="category"
label="所属类别"
header-align="center"
:formatter="showCategoryFormatter"
align="center"
></el-table-column>
<el-table-column <el-table-column
prop="templateCode" prop="templateCode"
label="模板编码" label="模板编码"
@ -150,6 +157,15 @@ export default {
: row.state === '0' : row.state === '0'
? '未知' ? '未知'
: '否' : '否'
},
showCategoryFormatter: function (row, column) {
if (row.category === 'work') {
return '工作端'
} else if (row.category === 'analysis') {
return '数据端'
} else {
return '未知'
}
} }
} }
} }

49
src/views/modules/sys/role-add-or-update.vue

@ -86,7 +86,7 @@
ref="whistleDeptListTree" ref="whistleDeptListTree"
accordion accordion
show-checkbox show-checkbox
check-strictly=true> :check-strictly="true">
</el-tree> </el-tree>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -166,9 +166,9 @@ export default {
this.getMenuList(), this.getMenuList(),
this.getDeptList(), this.getDeptList(),
this.getAppMenuList(), this.getAppMenuList(),
this.getCategoryList(), this.getCategoryList()
this.getWhistleDeptList(), // this.getWhistleDeptList()
this.getAnalysisMenuList() // this.getAnalysisMenuList()
]).then(() => { ]).then(() => {
if (this.dataForm.id) { if (this.dataForm.id) {
this.getInfo() this.getInfo()
@ -192,24 +192,27 @@ export default {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
this.deptList = res.data this.deptList = res.data
}).catch(() => { }) //
},
//
getWhistleDeptList () {
return this.$http.get('/sys/dept/list').then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.whistleDeptList = res.data this.whistleDeptList = res.data
}).catch(() => { }) }).catch(() => { })
}, },
//
// getWhistleDeptList () {
// return this.$http.get('/sys/dept/list').then(({ data: res }) => {
// if (res.code !== 0) {
// return this.$message.error(res.msg)
// }
// this.whistleDeptList = res.data
// }).catch(() => { })
// },
// App // App
getAppMenuList () { getAppMenuList () {
return this.$http.get('/sys/appmenu/select').then(({ data: res }) => { return this.$http.get('/sys/appmenu/v2/select').then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
this.appMenuList = res.data this.appMenuList = res.data.workMenu
this.analysisMenuList = res.data.analysisMenu
}).catch(() => { }) }).catch(() => { })
}, },
// //
@ -221,14 +224,14 @@ export default {
this.categoryList = res.data this.categoryList = res.data
}).catch(() => { }) }).catch(() => { })
}, },
getAnalysisMenuList () { // getAnalysisMenuList () {
return this.$http.get('/sys/analysismenu/select').then(({ data: res }) => { // return this.$http.get('/sys/analysismenu/select').then(({ data: res }) => {
if (res.code !== 0) { // if (res.code !== 0) {
return this.$message.error(res.msg) // return this.$message.error(res.msg)
} // }
this.analysisMenuList = res.data // this.analysisMenuList = res.data
}).catch(() => { }) // }).catch(() => { })
}, // },
// //
getInfo () { getInfo () {
this.$http.get(`/sys/role/${this.dataForm.id}`).then(({ data: res }) => { this.$http.get(`/sys/role/${this.dataForm.id}`).then(({ data: res }) => {
@ -271,7 +274,7 @@ export default {
...this.$refs.analysisMenuListTree.getHalfCheckedKeys() ...this.$refs.analysisMenuListTree.getHalfCheckedKeys()
] ]
this.dataForm.whistleDeptIdList = this.$refs.whistleDeptListTree.getCheckedKeys() this.dataForm.whistleDeptIdList = this.$refs.whistleDeptListTree.getCheckedKeys()
this.$http[!this.dataForm.id ? 'post' : 'put']('/sys/role', this.dataForm).then(({ data: res }) => { this.$http[!this.dataForm.id ? 'post' : 'put']('/sys/role/v2', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }

Loading…
Cancel
Save