按钮权限

This commit is contained in:
sunFlower
2022-10-13 14:28:14 +08:00
parent 4735dde7ec
commit b63624f76e
4 changed files with 80 additions and 22 deletions
@@ -36,7 +36,9 @@
</a-form>
</div>
<div class="box-content-right">
<div @click="managePublishingClick" class="operator-text">
<div @click="managePublishingClick"
v-has="'countryCard:managePublishing'"
class="operator-text">
<a-icon type="carry-out"/>
{{$t('managePublishing')}}
</div>
@@ -15,7 +15,9 @@
</template>
</div>
<div class="box-content-content">
<div class="box-content-content-index" :title="$t('classificationMaintenance')"
<div class="box-content-content-index"
v-has="'problemKnowledgeBase:classificationMaintenance'"
:title="$t('classificationMaintenance')"
@click="classificationClick">
<a-icon type="setting"/>
{{$t('classificationMaintenance')}}
@@ -42,11 +44,15 @@
<!-- <a-icon type="setting"/>-->
<!-- {{$t('classificationMaintenance')}}-->
<!-- </div>-->
<div @click="managePublishingClick" class="operator-text-text-index">
<div @click="managePublishingClick"
v-has="'problemKnowledgeBase:release'"
class="operator-text-text-index">
<a-icon type="carry-out"/>
{{$t('managePublishing')}}
</div>
<div @click="newlyAddedClick" class="operator-text-text-index">
<div @click="newlyAddedClick"
v-has="'problemKnowledgeBase:add'"
class="operator-text-text-index">
<a-icon type="plus"/>
{{$t('newlyAdded')}}
</div>
@@ -44,19 +44,27 @@
</a-form>
</div>
<div class="table-operator">
<div @click="monthlyTitleTemplateClick" class="operator-text">
<div @click="monthlyTitleTemplateClick"
v-has="'monthlyReportFilling:titleTemplate'"
class="operator-text">
<a-icon type="apartment"/>
{{$t('monthlyTitleTemplate')}}
</div>
<div @click="monthlyIntegrationAndExportClick" class="operator-text">
<div @click="monthlyIntegrationAndExportClick"
v-has="'monthlyReportFilling:integratedExport'"
class="operator-text">
<a-icon type="import"/>
{{$t('monthlyIntegrationAndExport')}}
</div>
<div @click="addContentClick" class="operator-text">
<div @click="addContentClick"
v-has="'monthlyReportFilling:adding'"
class="operator-text">
<a-icon type="plus"/>
{{$t('addContent')}}
</div>
<div @click="BatchDeleteClick" class="operator-text">
<div @click="BatchDeleteClick"
v-has="'monthlyReportFilling:batchDelete'"
class="operator-text">
<a-icon type="delete"/>
{{$t('BatchDelete')}}
</div>
@@ -74,10 +82,28 @@
:columns="columns"
>
<span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="copyClick(record)">{{$t('copy')}}</a>
<a class="text-operation" @click="viewClick(record)">{{$t('view')}}</a>
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>
<a class="text-operation"
v-has="'monthlyReportFilling:copy'"
@click="copyClick(record)">
{{$t('copy')}}
</a>
<a class="text-operation"
v-has="'monthlyReportFilling:view'"
@click="viewClick(record)">
{{$t('view')}}
</a>
<a class="text-operation"
v-if="record.createBy == userData.username || administrators"
v-has="'monthlyReportFilling:edit'"
@click="edit(record)">
{{$t('edit')}}
</a>
<a class="text-operation"
v-if="record.createBy == userData.username || administrators"
v-has="'monthlyReportFilling:delete'"
@click="deleteLib(record)">
{{$t('deleteLib')}}
</a>
</span>
</a-table>
<div class="page" v-if="dataSource && dataSource.length > 0">
@@ -103,6 +129,7 @@
import fillTable from './modules/fillTable'
import fillAdd from './modules/fillAdd'
import moment from 'moment'
import { mapGetters } from 'vuex'
export default {
name: 'RegulationMonthlyFill',
@@ -118,14 +145,14 @@
list: '/report/lawsMonthlyReportWriteEO/page',
exportData: '/report/lawsMonthlyReportWriteEO/exportMonthlyReport'
},
exportStatusList:[
exportStatusList: [
{
value:'2',
name:this.$t('hasBeenExport')
value: '2',
name: this.$t('hasBeenExport')
},
{
value:'1',
name:this.$t('notExport')
value: '1',
name: this.$t('notExport')
}
],
loading: false,
@@ -192,15 +219,27 @@
width: 190,
scopedSlots: { customRender: 'operation' }
}
]
],
userData:{},
administrators:false
}
},
mounted() {
this.queryParam.month = moment(new Date()).format('YYYY-MM')
this.getList()
this.userData = this.userInfo()
this.administrators = false
if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) {
this.userInfo().userRoleList.forEach(res => {
if (res.roleCode == 'admin') {
this.administrators = true
}
})
}
},
methods: {
copyClick(row){
...mapGetters(['userInfo']),
copyClick(row) {
let _this = this
this.$confirm({
content: _this.$t('ConfirmReplication'),
@@ -22,7 +22,7 @@
</a-form>
</div>
<div class="table-operator">
<div @click="uploadMonthlyClick" class="operator-text">
<div @click="uploadMonthlyClick" v-has="'monthlyReportManagement:upload'" class="operator-text">
<a-icon type="cloud-upload"/>
{{$t('uploadMonthly')}}
</div>
@@ -51,14 +51,16 @@
</span>
<span slot="operation" slot-scope="text,record">
<a class="text-operation"
v-if="record.createBy == userData.username"
v-has="'monthlyReportManagement:release'"
v-if="record.createBy == userData.username || administrators"
@click="withdraw(record)">
{{record.issueStatus == 2 ? $t('release') : $t('withdraw')}}
</a>
<a class="text-operation"
v-if="record.createBy == userData.username && record.issueStatus == 2"
v-if="(record.createBy == userData.username || administrators) && record.issueStatus == 2"
@click="deleteLib(record)">{{$t('deleteLib')}}</a>
<a class="text-operation"
v-has="'monthlyReportManagement:download'"
v-if="record.createBy == userData.username || record.issueStatus == 1"
@click="download(record)">{{$t('download')}}</a>
</span>
@@ -110,6 +112,7 @@
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
userData: {},
administrators:false,
columns: [
{
title: this.$t('RegulationMonthlyName'),
@@ -161,6 +164,14 @@
mounted() {
this.getList()
this.userData = this.userInfo()
this.administrators = false
if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) {
this.userInfo().userRoleList.forEach(res => {
if (res.roleCode == 'admin') {
this.administrators = true
}
})
}
},
methods: {
...mapGetters(['userInfo']),