176 lines
4.7 KiB
Vue
Raw Normal View History

2025-08-29 09:51:02 +08:00
<template>
<view class="ai_contents">
<view class="ai_contents_center">
<view class="ai_contents_header">
2026-04-02 10:29:32 +08:00
<image
src="https://pay-prod-1369486729.cos.ap-guangzhou.myqcloud.com/uploads/cs-test/01KN3YX35D5WJ22MQ1GH4X6BF0.png"
mode="heightFix"
/>
<text>我是客服邻邻遇到问题了可以问我哦 </text>
2025-08-29 09:51:02 +08:00
</view>
2026-04-02 10:29:32 +08:00
<view class="ai_contents_input" @click="handleInputChange">
<view class="ai_input"> 点击联系在线客服 </view>
<uni-icons type="arrow-right" size="20" color="#A4A4A4"></uni-icons>
2026-04-01 11:19:46 +08:00
</view>
2025-08-29 09:51:02 +08:00
<view class="ai_footer">
<scroll-view scroll-x="true" style="height: 80rpx">
2026-04-02 10:29:32 +08:00
<view
v-for="(i, index) in quickActions"
:key="`item_${index}`"
class="items"
2026-04-10 16:10:01 +08:00
@click="handleInputChange(i)"
2026-04-02 10:29:32 +08:00
>
2025-08-29 09:51:02 +08:00
<view class="items_center">
2026-04-01 14:27:31 +08:00
<image :src="`/static/svg/${i.icon}`" mode="heightFix" />
{{ i.label }}
2025-08-29 09:51:02 +08:00
</view>
</view>
2026-04-01 14:27:31 +08:00
<!-- <view class="items">
2025-08-29 09:51:02 +08:00
<view class="items_center">
2026-04-01 14:27:31 +08:00
<image src="/static/svg/FWJF.svg" mode="heightFix" />
我要报修
2025-08-29 09:51:02 +08:00
</view>
</view>
<view class="items">
<view class="items_center">
2026-04-01 14:27:31 +08:00
<image src="/static/svg/GDCX.svg" mode="heightFix" />
工单查询
2025-08-29 09:51:02 +08:00
</view>
</view>
<view class="items">
<view class="items_center">
<image src="/static/svg/QBGL.svg" mode="heightFix" />
2026-04-01 14:27:31 +08:00
社区服务
2025-08-29 09:51:02 +08:00
</view>
2026-04-01 14:27:31 +08:00
</view> -->
2025-08-29 09:51:02 +08:00
</scroll-view>
</view>
</view>
</view>
</template>
2025-12-15 18:19:04 +08:00
<script setup lang="ts">
import { showToast } from '@/common/libraries/naviHelper'
2026-01-15 19:26:00 +08:00
import { getStyleColorInfo, getStyleColorValueInfo } from '@/common/libraries/getPageConfig'
2026-04-02 10:29:32 +08:00
import { quickActions, QuickAction } from '@/common/libraries/public'
2026-04-04 23:24:03 +08:00
import userLoginStatus from '@/common/libraries/userUserLogin'
2026-04-10 16:10:01 +08:00
import { useWeAppAuthStore } from '@/common'
const auth = useWeAppAuthStore()
2026-04-02 10:29:32 +08:00
2026-04-10 16:10:01 +08:00
const handleInputChange = (i?: QuickAction) => {
2026-04-04 23:24:03 +08:00
if (!userLoginStatus?.onBindPhone()) {
return false
}
2026-04-10 16:10:01 +08:00
if (!auth.data?.selected_house?.asset_projects_id) {
showToast('请绑定房屋')
return false
}
2026-04-01 11:19:46 +08:00
uni.navigateTo({
2026-04-10 16:10:01 +08:00
url: `/pages/ai/chat?message=${i?.message || ""}`
2026-04-01 11:19:46 +08:00
})
2025-12-15 18:19:04 +08:00
}
</script>
2025-08-29 09:51:02 +08:00
<style lang="scss" scoped>
.ai_contents {
background-color: #fff;
padding: 6rpx;
border-radius: 20rpx;
height: 320rpx;
margin: 30rpx;
.ai_contents_center {
border-radius: 20rpx;
background:
linear-gradient(307deg, rgb(255, 137, 24, 0.06) -1%, rgba(255, 255, 255, 0) 29%),
linear-gradient(243deg, rgb(75, 72, 255, 0.06) 1%, rgba(255, 255, 255, 0) 20%),
linear-gradient(303deg, rgba(255, 255, 255, 0) 71%, rgb(40, 26, 255, 0.08) 100%),
linear-gradient(
231deg,
rgba(255, 255, 255, 0) 76%,
rgba(255, 105, 0, 0.06) 98%,
rgb(255, 145, 68, 0.06) 98%
);
width: 100%;
height: 100%;
2025-12-15 18:19:04 +08:00
button {
padding: 0;
margin: 0 30rpx;
text-align: left;
display: flex;
align-items: center;
background-color: transparent;
height: 90rpx;
border-radius: 100rpx;
box-shadow: 0px 4px 10px 3px rgba(231, 231, 231, 0.3);
}
2025-08-29 09:51:02 +08:00
}
.ai_contents_header {
display: flex;
align-items: center;
color: #333;
2026-04-02 10:29:32 +08:00
font-size: 28rpx;
padding: 0 0 0 50rpx;
2025-08-29 09:51:02 +08:00
image {
2026-04-02 10:29:32 +08:00
width: 56rpx;
height: 130rpx;
position: relative;
margin-top: -22rpx;
2025-08-29 09:51:02 +08:00
}
text {
2026-04-02 10:29:32 +08:00
padding: 5rpx 0 0 15rpx;
2025-08-29 09:51:02 +08:00
}
}
.ai_contents_input {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
2026-04-02 10:29:32 +08:00
border-radius: 10rpx;
2026-04-01 11:19:46 +08:00
padding: 15rpx 20rpx;
margin: 5rpx 30rpx;
2026-04-02 10:29:32 +08:00
box-shadow: 0px 4px 10px 0px rgba(231, 231, 231, 0.3);
2025-08-29 09:51:02 +08:00
.ai_input {
flex: 1;
2025-12-15 18:19:04 +08:00
font-size: 28rpx;
2026-01-30 09:54:26 +08:00
color: #666;
2026-04-02 10:29:32 +08:00
2025-08-29 09:51:02 +08:00
input {
height: 100%;
}
}
}
.ai_footer {
2026-04-02 10:29:32 +08:00
padding: 25rpx 0 0 0;
2025-08-29 09:51:02 +08:00
white-space: nowrap;
.items {
background-color: #fff;
box-shadow: 0px 0px 6px 3px rgba(199, 199, 199, 0.1);
border-radius: 10rpx;
display: inline-block;
height: 70rpx;
color: #3d3d3d;
font-size: 24rpx;
padding: 0 20rpx;
margin-right: 15rpx;
&:first-child {
margin-left: 30rpx;
}
&:last-child {
margin-right: 30rpx;
}
.items_center {
display: flex;
align-items: center;
height: 100%;
}
image {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}
}
}
}
</style>