按钮权限

This commit is contained in:
sunFlower
2022-10-13 15:01:29 +08:00
parent b63624f76e
commit 1bc76b06c9
2 changed files with 1071 additions and 1050 deletions
+133 -114
View File
@@ -42,10 +42,10 @@
</span> </span>
<template #overlay v-if='manager'> <template #overlay v-if='manager'>
<a-menu @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)"> <a-menu @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">
<a-menu-item key="1" @click="orgAdd" >{{$t('Addingfolder')}}</a-menu-item> <a-menu-item key="1" @click="orgAdd">{{$t('Addingfolder')}}</a-menu-item>
<a-menu-item key="4" @click="orgAdds" v-if="deleteNode">{{$t('Addingsubfolders')}}</a-menu-item> <a-menu-item key="4" @click="orgAdds" v-if="deleteNode">{{$t('Addingsubfolders')}}</a-menu-item>
<a-menu-item key="2" @click="orgEdit" >{{$t('Editfolder')}}</a-menu-item> <a-menu-item key="2" @click="orgEdit">{{$t('Editfolder')}}</a-menu-item>
<a-menu-item key="3" @click="orgDelete" >{{$t('Deletefolders')}}</a-menu-item> <a-menu-item key="3" @click="orgDelete">{{$t('Deletefolders')}}</a-menu-item>
</a-menu> </a-menu>
</template> </template>
@@ -82,7 +82,7 @@
<div class="title-text" :title="$t('uploadTime')"> <div class="title-text" :title="$t('uploadTime')">
<span>{{ $t('uploadTime') }}</span> <span>{{ $t('uploadTime') }}</span>
</div> </div>
<!-- :placeholder="$t('PleaseSelect')+$t('uploadTime')"--> <!-- :placeholder="$t('PleaseSelect')+$t('uploadTime')"-->
<a-range-picker <a-range-picker
class="box-input" class="box-input"
@change="onChange" @change="onChange"
@@ -91,7 +91,8 @@
:disabled="false"/> :disabled="false"/>
</div> </div>
</a-col> </a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons"> <span style="float: right;overflow: hidden;margin-right: 11px"
class="table-page-search-submitButtons">
<a-col :md="6" :sm="24"> <a-col :md="6" :sm="24">
<!-- <globalAdvancedQuery ref="globalAdvancedQueryRef"--> <!-- <globalAdvancedQuery ref="globalAdvancedQueryRef"-->
<!-- @handleSuperQuery="handleSuperQuery"--> <!-- @handleSuperQuery="handleSuperQuery"-->
@@ -106,18 +107,22 @@
</div> </div>
<div class="table-operator" style="overflow:hidden;margin-bottom: 20px"> <div class="table-operator" style="overflow:hidden;margin-bottom: 20px">
<div style="float: right;margin-bottom: 0px;margin-left: 20px"> <div style="float: right;margin-bottom: 0px;margin-left: 20px">
<div class="operator-text" @click="handleuploadFile()" v-if='authmanage'> <div class="operator-text"
v-has="'externalReport:upload'"
@click="handleuploadFile()" v-if='authmanage'>
<a-icon type="import"/> <a-icon type="import"/>
{{ $t('UploadFile') }} {{ $t('UploadFile') }}
</div> </div>
<div class="operator-text" @click="handleDel()" v-if='authmanage'> <div class="operator-text"
v-has="'externalReport:batchDelete'"
@click="handleDel()" v-if='authmanage'>
<a-icon type="delete"/> <a-icon type="delete"/>
{{ $t('BatchDelete') }} {{ $t('BatchDelete') }}
</div> </div>
</div> </div>
</div> </div>
<div> <div>
<!-- :scroll="{x: 10,y:'calc(100vh - 130px)'}"--> <!-- :scroll="{x: 10,y:'calc(100vh - 130px)'}"-->
<a-table <a-table
ref="table" ref="table"
@@ -139,9 +144,15 @@
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<!-- <a class="text-operation" @click="handlelist(record)">{{$t('view')}}</a>--> <!-- <a class="text-operation" @click="handlelist(record)">{{$t('view')}}</a>-->
<a class="text-operation" @click="download(record)">{{$t('download')}}</a> <a class="text-operation"
<a class="text-operation" @click="handleEdit(record)" v-if='authmanage'>{{$t('edit')}}</a> v-has="'externalReport:download'"
<a class="text-operation" @click="batchDel(record)" v-if='authmanage'>{{$t('delete')}}</a> @click="download(record)">{{$t('download')}}</a>
<a class="text-operation"
v-has="'externalReport:edit'"
@click="handleEdit(record)" v-if='authmanage'>{{$t('edit')}}</a>
<a class="text-operation"
v-has="'externalReport:delete'"
@click="batchDel(record)" v-if='authmanage'>{{$t('delete')}}</a>
</span> </span>
</a-table> </a-table>
</div> </div>
@@ -160,7 +171,7 @@
<!-- 上传文件--> <!-- 上传文件-->
<addModel ref="addModelRef" @addModelList="addModelList"/> <addModel ref="addModelRef" @addModelList="addModelList"/>
<!-- 文件详情--> <!-- 文件详情-->
<handleModel :url="url" ref="handleModelRef" /> <handleModel :url="url" ref="handleModelRef"/>
<!-- 添加节点--> <!-- 添加节点-->
<a-modal <a-modal
class="add-menus" class="add-menus"
@@ -193,7 +204,7 @@
v-model.trim="form.folderName" v-model.trim="form.folderName"
:min="1" :max="100" style='width: 130%' :min="1" :max="100" style='width: 130%'
class="box-input add-input" class="box-input add-input"
:placeholder="$t('PleaseEnter')+$t('Foldername')" /> :placeholder="$t('PleaseEnter')+$t('Foldername')"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -248,7 +259,7 @@
<a-form-model-item class="itemModel" prop="orderId"> <a-form-model-item class="itemModel" prop="orderId">
<a-input-number v-model.trim="form.orderId" :min="1" :max="9999" class="box-input add-input" <a-input-number v-model.trim="form.orderId" :min="1" :max="9999" class="box-input add-input"
:placeholder="$t('PleaseEnter')+$t('Folderorder')" :formatter="limitNumber" :placeholder="$t('PleaseEnter')+$t('Folderorder')" :formatter="limitNumber"
:parser="limitNumber" /> :parser="limitNumber"/>
<!-- <a-input-number v-model="rowCount" :min="1" :placeholder="$t('pleaseEnter')+$t('numberRows')" :formatter="limitNumber" :parser="limitNumber" />--> <!-- <a-input-number v-model="rowCount" :min="1" :placeholder="$t('pleaseEnter')+$t('numberRows')" :formatter="limitNumber" :parser="limitNumber" />-->
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -266,21 +277,21 @@
</template> </template>
<script> <script>
import addModel from './components/addModel' import addModel from './components/addModel'
import handleModel from './components/handle' import handleModel from './components/handle'
import { getAction, postAction, downloadFile, deleteAction,putAction } from '@/api/manage' import { getAction, postAction, downloadFile, deleteAction, putAction } from '@/api/manage'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
// import exportTree from '@/components/exportTree/index' // import exportTree from '@/components/exportTree/index'
import axios from 'axios' import axios from 'axios'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
// import eventBUs from '../../../common/event' // import eventBUs from '../../../common/event'
import Vue from 'vue' import Vue from 'vue'
import moment from 'moment' import moment from 'moment'
import eventBUs from '@/common/event' import eventBUs from '@/common/event'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import PersonnelSelection from '@/components/PersonnelSelection/index' import PersonnelSelection from '@/components/PersonnelSelection/index'
export default { export default {
name: 'SplitDetail', name: 'SplitDetail',
components: { components: {
addModel, addModel,
@@ -298,10 +309,10 @@ export default {
queryParams: {}, queryParams: {},
pageSize: 10, pageSize: 10,
pageNo: 1, pageNo: 1,
disabled:false, disabled: false,
manager:false, manager: false,
total: 0, total: 0,
addSub:true, addSub: true,
tableData: [], tableData: [],
selectedRowKeys: [], selectedRowKeys: [],
dataSource: [], dataSource: [],
@@ -399,7 +410,7 @@ export default {
], ],
url: { url: {
list: 'com.jero.modules.extRepo/extRepoData/page', list: 'com.jero.modules.extRepo/extRepoData/page',
getSysCategoryTree: '/sys/category/getSysCategoryTree', getSysCategoryTree: '/sys/category/getSysCategoryTree'
}, },
ids: '', ids: '',
token: Vue.ls.get(ACCESS_TOKEN), token: Vue.ls.get(ACCESS_TOKEN),
@@ -407,10 +418,10 @@ export default {
uploadMenuId: '', uploadMenuId: '',
selectedKeys: [], selectedKeys: [],
deleteNode: false, deleteNode: false,
authmanage:false, authmanage: false,
fullWidth: '', fullWidth: '',
parameter: {}, parameter: {},
widthBrown: '', widthBrown: ''
} }
}, },
watch: { watch: {
@@ -576,7 +587,7 @@ export default {
authViewIdsName: node._props.dataRef.authViewIdsName, authViewIdsName: node._props.dataRef.authViewIdsName,
title: node._props.dataRef.title, title: node._props.dataRef.title,
folderName: node._props.dataRef.folderName, folderName: node._props.dataRef.folderName,
orderId: node._props.dataRef.orderId, orderId: node._props.dataRef.orderId
} }
this.nodeItem = JSON.parse(JSON.stringify(this.NodeTreeItem)) this.nodeItem = JSON.parse(JSON.stringify(this.NodeTreeItem))
// this.form.pid=this.NodeTreeItem.id // this.form.pid=this.NodeTreeItem.id
@@ -640,7 +651,7 @@ export default {
}) })
}, },
orgAdds(){ orgAdds() {
this.menuTitle = this.$t('Addingsubfolders') this.menuTitle = this.$t('Addingsubfolders')
this.isEdit = false this.isEdit = false
this.form = {} this.form = {}
@@ -779,11 +790,11 @@ export default {
//获取列表数据 //获取列表数据
loadData(item) { loadData(item) {
this.queryParams.supFolder = this.menuId this.queryParams.supFolder = this.menuId
this.queryParams.pageNo= this.pageNo this.queryParams.pageNo = this.pageNo
this.queryParams.pageSize= this.pageSize this.queryParams.pageSize = this.pageSize
let params = { let params = {
...this.queryParams, ...this.queryParams,
...item, ...item
} }
this.loading = true this.loading = true
getAction(this.url.list, params).then(res => { getAction(this.url.list, params).then(res => {
@@ -794,7 +805,7 @@ export default {
return return
} }
this.dataSource = res.result.pageList.records || [] this.dataSource = res.result.pageList.records || []
this.authmanage =res.result.auth_manage this.authmanage = res.result.auth_manage
this.total = res.result.pageList.total this.total = res.result.pageList.total
this.loading = false this.loading = false
} }
@@ -803,7 +814,7 @@ export default {
//搜索 //搜索
searchQuery(item) { searchQuery(item) {
this.pageNo = 1 this.pageNo = 1
if(this.queryParams.time && this.queryParams.time instanceof Array){ if (this.queryParams.time && this.queryParams.time instanceof Array) {
this.queryParams.time = this.queryParams.time.join(',') this.queryParams.time = this.queryParams.time.join(',')
} }
this.loadData(item) this.loadData(item)
@@ -871,7 +882,7 @@ export default {
this.parameter.info_id = this.infoId this.parameter.info_id = this.infoId
this.parameter.menu_id = this.menuId this.parameter.menu_id = this.menuId
}, },
onChange(value,dateString){ onChange(value, dateString) {
if (this.queryParams.time && this.queryParams.time.length > 0) { if (this.queryParams.time && this.queryParams.time.length > 0) {
let dateOne = moment(dateString[0]).format('YYYY-MM-DD') let dateOne = moment(dateString[0]).format('YYYY-MM-DD')
let dateTwo = moment(dateString[1]).format('YYYY-MM-DD') let dateTwo = moment(dateString[1]).format('YYYY-MM-DD')
@@ -888,7 +899,7 @@ export default {
this.selecIds = [] this.selecIds = []
}, },
//查看 //查看
handlelist(){ handlelist() {
this.$refs.handleModelRef.addModel() this.$refs.handleModelRef.addModel()
}, },
//编辑 //编辑
@@ -896,7 +907,7 @@ export default {
this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item))) this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item)))
}, },
//下载 //下载
download(item){ download(item) {
let query = { let query = {
id: item.fileKey id: item.fileKey
} }
@@ -1095,31 +1106,36 @@ export default {
beforeDestroy() { beforeDestroy() {
window.removeEventListener('resize', {}, false) window.removeEventListener('resize', {}, false)
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
::v-deep .ant-table-row:first-child {
background: #fff!important;
opacity: 0.9;
}
::v-deep .ant-table-body { ::v-deep .ant-table-row:first-child {
background: transparent!important; background: #fff !important;
} opacity: 0.9;
.box-title-text { }
::v-deep .ant-table-body {
background: transparent !important;
}
.box-title-text {
line-height: 1.4; line-height: 1.4;
display: flex; display: flex;
/*align-items: center;*/ /*align-items: center;*/
} }
/deep/.ant-table td{
/deep/ .ant-table td {
white-space: nowrap; white-space: nowrap;
} }
/deep/.ant-calendar-range-picker-input{
/deep/ .ant-calendar-range-picker-input {
width: 46% !important; width: 46% !important;
} }
.title-text {
.title-text {
width: 114px; width: 114px;
text-align: right; text-align: right;
display: inline-block; display: inline-block;
@@ -1132,42 +1148,44 @@ export default {
height: 42px; height: 42px;
line-height: 48px; line-height: 48px;
color: #040B29; color: #040B29;
} }
.box-input { .box-input {
display: inline-block; display: inline-block;
height: 38px; height: 38px;
width: 100%; width: 100%;
} }
.itemModel {
.itemModel {
width: calc(100% - 130px); width: calc(100% - 130px);
display: inline-block; display: inline-block;
margin-top: 2px; margin-top: 2px;
} }
.add-input {
width: 82%;
}
.box-button { .add-input {
width: 82%;
}
.box-button {
height: 38px; height: 38px;
/*margin-top: 2px;*/ /*margin-top: 2px;*/
} }
.text-operation { .text-operation {
margin-right: 8px; margin-right: 8px;
} }
.page { .page {
text-align: right; text-align: right;
margin-top: 20px; margin-top: 20px;
} }
.box-title-text-add { .box-title-text-add {
line-height: 1.4; line-height: 1.4;
display: flex; display: flex;
} }
.title-text-add { .title-text-add {
width: 114px; width: 114px;
text-align: right; text-align: right;
display: inline-block; display: inline-block;
@@ -1180,18 +1198,20 @@ export default {
height: 42px; height: 42px;
line-height: 42px; line-height: 42px;
margin-top: 3px; margin-top: 3px;
} }
.box-input-add { .box-input-add {
display: inline-block; display: inline-block;
height: 38px; height: 38px;
width: 100%; width: 100%;
} }
.Required {
.Required {
color: red; color: red;
margin-right: 4px; margin-right: 4px;
} }
.split-detail {
.split-detail {
/*height: 100% !important;*/ /*height: 100% !important;*/
.split-detail-wrap { .split-detail-wrap {
@@ -1272,33 +1292,35 @@ export default {
margin-top: 20px; margin-top: 20px;
} }
} }
} }
::v-deep .ant-modal-body {
::v-deep .ant-modal-body {
max-height: 500px; max-height: 500px;
overflow-y: auto; overflow-y: auto;
} }
///deep/ .ant-table-body {
// overflow: hidden !important; ????? ///deep/ .ant-table-body {
//} // overflow: hidden !important; ?????
//}
</style> </style>
<style lang="less"> <style lang="less">
.split-item { .split-item {
.ant-form-item-label { .ant-form-item-label {
min-width: 100px; min-width: 100px;
} }
} }
.add-menus { .add-menus {
.ant-modal-wrap { .ant-modal-wrap {
.ant-modal-footer { .ant-modal-footer {
text-align: center; text-align: center;
} }
} }
} }
.split-detail-right-wraper { .split-detail-right-wraper {
.table-page-search-submitButtons { .table-page-search-submitButtons {
.ant-col-md-6 { .ant-col-md-6 {
display: flex; display: flex;
@@ -1329,9 +1351,9 @@ export default {
margin-right: 3px !important; margin-right: 3px !important;
} }
} }
} }
.show-setting { .show-setting {
.ant-modal { .ant-modal {
min-width: 700px; min-width: 700px;
} }
@@ -1347,9 +1369,9 @@ export default {
.ant-modal-footer { .ant-modal-footer {
text-align: center; text-align: center;
} }
} }
.split-detail-left { .split-detail-left {
.ant-tree-node-content-wrapper-normal { .ant-tree-node-content-wrapper-normal {
@@ -1386,27 +1408,27 @@ export default {
} }
} }
} }
/*.ant-modal-body {*/ /*.ant-modal-body {*/
/* max-height: 500px;*/ /* max-height: 500px;*/
/* overflow-y: auto;*/ /* overflow-y: auto;*/
/*}*/ /*}*/
.split-detail-table { .split-detail-table {
.ant-table-body { .ant-table-body {
overflow: auto !important; overflow: auto !important;
} }
} }
.item-content-show { .item-content-show {
.wordImg { .wordImg {
width: 40px; width: 40px;
height: auto; height: auto;
} }
} }
@media screen and (min-width: 600px) and (max-width: 1600px) { @media screen and (min-width: 600px) and (max-width: 1600px) {
.operator-text { .operator-text {
margin-right: 20px !important; margin-right: 20px !important;
@@ -1415,23 +1437,20 @@ export default {
/*.title-text {*/ /*.title-text {*/
/* min-width: 73px !important;*/ /* min-width: 73px !important;*/
/*}*/ /*}*/
/*.split-detail-wrap {*/ /*.split-detail-wrap {*/
/* height: 481px !important;*/ /* height: 481px !important;*/
/*}*/ /*}*/
/*.mainItem {*/ /*.mainItem {*/
/* height: 500px;*/ /* height: 500px;*/
/*}*/ /*}*/
} }
@media screen and (min-width: 1600px) and (max-width: 2000px) { @media screen and (min-width: 1600px) and (max-width: 2000px) {
/*.split-detail .split-detail-wrap .split-detail-left {*/ /*.split-detail .split-detail-wrap .split-detail-left {*/
/* height: 735px !important;*/ /* height: 735px !important;*/
/*}*/ /*}*/
/*.mainItem {*/ /*.mainItem {*/
/* height: 800px !important;*/ /* height: 800px !important;*/
/*}*/ /*}*/
} }
</style> </style>
@@ -65,7 +65,9 @@
</div> </div>
<div class="table-operator" style="overflow:hidden;margin-bottom: 20px"> <div class="table-operator" style="overflow:hidden;margin-bottom: 20px">
<div style="float: right;margin-bottom: 0px;margin-left: 20px"> <div style="float: right;margin-bottom: 0px;margin-left: 20px">
<div class="operator-text" @click="deriveconformanceresults()"> <div class="operator-text"
v-has="'complianceKanban:export'"
@click="deriveconformanceresults()">
<a-icon type="solution"/> <a-icon type="solution"/>
{{ $t('Deriveconformanceresults') }} {{ $t('Deriveconformanceresults') }}
</div> </div>
@@ -96,7 +98,7 @@
<!-- {{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}--> <!-- {{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}-->
<!-- </span>--> <!-- </span>-->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="handlecody(record)">{{$t('view')}}</a> <a class="text-operation" v-has="'complianceKanban:view'" @click="handlecody(record)">{{$t('view')}}</a>
</span> </span>
</a-table> </a-table>
</div> </div>