按钮权限

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