Commit 1e942d1e authored by shangtx's avatar shangtx

feat: 按钮权限控制

parent 3c075144
...@@ -14,7 +14,6 @@ export function getPage(parameter) { ...@@ -14,7 +14,6 @@ export function getPage(parameter) {
url: api.getPage, url: api.getPage,
method: 'post', method: 'post',
data: parameter, data: parameter,
useFullLoading: true
}) })
} }
......
...@@ -18,7 +18,6 @@ export function getPage(parameter) { ...@@ -18,7 +18,6 @@ export function getPage(parameter) {
url: api.getPage, url: api.getPage,
method: 'post', method: 'post',
data: parameter, data: parameter,
useFullLoading: true
}) })
} }
......
...@@ -126,9 +126,10 @@ export default { ...@@ -126,9 +126,10 @@ export default {
} }
}, },
created() { created() {
this.menus = this.filterHidenRouter( const root = this.mainMenu.find((item) => item.path === '/')
this.mainMenu.find((item) => item.path === '/').children this.menus = this.filterHidenRouter(root.children)
) console.info('main menu', this.mainMenu, this.menus)
console.info('root', root)
}, },
methods: { methods: {
...mapActions(['setSidebar']), ...mapActions(['setSidebar']),
...@@ -143,6 +144,7 @@ export default { ...@@ -143,6 +144,7 @@ export default {
} }
}, },
filterHidenRouter(routes, init = []) { filterHidenRouter(routes, init = []) {
for (let i = 0; i < routes.length; i++) { for (let i = 0; i < routes.length; i++) {
let item = routes[i] let item = routes[i]
if (item.hidden == true) { if (item.hidden == true) {
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<div class="drawer-form-bottom-toolbar"> <div class="drawer-form-bottom-toolbar">
<a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button> <a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button>
<a-button type="primary" @click="submit"> 保存 </a-button> <a-button type="primary" v-if="hasPerm('SYS02102.EDIT')" @click="submit"> 保存 </a-button>
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
......
...@@ -7,12 +7,13 @@ ...@@ -7,12 +7,13 @@
un-checked-children="禁用" un-checked-children="禁用"
:loading="loadingKeys.includes(record.id)" :loading="loadingKeys.includes(record.id)"
@click="enableChange(record, index)" @click="enableChange(record, index)"
v-if="hasPerm('SYS02102.ENABLE')"
/> />
</template> </template>
<template #action="{ record }"> <template #action="{ record }">
<a-space> <a-space>
<a @click="edit(record.id)">编辑</a> <a @click="edit(record.id)">编辑</a>
<a style="color: red" @click="deleteRow(record.id)">删除</a> <a style="color: red" v-if="hasPerm('SYS02102.DELETE')" @click="deleteRow(record.id)">删除</a>
</a-space> </a-space>
</template> </template>
<template #free> <template #free>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
> >
发布 发布
</a> </a>
<a v-if="record.releaseStatus == 2" @click="revoke(record)">撤销</a> <a v-if="hasPerm('SYS02103.PUBLISH') && record.releaseStatus == 2" @click="revoke(record)">撤销</a>
<a @click="detail(record.id)">详情</a> <a @click="detail(record.id)">详情</a>
<a <a
style="color: red" style="color: red"
...@@ -78,7 +78,8 @@ export default { ...@@ -78,7 +78,8 @@ export default {
toolbar: [ toolbar: [
{ {
text: '新建', text: '新建',
handler: 'add' handler: 'add',
bizCode: 'SYS02103.EDIT'
} }
] ]
} }
......
<template> <template>
<a-drawer :width="500" :visible="visible" title="服务类别" @close="close"> <a-drawer :width="500" :visible="visible" title="首页通知" @close="close">
<a-form :form="form" layout="vertical"> <a-form :form="form" layout="vertical">
<a-form-item label="名称"> <a-form-item label="名称">
<a-input <a-input v-decorator="['title']" />
v-decorator="[
'title',
{
rules: [{ required: true }]
}
]"
/>
</a-form-item> </a-form-item>
<a-form-item label="内容(18字)"> <a-form-item label="内容(18字)">
<a-input <a-input
...@@ -17,12 +10,8 @@ ...@@ -17,12 +10,8 @@
'content', 'content',
{ {
rules: [ rules: [
{ { required: true, message: '请填写内容' },
required: true { max: 18, message: '为了显示效果内容应少于18字' }
},
{
max: 18
}
] ]
} }
]" ]"
...@@ -34,7 +23,7 @@ ...@@ -34,7 +23,7 @@
</a-form> </a-form>
<div class="drawer-form-bottom-toolbar"> <div class="drawer-form-bottom-toolbar">
<a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button> <a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button>
<a-button type="primary" @click="submit"> 保存 </a-button> <a-button v-if="hasPerm('SYS02103.EDIT')" type="primary" @click="submit"> 保存 </a-button>
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
......
...@@ -81,6 +81,7 @@ ...@@ -81,6 +81,7 @@
@click="sendPrice" @click="sendPrice"
type="primary" type="primary"
v-if=" v-if="
hasPerm('SYS02201.SEND') &&
!past && !past &&
(order.orderStatus == STATUS.RESERVE || (order.orderStatus == STATUS.RESERVE ||
order.orderStatus == STATUS.VALUATION) order.orderStatus == STATUS.VALUATION)
...@@ -90,32 +91,32 @@ ...@@ -90,32 +91,32 @@
</a-button> </a-button>
<a-button <a-button
@click="sendValuator" @click="sendValuator"
v-if="!past && order.orderStatus == STATUS.RESERVE" v-if="hasPerm('SYS02201.VALUATOR') && !past && order.orderStatus == STATUS.RESERVE"
> >
现场估价 现场估价
</a-button> </a-button>
<a-button <a-button
@click="reSendValuator" @click="reSendValuator"
v-if="order.orderStatus == STATUS.VALUATION" v-if="hasPerm('SYS02201.VALUATOR') && !past && order.orderStatus == STATUS.VALUATION"
> >
重新指派估价员 重新指派估价员
</a-button> </a-button>
<a-button <a-button
v-if="!past && order.orderStatus == STATUS.PAY" v-if="hasPerm('SYS02201.WORKER') && !past && order.orderStatus == STATUS.PAY"
type="primary" type="primary"
@click="dispatch" @click="dispatch"
> >
派单 派单
</a-button> </a-button>
<a-button <a-button
v-if="!past && order.orderStatus == STATUS.DISPATCH" v-if="hasPerm('SYS02201.WORKER') && !past && order.orderStatus == STATUS.DISPATCH"
@click="reDispatch" @click="reDispatch"
> >
重新派单 重新派单
</a-button> </a-button>
<a-button <a-button
@click="finish" @click="finish"
v-if="past && order.orderStatus == STATUS.DISPATCH" v-if="hasPerm('SYS02201.FINISH') && past && order.orderStatus == STATUS.DISPATCH"
type="primary" type="primary"
> >
完成 完成
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</a-form-item> </a-form-item>
</a-form> </a-form>
<div class="drawer-form-bottom-toolbar"> <div class="drawer-form-bottom-toolbar">
<a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button> <a-button :style="{ marginRight: '8px' }" v-if="hasPerm('SYS0210101.CATEGORY')" @click="close"> 取消 </a-button>
<a-button type="primary" @click="submit"> 保存 </a-button> <a-button type="primary" @click="submit"> 保存 </a-button>
</div> </div>
</a-drawer> </a-drawer>
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
</template> </template>
<template #enable="{ record, index }"> <template #enable="{ record, index }">
<a-switch <a-switch
v-if="record.type == 2" v-if="hasPerm('SYS0210101.ENABLE') && record.type == 2"
:checked="record.enabled" :checked="record.enabled"
checked-children="启用" checked-children="启用"
un-checked-children="禁用" un-checked-children="禁用"
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</a-form> </a-form>
<div class="drawer-form-bottom-toolbar"> <div class="drawer-form-bottom-toolbar">
<a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button> <a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button>
<a-button type="primary" @click="submit"> 保存 </a-button> <a-button type="primary" v-if="hasPerm('SYS0210101.EDIT')" @click="submit"> 保存 </a-button>
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</a-form> </a-form>
<div class="drawer-form-bottom-toolbar"> <div class="drawer-form-bottom-toolbar">
<a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button> <a-button :style="{ marginRight: '8px' }" @click="close"> 取消 </a-button>
<a-button type="primary" @click="submit"> 保存 </a-button> <a-button type="primary" @click="submit" v-if="hasPerm('SYS0200201.EDIT')"> 保存 </a-button>
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<template #action="{ record }"> <template #action="{ record }">
<a-space> <a-space>
<a @click="edit(record.id)">编辑</a> <a @click="edit(record.id)">编辑</a>
<a style="color: red" @click="deleteRow(record.id)">删除</a> <a v-if="hasPerm('SYS0200201.DELETE')" style="color: red" @click="deleteRow(record.id)">删除</a>
</a-space> </a-space>
</template> </template>
<template #free> <template #free>
...@@ -53,7 +53,8 @@ export default { ...@@ -53,7 +53,8 @@ export default {
toolbar: [ toolbar: [
{ {
text: '新增', text: '新增',
handler: 'add' handler: 'add',
bizCode: 'SYS0200201.EDIT'
} }
] ]
} }
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
checkedChildren="启用" checkedChildren="启用"
unCheckedChildren="禁用" unCheckedChildren="禁用"
@click="setStatus(record)" @click="setStatus(record)"
:checked="record.available" :checked="record.isEnabled"
:key="record.id"/> :key="record.id"/>
</span> </span>
</a-table> </a-table>
......
<template> <template>
<table-template :soul="this"> <table-template :soul="this">
<template #tags="{ record }"> <template #tags="{ record, index }">
<a-switch <a-switch
:disabled="record.id == 1" :disabled="record.id == 1"
checkedChildren="启用" checkedChildren="启用"
unCheckedChildren="禁用" unCheckedChildren="禁用"
@click="setStatus(record)" @click="setStatus(record)"
:checked="record.available" :checked="dataSource[index].isEnabled"
/> />
</template> </template>
<template #action="{ record }"> <template #action="{ record }">
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<template #userType="{ record }"> <template #userType="{ record }">
<span <span
>{{record.roleTypeValue}} &nbsp; >{{record.roleTypeValue}} &nbsp;
<a-dropdown :trigger="['click']"> <a-dropdown :trigger="['click']" v-if="hasPerm">
<a><a-icon type="edit" @click="(e) => e.preventDefault()" /></a> <a><a-icon type="edit" @click="(e) => e.preventDefault('SYS0200101.EDIT')" /></a>
<a-menu slot="overlay" @click="({ key }) => edit(key, record)"> <a-menu slot="overlay" @click="({ key }) => edit(key, record)">
<a-menu-item key="0"> 修改为 普通用户 </a-menu-item> <a-menu-item key="0"> 修改为 普通用户 </a-menu-item>
<a-menu-item key="1"> 修改为 客服 </a-menu-item> <a-menu-item key="1"> 修改为 客服 </a-menu-item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment