Commit 4fd057d3 by caoyanzhi

update: 按钮权限

parent 3d5ce043
......@@ -164,11 +164,10 @@ module.exports = {
// 1.保存(按钮)
saveTaskSet: ['保存', 1, 1]
},
// TODO 云日报设置
// TODO 系统报表
// TODO 云日报设置-系统报表
// TODO 1.模板设置 (按钮,控制“模板设置”弹窗内所有操作权限);
// TODO 2.保存并启用(按钮)
// TODO 自定义报表
// TODO 云日报设置-自定义报表
// TODO 1.新建模板 (按钮,控制“新建模板”页面内所有操作权限);
// TODO 2.复制 (按钮,控制“新建模板”页面内所有操作权限);
// TODO 3.编辑 (按钮,控制“编辑模板”页面内所有操作权限);
......@@ -208,17 +207,12 @@ module.exports = {
previewStoreDetail: ['预览', 1, 2]
},
grTaskList: {
// TODO 1.导出(按钮)
// TODO 2.查看详情(按钮,控制群发“任务门店详情”页面权限)
},
grStoreDetail: {
// TODO 3.任务门店详情-导出(按钮)
// TODO 4.任务门店详情-查看详情(按钮,控制群发“任务详情”页面权限)
// TODO 5.任务门店详情-查看详情-导出(按钮)
// TODO 6.任务门店详情-查看详情-详情(按钮,控制群发“完成详情”页面权限)
// TODO 7.任务门店详情-查看详情-详情-导出(按钮)
// TODO 8.任务门店详情-查看详情-预览(按钮,控制群发“预览详情”页面内所有操作权限)
// 1.导出(按钮)
exportGrTaskList: ['导出', 1, 2],
// 2.查看详情(按钮,控制群发“任务门店详情”页面权限)
checkGrTaskList: ['查看详情', 0, 0, 'grStoreList']
},
// 任务视图下的查看详情权限共用门店视图权限
taskRecord: {
// 1.导出(按钮)
exportTaskRecord: ['导出', 1, 2],
......@@ -240,20 +234,20 @@ module.exports = {
previewTaskDetail: ['预览', 1, 2]
},
taskView: {
// TODO 1.导出(按钮)
// TODO 2.批量删除(按钮)
// 1.导出(按钮)
exportTaskView: ['导出', 1, 2],
// 2.批量删除(按钮)
multipleDelTaskView: ['批量删除', 1, 1],
// TODO 3.导出任务执行情况(按钮)
// TODO 4.查看详情(按钮,控制话务“任务门店详情”页面权限)
// 4.查看详情(按钮,控制话务“任务门店详情”页面权限)
checkTaskView: ['查看详情', 0, 0, 'taskViewDetail']
},
taskViewDetail: {
// TODO 5.任务门店详情-导出(按钮)
// TODO 6.任务门店详情-批量删除(按钮)
// TODO 7.任务门店详情-查看详情(按钮,控制话务“任务详情”页面权限)
// TODO 8.任务门店详情-任务详情-导出(按钮)
// TODO 9.任务门店详情-任务详情-批量删除(按钮)
// TODO 10.任务门店详情-任务详情-删除(按钮)
// TODO 11.任务门店详情-任务详情-预览(按钮,控制话务“预览详情”页面内所有操作权限)
// TODO 12.任务门店详情-任务详情-完成详情(按钮,控制话务“完成详情”页面内所有操作权限)
// 5.任务门店详情-导出(按钮)
exportTaskViewDetail: ['导出', 1, 2],
// 6.任务门店详情-批量删除(按钮)
multipleDelTaskViewDetail: ['批量删除', 1, 1],
// 查看详情按钮权限与门店视图中查看详情权限一致
},
salutatory: {
// 1.新建欢迎语 (按钮,控制“新建欢迎语”页面内所有操作权限);
......@@ -279,7 +273,20 @@ module.exports = {
// 4.详情(按钮,控制“成员详情”弹窗内所有操作权限);
checkContactMemberDetail: ['详情', 1, 2]
},
// TODO 导购设置
// TODO 导购设置-导购操作权限设置
// TODO 1.保存(按钮)
// TODO 导购设置-导购应用权限设置
// TODO 1.我的客户
// TODO 2.云日报
// TODO 3.月指标
// TODO 4.商品中心
// TODO 5.看数据
// TODO 6.订单评价
// TODO 7.扫码核销
// TODO 8.e袋洗
// TODO 9.佣金结算
// TODO 10.营销任务
// TODO 11.保存(按钮)
enterpriseSet: {
// 1.同步刷新(按钮)
refreshStoreInfo: ['同步刷新', 1, 2],
......@@ -301,7 +308,7 @@ module.exports = {
delAppsSecret: ['删除', 1, 1]
},
authMerchant: {
// 1.查看授权设置(按钮,控制“查看授权商户”页面内所有操作权限);
// TODO 1.查看授权设置(按钮,控制“查看授权商户”页面内所有操作权限);
// 2.绑定门店列表(按钮,控制“绑定门店列表”页面内所有操作权限)
bindStoreList: ['绑定门店列表', 1, 0, 'merchantStoreList']
},
......
......@@ -167,10 +167,10 @@ module.exports = [
]
},
{
menu: ['计划视图', 'grTaskList', 1],
children: [
{ menu: ['详情', 'grStoreList', 1]}
]
menu: ['计划视图', 'grTaskList', 1]
// children: [
// { menu: ['详情', 'grStoreList', 1]}
// ]
},
]
},
......
......@@ -31,6 +31,7 @@ import vueGicImgPreview from '@gic-test/vue-gic-img-preview';
import vueOfficeUploadImage from '@gic-test/vue-office-upload-image';
import htmlToPdf from '@/components/utils/htmlToPdf';
import VueAMap from 'vue-amap';
import Vue from 'vue';
// Vue.use(contentmenu);
Vue.use(VueAMap);
......@@ -102,6 +103,105 @@ router.beforeEach((to, from, next) => {
next();
}
});
Vue.prototype.$buttonCode = {
multipleAssign: 'multipleAssign',
assign: 'assign',
syncTagLog: 'syncTagLog',
willSyncTag: 'willSyncTag',
groupExpire: 'groupExpire',
syncGroup: 'syncGroup',
addGroupTemp: 'addGroupTemp',
editGroupTemp: 'editGroupTemp',
setStoreArea: 'setStoreArea',
delGroupTemp: 'delGroupTemp',
searchSetSave: 'searchSetSave',
addCard: 'addCard',
editCard: 'editCard',
delCard: 'delCard',
sendCardLog: 'sendCardLog',
getCardLog: 'getCardLog',
addText: 'addText',
editText: 'editText',
delText: 'delText',
textAssignStore: 'textAssignStore',
addImage: 'addImage',
editImage: 'editImage',
delImage: 'delImage',
imageAssignStore: 'imageAssignStore',
addWeb: 'addWeb',
editWeb: 'editWeb',
delWeb: 'delWeb',
webAssignStore: 'webAssignStore',
addVideo: 'addVideo',
editVideo: 'editVideo',
delVideo: 'delVideo',
videoAssignStore: 'videoAssignStore',
addFile: 'addFile',
editFile: 'editFile',
delFile: 'delFile',
fileAssignStore: 'fileAssignStore',
addApps: 'addApps',
editApps: 'editApps',
delApps: 'delApps',
appsAssignStore: 'appsAssignStore',
saveGoodsSet: 'saveGoodsSet',
exportActiveUser: 'exportActiveUser',
exportLoginUser: 'exportLoginUser',
exportAreaLoginUser: 'exportAreaLoginUser',
multipleDelReport: 'multipleDelReport',
exportReport: 'exportReport',
reportDetail: 'reportDetail',
multipleDelReportDetail: 'multipleDelReportDetail',
delReportDetail: 'delReportDetail',
showReportDetail: 'showReportDetail',
multipleExportReport: 'multipleExportReport',
saveTaskSet: 'saveTaskSet',
monthTarget: 'monthTarget',
dayTarget: 'dayTarget',
exportMonthTask: 'exportMonthTask',
checkMonthTask: 'checkMonthTask',
multipleDelTask: 'multipleDelTask',
delTask: 'delTask',
exportStoreList: 'exportStoreList',
checkStoreList: 'checkStoreList',
exportStoreDetail: 'exportStoreDetail',
checkStoreDetail: 'checkStoreDetail',
exportStoreDetailPop: 'exportStoreDetailPop',
previewStoreDetail: 'previewStoreDetail',
exportGrTaskList: 'exportGrTaskList',
checkGrTaskList: 'checkGrTaskList',
exportTaskRecord: 'exportTaskRecord',
multipleDelTaskRecord: 'multipleDelTaskRecord',
checkTaskRecord: 'checkTaskRecord',
exportTaskDetail: 'exportTaskDetail',
multipleDelTaskDetail: 'multipleDelTaskDetail',
delTaskDetail: 'delTaskDetail',
resolveTaskDetail: 'resolveTaskDetail',
previewTaskDetail: 'previewTaskDetail',
exportTaskViewDetail: 'exportTaskViewDetail',
multipleDelTaskViewDetail: 'multipleDelTaskViewDetail',
addSalutatory: 'addSalutatory',
editSalutatory: 'editSalutatory',
delSalutatory: 'delSalutatory',
refreshStoreMember: 'refreshStoreMember',
exportContact: 'exportContact',
checkContactDetail: 'checkContactDetail',
checkContactMemberDetail: 'checkContactMemberDetail',
refreshStoreInfo: 'refreshStoreInfo',
saveMemberSecret: 'saveMemberSecret',
addMemberAppsSecret: 'addMemberAppsSecret',
editMemberAppsSecret: 'editMemberAppsSecret',
delMemberAppsSecret: 'delMemberAppsSecret',
addAppsSecret: 'addAppsSecret',
getAppsSecret: 'getAppsSecret',
editAppsSecret: 'editAppsSecret',
delAppsSecret: 'delAppsSecret',
bindStoreList: 'bindStoreList',
refreshAdminList: 'refreshAdminList'
}
Vue.prototype.$getButtonLimit = (code) => {
return !!Vue.prototype.$buttonCode[code];
}
/* eslint-disable no-new */
new Vue({
......
......@@ -35,7 +35,7 @@
<el-date-picker class="m-l-10" prefix-icon="el-icon-time" :picker-options="pickerOptions" v-model="pageParams.date" @change="changeDate" :value-format="'yyyy-MM-dd'" type="daterange" align="right" unlink-panels range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间"> </el-date-picker>
</div>
<div class="table-condition-right">
<el-button :loading="loadingBtn" type="primary" @click="exportExcel">导出</el-button>
<el-button v-if="$getButtonLimit($buttonCode.exportGrTaskList)" :limit-code="$buttonCode.exportGrTaskList" :loading="loadingBtn" type="primary" @click="exportExcel">导出</el-button>
</div>
</div>
<div class="m-t-20">
......@@ -71,9 +71,9 @@
<el-table-column prop="" label="逾期中/逾期失效">
<template slot-scope="scope">{{ scope.row.ovincplTaskCnt || '--' }}/{{ scope.row.invalidCount || '--' }}</template>
</el-table-column>
<el-table-column prop="" label="操作">
<el-table-column prop="" label="操作" v-if="$getButtonLimit($buttonCode.checkGrTaskList)">
<template slot-scope="scope">
<el-button type="text" @click="showDetail(scope.row)">查看详情</el-button>
<el-button v-if="$getButtonLimit($buttonCode.checkGrTaskList)" :limit-code="$buttonCode.checkGrTaskList" type="text" @click="showDetail(scope.row)">查看详情</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -20,8 +20,8 @@ import taskViewDetail from '@/components/app/taskViewDetail.vue';
<el-date-picker class="m-l-10" :picker-options="pickerOptions" v-model="conditionObj.dateRange" @change="changeDate" :editable="false" :value-format="'yyyy-MM-dd'" type="daterange" align="right" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker>
</div>
<div class="table-condition-right">
<el-button type="danger" @click="multDel">批量删除</el-button>
<el-button :loading="loadingBtn" type="primary" @click="beforeExportExcel">导出</el-button>
<el-button v-if="$getButtonLimit($buttonCode.multipleDelTaskViewDetail)" :limit-code="$buttonCode.multipleDelTaskViewDetail" type="danger" @click="multDel">批量删除</el-button>
<el-button v-if="$getButtonLimit($buttonCode.exportTaskViewDetail)" :limit-code="$buttonCode.exportTaskViewDetail" :loading="loadingBtn" type="primary" @click="beforeExportExcel">导出</el-button>
<el-tooltip content="导出结果中会员姓名、手机号等敏感信息将进行加密,实现隐私保护" placement="top">
<i class="el-icon-warning-outline font-14 p-l-6" v-show="enableDownloadCompleteData == 0"></i>
</el-tooltip>
......@@ -65,9 +65,9 @@ import taskViewDetail from '@/components/app/taskViewDetail.vue';
<el-table-column prop="" label="逾期中/逾期失效" show-overflow-tooltip>
<template slot-scope="scope">{{ scope.row.overdueCount || '--' }}/{{ scope.row.invalidCount || '--' }}</template>
</el-table-column>
<el-table-column label="操作">
<el-table-column label="操作" v-if="$getButtonLimit($buttonCode.checkTaskView)">
<template slot-scope="scope">
<el-button type="text" @click="toDetail(scope.$index, scope.row)">查看详情</el-button>
<el-button v-if="$getButtonLimit($buttonCode.checkTaskView)" :limit-code="$buttonCode.checkTaskView" type="text" @click="toDetail(scope.$index, scope.row)">查看详情</el-button>
</template>
</el-table-column>
</el-table>
......
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