From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 16 十月 2024 15:59:38 +0800 Subject: [PATCH] 代码初始化 --- admin/src/components/business/OperaMemberRoleWindow.vue | 202 +++++++++++++++++++++++++------------------------- 1 files changed, 102 insertions(+), 100 deletions(-) diff --git a/admin/src/components/business/OperaMemberRoleWindow.vue b/admin/src/components/business/OperaMemberRoleWindow.vue index 5ed9027..89cacdb 100644 --- a/admin/src/components/business/OperaMemberRoleWindow.vue +++ b/admin/src/components/business/OperaMemberRoleWindow.vue @@ -1,91 +1,73 @@ <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> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' -import {getDeviceRoleList} from '@/api/business/device' +import { getDeviceRoleList } from '@/api/business/device' export default { name: 'OperaDeviceRoleWindow', extends: BaseOpera, components: { GlobalWindow }, - data () { + data() { var validateTime = (rule, value, callback) => { - if(this.form.timeType == null ){ + if (this.form.timeType == null) { callback(new Error('璇峰~鍐欐纭殑闂ㄧ鏈夋晥鏈熸椂闂�')) return } - if(this.form.timeType === 1 && (this.form.startTime ==null || this.form.endTime == null)){ - callback(new Error('璇峰~鍐欐纭殑闂ㄧ鏈夋晥鏈熸椂闂�')) - return + if (this.form.timeType === 1 && (this.form.startTime == null || this.form.endTime == null)) { + callback(new Error('璇峰~鍐欐纭殑闂ㄧ鏈夋晥鏈熸椂闂�')) + return } callback() - }; + } return { // 琛ㄥ崟鏁版嵁 - time:null, - companyType:1, + time: null, + companyType: 1, form: { ids: [], names: [], timeType: 0, roleIds: [], status: 1, - startTime:null, - endTime:null, + startTime: null, + endTime: null, radio: 0 }, - roles:[], + roles: [], rules: { - // 楠岃瘉瑙勫垯 + // 楠岃瘉瑙勫垯 timeType: [ - { required: true, validator: validateTime,message: '璇烽�変腑闂ㄧ鏈夋晥鏈�' } + { required: true, validator: validateTime, message: '璇烽�変腑闂ㄧ鏈夋晥鏈�' } ], startTime: [ { validator: validateTime, trigger: 'blur' } @@ -96,7 +78,7 @@ } } }, - created () { + created() { this.config({ api: '/business/member', 'field.id': 'id' @@ -104,60 +86,59 @@ }, methods: { filterMethod(query, item) { - if (!query) return item; - return item.label.indexOf(query) > -1 ; + if (!query) return item + return item.label.indexOf(query) > -1 }, - seleTime (e) { - if(e && e.length >= 2){ + seleTime(e) { + if (e && e.length >= 2) { this.form.startTime = e[0] this.form.endTime = e[1] - }else{ + } else { this.form.startTime = null this.form.endTime = null } }, - confirm () { + confirm() { this.$refs.form.validate((valid) => { if (!valid) { return } if (this.form.roleIds == null || this.form.roleIds.length == 0) { this.$dialog.actionConfirm('鏉冮檺涓虹┖锛屾彁浜ゅ悗鍗虫竻闄ゆ墍閫変汉鍛樺凡鍒嗛厤鏉冮檺锛佽璋ㄦ厧鎿嶄綔', '鎮ㄧ‘璁よ繘琛岃鎿嶄綔鍚楋紵') - .then(() => { - this.confirmDo(); - }) - .catch(() => {}) - + .then(() => { + this.confirmDo() + }) + .catch(() => { }) } else { - this.confirmDo(); + this.confirmDo() } }) }, - confirmDo(){ - // 璋冪敤鏂板缓鎺ュ彛 - this.isWorking = true - this.api.batchRoleAuth({ - ids: this.form.ids, - timeType: this.form.timeType, - startTime: this.form.startTime, - endTime: this.form.endTime, - roleIds: this.form.roleIds + confirmDo() { + // 璋冪敤鏂板缓鎺ュ彛 + this.isWorking = true + this.api.batchRoleAuth({ + ids: this.form.ids, + timeType: this.form.timeType, + startTime: this.form.startTime, + endTime: this.form.endTime, + roleIds: this.form.roleIds + }) + .then(() => { + this.visible = false + this.$tip.apiSuccess('鎺堟潈鎴愬姛锛屽彲鍓嶅線銆愪汉鍛樻巿鏉冭褰曘�戞煡鐪嬩笅鍙戣繘搴�') + this.$emit('success') }) - .then(() => { - this.visible = false - this.$tip.apiSuccess('鎺堟潈鎴愬姛锛屽彲鍓嶅線銆愪汉鍛樻巿鏉冭褰曘�戞煡鐪嬩笅鍙戣繘搴�') - this.$emit('success') - }) - .catch(e => { - this.$tip.apiFailed(e) - }) - .finally(() => { - this.isWorking = false - }) - }, + .catch(e => { + // this.$tip.apiFailed(e) + }) + .finally(() => { + this.isWorking = false + }) + }, // 鑾峰彇璁惧 - getLists (){ - getDeviceRoleList({type:2}) + getLists() { + getDeviceRoleList({ type: 2 }) .then(res => { this.roles = res.map(item => { return { @@ -168,7 +149,7 @@ }) }) }, - open (title, ids,names,companyType) { + open(title, ids, names, companyType) { this.roles = [] this.getLists() this.title = title @@ -178,8 +159,8 @@ this.$nextTick(() => { this.$refs.form.resetFields() this.form[this.configData['field.id']] = null - this.form.ids = ids; - this.form.names =names; + this.form.ids = ids + this.form.names = names console.log(names) }) @@ -190,6 +171,7 @@ <style scoped lang="scss"> @import "@/assets/style/variables.scss"; + // 瑙掕壊閰嶇疆 .global-window { .tip { @@ -199,10 +181,12 @@ font-weight: bold; } } + .tip-warn { margin: 4px 0 12px 0; font-size: 12px; color: #999; + i { color: orange; margin-right: 4px; @@ -212,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