Files
tk-mini-program/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.js
pengxiaolong c006a8e63d 消息
2025-05-13 19:39:53 +08:00

116 lines
4.1 KiB
JavaScript

"use strict";
const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../../adapter-vue.js");
const TUIKit_tuiCustomerServicePlugin_constant = require("../../constant.js");
const common_vendor = require("../../../../common/vendor.js");
const { computed, ref, watchEffect } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
const _sfc_main = {
props: {
ratingTemplate: {
type: Object,
default: () => ({})
}
},
emits: ["sendMessage"],
setup(props, { emit }) {
const hasReply = ref(false);
const sessionId = ref("");
const selectValue = ref(-1);
const hoverValue = ref(-1);
const hasExpire = ref(false);
const desc = computed(() => {
var _a;
return (_a = props.ratingTemplate) == null ? void 0 : _a.menu.map((item) => item.content);
});
const numberList = computed(() => {
var _a;
return (_a = props.ratingTemplate) == null ? void 0 : _a.menu.map((item, index) => index);
});
watchEffect(() => {
sessionId.value = props.ratingTemplate.sessionId || "";
if (props.ratingTemplate.selected != void 0) {
for (let i = 0; i < props.ratingTemplate.menu.length; i++) {
if (props.ratingTemplate.menu[i].id == props.ratingTemplate.selected.id) {
hasReply.value = true;
selectValue.value = i;
break;
}
}
}
const timestamp = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
if (timestamp > props.ratingTemplate.expireTime) {
hasExpire.value = true;
}
});
const setValue = (val) => {
if (!hasReply.value) {
selectValue.value = val;
}
};
const setHoverValue = (value) => {
if (!hasReply.value) {
hoverValue.value = value;
}
};
const submitRatingStar = () => {
if (selectValue.value >= 0) {
const submitData = {
data: JSON.stringify({
src: TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.MENU_SELECTED,
menuSelected: {
id: props.ratingTemplate.menu[selectValue.value].id,
content: props.ratingTemplate.menu[selectValue.value].content,
sessionId: sessionId.value
},
customerServicePlugin: 0
})
};
hasReply.value = true;
emit("sendMessage", submitData);
}
};
return {
props,
hasReply,
sessionId,
selectValue,
hoverValue,
hasExpire,
desc,
numberList,
setValue,
setHoverValue,
submitRatingStar
};
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.t($setup.props.ratingTemplate.head),
b: common_vendor.f($setup.numberList, (item, index, i0) => {
return {
a: common_vendor.t(item + 1),
b: index,
c: !(index !== $setup.selectValue && index !== $setup.hoverValue) ? 1 : "",
d: index !== $setup.selectValue && index !== $setup.hoverValue ? 1 : "",
e: index === 0 ? "0px" : "20px",
f: common_vendor.o$1(($event) => $setup.setValue(index), index),
g: common_vendor.o$1(($event) => $setup.setHoverValue(index), index),
h: common_vendor.o$1(($event) => $setup.setHoverValue(-1), index)
};
}),
c: "5px",
d: common_vendor.t($setup.hoverValue === -1 ? $setup.selectValue === -1 ? "如果满意请给好评哦~" : $setup.desc[$setup.selectValue] : $setup.desc[$setup.hoverValue]),
e: "10px",
f: "10px",
g: $setup.hasReply || $setup.hasExpire,
h: common_vendor.o$1((...args) => $setup.submitRatingStar && $setup.submitRatingStar(...args)),
i: $setup.hasReply
}, $setup.hasReply ? {
j: common_vendor.t($setup.props.ratingTemplate.tail),
k: "20px"
} : {});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1a21fdf4"]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.js.map