From 062175c7c625ef7763b694dd5dfba8bc7e5e76cd Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 14 六月 2023 15:38:04 +0800
Subject: [PATCH] 1.角色清单、安灯设置引入分车间概念
---
src/views/basicSettings/roleList.vue | 124 +++++++++++++++++++++++++++++++++++------
1 files changed, 105 insertions(+), 19 deletions(-)
diff --git a/src/views/basicSettings/roleList.vue b/src/views/basicSettings/roleList.vue
index 2ec9f6e..c5c9850 100644
--- a/src/views/basicSettings/roleList.vue
+++ b/src/views/basicSettings/roleList.vue
@@ -163,7 +163,7 @@
:page.sync="form.page"
:limit.sync="form.rows"
align="right"
- layout="total ,prev, pager, next,sizes"
+ layout="total ,prev, pager, next,sizes,jumper"
popper-class="select_bottom"
@pagination="getRoleSearch"
/>
@@ -187,6 +187,21 @@
<el-form-item label="瑙掕壊鍚嶇О" prop="RoleName">
<el-input v-model="dialogForm.RoleName" style="width: 200px" />
</el-form-item>
+
+ <el-form-item label="鎵�灞炵粍缁�" prop="stu_torgcode">
+ <el-cascader
+ ref="dialogCascader"
+ key="cascaderKey"
+ v-model="dialogForm.stu_torgcode"
+ filterable
+ popper-class="elCascader"
+ :options="StuOrgArr"
+ :props="defaultProps"
+ style="width: 200px;"
+ @change="dialogCascaderChange"
+ />
+ </el-form-item>
+
<el-form-item prop="RoleTypeCode" label="瑙掕壊绫诲瀷">
<el-select
v-model="dialogForm.RoleTypeCode"
@@ -196,7 +211,7 @@
placeholder="璇烽�夋嫨"
>
<el-option
- v-for="item in RoleTypeCodeArr2"
+ v-for="item in RoleTypeCodeArr3"
:key="item.roletype_code"
:label="item.roletype_name"
:value="item.roletype_code"
@@ -239,7 +254,7 @@
ref="RoleTypeCodeArr"
:data="RoleTypeCodeArr"
border
- height="300"
+ height="377"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@@ -257,6 +272,32 @@
label="搴忓彿"
prop="RowNum"
/>
+
+ <el-table-column
+ v-if="$store.state.settings.orgType!=='W'"
+ prop="roletype_code"
+ label="鎵�灞炵粍缁�"
+ show-tooltip-when-overflow
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ <el-cascader
+ v-if="row.isVisible===1"
+ ref="dialogCascader"
+ key="cascaderKey"
+ v-model="row.storg_code"
+ filterable
+ popper-class="elCascader"
+ :options="StuOrgArr"
+ :props="defaultProps"
+ style="width: 200px;"
+ />
+ <div v-else>
+ {{ row.org_name }}
+ </div>
+ </template>
+ </el-table-column>
+
<el-table-column
prop="roletype_code"
label="绫诲瀷缂栫爜"
@@ -350,14 +391,13 @@
<el-cascader
ref="dialogCascaderUser"
key="cascaderKey"
+ v-model="dialogFormUser.orgcode"
filterable
popper-class="elCascader"
:append-to-body="false"
:options="StuOrgArr"
:props="defaultProps"
:style="{width:isIpad? '180px':'200px'}"
-
- @change="dialogCascaderChange"
/>
<!-- @focus="getUserOrganization"-->
</el-form-item>
@@ -613,6 +653,7 @@
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import TableColumnSettings from '@/components/TableColumnSettings'
+import { StorgRoleSelect } from '@/api/basicInfo'
export default {
name: 'JSQD',
@@ -638,6 +679,7 @@
total: 10,
RoleTypeCodeArr: [], // 瑙掕壊绫诲瀷缂栫爜鏁扮粍
RoleTypeCodeArr2: [], // 瑙掕壊绫诲瀷缂栫爜鏁扮粍 鎼滅储
+ RoleTypeCodeArr3: [], // 鏂板鏃剁殑瑙掕壊绫诲瀷鏁扮粍
RoleTypeCodeArrLength: 0,
formSetting: {
page: 1,
@@ -669,13 +711,31 @@
show: true,
fixed: false,
sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'torg_code',
+ label: '缁勭粐缂栫爜',
+ id: 5,
+ show: false,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'org_name',
+ label: '鎵�灞炵粍缁�',
+ id: 6,
+ show: true,
+ fixed: false,
+ sortable: true
},
{
minWidth: 110,
width: false,
prop: 'roletype_code',
label: '瑙掕壊绫诲瀷缂栫爜',
- id: 5,
+ id: 7,
show: false,
fixed: false,
sortable: true
@@ -685,7 +745,7 @@
width: false,
prop: 'roletype_name',
label: '瑙掕壊绫诲瀷',
- id: 6,
+ id: 8,
show: true,
fixed: false,
sortable: true
@@ -695,7 +755,7 @@
width: false,
prop: 'description',
label: '瑙掕壊鎻忚堪',
- id: 7,
+ id: 9,
show: true,
fixed: false,
sortable: true
@@ -705,7 +765,7 @@
width: false,
prop: 'is_user',
label: '鍏宠仈鐢ㄦ埛',
- id: 8,
+ id: 10,
show: false,
fixed: false,
sortable: true
@@ -715,7 +775,7 @@
width: false,
prop: 'is_right',
label: '鍒嗛厤鏉冮檺',
- id: 9,
+ id: 11,
show: true,
fixed: false,
sortable: true
@@ -725,7 +785,7 @@
width: false,
prop: 'lm_user',
label: '鍒涘缓浜哄憳',
- id: 10,
+ id: 12,
show: true,
fixed: false,
sortable: true
@@ -735,7 +795,7 @@
width: false,
prop: 'lm_date',
label: '鍒涘缓鏃堕棿',
- id: 11,
+ id: 13,
show: true,
fixed: false,
sortable: true
@@ -748,6 +808,7 @@
RoleId: '',
RoleCode: '', // 瑙掕壊缂栫爜
RoleName: '', // 瑙掕壊鍚嶇О
+ stu_torgcode: getCookie('stu_torgcode'), // 鎵�灞炵粍缁�
RoleTypeCode: '', // 瑙掕壊绫诲瀷
description: ''//
},
@@ -761,6 +822,9 @@
],
RoleTypeCode: [
{ required: true, message: '璇烽�夋嫨瑙掕壊绫诲瀷', trigger: ['blur', 'change'] }
+ ],
+ stu_torgcode: [
+ { required: true, message: '璇烽�夋嫨鎵�灞炵粍缁�', trigger: ['blur', 'change'] }
]
},
settingDialogVisible: false,
@@ -787,7 +851,8 @@
checkStrictly: true,
value: 'code',
label: 'name',
- children: 'children'
+ children: 'children',
+ emitPath: false
},
roleArr: [
{ value: 'Y', label: '鏄�' },
@@ -932,6 +997,10 @@
add(operation) {
this.operation = operation
this.dialogVisible = true
+
+ if (this.$store.state.settings.orgType !== '') {
+ this.getStorgRoleSelect(getCookie('stu_torgcode'), this.StuOrgArr.find(i => i.code === getCookie('stu_torgcode')) ? 'D' : 'W')
+ }
},
// 淇敼鎸夐挳
edit(operation, row) {
@@ -949,6 +1018,8 @@
this.dialogForm.RoleName = row.role_name
this.dialogForm.RoleTypeCode = row.roletype_code
this.dialogForm.description = row.description
+ this.dialogForm.stu_torgcode = row.torg_code
+ this.getStorgRoleSelect(row.torg_code, this.StuOrgArr.find(i => i.code === row.torg_code) ? 'D' : 'W')
})
},
// 鍒犻櫎鎸夐挳
@@ -974,6 +1045,20 @@
this.$message.info('宸插彇娑堝垹闄�')
})
},
+ // 绾ц仈閫夋嫨鍣�
+ dialogCascaderChange(val) {
+ this.dialogForm.RoleTypeCode = ''
+
+ this.getStorgRoleSelect(val, this.StuOrgArr.find(i => i.code === val) ? 'D' : 'W')
+ },
+ async getStorgRoleSelect(stu_torgcode, description) {
+ const data = {
+ stu_torgcode,
+ description
+ }
+ const { data: res } = await StorgRoleSelect(data)
+ this.RoleTypeCodeArr3 = res
+ },
// 瀵硅瘽妗嗗叧闂簨浠�
handleClose() {
this.dialogForm.RoleId = ''
@@ -981,6 +1066,8 @@
this.dialogForm.RoleName = ''
this.dialogForm.RoleTypeCode = ''
this.dialogForm.description = ''
+ this.dialogForm.stu_torgcode = getCookie('stu_torgcode')
+ this.RoleTypeCodeArr3 = []
this.$refs.dialogForm.clearValidate()
},
// 瀵硅瘽妗嗗彇娑�
@@ -998,6 +1085,7 @@
RoleName: this.dialogForm.RoleName,
RoleTypeCode: this.dialogForm.RoleTypeCode,
description: this.dialogForm.description,
+ stu_torgcode: this.dialogForm.stu_torgcode,
OperType: this.operation === 'add' ? 'Add' : 'Update'
// Operator: getCookie('admin')
}
@@ -1056,7 +1144,7 @@
let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
number = number === 0 ? (10 + Math.random()) : number
- const data = { roletype_code: '', roletype_name: '', isVisible: 1, number: number }
+ const data = { storg_code: getCookie('stu_torgcode'), roletype_code: '', roletype_name: '', isVisible: 1, number: number }
this.RoleTypeCodeArr.unshift(data)
},
// 鍒犻櫎鎸夐挳
@@ -1089,7 +1177,8 @@
}
const data = {
code: row.roletype_code,
- name: row.roletype_name
+ name: row.roletype_name,
+ flag: row.storg_code
}
const res = await RoleTypeAdd([data])
if (res.code === '200') {
@@ -1215,10 +1304,7 @@
this.$store.state.app.buttonIsDisabled = false
}
},
- // 绾ц仈閫夋嫨鍣�
- dialogCascaderChange(val) {
- this.dialogFormUser.orgcode = val[val.length - 1]
- },
+
// 缃┖鎸夐挳
setRoleAssociationUser() {
this.dialogFormUser.usercode = ''
--
Gitblit v1.9.3