From 6caecd26f75979777956dc96e14d6f3b39ce6688 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 15 七月 2022 17:23:42 +0800
Subject: [PATCH] 1.修改bug
---
src/views/jcsz/jsqd.vue | 249 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 179 insertions(+), 70 deletions(-)
diff --git a/src/views/jcsz/jsqd.vue b/src/views/jcsz/jsqd.vue
index 9c8fe83..8071e93 100644
--- a/src/views/jcsz/jsqd.vue
+++ b/src/views/jcsz/jsqd.vue
@@ -17,7 +17,14 @@
<el-input v-model="form.RoleName" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
<el-form-item label="瑙掕壊绫诲瀷" style=" display: flex;">
- <el-select v-model="form.RoleTypeCode" filterable style="width: 200px" placeholder="璇烽�夋嫨">
+ <el-select
+ v-model="form.RoleTypeCode"
+ :popper-append-to-body="false"
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨"
+ >
+ <!-- @focus="getRoleTypeSearch2"-->
<el-option
v-for="item in RoleTypeCodeArr2"
:key="item.roletype_code"
@@ -40,14 +47,16 @@
<div style="margin-left: 10px;display: flex">
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
<el-button type="primary" icon="el-icon-setting" @click="settingButton">璁剧疆</el-button>
- <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>
+ <!-- <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
</div>
<el-divider />
<div class="elTableDiv">
<el-table
:data="tableData"
border
+
stripe
+ :height="tableHeight+'px'"
:style="{width: 100+'%',height:tableHeight+'px'}"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
@@ -82,7 +91,6 @@
<el-table-column
prop="description"
label="瑙掕壊鎻忚堪"
- show-overflow-tooltip
sortable="custom"
/>
<el-table-column
@@ -94,7 +102,6 @@
prop="lm_date"
label="鍒涘缓鏃堕棿"
sortable="custom"
- show-overflow-tooltip
/>
<el-table-column
prop="lm_date"
@@ -121,7 +128,7 @@
>
<template slot-scope="{row}">
<div class="operationClass">
- <el-button type="text" @click="edit('edit',row)">淇敼</el-button>
+ <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>
<el-button type="text" @click="del(row)">鍒犻櫎</el-button>
</div>
</template>
@@ -143,25 +150,27 @@
<!-- 鏂板淇敼瀵硅瘽妗�-->
<el-dialog
- :title="operation==='add'?'娣诲姞':'淇敼'"
+ :title="operation==='add'?'鏂板':'缂栬緫'"
:visible.sync="dialogVisible"
- width="50%"
+ width="800px"
top="15vh"
+ :close-on-click-modal="false"
@closed="handleClose"
@close="handleClose"
>
<el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
<el-form-item label="瑙掕壊缂栫爜" prop="RoleCode">
- <el-input v-model="dialogForm.RoleCode" :disabled="operation!=='add'" style="width: 220px" />
+ <el-input v-model="dialogForm.RoleCode" :disabled="operation!=='add'" style="width: 200px" />
</el-form-item>
<el-form-item label="瑙掕壊鍚嶇О" prop="RoleName">
- <el-input v-model="dialogForm.RoleName" style="width: 220px" />
+ <el-input v-model="dialogForm.RoleName" style="width: 200px" />
</el-form-item>
<el-form-item prop="RoleTypeCode" label="瑙掕壊绫诲瀷">
<el-select
v-model="dialogForm.RoleTypeCode"
filterable
- style="width: 220px"
+ :popper-append-to-body="false"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
>
<el-option
@@ -173,7 +182,7 @@
</el-select>
</el-form-item>
<el-form-item label="瑙掕壊鎻忚堪" prop="description">
- <el-input v-model="dialogForm.description" type="textarea" style="width: 220px" />
+ <el-input v-model="dialogForm.description" type="textarea" style="width: 200px" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -185,10 +194,11 @@
</el-dialog>
<!-- 璁剧疆鎸夐挳瀵硅瘽妗�-->
<el-dialog
- title="瑙掕壊绫诲瀷"
+ title="璁剧疆"
:visible.sync="settingDialogVisible"
- width="50%"
+ width="800px"
top="15vh"
+ :close-on-click-modal="false"
class="settingDialogVisible"
@close="handleCloseSetting"
>
@@ -199,12 +209,14 @@
<el-table
:data="RoleTypeCodeArr"
border
+ height="300"
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@sort-change="sortChangeOfSetting"
>
+ <!-- :style="{width: 100+'%',height:tableHeight-300+'px'}"-->
+
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="50"-->
@@ -235,7 +247,6 @@
</template>
</el-table-column>
<el-table-column label="鎿嶄綔">
-
<template slot-scope="{row}">
<div class="operationClass">
<el-button v-if="row.isVisible===0" type="text" @click="delSetting(row)">鍒犻櫎</el-button>
@@ -243,12 +254,6 @@
<el-button v-if="row.isVisible===1" type="text" @click="formSettingCancel(row)">鍙栨秷</el-button>
</div>
</template>
- <!-- <template v-for="item in RoleTypeCodeArr" slot-scope="{row}">-->
- <!-- <div :key="item.roletype_code" class="operationClass">-->
- <!-- <el-button v-if="item.isVisible" type="text" @click="formSettingSave(row)">淇濆瓨</el-button>-->
- <!-- <el-button v-if="item.isVisible" type="text" @click="formSettingCancel(row)">鍙栨秷</el-button>-->
- <!-- </div>-->
- <!-- </template>-->
</el-table-column>
</el-table>
<!--鍒嗛〉-->
@@ -273,8 +278,10 @@
<el-dialog
title="瑙掕壊鍏宠仈鐢ㄦ埛"
:visible.sync="userDialogVisible"
- width="90%"
+ width="1500px"
+ :close-on-click-modal="false"
top="15vh"
+ :fullscreen="isFullscreen"
class="userDialogVisible"
@closed="handleCloseUser"
@close="handleCloseUser"
@@ -289,31 +296,33 @@
<div style="display: flex;min-height: 50px">
<el-form ref="dialogFormUser" inline :model="dialogFormUser" label-width="80px">
<el-form-item label="鐢ㄦ埛缂栫爜">
- <el-input v-model="dialogFormUser.usercode" class="userDialogVisibleInput" style="width: 220px" />
+ <el-input v-model="dialogFormUser.usercode" style="width: 200px" />
</el-form-item>
<el-form-item label="鐢ㄦ埛鍚嶇О">
- <el-input v-model="dialogFormUser.username" class="userDialogVisibleInput" style="width: 220px" />
+ <el-input v-model="dialogFormUser.username" style="width: 200px" />
</el-form-item>
<el-form-item label="鎵�灞炵粍缁�">
<el-cascader
ref="dialogCascaderUser"
key="cascaderKey"
filterable
+ popper-class="elCascader"
+ :append-to-body="false"
:options="StuOrgArr"
:props="defaultProps"
- class="userDialogVisibleInput"
- style="width: 220px;"
+ style="width: 200px;"
+
@change="dialogCascaderChange"
/>
-
+ <!-- @focus="getUserOrganization"-->
</el-form-item>
<el-form-item label="鍏宠仈瑙掕壊">
<el-select
v-model="dialogFormUser.isrole"
filterable
- style="width: 220px"
+ :popper-append-to-body="false"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
- class="userDialogVisibleInput"
>
<el-option
v-for="item in roleArr"
@@ -344,7 +353,7 @@
:data="dialogFormUserTable"
border
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
+ height="300"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
:row-key="getRowKey"
@@ -413,8 +422,10 @@
<el-dialog
title="瑙掕壊鍏宠仈鏉冮檺"
:visible.sync="dialogVisibleRight"
- width="50%"
+ width="800px"
top="15vh"
+ :fullscreen="isFullscreen"
+ :close-on-click-modal="false"
class="dialogVisibleRight"
@closed="handleCloseRight"
@close="handleCloseRight"
@@ -498,10 +509,11 @@
} from '@/api/jcsz'
import { getCookie } from '@/utils/auth'
import $ from 'jquery'
+import clearAllChildren from '@/utils/global'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
- name: 'Zzjg',
+ name: 'JSQD',
components: {
Pagination
},
@@ -525,6 +537,7 @@
// }
// }
return {
+ isFullscreen: false,
mainHeight: 0,
tableHeight: 0,
form: {
@@ -657,7 +670,7 @@
// 鑾峰彇鎵�灞炵粍缁�
async getUserOrganization() {
const { data: res } = await UserOrganization()
- this.StuOrgArr = res
+ this.StuOrgArr = clearAllChildren(res)
},
// 鎺掑簭鏀瑰彉鏃�
sortChange({ column, prop, order }) {
@@ -777,8 +790,11 @@
// 鑾峰彇椤甸潰楂樺害
getHeight() {
this.$nextTick(() => {
- this.mainHeight = window.innerHeight - 200
+ console.log(window.innerHeight)
+ console.log(window.innerHeight)
+ this.mainHeight = window.innerHeight - 250
this.tableHeight = this.mainHeight - 100
+ // this.isFullscreen = window.innerHeight < 800
})
},
/* 璁剧疆妯″潡*/
@@ -800,7 +816,9 @@
},
// 娣诲姞鎸夐挳
addSetting() {
- const data = { roletype_code: '', roletype_name: '', isVisible: 1 }
+ let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ number = number === 0 ? (10 + Math.random()) : number
+ const data = { roletype_code: '', roletype_name: '', isVisible: 1, number: number }
this.RoleTypeCodeArr.unshift(data)
},
// 鍒犻櫎鎸夐挳
@@ -834,14 +852,14 @@
}
const res = await RoleTypeAdd([data])
if (res.code === '200') {
- this.$message.success('娣诲姞鎴愬姛锛�')
+ this.$message.success('淇濆瓨鎴愬姛锛�')
await this.getRoleTypeSearch()
}
},
// 璁剧疆琛ㄥ崟鍙栨秷浜嬩欢
formSettingCancel(row) {
this.RoleTypeCodeArr.forEach((item, index) => {
- if (item.isVisible === 1 && item.roletype_code === row.roletype_code) {
+ if (item.isVisible === 1 && item.number === row.number) {
this.RoleTypeCodeArr.splice(index, 1)
}
})
@@ -937,6 +955,7 @@
this.dialogFormUser.orgcode = ''
this.dialogFormUser.isrole = ''
this.$refs.dialogCascaderUser.checkedValue = ''
+ this.getRoleAssociationUser()
},
/* 瑙掕壊鍏宠仈鏉冮檺瀵硅瘽妗嗛儴鍒�*/
@@ -962,31 +981,51 @@
const rightPCArrFlag = res[0][0].flag
const rightAPPArrFlag = res[1][0].flag
+ let waitFlag = false// 鍥炴樉绛夊緟鏄惁鏀捐
+
// 1.绗竴绉嶆儏鍐礟C鍜孉PP閮戒竴娆¢兘娌¢�変腑鏃� PC鏈�変腑锛孉PP鏈�変腑
if (rightPCArrFlag === 'N' && rightAPPArrFlag === 'N') {
pcIsSelected1 = true
this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
}
+
// 2.绗簩绉嶆儏鍐礟C宸查�変腑锛孉PP鏈�変腑
if (rightPCArrFlag === 'Y' && rightAPPArrFlag === 'N') {
pcIsSelected1 = true
pcIsSelected2 = true
- setTimeout(() => {
- this.$nextTick(() => {
- $('input:checkbox').eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
- })
+
+ const interval = setInterval(() => {
+ if ($("input[name='PC']").length > 0) {
+ waitFlag = true
+ }
+ if (waitFlag) {
+ clearInterval(interval)
+ this.$nextTick(() => {
+ $("input[name='PC']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ })
+ }
}, 100)
+
this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
}
+
// 3.绗笁绉嶆儏鍐礟C鏈�変腑锛孉PP宸查�変腑
if (rightPCArrFlag === 'N' && rightAPPArrFlag === 'Y') {
appIsSelected1 = true
appIsSelected2 = true
- setTimeout(() => {
- this.$nextTick(() => {
- $('input:checkbox').eq(1).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
- })
+
+ const interval = setInterval(() => {
+ if ($("input[name='APP']").length > 0) {
+ waitFlag = true
+ }
+ if (waitFlag) {
+ clearInterval(interval)
+ this.$nextTick(() => {
+ $("input[name='APP']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ })
+ }
}, 100)
+
this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightAPPArr[0].code
}
// 4.绗洓绉嶆儏鍐礟C宸查�変腑锛孉PP宸查�変腑
@@ -995,12 +1034,20 @@
pcIsSelected2 = true
appIsSelected1 = false
appIsSelected2 = true
- setTimeout(() => {
- this.$nextTick(() => {
- $('input:checkbox').eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
- $('input:checkbox').eq(1).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
- })
+
+ const interval = setInterval(() => {
+ if ($("input[name='PC']").length > 0) {
+ waitFlag = true
+ }
+ if (waitFlag) {
+ clearInterval(interval)
+ this.$nextTick(() => {
+ $("input[name='PC']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ $("input[name='APP']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ })
+ }
}, 100)
+
this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
}
this.dialogFormRight.rightOperationArr.push({
@@ -1208,12 +1255,20 @@
const currentCode = this.dialogFormRight.rightCurrentCode// 鏉冮檺鎿嶄綔绔痗ode
// 1.绗竴绉嶆儏鍐� 鍗婂彾涓洪浂 鍏ㄥ彾涓洪浂
if (checkedKeys.length === 0 && halfCheckedKeys.length === 0) {
- console.log('1.绗竴绉嶆儏鍐� 鍗婂彾涓洪浂 鍏ㄥ彾涓洪浂')
+ console.log('1.绗竴绉嶆儏鍐� 鍗婂彾涓洪浂 鍏ㄥ彾涓洪浂1111')
this.dialogFormRight.rightOperationArr.forEach((item, index) => {
if (item.code === currentCode) {
item.isSelected2 = false
+
this.$nextTick(() => {
- $('input:checkbox').eq(index).prop('checked', false)// 鑷畾涔夊崟閫夋鍥炴樉
+ if (item.name === 'PC') {
+ $("input[name='PC']").eq(0).prop('checked', false)// 鑷畾涔夊崟閫夋鍥炴樉
+ }
+ if (item.name === 'APP') {
+ $("input[name='APP']").eq(0).prop('checked', false)// 鑷畾涔夊崟閫夋鍥炴樉
+ }
+ // $("input[name='APP']").eq(0).prop('checked', false)// 鑷畾涔夊崟閫夋鍥炴樉
+ // $('input:checkbox').eq(index).prop('checked', false)// 鑷畾涔夊崟閫夋鍥炴樉
})
}
})
@@ -1232,7 +1287,13 @@
if (item.code === currentCode) {
item.isSelected2 = true
this.$nextTick(() => {
- $('input:checkbox').eq(index).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ if (item.name === 'PC') {
+ $("input[name='PC']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ }
+ if (item.name === 'APP') {
+ $("input[name='APP']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ }
+ // $('input:checkbox').eq(index).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
})
}
})
@@ -1252,7 +1313,13 @@
if (item.code === currentCode) {
item.isSelected2 = true
this.$nextTick(() => {
- $('input:checkbox').eq(index).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ if (item.name === 'PC') {
+ $("input[name='PC']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ }
+ if (item.name === 'APP') {
+ $("input[name='APP']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ }
+ // $('input:checkbox').eq(index).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
})
}
})
@@ -1277,11 +1344,16 @@
height: 30px;
display: flex;
align-items: center;
- border: 1px solid $main_color;
+ //border: 1px solid $main_color;
+ border: none;
padding: 0 20px;
}
-::v-deep .el-button--info{
+::v-deep .el-button--primary:hover {
+ border: none;
+}
+
+::v-deep .el-button--info {
//background-color: $main_color !important;
height: 30px;
display: flex;
@@ -1375,24 +1447,14 @@
}
input[type=checkbox]:checked::after {
- content: "鉁�";
- //content: "鈭�";
+ //content: "鉁�";
+ content: "鈭�";
color: #fff;
font-size: 12px;
font-weight: bold;
background-color: $main_color;
}
}
-}
-
-.userDialogVisible {
- ::v-deep .userDialogVisibleInput {
- //width:calc(100% - 30px) !important;
- }
-
- //::v-deep .el-form-item {
- // width:calc(100% - 30px) !important;
- //}
}
::v-deep .el-radio__input.is-checked .el-radio__inner {
@@ -1412,6 +1474,10 @@
::v-deep .el-input__inner {
height: 30px;
line-height: 30px;
+}
+
+::v-deep .el-input__inner:focus {
+ border-color: $main_color;
}
::v-deep .el-table .caret-wrapper {
@@ -1472,12 +1538,55 @@
::v-deep .el-radio.is-bordered + .el-radio.is-bordered {
margin: 10px 30px 0px 0;
}
-.body ::v-deep .el-divider{
+
+.body ::v-deep .el-divider {
border: 1px solid #eee;
width: 99%;
margin: 10px auto;
}
-::v-deep .el-form-item{
+
+.body ::v-deep .el-form-item {
margin-bottom: 0;
}
+
+::v-deep .el-input__inner:focus {
+ border-color: $main_color;
+}
+
+::v-deep .el-select .el-input__inner:focus {
+ border-color: $main_color;
+}
+
+::v-deep .el-select-dropdown__item.selected {
+ color: $main_color;
+}
+
+::v-deep .el-textarea__inner:focus {
+ border-color: $main_color;
+}
+
+</style>
+<style lang="scss">
+.elCascader {
+ //.el-cascader-node.in-active-path, .el-cascader-node.is-active, .el-cascader-node.is-selectable.in-checked-path {
+ // color: #42b983 ;
+ //}
+ .el-cascader-node.is-selectable.in-checked-path {
+ color: #42b983;
+ }
+
+ .el-radio__input.is-checked .el-radio__inner {
+ background-color: #42b983;
+ border-color: #42b983;
+ }
+
+ .el-radio__input.is-checked .el-radio__inner:hover {
+ border-color: #42b983;
+ }
+
+ .el-input__inner {
+ border-color: #42b983 !important;
+ }
+
+}
</style>
--
Gitblit v1.9.3