优化页面

This commit is contained in:
pengxiaolong
2025-06-11 22:16:44 +08:00
parent 3c2d7e5959
commit 931d867c09
806 changed files with 87462 additions and 331 deletions

View File

@@ -0,0 +1,256 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
require("../../../adapter-vue.js");
const common_assets = require("../../../../common/assets.js");
const TUIKit_utils_env = require("../../../utils/env.js");
if (!Math) {
Icon();
}
const Icon = () => "../Icon.js";
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "index",
props: {
list: {
type: Array,
default: () => []
},
selectedList: {
type: Array,
default: () => []
},
isSearch: {
type: Boolean,
default: true
},
isRadio: {
type: Boolean,
default: false
},
isCustomItem: {
type: Boolean,
default: false
},
title: {
type: String,
default: ""
},
type: {
type: String,
default: ""
},
resultShow: {
type: Boolean,
default: true
},
total: {
type: Number,
default: 0
},
isHiddenBackIcon: {
type: Boolean,
default: false
}
},
emits: ["search", "submit", "cancel", "getMore"],
setup(__props, { emit: __emit }) {
const props = __props;
const transferList = common_vendor.ref([]);
const transferTotal = common_vendor.ref(0);
const transferSelectedList = common_vendor.ref([]);
const isTransferSearch = common_vendor.ref(true);
const isTransferCustomItem = common_vendor.ref(false);
const transferTitle = common_vendor.ref("");
const searchValue = common_vendor.ref("");
common_vendor.watchEffect(() => {
if (props.isCustomItem) {
for (let index = 0; index < props.list.length; index++) {
if (props.list[index].conversationID.indexOf("@TIM#SYSTEM") > -1) {
props.list.splice(index, 1);
}
transferList.value = props.list;
}
} else {
transferList.value = props.list;
}
transferTotal.value = props.total ? props.total : props.list.length;
transferSelectedList.value = props.selectedList && props.selectedList.length > 0 ? props.selectedList : transferSelectedList.value;
isTransferSearch.value = props.isSearch;
isTransferCustomItem.value = props.isCustomItem;
transferTitle.value = props.title;
});
const emit = __emit;
const optional = common_vendor.computed(
() => transferList.value.filter((item) => !item.isDisabled)
);
const handleInput = (e) => {
searchValue.value = e.target.value || e.detail.value;
emit("search", searchValue.value);
};
const selected = (item) => {
if (item.isDisabled) {
return;
}
let list = transferSelectedList.value;
const index = list.indexOf(item);
if (index > -1) {
return transferSelectedList.value.splice(index, 1);
}
if (props.isRadio) {
list = [];
}
list.push(item);
transferSelectedList.value = list;
};
const selectedAll = () => {
if (transferSelectedList.value.length === optional.value.length) {
transferSelectedList.value = [];
} else {
transferSelectedList.value = [...optional.value];
}
};
const submit = () => {
emit("submit", transferSelectedList.value);
searchValue.value = "";
};
const cancel = () => {
emit("cancel");
searchValue.value = "";
};
const getMore = () => {
emit("getMore");
};
return (_ctx, _cache) => {
return common_vendor.e({
a: !common_vendor.unref(TUIKit_utils_env.isPC)
}, !common_vendor.unref(TUIKit_utils_env.isPC) ? common_vendor.e({
b: !props.isHiddenBackIcon
}, !props.isHiddenBackIcon ? {
c: common_vendor.p({
file: common_vendor.unref(common_assets.backIcon),
width: "18px",
height: "18px"
}),
d: common_vendor.o$1(cancel)
} : {}, {
e: common_vendor.t(common_vendor.unref(transferTitle))
}) : {}, {
f: common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isTransferSearch)
}, common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isTransferSearch) ? {
g: common_vendor.unref(searchValue),
h: common_vendor.unref(common_vendor.Wt).t("component.请输入userID"),
i: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "left-uniapp-input" : ""),
j: common_vendor.o$1(handleInput)
} : {}, {
k: !common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isTransferSearch)
}, !common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isTransferSearch) ? {
l: common_vendor.unref(common_vendor.Wt).t("component.请输入userID"),
m: common_vendor.unref(searchValue),
n: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "left-uniapp-input" : ""),
o: common_vendor.o$1(handleInput),
p: common_vendor.o$1(handleInput)
} : {}, {
q: common_vendor.unref(optional).length > 1 && !__props.isRadio
}, common_vendor.unref(optional).length > 1 && !__props.isRadio ? common_vendor.e({
r: common_vendor.unref(transferSelectedList).length === common_vendor.unref(optional).length
}, common_vendor.unref(transferSelectedList).length === common_vendor.unref(optional).length ? {
s: common_vendor.p({
file: common_vendor.unref(common_assets.selectedIcon),
width: "18px",
height: "18px"
})
} : {}, {
t: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.全选")),
v: common_vendor.o$1(selectedAll)
}) : {}, {
w: common_vendor.f(common_vendor.unref(transferList), (item, k0, i0) => {
return common_vendor.e({
a: common_vendor.unref(transferSelectedList).indexOf(item) > -1
}, common_vendor.unref(transferSelectedList).indexOf(item) > -1 ? {
b: common_vendor.n(item.isDisabled && "disabled"),
c: "01b74c91-2-" + i0,
d: common_vendor.p({
file: common_vendor.unref(common_assets.selectedIcon),
width: "18px",
height: "18px"
})
} : {
e: common_vendor.n(item.isDisabled && "disabled")
}, !common_vendor.unref(isTransferCustomItem) ? common_vendor.e({
f: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
g: common_vendor.t(item.nick || item.userID),
h: item.isDisabled
}, item.isDisabled ? {
i: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.已在群中"))
} : {}) : {
j: "left-" + i0,
k: common_vendor.r("left", {
data: item
}, i0)
}, {
l: item.userID,
m: common_vendor.o$1(($event) => selected(item), item.userID)
});
}),
x: !common_vendor.unref(isTransferCustomItem),
y: common_vendor.unref(transferTotal) > common_vendor.unref(transferList).length
}, common_vendor.unref(transferTotal) > common_vendor.unref(transferList).length ? {
z: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.查看更多")),
A: common_vendor.o$1(getMore)
} : {}, {
B: common_vendor.unref(TUIKit_utils_env.isPC)
}, common_vendor.unref(TUIKit_utils_env.isPC) ? {
C: common_vendor.t(common_vendor.unref(transferTitle))
} : {}, {
D: __props.resultShow
}, __props.resultShow ? common_vendor.e({
E: common_vendor.unref(transferSelectedList).length > 0 && common_vendor.unref(TUIKit_utils_env.isPC)
}, common_vendor.unref(transferSelectedList).length > 0 && common_vendor.unref(TUIKit_utils_env.isPC) ? {
F: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.已选中")),
G: common_vendor.t(common_vendor.unref(transferSelectedList).length),
H: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.人"))
} : {}, {
I: common_vendor.f(common_vendor.unref(transferSelectedList), (item, index, i0) => {
return common_vendor.e(!common_vendor.unref(isTransferCustomItem) ? common_vendor.e({
a: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
b: common_vendor.unref(TUIKit_utils_env.isPC)
}, common_vendor.unref(TUIKit_utils_env.isPC) ? {
c: common_vendor.t(item.nick || item.userID)
} : {}) : {
d: "right-" + i0,
e: common_vendor.r("right", {
data: item
}, i0)
}, common_vendor.unref(TUIKit_utils_env.isPC) ? {
f: "01b74c91-3-" + i0,
g: common_vendor.p({
file: common_vendor.unref(common_assets.cancelIcon),
width: "18px",
height: "18px"
}),
h: common_vendor.o$1(($event) => selected(item), index)
} : {}, {
i: index
});
}),
J: !common_vendor.unref(isTransferCustomItem),
K: common_vendor.unref(TUIKit_utils_env.isPC)
}) : {}, {
L: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.取消")),
M: common_vendor.o$1(cancel),
N: common_vendor.unref(transferSelectedList).length > 0
}, common_vendor.unref(transferSelectedList).length > 0 ? {
O: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.完成")),
P: common_vendor.o$1(submit)
} : {
Q: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.完成")),
R: common_vendor.o$1(submit)
}, {
S: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) ? "transfer-h5" : ""),
T: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isWeChat) ? "transfer-h5-wechat" : "")
});
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-01b74c91"]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Transfer/index.js.map

View File

@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"icon": "../Icon"
}
}

View File

@@ -0,0 +1 @@
<view class="{{['transfer', 'data-v-01b74c91', S, T]}}"><view wx:if="{{a}}" class="transfer-header transfer-h5-header data-v-01b74c91"><view wx:if="{{b}}" class="data-v-01b74c91" bindtap="{{d}}"><icon wx:if="{{c}}" class="icon data-v-01b74c91" u-i="01b74c91-0" bind:__l="__l" u-p="{{c}}"/></view><label class="title data-v-01b74c91">{{e}}</label><label class="space data-v-01b74c91"/></view><view class="main data-v-01b74c91"><view class="left data-v-01b74c91"><view class="transfer-header data-v-01b74c91"><input wx:if="{{f}}" type="text" value="{{g}}" placeholder="{{h}}" enterkeyhint="search" class="{{['data-v-01b74c91', i]}}" bindkeyup="{{j}}"></input><input wx:if="{{k}}" type="text" placeholder="{{l}}" enterkeyhint="search" value="{{m}}" class="{{['data-v-01b74c91', n]}}" bindblur="{{o}}" bindconfirm="{{p}}"></input></view><view class="transfer-left-main data-v-01b74c91"><view class="transfer-list data-v-01b74c91"><view wx:if="{{q}}" class="transfer-list-item data-v-01b74c91" bindtap="{{v}}"><icon wx:if="{{r}}" class="data-v-01b74c91" u-i="01b74c91-1" bind:__l="__l" u-p="{{s}}"/><view wx:else class="icon-unselected data-v-01b74c91"/><label class="select-all data-v-01b74c91">{{t}}</label></view><view wx:for="{{w}}" wx:for-item="item" wx:key="l" class="transfer-list-item data-v-01b74c91" bindtap="{{item.m}}"><icon wx:if="{{item.a}}" class="{{['data-v-01b74c91', item.b]}}" u-i="{{item.c}}" bind:__l="__l" u-p="{{item.d}}"/><view wx:else class="{{['data-v-01b74c91', item.e, 'icon-unselected']}}"/><block wx:if="{{x}}"><image class="avatar data-v-01b74c91" src="{{item.f}}" onerror="this.onerror=null;this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'"></image><label class="name data-v-01b74c91">{{item.g}}</label><label wx:if="{{item.h}}" class="data-v-01b74c91">{{item.i}}</label></block><block wx:else><slot name="{{item.j}}"/></block></view><view wx:if="{{y}}" class="transfer-list-item more data-v-01b74c91" bindtap="{{A}}">{{z}}</view></view></view></view><view class="right data-v-01b74c91"><view wx:if="{{B}}" class="transfer-header data-v-01b74c91">{{C}}</view><view wx:if="{{D}}" class="transfer-list data-v-01b74c91"><view wx:if="{{E}}" class="transfer-text data-v-01b74c91">{{F}}{{G}}{{H}}</view><view wx:for="{{I}}" wx:for-item="item" wx:key="i" class="transfer-list-item space-between data-v-01b74c91"><view class="transfer-list-item-content data-v-01b74c91"><block wx:if="{{J}}"><image class="avatar data-v-01b74c91" src="{{item.a}}" onerror="this.onerror=null;this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'"></image><label wx:if="{{item.b}}" class="name data-v-01b74c91">{{item.c}}</label></block><block wx:else><slot name="{{item.d}}"/></block></view><label wx:if="{{K}}" class="data-v-01b74c91" bindtap="{{item.h}}"><icon wx:if="{{item.g}}" class="data-v-01b74c91" u-i="{{item.f}}" bind:__l="__l" u-p="{{item.g}}"/></label></view></view><view class="transfer-right-footer data-v-01b74c91"><button class="btn btn-cancel data-v-01b74c91" bindtap="{{M}}">{{L}}</button><button wx:if="{{N}}" class="btn data-v-01b74c91" bindtap="{{P}}">{{O}}</button><button wx:else class="btn btn-no data-v-01b74c91" bindtap="{{R}}">{{Q}}</button></view></view></view></view>

View File

@@ -0,0 +1,333 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
body.data-v-01b74c91, div.data-v-01b74c91, ul.data-v-01b74c91, ol.data-v-01b74c91, dt.data-v-01b74c91, dd.data-v-01b74c91, li.data-v-01b74c91, dl.data-v-01b74c91, h1.data-v-01b74c91, h2.data-v-01b74c91, h3.data-v-01b74c91, h4.data-v-01b74c91, p.data-v-01b74c91 {
margin: 0;
padding: 0;
font-style: normal;
/* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
}
ol.data-v-01b74c91, ul.data-v-01b74c91, li.data-v-01b74c91 {
list-style: none;
}
img.data-v-01b74c91 {
border: 0;
vertical-align: middle;
pointer-events: none;
}
body.data-v-01b74c91 {
color: #000;
background: #FFF;
}
.clear.data-v-01b74c91 {
clear: both;
height: 1px;
width: 100%;
overflow: hidden;
margin-top: -1px;
}
a.data-v-01b74c91 {
color: #000;
text-decoration: none;
cursor: pointer;
}
a.data-v-01b74c91:hover {
text-decoration: none;
}
input.data-v-01b74c91, textarea.data-v-01b74c91 {
-webkit-user-select: auto;
user-select: auto;
}
input.data-v-01b74c91:focus, input.data-v-01b74c91:active, textarea.data-v-01b74c91:focus, textarea.data-v-01b74c91:active {
outline: none;
}
.chat-aside.data-v-01b74c91 {
position: absolute;
top: 50px;
right: 0;
box-sizing: border-box;
width: 360px !important;
border-radius: 8px 0 0 8px;
z-index: 9999;
max-height: calc(100% - 50px);
}
.main.data-v-01b74c91 {
background: #FFF;
border: 1px solid #E0E0E0;
box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.06);
}
.main .left.data-v-01b74c91 {
border-right: 1px solid #E8E8E9;
}
.main .transfer-header.data-v-01b74c91 {
font-weight: 500;
color: #000;
letter-spacing: 0;
}
.main .transfer-header input.data-v-01b74c91 {
background: #FFF;
border: 1px solid #DEE0E3;
font-weight: 500;
color: #8F959E;
letter-spacing: 0;
}
.main .transfer-list .transfer-text.data-v-01b74c91 {
font-weight: 500;
color: #8F959E;
letter-spacing: 0;
}
.main .transfer-list-item .disabled.data-v-01b74c91 {
background: #eee;
}
.btn.data-v-01b74c91 {
background: #3370FF;
border: 0 solid #2F80ED;
font-weight: 400;
color: #FFF;
}
.btn-cancel.data-v-01b74c91 {
background: #FFF;
border: 1px solid #DDD;
color: #828282;
}
.btn-no.data-v-01b74c91 {
background: #e8e8e9;
border: 1px solid #DDD;
font-weight: 400;
color: #FFF;
}
.transfer-h5-header.data-v-01b74c91 {
background: #FFF;
}
.transfer-h5-header .title.data-v-01b74c91 {
font-family: PingFangSC-Medium;
font-weight: 500;
color: #000;
letter-spacing: 0;
}
.avatar.data-v-01b74c91 {
width: 36px;
height: 36px;
border-radius: 5px;
font-size: 12px;
display: flex;
justify-content: center;
align-items: center;
}
.main.data-v-01b74c91 {
box-sizing: border-box;
width: 620px;
height: 394px;
display: flex;
border-radius: 8px;
padding: 20px 0;
}
.main .transfer-header.data-v-01b74c91 {
font-size: 14px;
line-height: 14px;
padding-bottom: 20px;
}
.main .transfer-header input.data-v-01b74c91 {
box-sizing: border-box;
width: 100%;
border-radius: 30px;
font-size: 10px;
line-height: 14px;
padding: 9px 12px;
}
.main .transfer-list.data-v-01b74c91 {
flex: 1;
display: flex;
flex-direction: column;
}
.main .transfer-list .transfer-text.data-v-01b74c91 {
font-size: 10px;
line-height: 14px;
}
.main .transfer-list-item.data-v-01b74c91 {
padding: 6px 0;
display: flex;
align-items: center;
font-size: 14px;
text-align: left;
}
.main .transfer-list-item-content.data-v-01b74c91 {
flex: 1;
display: flex;
align-items: center;
}
.main .transfer-list-item .avatar.data-v-01b74c91 {
margin: 0 5px 0 8px;
border-radius: 50%;
}
.main .transfer-list-item .name.data-v-01b74c91 {
width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
}
.main .right.data-v-01b74c91 {
padding: 0 20px;
flex: 1;
display: flex;
flex-direction: column;
}
.main .right .transfer-right-footer.data-v-01b74c91 {
align-self: flex-end;
}
.main .right .transfer-right-footer .btn-cancel.data-v-01b74c91 {
margin-right: 12px;
}
.main .right .transfer-list.data-v-01b74c91 {
padding-right: 20px;
overflow-y: auto;
}
.main .left.data-v-01b74c91 {
flex: 1;
overflow-y: hidden;
display: flex;
flex-direction: column;
}
.main .left .transfer-header.data-v-01b74c91 {
padding: 0 20px;
}
.main .left .transfer-left-main.data-v-01b74c91 {
flex: 1;
overflow-y: auto;
padding: 0 13px;
}
.btn.data-v-01b74c91 {
padding: 4px 28px;
font-size: 12px;
line-height: 24px;
border-radius: 4px;
}
.btn-no.data-v-01b74c91 {
padding: 4px 28px;
font-size: 12px;
line-height: 24px;
border-radius: 4px;
}
.space-between.data-v-01b74c91 {
justify-content: space-between;
}
.select-all.data-v-01b74c91 {
padding-left: 8px;
font-size: 14px;
}
.more.data-v-01b74c91 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
font-size: 14px;
}
.transfer-h5.data-v-01b74c91 {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.transfer-h5-wechat.data-v-01b74c91 {
width: 100vw;
height: 100vh;
}
.transfer-h5-header.data-v-01b74c91 {
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 18px;
padding: 16px 18px;
}
.transfer-h5-header .space.data-v-01b74c91, .transfer-h5-header .icon.data-v-01b74c91 {
width: 18px;
height: 18px;
}
.transfer-h5 .main.data-v-01b74c91 {
flex: 1;
flex-direction: column;
width: auto;
height: auto;
border-radius: 0;
border: none;
box-shadow: none;
max-height: calc(100% - 50px);
padding: 0;
}
.transfer-h5 .main .avatar.data-v-01b74c91 {
border-radius: 5px;
}
.transfer-h5 .main .left.data-v-01b74c91 {
padding: 0;
flex: 1;
border: none;
display: flex;
flex-direction: column;
}
.transfer-h5 .main .left .transfer-header.data-v-01b74c91 {
position: -webkit-sticky;
position: sticky;
top: 0;
padding: 0 18px;
}
.transfer-h5 .main .left .transfer-header input.data-v-01b74c91 {
border-radius: 5px;
font-size: 14px;
}
.transfer-h5 .main .left-uniapp-input.data-v-01b74c91 {
height: 36px;
}
.transfer-h5 .main .right.data-v-01b74c91 {
flex: 0;
flex-direction: row;
align-items: center;
box-shadow: inset 0 1px 0 0 #EEE;
padding: 8px 18px;
}
.transfer-h5 .main .right .transfer-list.data-v-01b74c91 {
flex-direction: row;
width: 0;
}
.transfer-h5 .main .right .transfer-list-item-content.data-v-01b74c91 {
flex: none;
}
.transfer-h5 .main .right .transfer-right-footer.data-v-01b74c91 {
padding: 6px 0;
display: flex;
align-items: center;
}
.transfer-h5 .main .right .transfer-right-footer .btn.data-v-01b74c91 {
font-size: 14px;
}
.icon-unselected.data-v-01b74c91 {
width: 18px;
height: 18px;
background: #FFF;
border: 1px solid #DDD;
border-radius: 11px;
box-sizing: border-box;
}