|
@@ -1,90 +1,110 @@
|
|
|
<template>
|
|
|
- <basic-container
|
|
|
- class="see"
|
|
|
- style="margin-bottom:50px;"
|
|
|
+ <div
|
|
|
+ ref="heights"
|
|
|
+ style="height:100%;"
|
|
|
>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="6">
|
|
|
- <el-select
|
|
|
- style="width:100%;"
|
|
|
- v-model="value"
|
|
|
- placeholder="请选择"
|
|
|
- @change="changePosition"
|
|
|
- class="marbottom20"
|
|
|
- clearable
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.id"
|
|
|
- :label="item.contractName"
|
|
|
- :value="item.id"
|
|
|
+ <basic-container class="see">
|
|
|
+ <el-row
|
|
|
+ :gutter="20"
|
|
|
+ :style="{'height':heights-80+'px'}"
|
|
|
+ >
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-select
|
|
|
+ style="width:100%;"
|
|
|
+ v-model="value"
|
|
|
+ placeholder="请选择"
|
|
|
+ @change="changePosition"
|
|
|
+ class="marbottom20"
|
|
|
>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- <el-menu
|
|
|
- default-active="2"
|
|
|
- class="el-menu-vertical-demo"
|
|
|
- >
|
|
|
- <div
|
|
|
- style="border-right:1px solid #EDEDED;"
|
|
|
- v-for="(item,keys) in menuData"
|
|
|
- :key='keys'
|
|
|
+ <!-- clearable -->
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.contractName"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-menu
|
|
|
+ class="el-menu-vertical-demo"
|
|
|
+ :default-active="defaultActive"
|
|
|
+ :style="{'height':heights-160+'px',overflow:'auto'}"
|
|
|
>
|
|
|
- <el-submenu :index="item.roleId">
|
|
|
- <template slot="title">
|
|
|
- <i class="el-icon-location"></i>
|
|
|
- <span>{{item.roleName}}</span>
|
|
|
- </template>
|
|
|
- <el-menu-item-group
|
|
|
- v-for="(val,k) in item.childRoleList"
|
|
|
- :key='k'
|
|
|
- >
|
|
|
- <el-menu-item
|
|
|
- :index="val.roleId"
|
|
|
- @click="dakairight(val.signPfxFileList)"
|
|
|
- >{{val.roleName}}</el-menu-item>
|
|
|
- </el-menu-item-group>
|
|
|
- </el-submenu>
|
|
|
- </div>
|
|
|
- </el-menu>
|
|
|
- </el-col>
|
|
|
- <el-col
|
|
|
- :span="18"
|
|
|
- class="martop20"
|
|
|
- >
|
|
|
- <div
|
|
|
+ <el-empty
|
|
|
+ description="该目录为根目录没有数据"
|
|
|
+ v-show="!menuData.length==0"
|
|
|
+ ></el-empty>
|
|
|
+ <div
|
|
|
+ v-show="menuData.length>0"
|
|
|
+ style="border-right:1px solid #EDEDED;"
|
|
|
+ v-for="(item,keys) in menuData"
|
|
|
+ :key='keys'
|
|
|
+ >
|
|
|
+ <el-submenu :index="item.roleId">
|
|
|
+ <template slot="title">
|
|
|
+ <i class="el-icon-location"></i>
|
|
|
+ <span>{{item.roleName}}</span>
|
|
|
+ </template>
|
|
|
+ <el-menu-item-group
|
|
|
+ v-for="(val,k) in item.childRoleList"
|
|
|
+ :key='k'
|
|
|
+ >
|
|
|
+ <el-menu-item
|
|
|
+ :index="val.roleId"
|
|
|
+ @click="dakairight(val.signPfxFileList)"
|
|
|
+ >{{val.roleName}}</el-menu-item>
|
|
|
+ </el-menu-item-group>
|
|
|
+ </el-submenu>
|
|
|
+ </div>
|
|
|
+ </el-menu>
|
|
|
+ </el-col>
|
|
|
+ <el-col
|
|
|
+ :span="18"
|
|
|
class="martop20"
|
|
|
- v-for="(item,key) in rightData"
|
|
|
- :key='key'
|
|
|
>
|
|
|
- <div class="flexBetween">
|
|
|
- <div class="flexStar">
|
|
|
- <div
|
|
|
- class="flexItemsC"
|
|
|
- style="width:240px;"
|
|
|
- >姓名:{{item.certificateUserName}}</div>
|
|
|
- <div
|
|
|
- class="flexStar flexItemsC"
|
|
|
- style="width:240px;"
|
|
|
- >签名图片:
|
|
|
- <img
|
|
|
- style="height:40px;"
|
|
|
- :src="item.signatureFileUrl"
|
|
|
- />
|
|
|
+ <div
|
|
|
+ class="martop20"
|
|
|
+ v-for="(item,key) in rightData"
|
|
|
+ :key='key'
|
|
|
+ >
|
|
|
+ <div class="flexBetween">
|
|
|
+ <div class="flexStar">
|
|
|
+ <div
|
|
|
+ class="flexItemsC"
|
|
|
+ style="width:220px;"
|
|
|
+ >姓名:{{item.certificateUserName}}</div>
|
|
|
+ <div
|
|
|
+ class="flexStar flexItemsC"
|
|
|
+ style="width:220px;"
|
|
|
+ >签名图片:
|
|
|
+ <el-image
|
|
|
+ style="width:40px;"
|
|
|
+ :src="item.signatureFileUrl"
|
|
|
+ :preview-src-list="[item.signatureFileUrl]"
|
|
|
+ >
|
|
|
+ </el-image>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="flexItemsC"
|
|
|
+ style="width:560px;"
|
|
|
+ >证书: {{item.certificateUserName}}- {{item.certificateFileUrl|urlsplice}}</div>
|
|
|
+ <div
|
|
|
+ class="flexItemsC"
|
|
|
+ v-show="item.pfxType != '-1'"
|
|
|
+ >签章类型: {{item.pfxType}}</div>
|
|
|
</div>
|
|
|
- <div class="flexItemsC" style="width:600px;">证书: {{item.certificateUserName}}- {{item.certificateFileUrl|urlsplice}}</div>
|
|
|
- <div class="flexItemsC" v-show="item.pfxType != '-1'">签章类型: {{item.pfxType}}</div>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ @click="deleteAutograph(item.id)"
|
|
|
+ >删除签名配置</el-button>
|
|
|
</div>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- @click="deleteAutograph(item.id)"
|
|
|
- >删除签名配置</el-button>
|
|
|
+ <el-divider></el-divider>
|
|
|
</div>
|
|
|
- <el-divider></el-divider>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </basic-container>
|
|
|
+
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </basic-container>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -93,6 +113,8 @@ import { queryAllRoleList, queryContractList } from "@/api/certificate/managemen
|
|
|
export default {
|
|
|
data () {
|
|
|
return {
|
|
|
+ defaultActive: '',
|
|
|
+ heights: '',
|
|
|
options: [],
|
|
|
value: '',
|
|
|
menuData: [],
|
|
@@ -131,20 +153,19 @@ export default {
|
|
|
//#endregion
|
|
|
|
|
|
//#region 接口
|
|
|
- async queryAllRoleList (contractId) {
|
|
|
+ async queryAllRoleList (contractId) {//左侧菜单
|
|
|
const { data: res } = await queryAllRoleList({ contractId })
|
|
|
console.log(res);
|
|
|
if (res.code == 200) {
|
|
|
- // this.options = res.data
|
|
|
this.menuData = res.data
|
|
|
}
|
|
|
},
|
|
|
async queryContractList (contractId) {
|
|
|
const { data: res } = await queryContractList({ contractId });
|
|
|
+ console.log(res);
|
|
|
if (res.code == 200) {
|
|
|
this.options = res.data
|
|
|
}
|
|
|
- this.value = contractId;
|
|
|
},
|
|
|
async remove (ids) {
|
|
|
const { data: res } = await remove({ ids })
|
|
@@ -154,6 +175,10 @@ export default {
|
|
|
type: 'success',
|
|
|
message: '删除成功!'
|
|
|
});
|
|
|
+ this.value = ''
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.value = this.$route.query.contractId
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
//#endregion
|
|
@@ -169,16 +194,22 @@ export default {
|
|
|
},
|
|
|
watch: {
|
|
|
'value' (val) {
|
|
|
- if (!val) {
|
|
|
- this.menuData = this.options
|
|
|
+ if (val) {
|
|
|
+ this.queryAllRoleList(val);//左侧菜单
|
|
|
+ } else {
|
|
|
+ this.menuData = []
|
|
|
this.rightData = []
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
created () {
|
|
|
- this.queryAllRoleList(this.$route.query.contractId);
|
|
|
- this.queryContractList(this.$route.query.contractId);
|
|
|
- }
|
|
|
+ this.value = this.$route.query.contractId;
|
|
|
+ this.queryContractList(this.$route.query.contractId);//下拉枚举
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ this.heights = this.$refs.heights.clientHeight
|
|
|
+ console.log(this.heights);
|
|
|
+ },
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|