Authored by wangtao

系统配置;第三方授权优化

@@ -17,21 +17,19 @@ @@ -17,21 +17,19 @@
17 <div class="search-table"style="margin-top: 6px"> 17 <div class="search-table"style="margin-top: 6px">
18 <cm-table-page :columns="columns" :dataList="tableDataList" :height="(height - 130)" 18 <cm-table-page :columns="columns" :dataList="tableDataList" :height="(height - 130)"
19 :loading="false" :pageSize="pageSize" :showBorder="true" 19 :loading="false" :pageSize="pageSize" :showBorder="true"
20 - :showIndex="true" :showPage="true" :showSelection="true"  
21 - :showTools="true" :total="count" @loaddata="loadTableDataList"> 20 + :showIndex="true" :showPage="true" :showSelection="false"
  21 + :showTools="true" :total="count" @loaddata="loadTableDataList" :toolsWith="120">
22 <template #default="{row,prop,column}"> 22 <template #default="{row,prop,column}">
23 <div v-if="prop == 'type'"> 23 <div v-if="prop == 'type'">
24 - <div v-if="row.type == 'img'">  
25 - <el-tag>图片</el-tag>  
26 - </div>  
27 - <div v-if="row.type == 'file'">  
28 - <el-tag>文件</el-tag>  
29 - </div>  
30 - </div>  
31 - <div v-if="prop == 'img'">  
32 - <div v-if="row.type == 'img'">  
33 - <el-image style="width: 60px; height: 60px;border-radius: 10px;" :src="domainName+row.code" /> 24 + <el-tag>{{row.type == 'img' ? '图片' : '文件'}}</el-tag>
34 </div> 25 </div>
  26 + <div v-if="prop == 'img' && row.type == 'img'">
  27 + <el-image style="width: 50%; height: 50%;border-radius: 10px;" :src="domainName+row.code"
  28 + :preview-src-list="[domainName+row.code]"
  29 + :initial-index="1"
  30 + :z-index="99999999999999"
  31 + :preview-teleported="true"
  32 + fit="cover"/>
35 </div> 33 </div>
36 </template> 34 </template>
37 <template #tools="{scope}"> 35 <template #tools="{scope}">
@@ -53,7 +51,7 @@ @@ -53,7 +51,7 @@
53 </div> 51 </div>
54 52
55 <!--新增编辑弹框--> 53 <!--新增编辑弹框-->
56 -<cm-dialog :showDialogVisible="cacheVisible" :showFooter="false" :title="titleName" @hidedialog="cancelBtn" 54 +<cm-dialog :showDialogVisible="cacheVisible" :showFooter="false" :title="titleName == 'add' ? '新增配置' : '编辑配置'" @hidedialog="cancelBtn"
57 width="500px"> 55 width="500px">
58 <template v-slot> 56 <template v-slot>
59 <div style="padding-right: 20px"> 57 <div style="padding-right: 20px">
@@ -68,7 +66,7 @@ @@ -68,7 +66,7 @@
68 <el-input :size="$global.elementConfig.size.input" placeholder="请输入名称" clearable v-model="fileFrom.name"></el-input> 66 <el-input :size="$global.elementConfig.size.input" placeholder="请输入名称" clearable v-model="fileFrom.name"></el-input>
69 </el-form-item> 67 </el-form-item>
70 <el-form-item label="编码" prop="code"> 68 <el-form-item label="编码" prop="code">
71 - <el-input :size="$global.elementConfig.size.input" placeholder="请输入编码" clearable v-model="fileFrom.code"></el-input> 69 + <el-input :size="$global.elementConfig.size.input" :disabled="titleName == 'edit'" placeholder="请输入编码" clearable v-model="fileFrom.code"></el-input>
72 </el-form-item> 70 </el-form-item>
73 <el-form-item label="分组" prop="groupId"> 71 <el-form-item label="分组" prop="groupId">
74 <el-input :size="$global.elementConfig.size.input" placeholder="请输入组Id" clearable v-model="fileFrom.groupId"></el-input> 72 <el-input :size="$global.elementConfig.size.input" placeholder="请输入组Id" clearable v-model="fileFrom.groupId"></el-input>
@@ -41,6 +41,14 @@ export default { @@ -41,6 +41,14 @@ export default {
41 prop: 'name', 41 prop: 'name',
42 label: '名称', 42 label: '名称',
43 sortable: true, 43 sortable: true,
  44 + width: '150',
  45 + align: 'center'
  46 + },
  47 + {
  48 + prop: 'code',
  49 + label: '编码',
  50 + sortable: true,
  51 + width: '150',
44 align: 'center' 52 align: 'center'
45 }, 53 },
46 { 54 {
@@ -48,14 +56,14 @@ export default { @@ -48,14 +56,14 @@ export default {
48 label: '类型', 56 label: '类型',
49 sortable: true, 57 sortable: true,
50 align: 'center', 58 align: 'center',
51 - width: '200' 59 + width: '70'
52 }, 60 },
53 { 61 {
54 prop: 'groupId', 62 prop: 'groupId',
55 label: '分组', 63 label: '分组',
56 sortable: true, 64 sortable: true,
57 align: 'center', 65 align: 'center',
58 - width: '200' 66 + width: '150'
59 }, 67 },
60 { 68 {
61 prop: 'img', 69 prop: 'img',
@@ -69,7 +77,7 @@ export default { @@ -69,7 +77,7 @@ export default {
69 label: '创建时间', 77 label: '创建时间',
70 sortable: true, 78 sortable: true,
71 align: 'center', 79 align: 'center',
72 - width: '230' 80 + width: '170'
73 } 81 }
74 ]) 82 ])
75 let activeName = Vue.ref('default'); 83 let activeName = Vue.ref('default');
@@ -91,7 +99,7 @@ export default { @@ -91,7 +99,7 @@ export default {
91 }); 99 });
92 //上传完后的图片预览 100 //上传完后的图片预览
93 let imageUrl = Vue.ref(''); 101 let imageUrl = Vue.ref('');
94 - let titleName = Vue.ref('新增'); 102 + let titleName = Vue.ref('add');
95 let tableDataList = Vue.ref([]); 103 let tableDataList = Vue.ref([]);
96 let isAdd = Vue.ref(true); 104 let isAdd = Vue.ref(true);
97 let beforeAvatarUpload = (file) => { 105 let beforeAvatarUpload = (file) => {
@@ -151,7 +159,7 @@ export default { @@ -151,7 +159,7 @@ export default {
151 159
152 let cacheVisible = Vue.ref(false); 160 let cacheVisible = Vue.ref(false);
153 let openAddFile = () => { 161 let openAddFile = () => {
154 - titleName.value = '新增'; 162 + titleName.value = 'add';
155 fileFrom.value = { 163 fileFrom.value = {
156 id: '', 164 id: '',
157 pid: '', 165 pid: '',
@@ -172,7 +180,7 @@ export default { @@ -172,7 +180,7 @@ export default {
172 } 180 }
173 //修改 181 //修改
174 let handleUpdate = (row) => { 182 let handleUpdate = (row) => {
175 - titleName.value = '修改'; 183 + titleName.value = 'edit';
176 cacheVisible.value = true; 184 cacheVisible.value = true;
177 fileFrom.value = row; 185 fileFrom.value = row;
178 isAdd.value = false; 186 isAdd.value = false;
@@ -13,16 +13,23 @@ @@ -13,16 +13,23 @@
13 <div class="search-table"> 13 <div class="search-table">
14 <el-table 14 <el-table
15 :data="tableData" 15 :data="tableData"
16 - style="width: 100%;margin: 0px 0px; font-size:13.5px;" 16 + style="width: 100%;margin: 0px 0px;"
17 row-key="id" 17 row-key="id"
18 border 18 border
19 - :tree-props="{ children: 'authorizeList'}"  
20 - header-row-class-name="tbl-header-class"  
21 - >  
22 - <el-table-column type="index" label="序号" align="center" width="80"/>  
23 - <el-table-column prop="name" label="第三方系统" sortable=true align="center" width="350" />  
24 - <el-table-column prop="detail" label="系统请求地址" sortable=true align="center" width="470" />  
25 - <el-table-column prop="nickName" label="授权用户" sortable=true align="center" width="250" /> 19 + :tree-props="{ children: 'children'}"
  20 + header-row-class-name="tbl-header-class">
  21 + <el-table-column prop="name" label="第三方系统" sortable=true align="center" width="350" >
  22 + <template #default="scope">
  23 + <el-tag effect="light" v-if="scope.row.type == 'user'">
  24 + <i class="iconfont icon-haoyou" /> {{scope.row.name}}
  25 + </el-tag>
  26 +
  27 + <el-tag effect="light" v-if="scope.row.type == 'role'">
  28 + <i class="iconfont icon-jiaoseguanli" /> {{scope.row.name}}
  29 + </el-tag>
  30 + </template>
  31 + </el-table-column>
  32 + <el-table-column prop="detail" label="系统请求地址" sortable=true align="center" />
26 <el-table-column prop="sort" label="排序" sortable=true align="center" width="100" /> 33 <el-table-column prop="sort" label="排序" sortable=true align="center" width="100" />
27 <el-table-column prop="createTime" label="创建时间" sortable=true align="center"width="300" /> 34 <el-table-column prop="createTime" label="创建时间" sortable=true align="center"width="300" />
28 <el-table-column fixed="right" label="操作" width="150" align="center"> 35 <el-table-column fixed="right" label="操作" width="150" align="center">
@@ -41,11 +48,12 @@ @@ -41,11 +48,12 @@
41 </template> 48 </template>
42 </el-table-column> 49 </el-table-column>
43 </el-table> 50 </el-table>
  51 +
44 </div> 52 </div>
45 53
46 54
47 <cm-userright :isUser="false" :buttonTexts="['删除', '添加']" :showDialogVisible="showUserDialogVisible" :titles="['所有用户', '已添加用户']" 55 <cm-userright :isUser="false" :buttonTexts="['删除', '添加']" :showDialogVisible="showUserDialogVisible" :titles="['所有用户', '已添加用户']"
48 - :userArr="userList" :selectedArr="userFileRight" @callback="selectUser" @hideDialog="showUserDialog" :showOrg="false" :showGroup="false" 56 + :selectedArr="userFileRight" @callback="selectUser" @hideDialog="showUserDialog" :showOrg="false" :showGroup="false"
49 title="选择用户"></cm-userright> 57 title="选择用户"></cm-userright>
50 </div> 58 </div>
51 </div> 59 </div>
@@ -55,6 +55,23 @@ export default { @@ -55,6 +55,23 @@ export default {
55 tableData.value = res.data; 55 tableData.value = res.data;
56 tableData.value.forEach(function (e) { 56 tableData.value.forEach(function (e) {
57 let report = {} 57 let report = {}
  58 +
  59 + let authUser = e.authorizeList;
  60 + let authRole = e.authorizeRoleList;
  61 +
  62 + let children = [];
  63 + if(authUser){
  64 + authUser.forEach((v) => {
  65 + children.push({id:v.id,type:'user',name:v.nickName,code:v.userName});
  66 + })
  67 + }
  68 + if(authRole){
  69 + authRole.forEach((v) => {
  70 + children.push({id:v.id,type:'role',name:v.roleName,code:v.id});
  71 + })
  72 + }
  73 +
  74 + e.children = children;
58 report.label = e.name; 75 report.label = e.name;
59 report.value = e.id; 76 report.value = e.id;
60 options.value.push(report) 77 options.value.push(report)
@@ -117,7 +134,7 @@ export default { @@ -117,7 +134,7 @@ export default {
117 proxy.$global.showMsg('授权成功','success'); 134 proxy.$global.showMsg('授权成功','success');
118 getDetailList(); 135 getDetailList();
119 }else { 136 }else {
120 - proxy.$global.showMsg(res.msg,'warning'); 137 + proxy.$global.showMsg(res.msg ? res.msg : '授权失败','warning');
121 } 138 }
122 }) 139 })
123 } 140 }