删除权限管理的权限打包按钮
删除权限分发管理的权限打包按钮
This commit is contained in:
parent
cd5e923c52
commit
d157dc0a88
@ -99,10 +99,8 @@ const CommodityDraft = () => import('@/views/orderauthor/commodity/draft');
|
|||||||
const OrderList = () => import('@/views/orderauthor/order/list');
|
const OrderList = () => import('@/views/orderauthor/order/list');
|
||||||
const OrderDraft = () => import('@/views/orderauthor/order/draft');
|
const OrderDraft = () => import('@/views/orderauthor/order/draft');
|
||||||
const Author = () => import('@/views/orderauthor/author/index');
|
const Author = () => import('@/views/orderauthor/author/index');
|
||||||
const AuthorDraft = () => import('@/views/orderauthor/author/draft/ruleForm');
|
|
||||||
const Permission = () => import('@/views/orderauthor/permission/index');
|
const Permission = () => import('@/views/orderauthor/permission/index');
|
||||||
const PermissionDetail = () => import('@/views/orderauthor/permission/detail');
|
const PermissionDetail = () => import('@/views/orderauthor/permission/detail');
|
||||||
const PermissionDraft = () => import('@/views/orderauthor/permission/package/ruleForm');
|
|
||||||
const PermissionCreate = () => import('@/views/orderauthor/permission/create/index');
|
const PermissionCreate = () => import('@/views/orderauthor/permission/create/index');
|
||||||
const UserRules = () => import('@/views/orderauthor/rules/index');
|
const UserRules = () => import('@/views/orderauthor/rules/index');
|
||||||
const UserRulesDetail = () => import('@/views/orderauthor/rules/detail');
|
const UserRulesDetail = () => import('@/views/orderauthor/rules/detail');
|
||||||
@ -208,9 +206,7 @@ export const UrlConfig = {
|
|||||||
orderDraft: '/orderauthor/order/draft',
|
orderDraft: '/orderauthor/order/draft',
|
||||||
authorMange: '/orderauthor/author/manage',
|
authorMange: '/orderauthor/author/manage',
|
||||||
authorDetail: '/orderauthor/author/detail',
|
authorDetail: '/orderauthor/author/detail',
|
||||||
authorDraft: '/orderauthor/author/draft',
|
|
||||||
transferDetail: '/orderauthor/transfer/detail',
|
transferDetail: '/orderauthor/transfer/detail',
|
||||||
trainferPackage: '/orderauthor/transfer/package',
|
|
||||||
createPackage: '/orderauthor/transfer/create'
|
createPackage: '/orderauthor/transfer/create'
|
||||||
},
|
},
|
||||||
script: {
|
script: {
|
||||||
@ -729,24 +725,11 @@ export const asyncRouter = [
|
|||||||
i18n: 'router.addOrder'
|
i18n: 'router.addOrder'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'author/manage/rules',
|
|
||||||
hidden: true,
|
|
||||||
component: AuthorDraft,
|
|
||||||
meta: {
|
|
||||||
i18n: 'router.addCoursePermissions'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: 'transfer/detail/:permissionId',
|
path: 'transfer/detail/:permissionId',
|
||||||
component: PermissionDetail,
|
component: PermissionDetail,
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'transfer/package',
|
|
||||||
component: PermissionDraft,
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: 'transfer/create',
|
path: 'transfer/create',
|
||||||
component: PermissionCreate,
|
component: PermissionCreate,
|
||||||
|
@ -1,184 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-dialog
|
|
||||||
v-dialogDrag
|
|
||||||
:title="$t('orderAuthor.editPermissionRules')"
|
|
||||||
:visible.sync="show"
|
|
||||||
top="20px"
|
|
||||||
width="90%"
|
|
||||||
:before-close="doClose"
|
|
||||||
:close-on-click-modal="false"
|
|
||||||
:z-index="3000"
|
|
||||||
>
|
|
||||||
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { getLessonPermissonPageList } from '@/api/management/author';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'Author',
|
|
||||||
props: {
|
|
||||||
ruleList: {
|
|
||||||
type: Array,
|
|
||||||
default() {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
effectiveTypeList: {
|
|
||||||
type: Array,
|
|
||||||
default() {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
permissionTypeList: {
|
|
||||||
type: Array,
|
|
||||||
default() {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
mapId: '',
|
|
||||||
PermissionTypeList: [],
|
|
||||||
ruleLists: [
|
|
||||||
{ value: true, label: this.$t('global.yes') },
|
|
||||||
{ value: false, label: this.$t('global.no') }
|
|
||||||
],
|
|
||||||
show: false,
|
|
||||||
param: '',
|
|
||||||
pagerConfig: {
|
|
||||||
pageSize: 'pageSize',
|
|
||||||
pageIndex: 'pageNum'
|
|
||||||
},
|
|
||||||
queryForm: {
|
|
||||||
labelWidth: '100px',
|
|
||||||
reset: true,
|
|
||||||
queryObject: {
|
|
||||||
'name': {
|
|
||||||
type: 'text',
|
|
||||||
label: this.$t('orderAuthor.permissionName')
|
|
||||||
},
|
|
||||||
'type': {
|
|
||||||
type: 'select',
|
|
||||||
label: this.$t('orderAuthor.permissionType'),
|
|
||||||
config: {
|
|
||||||
data: []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
queryList: {
|
|
||||||
query: this.queryFunction,
|
|
||||||
selectCheckShow: false,
|
|
||||||
indexShow: true,
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.permissionName'),
|
|
||||||
prop: 'name'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.isPackage'),
|
|
||||||
prop: 'isPackage',
|
|
||||||
type: 'tag',
|
|
||||||
columnValue: (row) => { return this.$convertField(row.isPackage, this.ruleLists, ['value', 'label']); },
|
|
||||||
tagType: (row) => { return ''; }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.permissionType'),
|
|
||||||
prop: 'type',
|
|
||||||
type: 'tag',
|
|
||||||
columnValue: (row) => { return this.$convertField(row.type, this.PermissionTypeList, ['value', 'label']); },
|
|
||||||
tagType: (row) => { return ''; }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.creationTime'),
|
|
||||||
prop: 'createTime'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.founder'),
|
|
||||||
prop: 'creatorUserName'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'button',
|
|
||||||
title: this.$t('global.operate'),
|
|
||||||
width: '120',
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
name: this.$t('global.append'),
|
|
||||||
handleClick: this.handlePut,
|
|
||||||
type: '',
|
|
||||||
showControl: (row) => { return !row.isPut; }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: this.$t('global.delete'),
|
|
||||||
handleClick: this.handlePop,
|
|
||||||
type: 'warning',
|
|
||||||
showControl: (row) => { return row.isPut; }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.loadInitData();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
loadInitData() {
|
|
||||||
this.$Dictionary.permissionType().then(list => {
|
|
||||||
list.forEach(elem => {
|
|
||||||
this.queryForm.queryObject.type.config.data.push({ value: elem.code, label: elem.name });
|
|
||||||
});
|
|
||||||
this.$convertList(list, this.PermissionTypeList, elem => {
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
// this.PermissionTypeList.push({ value: undefined, label: this.$t('orderAuthor.permissionPack') });
|
|
||||||
});
|
|
||||||
},
|
|
||||||
formatterDate(row, porpInfo) {
|
|
||||||
return String(row[porpInfo.property] || '').split(' ')[0];
|
|
||||||
},
|
|
||||||
async queryFunction(params) {
|
|
||||||
params['isPackage'] = false;
|
|
||||||
params['mapId'] = this.mapId;
|
|
||||||
const resp = await getLessonPermissonPageList(params);
|
|
||||||
this.ruleList.forEach(elem => {
|
|
||||||
resp.data.list.forEach(item => {
|
|
||||||
if (item.id == elem.id) {
|
|
||||||
item.isPut = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return resp;
|
|
||||||
},
|
|
||||||
reloadTable() {
|
|
||||||
if (this.queryList && this.queryList.reload) {
|
|
||||||
this.queryList.reload();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
doShow(mapId) {
|
|
||||||
this.mapId = mapId;
|
|
||||||
this.show = true;
|
|
||||||
this.reloadTable();
|
|
||||||
},
|
|
||||||
doClose() {
|
|
||||||
this.show = false;
|
|
||||||
},
|
|
||||||
handlePut(index, row) {
|
|
||||||
row.isPut = true;
|
|
||||||
this.$emit('addRuleForm', index, row);
|
|
||||||
this.$refs.queryListPage.refresh();
|
|
||||||
},
|
|
||||||
handlePop(index, row) {
|
|
||||||
row.isPut = false;
|
|
||||||
this.$emit('deleteForm', index, row);
|
|
||||||
this.$refs.queryListPage.refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -17,59 +17,21 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div v-show="isPackage">
|
<div style="text-align:center">
|
||||||
<div class="form_title">{{ $t('orderAuthor.mapName') }}:</div>
|
|
||||||
<el-select v-model="editModel.mapId" size="mini" :disabled="ruleList.length ? true : false">
|
|
||||||
<el-option
|
|
||||||
v-for="item in mapList"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
<el-button class="addList" size="small" @click="dialogSelect">{{ $t('orderAuthor.addPermissions') }}</el-button>
|
|
||||||
<el-table :data="ruleList" border style="width: 100%" :height="200">
|
|
||||||
<el-table-column prop="name" :label="this.$t('orderAuthor.permissionName')" />
|
|
||||||
<el-table-column prop="type" :label="this.$t('orderAuthor.permissionType')">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ computedName(permissionTypeList, scope.row.type) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column :label="this.$t('global.operate')" width="80">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button type="text" size="small" @click="deleteForm(scope.$index, scope.row)">{{ $t('global.delete') }}
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogShow = false">{{ $t('map.cancel') }}</el-button>
|
<el-button @click="dialogShow = false">{{ $t('map.cancel') }}</el-button>
|
||||||
<el-button type="primary" :loading="loading" @click="saveAs">{{ $t('map.confirm') }}</el-button>
|
<el-button type="primary" :loading="loading" @click="saveAs">{{ $t('map.confirm') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</div>
|
||||||
<choose-permission
|
</div></el-dialog>
|
||||||
ref="choosePermission"
|
|
||||||
:rule-list="ruleList"
|
|
||||||
:effective-type-list="EffectiveTypeList"
|
|
||||||
:permission-type-list="permissionTypeList"
|
|
||||||
@addRuleForm="addRuleForm"
|
|
||||||
@deleteForm="deleteForm"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { putPermissonDetail } from '@/api/management/author';
|
import { putPermissonDetail } from '@/api/management/author';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
|
||||||
import ChoosePermission from './choosePermission';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MapSaveAs',
|
name: 'MapSaveAs',
|
||||||
components: {
|
|
||||||
ChoosePermission
|
|
||||||
},
|
|
||||||
props:{
|
props:{
|
||||||
mapList:{
|
mapList:{
|
||||||
required:true,
|
required:true,
|
||||||
@ -119,13 +81,6 @@ export default {
|
|||||||
});
|
});
|
||||||
return name;
|
return name;
|
||||||
},
|
},
|
||||||
dialogSelect(row) {
|
|
||||||
if (this.editModel.mapId) {
|
|
||||||
this.$refs.choosePermission.doShow(this.editModel.mapId);
|
|
||||||
} else {
|
|
||||||
this.$messageBox(this.$t('rules.mapInput'));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async doShow(data) {
|
async doShow(data) {
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.editModel = {
|
this.editModel = {
|
||||||
@ -134,14 +89,6 @@ export default {
|
|||||||
remarks: data.remarks,
|
remarks: data.remarks,
|
||||||
mapId: ''
|
mapId: ''
|
||||||
};
|
};
|
||||||
// this.isPackage = data.isPackage;
|
|
||||||
// if (this.isPackage) {
|
|
||||||
// const res = await getPermissionList(data.id);
|
|
||||||
// if (res.code == 200) {
|
|
||||||
// this.ruleList = res.data.relPermissions;
|
|
||||||
// this.editModel.mapId = res.data.relPermissions[0].mapId;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
this.editModel = {
|
this.editModel = {
|
||||||
@ -157,7 +104,6 @@ export default {
|
|||||||
},
|
},
|
||||||
saveAs() {
|
saveAs() {
|
||||||
this.$refs['form'].validate((valid) => {
|
this.$refs['form'].validate((valid) => {
|
||||||
if (!this.isPackage) {
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
putPermissonDetail(this.editModel).then(response => {
|
putPermissonDetail(this.editModel).then(response => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
@ -168,40 +114,7 @@ export default {
|
|||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.$messageBox(this.$t('map.saveFailed'));
|
this.$messageBox(this.$t('map.saveFailed'));
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
if (this.ruleList.length) {
|
|
||||||
const arr = this.ruleList.map(nor => {
|
|
||||||
return nor.id;
|
|
||||||
});
|
});
|
||||||
this.editModel['relPermissions'] = arr;
|
|
||||||
this.loading = true;
|
|
||||||
putPermissonDetail(this.editModel).then(response => {
|
|
||||||
this.loading = false;
|
|
||||||
this.$message.success(this.$t('rules.successfullyModified'));
|
|
||||||
this.$emit('refresh');
|
|
||||||
this.close();
|
|
||||||
}).catch(() => {
|
|
||||||
this.loading = false;
|
|
||||||
this.$messageBox(this.$t('map.saveFailed'));
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$messageBox(this.$t('rules.selectMultiplePermissions'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
deleteForm(index, row) {
|
|
||||||
const idx = this.ruleList.findIndex(elem => { return elem.id == row.id; });
|
|
||||||
if (idx >= 0) {
|
|
||||||
row['isPut'] = false;
|
|
||||||
this.ruleList.splice(idx, 1);
|
|
||||||
}
|
|
||||||
EventBus.$emit('reloadTable', { index: index, list: row });
|
|
||||||
},
|
|
||||||
addRuleForm(index, row) {
|
|
||||||
row['isPut'] = true;
|
|
||||||
this.ruleList.push(row);
|
|
||||||
EventBus.$emit('reloadTable', { index: index, list: row });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,306 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-card>
|
|
||||||
<div class="pack-box">
|
|
||||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
|
||||||
<el-steps class="steps" :active="display">
|
|
||||||
<el-step :title="title" icon="el-icon-edit" />
|
|
||||||
<el-step icon="el-icon-setting" />
|
|
||||||
</el-steps>
|
|
||||||
<el-card class="forms pack-rule">
|
|
||||||
<el-form ref="formData" label-width="130px" :model="addModel" size="mini" :rules="rules" class="rule_box">
|
|
||||||
<el-form-item :label="this.$t('orderAuthor.permissionName') + ':'" prop="name">
|
|
||||||
<el-input v-model="addModel.name" size="small" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item :label="this.$t('orderAuthor.describtion') + ':'" prop="remarks">
|
|
||||||
<el-input
|
|
||||||
v-model="addModel.remarks"
|
|
||||||
type="textarea"
|
|
||||||
:rows="2"
|
|
||||||
:placeholder="this.$t('orderAuthor.pleaseEnterContent')"
|
|
||||||
maxlength="60"
|
|
||||||
show-word-limit
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-show="isPackage" :label=" this.$t('orderAuthor.mapName') + ':'">
|
|
||||||
<el-select v-model="addModel.mapId" :disabled="ruleList.length ? true : false">
|
|
||||||
<el-option
|
|
||||||
v-for="item in mapList"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<div v-show="isPackage">
|
|
||||||
<el-button class="addList" size="small" @click="dialogSelect">{{ $t('orderAuthor.addPermissions') }}</el-button>
|
|
||||||
<el-table
|
|
||||||
:data="ruleList"
|
|
||||||
border
|
|
||||||
style="width: 100%; min-height: 200px;"
|
|
||||||
>
|
|
||||||
<el-table-column prop="name" :label="this.$t('orderAuthor.permissionName')" />
|
|
||||||
<el-table-column prop="type" :label="this.$t('orderAuthor.permissionType')">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ computedName(PermissionTypeList, scope.row.type) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column :label="this.$t('global.operate')" width="80">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button type="text" size="small" @click="deleteForm(scope.$index, scope.row)">{{ $t('global.delete') }}
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
<div class="draft">
|
|
||||||
<el-button-group>
|
|
||||||
<el-button v-if="!$route.query.id" type="primary" @click="packForm">{{ $t('orderAuthor.packaging') }}</el-button>
|
|
||||||
<el-button v-if="$route.query.id" type="primary" @click="update">{{ $t('global.update') }}</el-button>
|
|
||||||
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
|
|
||||||
</el-button-group>
|
|
||||||
</div>
|
|
||||||
<choose-permission
|
|
||||||
ref="choosePermission"
|
|
||||||
:rule-list="ruleList"
|
|
||||||
:effective-type-list="EffectiveTypeList"
|
|
||||||
:permission-type-list="PermissionTypeList"
|
|
||||||
@addRuleForm="addRuleForm"
|
|
||||||
@deleteForm="deleteForm"
|
|
||||||
/>
|
|
||||||
</el-scrollbar>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { UrlConfig } from '@/router/index';
|
|
||||||
import { createLessonPermisson, getPermissionList, putPermissonDetail } from '@/api/management/author';
|
|
||||||
import { getPublishMapListOnline } from '@/api/jmap/map';
|
|
||||||
import ChoosePermission from './choosePermission';
|
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
|
||||||
import { setTimeout } from 'timers';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'PackRule',
|
|
||||||
components: {
|
|
||||||
ChoosePermission
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
display: 1,
|
|
||||||
addModel: {
|
|
||||||
name: '',
|
|
||||||
remarks: '',
|
|
||||||
mapId: ''
|
|
||||||
},
|
|
||||||
rules: {
|
|
||||||
name: [
|
|
||||||
{ required: true, message: this.$t('rules.enterPermissionName'), trigger: 'blur' }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
urlInfo: {},
|
|
||||||
ruleList: [],
|
|
||||||
EffectiveTypeList: [],
|
|
||||||
PermissionTypeList: [],
|
|
||||||
mapList: [],
|
|
||||||
isPackage: true
|
|
||||||
};
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
title() {
|
|
||||||
return this.$route.query.id ? this.$t('orderAuthor.modifyPermissions') : this.$t('orderAuthor.createPermission');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.loadInitData();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
turnback() {
|
|
||||||
this.$router.go(-1);
|
|
||||||
},
|
|
||||||
computedName(list, code) {
|
|
||||||
let name = '';
|
|
||||||
list.forEach(elem => {
|
|
||||||
if (elem.value == code) {
|
|
||||||
name = elem.label;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return name;
|
|
||||||
},
|
|
||||||
async loadInitData() {
|
|
||||||
this.EffectiveTypeList = [];
|
|
||||||
this.$Dictionary.effectiveType().then(list => {
|
|
||||||
this.EffectiveTypeList = list.map(elem => { return { value: elem.code, label: elem.name }; });
|
|
||||||
});
|
|
||||||
|
|
||||||
this.PermissionTypeList = [];
|
|
||||||
this.$Dictionary.permissionType().then(list => {
|
|
||||||
this.PermissionTypeList = list.map(elem => { return { value: elem.code, label: elem.name }; });
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
// 获取地图
|
|
||||||
this.mapList = [];
|
|
||||||
const res = await getPublishMapListOnline();
|
|
||||||
res.data.forEach(elem => {
|
|
||||||
this.mapList.push({ value: elem.id, label: elem.name });
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.error(error, '获取发布地图');
|
|
||||||
}
|
|
||||||
if (this.$route.query.id) {
|
|
||||||
const res = await getPermissionList(this.$route.query.id);
|
|
||||||
if (res.code == 200) {
|
|
||||||
this.ruleList = res.data.relPermissions;
|
|
||||||
this.addModel.mapId = res.data.relPermissions[0].mapId;
|
|
||||||
this.isPackage = res.data.isPackage;
|
|
||||||
this.addModel.name = res.data.name;
|
|
||||||
this.addModel.remarks = res.data.remarks;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
dialogSelect(row) {
|
|
||||||
if (this.addModel.mapId) {
|
|
||||||
this.$refs.choosePermission.doShow(this.addModel.mapId);
|
|
||||||
} else {
|
|
||||||
this.$messageBox(this.$t('rules.mapInput'));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
deleteForm(index, row) {
|
|
||||||
const idx = this.ruleList.findIndex(elem => { return elem.id == row.id; });
|
|
||||||
if (idx >= 0) {
|
|
||||||
row['isPut'] = false;
|
|
||||||
this.ruleList.splice(idx, 1);
|
|
||||||
}
|
|
||||||
EventBus.$emit('reloadTable', { index: index, list: row });
|
|
||||||
},
|
|
||||||
addRuleForm(index, row) {
|
|
||||||
row['isPut'] = true;
|
|
||||||
this.ruleList.push(row);
|
|
||||||
EventBus.$emit('reloadTable', { index: index, list: row });
|
|
||||||
},
|
|
||||||
packForm() {
|
|
||||||
if (this.ruleList && this.ruleList.length) {
|
|
||||||
const arr = this.ruleList.map(nor => {
|
|
||||||
return nor.id;
|
|
||||||
});
|
|
||||||
const data = {
|
|
||||||
name: this.addModel.name,
|
|
||||||
isPackage: true,
|
|
||||||
relPermissions: arr
|
|
||||||
};
|
|
||||||
createLessonPermisson(data).then(resp => {
|
|
||||||
this.$message.success(this.$t('tip.packagedSuccessfully'));
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$router.push({ path: `${UrlConfig.orderauthor.authorMange}` });
|
|
||||||
}, 500);
|
|
||||||
}).catch(() => {
|
|
||||||
this.$messageBox(this.$t('tip.packagingFailed'));
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$messageBox(this.$t('rules.selectMultiplePermissions'));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
update() {
|
|
||||||
this.$refs['formData'].validate((valid) => {
|
|
||||||
if (this.ruleList.length) {
|
|
||||||
const arr = this.ruleList.map(nor => {
|
|
||||||
return nor.id;
|
|
||||||
});
|
|
||||||
const data = {
|
|
||||||
id: this.$route.query.id,
|
|
||||||
name: this.addModel.name,
|
|
||||||
remarks: this.addModel.remarks,
|
|
||||||
relPermissions: arr
|
|
||||||
};
|
|
||||||
putPermissonDetail(data).then(response => {
|
|
||||||
this.$message.success(this.$t('rules.successfullyModified'));
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$router.push({ path: `${UrlConfig.orderauthor.authorMange}` });
|
|
||||||
}, 500);
|
|
||||||
}).catch(() => {
|
|
||||||
this.$messageBox(this.$t('map.saveFailed'));
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$messageBox(this.$t('rules.selectMultiplePermissions'));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
|
||||||
|
|
||||||
.rule_box{
|
|
||||||
width: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.steps{
|
|
||||||
/deep/ {
|
|
||||||
.el-step__title.is-finish {
|
|
||||||
padding-left: 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.pack-box {
|
|
||||||
padding-top: 10px;
|
|
||||||
height: 100%;
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
/deep/ {
|
|
||||||
.el-step__icon.is-icon {
|
|
||||||
width: 95px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.steps {
|
|
||||||
width: 980px;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.forms {
|
|
||||||
width: 800px;
|
|
||||||
margin: 0 auto;
|
|
||||||
margin-top: 20px;
|
|
||||||
padding: 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
width: 10px;
|
|
||||||
height: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pack-rule {
|
|
||||||
.addList {
|
|
||||||
float: right;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #000;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-footer {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/deep/ .el-table__footer-wrapper {
|
|
||||||
.is-leaf:nth-child(3) {
|
|
||||||
font-size: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.draft {
|
|
||||||
width: 400px;
|
|
||||||
text-align: center;
|
|
||||||
margin: 20px auto;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -10,7 +10,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { getLessonPermissonPageList } from '@/api/management/author';
|
import { getLessonPermissonPageList } from '@/api/management/author';
|
||||||
import { getPublishMapListOnline } from '@/api/jmap/map';
|
import { getPublishMapListOnline } from '@/api/jmap/map';
|
||||||
import { UrlConfig } from '@/router/index';
|
|
||||||
import Edit from './draft/edit';
|
import Edit from './draft/edit';
|
||||||
import Create from './create';
|
import Create from './create';
|
||||||
import Detail from './detail';
|
import Detail from './detail';
|
||||||
@ -132,7 +131,6 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{ text: this.$t('orderAuthor.packaging'), handler: this.handleAdd },
|
|
||||||
{ text: this.$t('orderAuthor.oneClickGeneration'), handler: this.create }
|
{ text: this.$t('orderAuthor.oneClickGeneration'), handler: this.create }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -174,9 +172,6 @@ export default {
|
|||||||
handleRulesDetail(index, row) {
|
handleRulesDetail(index, row) {
|
||||||
this.$refs.detail.doShow(row.id);
|
this.$refs.detail.doShow(row.id);
|
||||||
},
|
},
|
||||||
handleAdd() {
|
|
||||||
this.$router.push({ path: `${UrlConfig.orderauthor.authorMange}/rules` });
|
|
||||||
},
|
|
||||||
handleEdit(index, row) {
|
handleEdit(index, row) {
|
||||||
// if (row.isPackage) {
|
// if (row.isPackage) {
|
||||||
// this.$router.push({ path: `${UrlConfig.orderauthor.authorMange}/rules`, query: { id: row.id } });
|
// this.$router.push({ path: `${UrlConfig.orderauthor.authorMange}/rules`, query: { id: row.id } });
|
||||||
|
@ -173,7 +173,6 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{ text: this.$t('orderAuthor.privilegePackaging'), btnCode: 'employee_insert', handler: this.handlePackage },
|
|
||||||
{ text: this.$t('orderAuthor.createPackage'), handler: this.handleCreatePackage },
|
{ text: this.$t('orderAuthor.createPackage'), handler: this.handleCreatePackage },
|
||||||
{ text: this.$t('orderAuthor.receivingPermission'), handler: this.handlerPermission, show: process.env.NODE_ENV == 'development' }
|
{ text: this.$t('orderAuthor.receivingPermission'), handler: this.handlerPermission, show: process.env.NODE_ENV == 'development' }
|
||||||
]
|
]
|
||||||
@ -237,9 +236,6 @@ export default {
|
|||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
handlePackage() {
|
|
||||||
this.$router.push({ path: `${UrlConfig.orderauthor.trainferPackage}` });
|
|
||||||
},
|
|
||||||
handlerPermission() {
|
handlerPermission() {
|
||||||
this.$refs.qcode.doShow();
|
this.$refs.qcode.doShow();
|
||||||
},
|
},
|
||||||
|
@ -1,225 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-dialog
|
|
||||||
v-dialogDrag
|
|
||||||
:title="$t('orderAuthor.editPermissionRules')"
|
|
||||||
:visible.sync="show"
|
|
||||||
top="20px"
|
|
||||||
width="90%"
|
|
||||||
:before-close="doClose"
|
|
||||||
:close-on-click-modal="false"
|
|
||||||
>
|
|
||||||
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { listCanPackagePermission } from '@/api/management/distribute';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'Author',
|
|
||||||
props: {
|
|
||||||
ruleList: {
|
|
||||||
type: Array,
|
|
||||||
default() {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
effectiveTypeList: {
|
|
||||||
type: Array,
|
|
||||||
default() {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
permissionTypeList: {
|
|
||||||
type: Array,
|
|
||||||
default() {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
show: false,
|
|
||||||
param: '',
|
|
||||||
pagerConfig: {
|
|
||||||
pageSize: 'pageSize',
|
|
||||||
pageIndex: 'pageNum'
|
|
||||||
},
|
|
||||||
queryForm: {
|
|
||||||
labelWidth: '100px',
|
|
||||||
reset: true,
|
|
||||||
queryObject: {
|
|
||||||
'permissionName': {
|
|
||||||
type: 'text',
|
|
||||||
label: this.$t('orderAuthor.permissionName'),
|
|
||||||
config: {
|
|
||||||
data: []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'canDistribute': {
|
|
||||||
type: 'select',
|
|
||||||
label: this.$t('orderAuthor.publicOrPrivate'),
|
|
||||||
config: {
|
|
||||||
data: []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
queryList: {
|
|
||||||
query: this.queryFunction,
|
|
||||||
selectCheckShow: false,
|
|
||||||
indexShow: true,
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.organizationOrEnterprise'),
|
|
||||||
prop: 'organizationName'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.permissionName'),
|
|
||||||
prop: 'permissionName'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.userName'),
|
|
||||||
prop: 'userName'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.userMobile'),
|
|
||||||
prop: 'userMobile'
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// title: this.$t('orderAuthor.mapName'),
|
|
||||||
// prop: 'mapName'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: this.$t('orderAuthor.mapProductName'),
|
|
||||||
// prop: 'mapProductName'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: this.$t('orderAuthor.courseName'),
|
|
||||||
// prop: 'lessonName'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: this.$t('orderAuthor.permissionType'),
|
|
||||||
// prop: 'permissionType',
|
|
||||||
// type: 'tag',
|
|
||||||
// columnValue: (row) => { return this.$convertField(row.permissionType, this.PermissionTypeList, ['value', 'label']); },
|
|
||||||
// tagType: (row) => { return ''; }
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.publicOrPrivate'),
|
|
||||||
prop: 'canDistribute',
|
|
||||||
type: 'tag',
|
|
||||||
columnValue: (row) => { return this.$ConstSelect.translate(row.canDistribute, 'PermissionUseList'); },
|
|
||||||
tagType: (row) => {
|
|
||||||
switch (row.canDistribute) {
|
|
||||||
case true: return 'success';
|
|
||||||
case false: return 'danger';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.permanenceOrNot'),
|
|
||||||
prop: 'forever',
|
|
||||||
type: 'tag',
|
|
||||||
columnValue: (row) => { return this.$ConstSelect.translate(row.forever, 'Whether'); },
|
|
||||||
tagType: (row) => {
|
|
||||||
switch (row.forever) {
|
|
||||||
case true: return 'success';
|
|
||||||
case false: return 'danger';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// title: '权限总数',
|
|
||||||
// prop: 'amount'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: '剩余权限数量',
|
|
||||||
// prop: 'remains'
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.startTime'),
|
|
||||||
prop: 'startTime',
|
|
||||||
type: 'formatter',
|
|
||||||
formatter: this.formatterDate
|
|
||||||
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: this.$t('orderAuthor.endTime'),
|
|
||||||
prop: 'endTime',
|
|
||||||
type: 'formatter',
|
|
||||||
formatter: this.formatterDate
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'button',
|
|
||||||
title: this.$t('global.operate'),
|
|
||||||
width: '120',
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
name: this.$t('global.add'),
|
|
||||||
handleClick: this.handlePut,
|
|
||||||
type: '',
|
|
||||||
showControl: (row) => { return !row.isPut; }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: this.$t('global.delete'),
|
|
||||||
handleClick: this.handlePop,
|
|
||||||
type: 'warning',
|
|
||||||
showControl: (row) => { return row.isPut; }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
PermissionTypeList: function (list) {
|
|
||||||
if (list && list.length) {
|
|
||||||
this.queryForm.queryObject.permissionType.config.data = list;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.queryForm.queryObject.canDistribute.config.data = this.$ConstSelect.PermissionUseList;
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
formatterDate(row, porpInfo) {
|
|
||||||
return String(row[porpInfo.property] || '').split(' ')[0];
|
|
||||||
},
|
|
||||||
async queryFunction(params) {
|
|
||||||
const resp = await listCanPackagePermission(params);
|
|
||||||
this.ruleList.forEach(elem => {
|
|
||||||
resp.data.list.forEach(item => {
|
|
||||||
if (item.id == elem.id) {
|
|
||||||
item.isPut = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
return resp;
|
|
||||||
},
|
|
||||||
reloadTable() {
|
|
||||||
if (this.queryList && this.queryList.reload) {
|
|
||||||
this.queryList.reload();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
doShow() {
|
|
||||||
this.show = true;
|
|
||||||
},
|
|
||||||
doClose() {
|
|
||||||
this.show = false;
|
|
||||||
},
|
|
||||||
handlePut(index, row) {
|
|
||||||
row.isPut = true;
|
|
||||||
this.$emit('addRuleForm', index, row);
|
|
||||||
this.$refs.queryListPage.refresh();
|
|
||||||
},
|
|
||||||
handlePop(index, row) {
|
|
||||||
row.isPut = false;
|
|
||||||
this.$emit('deleteForm', index, row);
|
|
||||||
this.$refs.queryListPage.refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,56 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
<div class="pack-box">
|
|
||||||
<div style="text-align:center; margin:auto; margin-top: 35px;">
|
|
||||||
<qrcode-vue v-loading="loading" :value="url" :size="500" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="draft">
|
|
||||||
<el-button-group>
|
|
||||||
<el-button @click="turnback">{{ $t('orderAuthor.back') }}</el-button>
|
|
||||||
</el-button-group>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
import QrcodeVue from 'qrcode.vue';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'QCode',
|
|
||||||
components: {
|
|
||||||
QrcodeVue
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
loading: false,
|
|
||||||
url: ''
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
qrCodeShow(data) { // 生成二维码
|
|
||||||
this.url = data.url;
|
|
||||||
},
|
|
||||||
turnback() {
|
|
||||||
this.$router.go(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
|
||||||
.pack-rule {
|
|
||||||
width: 800px;
|
|
||||||
margin: 0 auto;
|
|
||||||
margin-top: 12px;
|
|
||||||
padding: 40px;
|
|
||||||
}
|
|
||||||
.draft {
|
|
||||||
width: 400px;
|
|
||||||
text-align: center;
|
|
||||||
margin: 20px auto;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,225 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="pack-box">
|
|
||||||
<el-scrollbar wrap-class="scrollbar-wrapper" style="">
|
|
||||||
<el-steps class="steps" :active="display" align-center>
|
|
||||||
<el-step :title="$t('orderAuthor.selectPermissionsPackage')" icon="el-icon-edit" />
|
|
||||||
<el-step :title="$t('orderAuthor.permissionToDistributeQRCode')" icon="el-icon-setting" />
|
|
||||||
</el-steps>
|
|
||||||
<div v-show="display == 1">
|
|
||||||
<el-card class="forms pack-rule">
|
|
||||||
<el-button class="addList" size="small" @click="dialogSelect">{{ $t('orderAuthor.addRecords') }}</el-button>
|
|
||||||
<el-table :data="ruleList" border show-summary :summary-method="getSummaries" style="width: 100%; min-height: 300px;">
|
|
||||||
<el-table-column prop="permissionName" :label="this.$t('orderAuthor.permissionName')" />
|
|
||||||
<el-table-column prop="amount" :label="this.$t('orderAuthor.totalPermissions')" width="120" />
|
|
||||||
<el-table-column prop="remains" :label="this.$t('orderAuthor.residualPermissionNumber')" width="120" />
|
|
||||||
<el-table-column :label="this.$t('global.operate')" width="60">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button type="text" size="small" @click="deleteForm(scope.$index, scope.row)">{{ $t('global.delete') }}
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</el-card>
|
|
||||||
<div class="draft">
|
|
||||||
<el-button-group>
|
|
||||||
<el-button type="primary" @click="packForm">{{ $t('orderAuthor.packaging') }}</el-button>
|
|
||||||
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
|
|
||||||
</el-button-group>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-show="display == 2">
|
|
||||||
<q-code ref="qCode" />
|
|
||||||
</div>
|
|
||||||
<choose-permission
|
|
||||||
ref="choosePermission"
|
|
||||||
:rule-list="ruleList"
|
|
||||||
:effective-type-list="EffectiveTypeList"
|
|
||||||
:permission-type-list="PermissionTypeList"
|
|
||||||
@addRuleForm="addRuleForm"
|
|
||||||
@deleteForm="deleteForm"
|
|
||||||
/>
|
|
||||||
</el-scrollbar>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { permissionDistributePackage } from '@/api/management/distribute';
|
|
||||||
import ChoosePermission from './choosePermission';
|
|
||||||
import QCode from './qCode';
|
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'PackRule',
|
|
||||||
components: {
|
|
||||||
ChoosePermission,
|
|
||||||
QCode
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
display: 1,
|
|
||||||
urlInfo: {},
|
|
||||||
ruleList: [],
|
|
||||||
EffectiveTypeList: [],
|
|
||||||
PermissionTypeList: []
|
|
||||||
};
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
height() {
|
|
||||||
return this.$store.state.app.height - 62;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.loadInitData();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
turnback() {
|
|
||||||
this.$router.go(-1);
|
|
||||||
},
|
|
||||||
computedName(list, code) {
|
|
||||||
let name = '';
|
|
||||||
list.forEach(elem => {
|
|
||||||
if (elem.value == code) {
|
|
||||||
name = elem.label;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return name;
|
|
||||||
},
|
|
||||||
loadInitData() {
|
|
||||||
this.EffectiveTypeList = [];
|
|
||||||
this.$Dictionary.effectiveType().then(list => {
|
|
||||||
this.EffectiveTypeList = list.map(elem => { return { value: elem.code, label: elem.name }; });
|
|
||||||
});
|
|
||||||
|
|
||||||
this.PermissionTypeList = [];
|
|
||||||
this.$Dictionary.permissionType().then(list => {
|
|
||||||
this.PermissionTypeList = list.map(elem => { return { value: elem.code, label: elem.name }; });
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getSummaries(param) {
|
|
||||||
const { columns, data } = param;
|
|
||||||
const sums = [];
|
|
||||||
columns.forEach((column, index) => {
|
|
||||||
if (index === 0) {
|
|
||||||
sums[index] = this.$t('orderAuthor.totalNumber');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (index === 4 || index === 5) {
|
|
||||||
const values = data.map(item => Number(item[column.property]));
|
|
||||||
if (!values.every(value => isNaN(value))) {
|
|
||||||
sums[index] = values.reduce((prev, curr) => {
|
|
||||||
const value = Number(curr);
|
|
||||||
if (!isNaN(value)) {
|
|
||||||
return prev + curr;
|
|
||||||
} else {
|
|
||||||
return prev;
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return sums;
|
|
||||||
},
|
|
||||||
dialogSelect(row) {
|
|
||||||
this.$refs.choosePermission.doShow();
|
|
||||||
},
|
|
||||||
deleteForm(index, row) {
|
|
||||||
const idx = this.ruleList.findIndex(elem => { return elem.id == row.id; });
|
|
||||||
if (idx >= 0) {
|
|
||||||
row['isPut'] = false;
|
|
||||||
this.ruleList.splice(idx, 1);
|
|
||||||
}
|
|
||||||
EventBus.$emit('reloadTable', { index: index, list: row });
|
|
||||||
},
|
|
||||||
addRuleForm(index, row) {
|
|
||||||
row['isPut'] = true;
|
|
||||||
this.ruleList.push(row);
|
|
||||||
EventBus.$emit('reloadTable', { index: index, list: row });
|
|
||||||
},
|
|
||||||
packForm() {
|
|
||||||
if (this.ruleList && this.ruleList.length) {
|
|
||||||
const dis = [];
|
|
||||||
this.ruleList.forEach(elem => {
|
|
||||||
dis.push(elem.id);
|
|
||||||
});
|
|
||||||
|
|
||||||
permissionDistributePackage(dis).then(resp => {
|
|
||||||
this.urlInfo = {
|
|
||||||
url: resp.data
|
|
||||||
};
|
|
||||||
this.qrCodeShow(this.urlInfo);
|
|
||||||
}).catch((error) => {
|
|
||||||
this.$messageBox(`${this.$t('tip.packagingFailed')}, ${error.message}`);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$messageBox(this.$t('tip.selectPackagingRecord'));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
qrCodeShow(data) {
|
|
||||||
this.display = 2;
|
|
||||||
this.$refs.qCode.qrCodeShow(data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
|
||||||
.pack-box {
|
|
||||||
padding-top: 10px;
|
|
||||||
height: 100%;
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
/deep/ {
|
|
||||||
.el-step__icon.is-icon {
|
|
||||||
width: 95px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.steps {
|
|
||||||
width: 980px;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.forms {
|
|
||||||
width: 800px;
|
|
||||||
margin: 0 auto;
|
|
||||||
margin-top: 20px;
|
|
||||||
padding: 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
width: 10px;
|
|
||||||
height: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pack-rule {
|
|
||||||
.addList {
|
|
||||||
float: right;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #000;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-footer {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/deep/ .el-table__footer-wrapper {
|
|
||||||
.is-leaf:nth-child(3) {
|
|
||||||
font-size: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.draft {
|
|
||||||
width: 400px;
|
|
||||||
text-align: center;
|
|
||||||
margin: 20px auto;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -31,6 +31,7 @@ export default {
|
|||||||
projectList:[],
|
projectList:[],
|
||||||
typeList:[],
|
typeList:[],
|
||||||
formModel:{
|
formModel:{
|
||||||
|
customized:'',
|
||||||
mapId:'',
|
mapId:'',
|
||||||
name: '',
|
name: '',
|
||||||
prdType: '',
|
prdType: '',
|
||||||
|
Loading…
Reference in New Issue
Block a user