From 1097c146d849c00ac67a261b12c496b5cc8b92a8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 15 十月 2024 18:31:40 +0800
Subject: [PATCH] 最新版本
---
admin/src/components/business/OperaMemberRoleWindow.vue | 117 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 60 insertions(+), 57 deletions(-)
diff --git a/admin/src/components/business/OperaMemberRoleWindow.vue b/admin/src/components/business/OperaMemberRoleWindow.vue
index 930d160..89cacdb 100644
--- a/admin/src/components/business/OperaMemberRoleWindow.vue
+++ b/admin/src/components/business/OperaMemberRoleWindow.vue
@@ -1,50 +1,32 @@
<template>
- <GlobalWindow
- :title="title"
- :visible.sync="visible"
- width="70%"
- :confirm-working="isWorking"
- @confirm="confirm"
- >
- <p class="tip-warn"><i class="el-icon-warning"></i>鎻愰啋锛�<br>
- 1.闂ㄧ鏉冮檺閰嶇疆鎴愬姛鍚庯紝鎺堟潈浠诲姟鍗宠繘鍏ユ潈闄愪笅鍙戦槦鍒楋紝鍙墠寰�銆愪汉鍛樻巿鏉冭褰曘�戞煡鐪嬩笅鍙戣繘搴�;<br>
- 2.濡傛灉闇�瑕佹竻绌哄綋鍓嶉�変腑浜哄憳涓嬪彂鏉冮檺锛屼互涓嬨�愬凡閫夐棬绂佺偣鍒嗙粍銆戜负绌烘彁浜ゅ嵆鍙��
- </p>
- <p class="tip" v-if="form.names != null">姝e湪涓�<em>銆恵{ form.names.map(item => `${item}`).join('锛�') }}銆�</em> 閰嶇疆闂ㄧ鏉冮檺</p>
- <el-form :model="form" ref="form" :rules="rules">
- <el-form-item label="闂ㄧ鏈夋晥鏈燂細" prop="timeType">
- <el-radio-group v-model="form.timeType">
- <el-radio :label="0">闀挎湡鏈夋晥</el-radio>
- <el-radio :label="1">鑷畾涔夋椂闂�</el-radio>
- <el-radio :label="2" v-if="companyType=== 0">鍩硅鏈夋晥鏈�</el-radio>
- </el-radio-group>
- <div v-if="form.timeType ==1" style="margin-top: 10px" >
- <el-date-picker
- @change="seleTime"
- v-model="time"
- type="datetimerange"
- format="yyyy-MM-dd HH:mm:ss"
- value-format="yyyy-MM-dd HH:mm:ss"
- range-separator="鑷�"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡">
- </el-date-picker>
- </div>
- </el-form-item>
- <el-form-item label="闂ㄧ鐐瑰垎缁勶細" prop="roleIds">
- <el-transfer
- style="margin-top: 15px;font-size: 12px"
- :titles="['鏈�夐棬绂佺偣鍒嗙粍', '宸查�夐棬绂佺偣鍒嗙粍']"
- filterable
- :filter-method="filterMethod"
- filter-placeholder="璇疯緭鍏ラ棬绂佺偣鍒嗙粍鍚嶇О"
- v-model="form.roleIds"
- :data="roles">
- </el-transfer>
- </el-form-item>
+ <GlobalWindow :title="title" :visible.sync="visible" width="900px" :confirm-working="isWorking" @confirm="confirm">
+ <p class="tip-warn"><i class="el-icon-warning"></i>鎻愰啋锛�<br>
+ 1.闂ㄧ鏉冮檺閰嶇疆鎴愬姛鍚庯紝鎺堟潈浠诲姟鍗宠繘鍏ユ潈闄愪笅鍙戦槦鍒楋紝鍙墠寰�銆愪汉鍛樻巿鏉冭褰曘�戞煡鐪嬩笅鍙戣繘搴�;<br>
+ 2.濡傛灉闇�瑕佹竻绌哄綋鍓嶉�変腑浜哄憳涓嬪彂鏉冮檺锛屼互涓嬨�愬凡閫夐棬绂佺偣鍒嗙粍銆戜负绌烘彁浜ゅ嵆鍙��
+ </p>
+ <p class="tip" v-if="form.names != null">姝e湪涓�<em>銆恵{ form.names.map(item => `${item}`).join('锛�') }}銆�</em> 閰嶇疆闂ㄧ鏉冮檺</p>
+ <el-form :model="form" ref="form" :rules="rules">
+ <el-form-item label="闂ㄧ鏈夋晥鏈燂細" prop="timeType">
+ <el-radio-group v-model="form.timeType">
+ <el-radio :label="0">闀挎湡鏈夋晥</el-radio>
+ <el-radio :label="1">鑷畾涔夋椂闂�</el-radio>
+ <el-radio :label="2" v-if="companyType === 0">鍩硅鏈夋晥鏈�</el-radio>
+ </el-radio-group>
+ <div v-if="form.timeType == 1" style="margin-top: 10px">
+ <el-date-picker @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+ </div>
+ </el-form-item>
+ <el-form-item label="闂ㄧ鐐瑰垎缁勶細" prop="roleIds">
+ <el-transfer style="margin-top: 15px;font-size: 12px" :titles="['鏈�夐棬绂佺偣鍒嗙粍', '宸查�夐棬绂佺偣鍒嗙粍']" filterable
+ :filter-method="filterMethod" filter-placeholder="璇疯緭鍏ラ棬绂佺偣鍒嗙粍鍚嶇О" v-model="form.roleIds" class="transfer"
+ :data="roles">
+ </el-transfer>
+ </el-form-item>
- </el-form>
- </GlobalWindow>
+ </el-form>
+ </GlobalWindow>
</template>
<script>
@@ -55,7 +37,7 @@
name: 'OperaDeviceRoleWindow',
extends: BaseOpera,
components: { GlobalWindow },
- data () {
+ data() {
var validateTime = (rule, value, callback) => {
if (this.form.timeType == null) {
callback(new Error('璇峰~鍐欐纭殑闂ㄧ鏈夋晥鏈熸椂闂�'))
@@ -83,7 +65,7 @@
},
roles: [],
rules: {
- // 楠岃瘉瑙勫垯
+ // 楠岃瘉瑙勫垯
timeType: [
{ required: true, validator: validateTime, message: '璇烽�変腑闂ㄧ鏈夋晥鏈�' }
],
@@ -96,18 +78,18 @@
}
}
},
- created () {
+ created() {
this.config({
api: '/business/member',
'field.id': 'id'
})
},
methods: {
- filterMethod (query, item) {
+ filterMethod(query, item) {
if (!query) return item
return item.label.indexOf(query) > -1
},
- seleTime (e) {
+ seleTime(e) {
if (e && e.length >= 2) {
this.form.startTime = e[0]
this.form.endTime = e[1]
@@ -116,7 +98,7 @@
this.form.endTime = null
}
},
- confirm () {
+ confirm() {
this.$refs.form.validate((valid) => {
if (!valid) {
return
@@ -126,13 +108,13 @@
.then(() => {
this.confirmDo()
})
- .catch(() => {})
+ .catch(() => { })
} else {
this.confirmDo()
}
})
},
- confirmDo () {
+ confirmDo() {
// 璋冪敤鏂板缓鎺ュ彛
this.isWorking = true
this.api.batchRoleAuth({
@@ -155,7 +137,7 @@
})
},
// 鑾峰彇璁惧
- getLists () {
+ getLists() {
getDeviceRoleList({ type: 2 })
.then(res => {
this.roles = res.map(item => {
@@ -167,7 +149,7 @@
})
})
},
- open (title, ids, names, companyType) {
+ open(title, ids, names, companyType) {
this.roles = []
this.getLists()
this.title = title
@@ -189,6 +171,7 @@
<style scoped lang="scss">
@import "@/assets/style/variables.scss";
+
// 瑙掕壊閰嶇疆
.global-window {
.tip {
@@ -198,10 +181,12 @@
font-weight: bold;
}
}
+
.tip-warn {
margin: 4px 0 12px 0;
font-size: 12px;
color: #999;
+
i {
color: orange;
margin-right: 4px;
@@ -211,7 +196,25 @@
}
}
}
-.el-transfer-panel {
- width: 350px !important;
+
+.transfer {
+ height: 600px;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ ::v-deep .el-transfer-panel {
+ flex: 1;
+ height: 100%;
+ }
+
+ ::v-deep .el-transfer-panel__body {
+ height: 500px;
+ }
+
+ ::v-deep .el-transfer-panel__list.is-filterable {
+ height: 480px;
+ }
}
</style>
--
Gitblit v1.9.3