This commit is contained in:
pengxiaolong
2025-05-13 19:39:53 +08:00
parent 37da6765b8
commit c006a8e63d
1232 changed files with 96963 additions and 883 deletions

View File

@@ -0,0 +1,168 @@
"use strict";
const common_vendor = require("../../../../../common/vendor.js");
require("../../../../adapter-vue.js");
const common_assets = require("../../../../../common/assets.js");
const TUIKit_utils_documentLink = require("../../../../utils/documentLink.js");
const TUIKit_constant = require("../../../../constant.js");
const TUIKit_utils_env = require("../../../../utils/env.js");
const TUIKit_components_TUIChat_utils_utils = require("../../utils/utils.js");
const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../../offlinePushInfoManager/index.js");
const TUIKit_components_TUIChat_config = require("../../config.js");
if (!Math) {
(Icon + ToolbarItemContainer)();
}
const ToolbarItemContainer = () => "../toolbar-item-container/index.js";
const Icon = () => "../../../common/Icon.js";
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "index",
props: {
starTotal: {
type: Number,
default: 5
}
},
emits: ["onDialogPopupShowOrHide"],
setup(__props, { emit: __emit }) {
const evaluateIcon = TUIKit_components_TUIChat_config.ChatConfig.getTheme() === "dark" ? common_assets.evaluateIconDark : common_assets.evaluateIconLight;
const props = __props;
const emits = __emit;
const container = common_vendor.ref();
const starList = common_vendor.ref(props.starTotal);
const currentStarIndex = common_vendor.ref(-1);
const comment = common_vendor.ref("");
const currentConversation = common_vendor.ref();
common_vendor.Jt.watch(common_vendor.o.CONV, {
currentConversation: (conversation) => {
currentConversation.value = conversation;
}
});
const isEvaluateValid = common_vendor.computed(() => comment.value.length || currentStarIndex.value >= 0);
const onDialogShow = () => {
emits("onDialogPopupShowOrHide", true);
};
const onDialogClose = () => {
resetEvaluate();
emits("onDialogPopupShowOrHide", false);
};
const openLink = () => {
var _a, _b;
if (TUIKit_utils_env.isPC || TUIKit_utils_env.isH5) {
window.open((_b = (_a = TUIKit_utils_documentLink.Link) == null ? void 0 : _a.customMessage) == null ? void 0 : _b.url);
}
};
const closeDialog = () => {
var _a;
(_a = container == null ? void 0 : container.value) == null ? void 0 : _a.toggleDialogDisplay(false);
};
const resetEvaluate = () => {
currentStarIndex.value = -1;
comment.value = "";
};
const selectStar = (starIndex) => {
if (currentStarIndex.value === starIndex) {
currentStarIndex.value = currentStarIndex.value - 1;
} else {
currentStarIndex.value = starIndex;
}
};
const submitEvaluate = () => {
var _a, _b, _c, _d, _e, _f;
if (currentStarIndex.value < 0 && !comment.value.length) {
return;
}
const payload = {
data: JSON.stringify({
businessID: TUIKit_constant.CHAT_MSG_CUSTOM_TYPE.EVALUATE,
version: 1,
score: currentStarIndex.value + 1,
comment: comment.value
}),
description: "对本次的服务评价",
extension: "对本次的服务评价"
};
const options = {
to: ((_b = (_a = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a.groupProfile) == null ? void 0 : _b.groupID) || ((_d = (_c = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _c.userProfile) == null ? void 0 : _d.userID),
conversationType: (_e = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _e.type,
payload,
needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
};
const offlinePushInfoCreateParams = {
conversation: currentConversation.value,
payload: options.payload,
messageType: common_vendor.qt.TYPES.MSG_CUSTOM
};
const sendMessageOptions = {
offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams)
};
common_vendor.Qt.sendCustomMessage(options, sendMessageOptions);
(_f = container == null ? void 0 : container.value) == null ? void 0 : _f.toggleDialogDisplay(false);
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("Evaluate.请对本次服务进行评价")),
b: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-header-content"),
c: !common_vendor.unref(TUIKit_utils_env.isPC)
}, !common_vendor.unref(TUIKit_utils_env.isPC) ? {
d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("关闭")),
e: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-header-close"),
f: common_vendor.o$1(closeDialog)
} : {}, {
g: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-header"),
h: common_vendor.f(common_vendor.unref(starList), (item, index, i0) => {
return common_vendor.e({
a: index <= common_vendor.unref(currentStarIndex)
}, index <= common_vendor.unref(currentStarIndex) ? {
b: "74e4698c-1-" + i0 + ",74e4698c-0",
c: common_vendor.p({
file: common_vendor.unref(common_assets.star),
width: common_vendor.unref(TUIKit_utils_env.isPC) ? "20px" : "30px",
height: common_vendor.unref(TUIKit_utils_env.isPC) ? "20px" : "30px"
})
} : {
d: "74e4698c-2-" + i0 + ",74e4698c-0",
e: common_vendor.p({
file: common_vendor.unref(common_assets.starIcon),
width: common_vendor.unref(TUIKit_utils_env.isPC) ? "20px" : "30px",
height: common_vendor.unref(TUIKit_utils_env.isPC) ? "20px" : "30px"
})
}, {
f: index,
g: common_vendor.o$1(($event) => selectStar(index), index)
});
}),
i: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-content-list-item"),
j: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-content-list"),
k: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-content-text"),
l: common_vendor.unref(comment),
m: common_vendor.o$1(($event) => common_vendor.isRef(comment) ? comment.value = $event.detail.value : null),
n: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("Evaluate.提交评价")),
o: common_vendor.n(common_vendor.unref(isEvaluateValid) ? "btn-valid" : "btn-invalid"),
p: common_vendor.o$1(submitEvaluate),
q: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-content-button"),
r: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-content"),
s: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("Evaluate.服务评价工具")),
t: common_vendor.t("(" + common_vendor.unref(common_vendor.Wt).t("Evaluate.使用")),
v: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`Evaluate.${common_vendor.unref(TUIKit_utils_documentLink.Link).customMessage.label}`)),
w: common_vendor.o$1(($event) => openLink(common_vendor.unref(TUIKit_utils_documentLink.Link).customMessage)),
x: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("Evaluate.搭建") + ")"),
y: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5-adv"),
z: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "evaluate-h5"),
A: common_vendor.sr(container, "74e4698c-0", {
"k": "container"
}),
B: common_vendor.o$1(onDialogShow),
C: common_vendor.o$1(onDialogClose),
D: common_vendor.p({
iconFile: common_vendor.unref(evaluateIcon),
title: "评价",
needBottomPopup: true,
iconWidth: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "26px" : "20px",
iconHeight: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "26px" : "20px"
})
});
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-74e4698c"]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/evaluate/index.js.map

View File

@@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"toolbar-item-container": "../toolbar-item-container/index",
"icon": "../../../common/Icon"
}
}

View File

@@ -0,0 +1 @@
<toolbar-item-container wx:if="{{D}}" class="r data-v-74e4698c" u-s="{{['d']}}" u-r="container" bindonDialogShow="{{B}}" bindonDialogClose="{{C}}" u-i="74e4698c-0" bind:__l="__l" u-p="{{D}}"><view class="{{['data-v-74e4698c', 'evaluate', z]}}"><view class="{{['data-v-74e4698c', 'evaluate-header', g]}}"><view class="{{['data-v-74e4698c', 'evaluate-header-content', b]}}">{{a}}</view><view wx:if="{{c}}" class="{{['data-v-74e4698c', 'evaluate-header-close', e]}}" catchtap="{{f}}">{{d}}</view></view><view class="{{['data-v-74e4698c', 'evaluate-content', r]}}"><view class="{{['data-v-74e4698c', 'evaluate-content-list', j]}}"><view wx:for="{{h}}" wx:for-item="item" wx:key="f" class="{{['data-v-74e4698c', 'evaluate-content-list-item', i]}}" catchtap="{{item.g}}"><icon wx:if="{{item.a}}" class="data-v-74e4698c" u-i="{{item.b}}" bind:__l="__l" u-p="{{item.c}}"/><icon wx:else class="data-v-74e4698c" u-i="{{item.d}}" bind:__l="__l" u-p="{{item.e||''}}"/></view></view><block wx:if="{{r0}}"><textarea class="{{['data-v-74e4698c', 'evaluate-content-text', k]}}" value="{{l}}" bindinput="{{m}}"/></block><view class="{{['data-v-74e4698c', 'evaluate-content-button', q]}}"><button class="{{['data-v-74e4698c', 'btn', o]}}" bindtap="{{p}}">{{n}}</button></view></view><view class="{{['data-v-74e4698c', 'evaluate-adv', y]}}">{{s}} {{t}} <navigator class="data-v-74e4698c" bindtap="{{w}}">{{v}}</navigator> {{x}}</view></view></toolbar-item-container>

View File

@@ -0,0 +1,245 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.evaluate.data-v-74e4698c {
background: #fff;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}
.evaluate-header-content.data-v-74e4698c {
font-weight: 500;
color: #1c1c1c;
}
.evaluate-adv.data-v-74e4698c {
font-weight: 500;
color: #999;
}
.evaluate-adv a.data-v-74e4698c {
color: #006eff;
}
.evaluate-content-text.data-v-74e4698c {
background: #f8f8f8;
border: 1px solid #ececec;
}
.evaluate-content-list-item.data-v-74e4698c {
font-weight: 400;
color: #50545c;
}
.evaluate-H5-main.data-v-74e4698c {
background: rgba(0, 0, 0, 0.5);
}
.evaluate-H5-main .evaluate-main-content.data-v-74e4698c {
background: #fff;
}
.evaluate-H5-main .evaluate-main-content p a.data-v-74e4698c {
color: #3370ff;
}
.evaluate-H5-main .evaluate-main-content .close.data-v-74e4698c {
font-family: PingFangSC-Regular;
font-weight: 400;
color: #3370ff;
letter-spacing: 0;
}
.evaluate.data-v-74e4698c {
position: absolute;
z-index: 5;
width: 315px;
top: -255px;
padding: 12px;
display: flex;
flex-direction: column;
border-radius: 8px;
background: url("https://web.sdk.qcloud.com/im/assets/images/login-background.png") no-repeat;
background-color: #fff;
background-size: cover;
background-position-x: 128px;
background-position-y: 77px;
-webkit-user-select: none;
user-select: none;
}
.evaluate-header-content.data-v-74e4698c {
font-style: normal;
font-size: 12px;
line-height: 17px;
text-align: center;
}
.evaluate-content.data-v-74e4698c {
display: flex;
flex-direction: column;
align-items: center;
padding: 12px 0;
}
.evaluate-content-list.data-v-74e4698c {
flex: 1;
display: flex;
}
.evaluate-content-list-item.data-v-74e4698c {
width: 24px;
height: 24px;
text-align: center;
cursor: pointer;
padding: 4px 0;
font-size: 12px;
padding-right: 15px;
}
.evaluate-content-list-item.data-v-74e4698c:last-child {
padding-right: 0 !important;
}
.evaluate-content-text.data-v-74e4698c {
box-sizing: border-box;
width: 288px;
height: 90px;
margin: 12px 0;
padding: 12px;
border-radius: 2px;
resize: none;
}
.evaluate-content-button .btn.data-v-74e4698c {
border: none;
border-radius: 5px;
font-size: 12px;
text-align: center;
line-height: 24px;
padding: 2px 46px;
font-weight: 400;
color: #fff;
}
.evaluate-content-button .btn-valid.data-v-74e4698c {
background-color: #3370ff;
cursor: pointer;
}
.evaluate-content-button .btn-invalid.data-v-74e4698c {
background-color: #a0cfff;
cursor: not-allowed;
}
.evaluate-adv.data-v-74e4698c {
font-size: 12px;
text-align: center;
}
.evaluate-adv a.data-v-74e4698c {
display: inline-block;
}
.evaluate-h5.data-v-74e4698c {
position: static;
width: 100%;
height: -webkit-fit-content;
height: fit-content;
border-radius: 0;
background: #fff;
padding: 23px !important;
box-sizing: border-box;
}
.evaluate-h5-header.data-v-74e4698c {
display: flex;
justify-content: space-between;
}
.evaluate-h5-header-content.data-v-74e4698c {
font-size: 18px;
}
.evaluate-h5-header-close.data-v-74e4698c {
font-size: 18px;
line-height: 27px;
font-weight: 400;
color: #3370ff;
}
.evaluate-h5-content.data-v-74e4698c {
order: 1;
}
.evaluate-h5-content-list-item.data-v-74e4698c {
width: 40px;
height: 24px;
text-align: center;
cursor: auto;
font-size: 12px;
}
.evaluate-h5-content-text.data-v-74e4698c {
font-size: 16px;
width: 100%;
}
.evaluate-h5-content-button.data-v-74e4698c {
width: 100%;
display: flex;
}
.evaluate-h5-content-button .btn.data-v-74e4698c {
flex: 1;
padding: 14px 0;
font-size: 18px;
cursor: auto;
}
.evaluate-h5-adv.data-v-74e4698c {
font-size: 14px;
font-weight: normal;
text-align: left;
color: #000;
}
body.data-v-74e4698c, div.data-v-74e4698c, ul.data-v-74e4698c, ol.data-v-74e4698c, dt.data-v-74e4698c, dd.data-v-74e4698c, li.data-v-74e4698c, dl.data-v-74e4698c, h1.data-v-74e4698c, h2.data-v-74e4698c, h3.data-v-74e4698c, h4.data-v-74e4698c, p.data-v-74e4698c {
margin: 0;
padding: 0;
font-style: normal;
/* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
}
ol.data-v-74e4698c, ul.data-v-74e4698c, li.data-v-74e4698c {
list-style: none;
}
img.data-v-74e4698c {
border: 0;
vertical-align: middle;
pointer-events: none;
}
body.data-v-74e4698c {
color: #000;
background: #FFF;
}
.clear.data-v-74e4698c {
clear: both;
height: 1px;
width: 100%;
overflow: hidden;
margin-top: -1px;
}
a.data-v-74e4698c {
color: #000;
text-decoration: none;
cursor: pointer;
}
a.data-v-74e4698c:hover {
text-decoration: none;
}
input.data-v-74e4698c, textarea.data-v-74e4698c {
-webkit-user-select: auto;
user-select: auto;
}
input.data-v-74e4698c:focus, input.data-v-74e4698c:active, textarea.data-v-74e4698c:focus, textarea.data-v-74e4698c:active {
outline: none;
}
.chat-aside.data-v-74e4698c {
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);
}