From 0e818b766656ea54f516c1bb3b5987c985de80a9 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 18 十月 2024 16:56:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue | 122 ++++++++++++++++++++++++++++------------
1 files changed, 85 insertions(+), 37 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
index 8afee4f..bf99a6a 100644
--- a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
+++ b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
@@ -1,62 +1,87 @@
<template>
- <el-dialog
- v-dialogDrag
- :close-on-click-modal="false"
- :destroy-on-close="true"
- :title="title"
- :visible.sync="visible"
- append-to-body="true"
- class="avue-dialog"
- style="text-align: center"
- width="40%"
- @close="dialogClose">
- <el-transfer
- v-model="rightRoleData"
- v-loading="loading"
- :data="data"
- :filter-method="filterMethod"
- :render-content="renderFunc"
- :titles="['鐜版湁瑙掕壊', '鎷ユ湁瑙掕壊']"
- filter-placeholder="瑙掕壊鍚嶇О鎼滅储"
- filterable
- style="text-align: left; display: inline-block;">
- </el-transfer>
- <span slot="footer" class="dialog-footer">
- <el-button @click="visible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="sendHandler">纭� 瀹�</el-button>
- </span>
- </el-dialog>
+ <el-dialog
+ v-dialogDrag
+ :close-on-click-modal="false"
+ :title="title"
+ :visible.sync="visible"
+ append-to-body="true"
+ class="avue-dialog"
+ style="text-align: center"
+ width="50%"
+ @close="dialogClose">
+ <div style="margin-bottom: 20px;" v-if="topMethodsObj !== {} && topMethodsObj">
+ <div>
+ <span>瀵煎嚭鏂瑰紡锛�</span>
+ <el-radio-group v-model="radio">
+ <el-radio :label="0" v-if="topMethodsObj.select">閫夋嫨</el-radio>
+ <el-radio :label="1" v-if="topMethodsObj.all">鍏ㄩ儴</el-radio>
+ <el-radio :label="2" v-if="topMethodsObj.page">椤电爜</el-radio>
+ </el-radio-group>
+ <span v-if="radio === 2" style="margin-left: 20px;color: #F56C6C; ">
+ <el-input v-model="pageExport" style="width: 150px"></el-input> 锛堣緭鍏ラ〉鐮佹垨鑰呴〉闈㈣寖鍥达紝濡傦細1-10锛�</span>
+ </div>
+ </div>
+ <el-transfer
+ v-model="rightRoleData"
+ v-loading="loading"
+ :data="data"
+ :filter-method="filterMethod"
+ :render-content="renderFunc"
+ :titles="transferTitle"
+ filter-placeholder="鍏抽敭璇嶆悳绱�"
+ filterable
+ style="text-align: left; display: inline-block;">
+ </el-transfer>
+ <div slot="footer" class="dialog-footer">
+ <div v-if="bottomValue" class="valueInfo">宸茶缃殑鍊间负锛歔{{ bottomValue }}]</div>
+ <el-button size="small" @click="visible = false">鍙� 娑�</el-button>
+ <el-button size="small" type="primary" @click="sendHandler">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
</template>
<script>
+import func from "@/util/func";
+
export default {
name: "transfer",
- props: ['title', 'leftRoleData', 'rightRoleData'],
+ props: ['title', 'leftRoleData', 'rightRoleData', 'transferTitle', 'bottomValue', 'topMethodsObj', 'selectList'],
+ /**
+ * topMethodsObj:{
+ select:true,
+ all:true,
+ page:false
+ },
+ 鎺у埗椤跺眰閫夋嫨椤规槸鍚﹀睍绀猴紝闇�瑕侀厤鍚坰electList浣跨敤
+ * @returns {object}
+ */
data() {
return {
+ radio: 0,
+ pageExport: "",
visible: false, // 閫氳繃 this.$refs.transfer.visible = true; 寮�鍚瓙缁勪欢瀵硅瘽妗�
data: [],
- value: [],
loading: false,
filterMethod(query, item) {
return item.label.indexOf(query) > -1;
},
renderFunc(h, option) {
- return <span><i class="el-icon-s-custom"></i> { option.label }</span>;
+ return <span><i class="el-icon-s-custom"></i> {option.label}</span>;
}
}
},
watch: {
//娓叉煋绌挎妗�
leftRoleData: {
- handler(newval, oldval) {
+ // 闇�瑕佸湪鎵撳紑绌挎妗嗙粍浠剁殑鏃跺�欏leftRoleData杩涜璧嬪�硷紙鍙互鍙傝�僡ction绠$悊-action鍒楄〃 瀵煎嚭鍔熻兘锛� 濡傛灉鍦╠ata閲岄潰瀹氫箟鐨勬暟鎹紝缁勪欢鍐厀atch浼氱洃鍚笉鍒皀ewVal
+ handler(newval) {
if (newval) {
// 娓呯┖data鏁扮粍
this.data = [];
- newval.forEach((city, index) => {
+ newval.forEach((item) => {
this.data.push({
- label: city.name,
- key: city.oid,
+ label: item.name,
+ key: item.oid,
});
});
this.loading = false;
@@ -74,7 +99,20 @@
this.leftRoleData = [];
},
sendHandler() {
- this.$emit('transferSend', this.rightRoleData);
+ if (func.isEmptyObject(this.topMethodsObj)) {
+ this.$emit('transferSend', this.rightRoleData);
+ } else {
+ if (this.radio === 0) {
+ if (this.selectList.length <= 0) {
+ this.$message.warning('璇烽�夋嫨瑕佸鍑虹殑妯℃澘')
+ return
+ }
+ this.$emit('transferSend', this.rightRoleData, 0);
+ } else if (this.radio === 1) {
+ this.$emit('transferSend', this.rightRoleData, 1);
+ }
+ }
+
this.visible = false;
},
}
@@ -82,11 +120,21 @@
</script>
<style lang="scss" scoped>
-/deep/ .el-transfer-panel{ /* 宸﹀彸涓や釜绌挎妗嗙殑楂樺害鍜屽搴� */
- height: 450px;
+/deep/ .el-transfer-panel {
+ height: 450px; /* 宸﹀彸涓や釜绌挎妗嗙殑楂樺害鍜屽搴� */
+ width: 300px;
}
+
/deep/ .el-transfer-panel__list.is-filterable {
height: 323px; /* 绌挎妗嗗垪琛ㄩ珮搴� */
}
+.valueInfo {
+ float: left;
+ border: 1px solid #E9E7E7;
+ display: inline-block;
+ vertical-align: middle;
+ padding: 6px 12px;
+ line-height: 1;
+}
</style>
--
Gitblit v1.9.3