|
@@ -1,174 +1,189 @@
|
|
|
<template>
|
|
|
- <view class="box">
|
|
|
- <view class="box-top">
|
|
|
- <view class="box-top-title">
|
|
|
- {{ info.name }}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- newsId 需要和聊天列表里面的id对应 永远取最后列表中的最后一个就可以做到发送消息即时滚动到底部 -->
|
|
|
- <scroll-view ref="chatRef" :scroll-with-animation="scrollAnimation" :scroll-into-view="newsId" class="box-main" scroll-y="true">
|
|
|
- <view class="box-main-more" v-if="hasMore">
|
|
|
- <text @click="handleMore">查看更多</text>
|
|
|
+ <view>
|
|
|
+ <Navbar :textLeft="false" title="我的聊天" />
|
|
|
+ <view class="box defaultBgc MiSans-Normal" :style="{'padding-top': navbarHeight + 'px', height: 'calc(100vh - ' + navbarHeight + 'px)'}">
|
|
|
+ <view class="commonBackground"></view>
|
|
|
+ <view class="box-top">
|
|
|
+ <image class="box-top-image" :src="getUserAvatar(info.avatar, info.sex, info.channelID === 'system' ? true : false)" ></image>
|
|
|
+ <view class="box-top-right MiSans-Normal">
|
|
|
+ <view class="box-top-right-title">{{ info.name }}</view>
|
|
|
</view>
|
|
|
- <view v-for="(val, index) in items" :key="val.id" :id="'s'+val.id+index">
|
|
|
- <view class="box-main-time">{{ timesTampChange(+(val.timestamp.padEnd(13, '0'))) }}</view>
|
|
|
- <template v-if="val.payload?.type === 102">
|
|
|
- <view class="jobCard">
|
|
|
- <view class="jobCard-title"> {{ formatName(val.payload?.content?.positionInfo?.name) }}</view>
|
|
|
- <view
|
|
|
- v-if="!val.payload?.content?.positionInfo?.payFrom && !val.payload?.content?.positionInfo?.payTo"
|
|
|
- class="jobCard-subtitle">
|
|
|
- 薪酬待遇: 面议
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- newsId 需要和聊天列表里面的id对应 永远取最后列表中的最后一个就可以做到发送消息即时滚动到底部 -->
|
|
|
+ <scroll-view ref="chatRef" :scroll-with-animation="scrollAnimation" :scroll-into-view="newsId" class="box-main" scroll-y="true">
|
|
|
+ <view class="box-main-more" v-if="hasMore">
|
|
|
+ <text @click="handleMore">查看更多</text>
|
|
|
+ </view>
|
|
|
+ <view v-for="(val, index) in items" :key="val.id" :id="'s'+val.id+index">
|
|
|
+ <view class="box-main-time">{{ timesTampChange(+(val.timestamp.padEnd(13, '0'))) }}</view>
|
|
|
+ <template v-if="val.payload?.type === 102">
|
|
|
+ <view class="jobCard">
|
|
|
+ <view class="jobCard-title"> {{ formatName(val.payload?.content?.positionInfo?.name) }}</view>
|
|
|
+ <view
|
|
|
+ v-if="!val.payload?.content?.positionInfo?.payFrom && !val.payload?.content?.positionInfo?.payTo"
|
|
|
+ class="jobCard-subtitle">
|
|
|
+ 薪酬待遇: 面议
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ v-else
|
|
|
+ class="jobCard-subtitle"
|
|
|
+ >
|
|
|
+ 薪酬待遇:
|
|
|
+ {{ val.payload?.content?.positionInfo?.payFrom ? val.payload?.content?.positionInfo?.payFrom + ' - ' : '' }}
|
|
|
+ {{ val.payload?.content?.positionInfo?.payTo }}
|
|
|
+ </view>
|
|
|
+ <view class="jobCard-tag">
|
|
|
+ <view
|
|
|
+ v-for="(v, i) in (val.payload?.content?.positionInfo?.enterprise?.welfareList || [])"
|
|
|
+ :key="val.message_id + v + i"
|
|
|
+ style="margin: 10rpx"
|
|
|
+ >
|
|
|
+ <uni-tag
|
|
|
+ :text="v"
|
|
|
+ type="success"
|
|
|
+ />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="jobCard-divider"></view>
|
|
|
+ <view class="jobCard-subtitle text-right">
|
|
|
+ <v-avatar size="24">
|
|
|
+ <v-img :src="val.payload?.content?.positionInfo?.contact?.avatar"></v-img>
|
|
|
+ </v-avatar>
|
|
|
+ {{ val.payload?.content?.positionInfo?.contact?.name }}
|
|
|
+ {{ val.payload?.content?.positionInfo?.contact?.postNameCn }}
|
|
|
+ <!-- {{ formatName(val.payload?.content?.positionInfo?.enterprise?.anotherName || val.payload?.content?.positionInfo?.enterprise?.name) }} -->
|
|
|
+ </view>
|
|
|
+ <div class="jobCard-subtitle text-right">
|
|
|
+ 地址:{{ val.payload?.content?.positionInfo?.address }}
|
|
|
+ </div>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <!-- 面试邀请 -->
|
|
|
+ <template v-if="val.payload?.type === 101">
|
|
|
+ <view class="jobCard">
|
|
|
+ <view class="font-size-15 ss-m-b-20">面试邀请</view>
|
|
|
+ <view class="jobCard-title"> {{ formatName(val.payload?.content?.positionInfo?.data?.name) }}</view>
|
|
|
+ <view
|
|
|
+ v-if="!val.payload?.content?.positionInfo?.data?.payFrom && !val.payload?.content?.positionInfo?.data?.payTo"
|
|
|
+ class="jobCard-subtitle">
|
|
|
+ 薪酬待遇: 面议
|
|
|
+ </view>
|
|
|
+ <view v-else class="jobCard-subtitle">
|
|
|
+ 薪酬待遇:
|
|
|
+ {{ val.payload?.content?.positionInfo?.data?.payFrom ? val.payload?.content?.positionInfo?.data?.payFrom + ' - ' : '' }}
|
|
|
+ {{ val.payload?.content?.positionInfo?.data?.payTo }}
|
|
|
+ </view>
|
|
|
+ <view class="font-size-15">面试时间: {{ timesTampChange(val.payload?.content?.time) }}</view>
|
|
|
+ <view class="font-size-15">面试地点: {{ val.payload?.content?.address }}</view>
|
|
|
+ <view class="font-size-15">联系电话: {{ val.payload?.content?.invitePhone }}</view>
|
|
|
</view>
|
|
|
- <view
|
|
|
- v-else
|
|
|
- class="jobCard-subtitle"
|
|
|
- >
|
|
|
- 薪酬待遇:
|
|
|
- {{ val.payload?.content?.positionInfo?.payFrom ? val.payload?.content?.positionInfo?.payFrom + ' - ' : '' }}
|
|
|
- {{ val.payload?.content?.positionInfo?.payTo }}
|
|
|
+ </template>
|
|
|
+ <view :class="['message-view_item', val.from_uid === IM.uid ? 'is-self' : 'is-other']">
|
|
|
+ <view class="image">
|
|
|
+ <image
|
|
|
+ :data-target="getUserAvatar(info.avatar, info.sex, info.channelID === 'system' ? true : false)"
|
|
|
+ class="header"
|
|
|
+ :src="(
|
|
|
+ val.from_uid === IM.uid ?
|
|
|
+ getUserAvatar(useUserStore.userInfo?.avatar, useUserStore.userInfo?.sex) :
|
|
|
+ getUserAvatar(info.avatar, info.sex, info.channelID === 'system' ? true : false)
|
|
|
+ )"
|
|
|
+ ></image>
|
|
|
</view>
|
|
|
- <view class="jobCard-tag">
|
|
|
+ <!-- 显示沟通职位 -->
|
|
|
+ <template v-if="val.payload?.type === 102">
|
|
|
<view
|
|
|
- v-for="(v, i) in (val.payload?.content?.positionInfo?.enterprise?.welfareList || [])"
|
|
|
- :key="val.message_id + v + i"
|
|
|
- style="margin: 10rpx"
|
|
|
+ class="message-text"
|
|
|
+ :class="val.from_uid === IM.uid ? 'active' : ''"
|
|
|
+ :style="{'border-radius': val.from_uid === IM.uid ? '20rpx 20rpx 9rpx 20rpx' : '20rpx 20rpx 20rpx 9rpx'}"
|
|
|
>
|
|
|
- <uni-tag
|
|
|
- :text="v"
|
|
|
- type="success"
|
|
|
- />
|
|
|
+ {{ val.payload?.content.text }}
|
|
|
</view>
|
|
|
+ </template>
|
|
|
+ <!-- 发起面试邀请 -->
|
|
|
+ <view class="message-text none" v-else-if="val.payload?.type === 101">
|
|
|
+ <uni-tag text="发起了面试邀请" custom-style="background-color: #00B760; border-color: #00B760; color: #fff;" />
|
|
|
</view>
|
|
|
- <view class="jobCard-divider"></view>
|
|
|
- <view class="jobCard-subtitle text-right">
|
|
|
- <v-avatar size="24">
|
|
|
- <v-img :src="val.payload?.content?.positionInfo?.contact?.avatar"></v-img>
|
|
|
- </v-avatar>
|
|
|
- {{ val.payload?.content?.positionInfo?.contact?.name }}
|
|
|
- {{ val.payload?.content?.positionInfo?.contact?.postNameCn }}
|
|
|
- {{ formatName(val.payload?.content?.positionInfo?.enterprise?.anotherName || val.payload?.content?.positionInfo?.enterprise?.name) }}
|
|
|
+ <view class="message-text none" v-else-if="val.payload?.type === 103">
|
|
|
+ <uni-tag text="拒绝了面试邀请" type="error" />
|
|
|
</view>
|
|
|
- <div class="jobCard-subtitle text-right">
|
|
|
- 地址:{{ val.payload?.content?.positionInfo?.address }}
|
|
|
- </div>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
- <!-- 面试邀请 -->
|
|
|
- <template v-if="val.payload?.type === 101">
|
|
|
- <view class="jobCard color-primary">
|
|
|
- <view class="font-size-15 ss-m-b-20">面试邀请</view>
|
|
|
- <view class="jobCard-title"> {{ formatName(val.payload?.content?.positionInfo?.data?.name) }}</view>
|
|
|
- <view
|
|
|
- v-if="!val.payload?.content?.positionInfo?.data?.payFrom && !val.payload?.content?.positionInfo?.data?.payTo"
|
|
|
- class="jobCard-subtitle">
|
|
|
- 薪酬待遇: 面议
|
|
|
+ <view class="message-text none" v-else-if="val.payload?.type === 104">
|
|
|
+ <uni-tag text="接受了面试邀请" custom-style="background-color: #00B760; border-color: #00B760; color: #fff;" />
|
|
|
</view>
|
|
|
- <view v-else class="jobCard-subtitle">
|
|
|
- 薪酬待遇:
|
|
|
- {{ val.payload?.content?.positionInfo?.data?.payFrom ? val.payload?.content?.positionInfo?.data?.payFrom + ' - ' : '' }}
|
|
|
- {{ val.payload?.content?.positionInfo?.data?.payTo }}
|
|
|
+ <view v-else-if="val.payload.type === 105" class="text-end">
|
|
|
+ <uni-tag
|
|
|
+ v-if="val.from_uid === IM.uid"
|
|
|
+ :text="val.payload.content?.type === 1 ? '附件简历已发送' : '简历请求已发送'"
|
|
|
+ custom-style="background-color: #00B760; border-color: #00B760; color: #fff;"
|
|
|
+ />
|
|
|
+ <view
|
|
|
+ v-if="val.payload.content?.type !== 2 || val.from_uid !== IM.uid"
|
|
|
+ class="message-text card"
|
|
|
+ >
|
|
|
+ <view class="text-left">
|
|
|
+ <text v-if="val.payload.content?.type === 1">{{
|
|
|
+ val.payload.content?.query?.title || '附件简历' }}
|
|
|
+ </text>
|
|
|
+ <text v-if="val.payload.content?.type === 2">
|
|
|
+ 我想要一份您的简历,您是否同意
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <view class="btn-actions">
|
|
|
+ <text class="btn" v-if="val.payload.content?.type === 1" @tap="handlePreview(val.payload)">点击预览附件简历</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view class="font-size-15">面试时间: {{ timesTampChange(val.payload?.content?.time) }}</view>
|
|
|
- <view class="font-size-15">面试地点: {{ val.payload?.content?.address }}</view>
|
|
|
- <view class="font-size-15">联系电话: {{ val.payload?.content?.invitePhone }}</view>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
- <view :class="['message-view_item', val.from_uid === IM.uid ? 'is-self' : 'is-other']">
|
|
|
- <view class="image">
|
|
|
- <image
|
|
|
- :data-target="getUserAvatar(info.avatar, info.sex, info.channelID === 'system' ? true : false)"
|
|
|
- class="header"
|
|
|
- :src="(
|
|
|
- val.from_uid === IM.uid ?
|
|
|
- getUserAvatar(useUserStore.userInfo?.avatar, useUserStore.userInfo?.sex) :
|
|
|
- getUserAvatar(info.avatar, info.sex, info.channelID === 'system' ? true : false)
|
|
|
- )"
|
|
|
- ></image>
|
|
|
- </view>
|
|
|
- <!-- 显示沟通职位 -->
|
|
|
- <template v-if="val.payload?.type === 102">
|
|
|
- <view class="message-text" :class="val.from_uid === IM.uid ? 'active' : ''">
|
|
|
- {{ val.payload?.content.text }}
|
|
|
+ <view v-else-if="val.payload.type === -1" class="message-text" :class="{ active: val.from_uid === IM.uid}">
|
|
|
+ {{ val.payload?.content?.text }}
|
|
|
</view>
|
|
|
- </template>
|
|
|
- <!-- 发起面试邀请 -->
|
|
|
- <view class="message-text none" v-else-if="val.payload?.type === 101">
|
|
|
- <uni-tag text="发起了面试邀请" custom-style="background-color: #00B760; border-color: #00B760; color: #fff;" />
|
|
|
- </view>
|
|
|
- <view class="message-text none" v-else-if="val.payload?.type === 103">
|
|
|
- <uni-tag text="拒绝了面试邀请" type="error" />
|
|
|
- </view>
|
|
|
- <view class="message-text none" v-else-if="val.payload?.type === 104">
|
|
|
- <uni-tag text="接受了面试邀请" custom-style="background-color: #00B760; border-color: #00B760; color: #fff;" />
|
|
|
- </view>
|
|
|
- <view v-else-if="val.payload.type === 105" class="text-end">
|
|
|
- <uni-tag
|
|
|
- v-if="val.from_uid === IM.uid"
|
|
|
- :text="val.payload.content?.type === 1 ? '附件简历已发送' : '简历请求已发送'"
|
|
|
- custom-style="background-color: #00B760; border-color: #00B760; color: #fff;"
|
|
|
- />
|
|
|
- <view
|
|
|
- v-if="val.payload.content?.type !== 2 || val.from_uid !== IM.uid"
|
|
|
- class="message-text card"
|
|
|
- >
|
|
|
- <view class="text-left">
|
|
|
- <text v-if="val.payload.content?.type === 1">{{
|
|
|
- val.payload.content?.query?.title || '附件简历' }}
|
|
|
- </text>
|
|
|
- <text v-if="val.payload.content?.type === 2">
|
|
|
- 我想要一份您的简历,您是否同意
|
|
|
- </text>
|
|
|
- </view>
|
|
|
- <view class="btn-actions">
|
|
|
- <text class="btn" v-if="val.payload.content?.type === 1" @tap="handlePreview(val.payload)">点击预览附件简历</text>
|
|
|
- </view>
|
|
|
+ <view
|
|
|
+ v-else
|
|
|
+ class="message-text"
|
|
|
+ :class="{ active: val.from_uid === IM.uid}"
|
|
|
+ :style="{'border-radius': val.from_uid === IM.uid ? '20rpx 20rpx 9rpx 20rpx' : '20rpx 20rpx 20rpx 9rpx'}">
|
|
|
+ {{ val.payload?.content }}
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view v-else-if="val.payload.type === -1" class="message-text" :class="{ active: val.from_uid === IM.uid}">
|
|
|
- {{ val.payload?.content?.text }}
|
|
|
- </view>
|
|
|
- <view v-else class="message-text" :class="{ active: val.from_uid === IM.uid}">
|
|
|
- {{ val.payload?.content }}
|
|
|
- </view>
|
|
|
</view>
|
|
|
+ </scroll-view>
|
|
|
+
|
|
|
+ <view class="box-bottom" v-if="channelItem?.channelID !== 'system'">
|
|
|
+ <view class="box-bottom-tool" style="display: flex; justify-content: start;">
|
|
|
+ <text class="toolBtn" @tap="handleFindResume">求简历</text>
|
|
|
+ <text class="toolBtn ss-m-l-30" @tap="handleInviteInterview">面试邀约</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="d-flex align-end textBox" v-if="channelItem?.channelID !== 'system'">
|
|
|
+ <textarea
|
|
|
+ v-model="inputValue"
|
|
|
+ :cursor-spacing="25"
|
|
|
+ :show-confirm-bar="false"
|
|
|
+ :disable-default-padding="true"
|
|
|
+ confirm-type="send"
|
|
|
+ auto-height
|
|
|
+ @confirm="handleSend"
|
|
|
+ />
|
|
|
+ <text class="submitBtn" @tap="handleSend">发 送</text>
|
|
|
</view>
|
|
|
- </scroll-view>
|
|
|
-
|
|
|
- <view class="box-bottom" v-if="channelItem?.channelID !== 'system'">
|
|
|
- <view class="box-bottom-tool" style="display: flex; justify-content: start;">
|
|
|
- <text class="toolBtn" @tap="handleFindResume">求简历</text>
|
|
|
- <text class="toolBtn ss-m-l-30" @tap="handleInviteInterview">面试邀约</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="d-flex align-end textBox" v-if="channelItem?.channelID !== 'system'">
|
|
|
- <textarea
|
|
|
- v-model="inputValue"
|
|
|
- :cursor-spacing="25"
|
|
|
- :show-confirm-bar="false"
|
|
|
- :disable-default-padding="true"
|
|
|
- confirm-type="send"
|
|
|
- auto-height
|
|
|
- @confirm="handleSend"
|
|
|
- />
|
|
|
- <text class="submitBtn" @tap="handleSend">发 送</text>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 求简历 -->
|
|
|
- <uni-popup ref="requestPopup" background-color="#fff" type="bottom">
|
|
|
- <view style="background-color: #fff; height: 50vh; padding: 30px 20px;">
|
|
|
- <uni-forms ref="requestFormRef" :modelValue="formData" :rules="formRules" validateTrigger="bind" label-width="80px" label-align="right" label-position="left">
|
|
|
- <uni-forms-item name="jobId" label="招聘职位" required>
|
|
|
- <view style="max-width: calc(100vw - 120px);">
|
|
|
- <uni-data-select v-model="formData.jobId" :localdata="jobList" @change="handleChangeJob" placeholder="请选择要求简历的职位"></uni-data-select>
|
|
|
- </view>
|
|
|
- </uni-forms-item>
|
|
|
- </uni-forms>
|
|
|
- <view style="margin-top: 50px;"></view>
|
|
|
- <button class="send-button" @tap="handleRequestSubmit">提 交</button>
|
|
|
- </view>
|
|
|
- </uni-popup>
|
|
|
+ <!-- 求简历 -->
|
|
|
+ <uni-popup ref="requestPopup" background-color="#fff" type="bottom">
|
|
|
+ <view style="background-color: #fff; height: 50vh; padding: 30px 20px;">
|
|
|
+ <uni-forms ref="requestFormRef" :modelValue="formData" :rules="formRules" validateTrigger="bind" label-width="80px" label-align="right" label-position="left">
|
|
|
+ <uni-forms-item name="jobId" label="招聘职位" required>
|
|
|
+ <view style="max-width: calc(100vw - 120px);">
|
|
|
+ <uni-data-select v-model="formData.jobId" :localdata="jobList" @change="handleChangeJob" placeholder="请选择要求简历的职位"></uni-data-select>
|
|
|
+ </view>
|
|
|
+ </uni-forms-item>
|
|
|
+ </uni-forms>
|
|
|
+ <view style="margin-top: 50px;"></view>
|
|
|
+ <button class="send-button" @tap="handleRequestSubmit">提 交</button>
|
|
|
+ </view>
|
|
|
+ </uni-popup>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -185,7 +200,9 @@ import { preview } from '@/utils/preview'
|
|
|
import { getAccessToken } from '@/utils/request'
|
|
|
import { showAuthModal } from '@/hooks/useModal'
|
|
|
import { getJobAdvertisedList } from '@/api/new/position'
|
|
|
+import Navbar from '@/components/Navbar'
|
|
|
|
|
|
+const navbarHeight = ref(uni.getStorageSync('navbarHeight'))
|
|
|
const useUserStore = userStore()
|
|
|
const userInfo = computed(() => useUserStore?.userInfo)
|
|
|
|
|
@@ -417,9 +434,6 @@ onLoad(async (options) => {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-.white {
|
|
|
- color: #FFF !important;
|
|
|
-}
|
|
|
.text-left {
|
|
|
text-align: left !important;
|
|
|
}
|
|
@@ -428,22 +442,32 @@ onLoad(async (options) => {
|
|
|
}
|
|
|
.box {
|
|
|
width: 100%;
|
|
|
- height: 100vh;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
&-top {
|
|
|
- &-title {
|
|
|
- padding: 0 60rpx;
|
|
|
- box-sizing: border-box;
|
|
|
- width: 100%;
|
|
|
+ z-index: 1;
|
|
|
+ padding: 30rpx 30rpx 0 30rpx;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ &-image {
|
|
|
+ width: 80rpx;
|
|
|
height: 80rpx;
|
|
|
- line-height: 80rpx;
|
|
|
- // text-align: center;
|
|
|
- border-bottom: 2rpx solid #EEE;
|
|
|
- overflow: hidden;
|
|
|
- white-space: nowrap;
|
|
|
- text-overflow: ellipsis;
|
|
|
- .subText {
|
|
|
+ border-radius: 50%;
|
|
|
+ margin-right: 30rpx;
|
|
|
+ }
|
|
|
+ &-right {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ &-title {
|
|
|
+ box-sizing: border-box;
|
|
|
+ width: 100%;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ margin-bottom: 10rpx;
|
|
|
+ }
|
|
|
+ &-subText {
|
|
|
font-size: .85em;
|
|
|
color: #999;
|
|
|
.gun {
|
|
@@ -462,7 +486,7 @@ onLoad(async (options) => {
|
|
|
font-weight: bold;
|
|
|
}
|
|
|
.color-primary {
|
|
|
- color: #009688;
|
|
|
+ color: #00B760;
|
|
|
}
|
|
|
.ml-3 {
|
|
|
margin-left: 40rpx;
|
|
@@ -520,23 +544,18 @@ onLoad(async (options) => {
|
|
|
}
|
|
|
.jobCard {
|
|
|
padding: 30rpx;
|
|
|
- background: #E2F2F0;
|
|
|
- color: #009688 ;
|
|
|
- margin-top: 20rpx;
|
|
|
+ background: #fbfbfb;
|
|
|
+ margin: 20rpx 5px;
|
|
|
max-width: unset;
|
|
|
- margin-right: 0;
|
|
|
+ border-radius: 20rpx;
|
|
|
+ box-shadow: 1px 2px 12px rgba(0, 0, 0, 0.1);
|
|
|
&-title {
|
|
|
- font-size: 1.2em;
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 36rpx;
|
|
|
+ margin-bottom: 30rpx;
|
|
|
}
|
|
|
&-subtitle {
|
|
|
padding: 10rpx 0;
|
|
|
- // font-size: .5em;
|
|
|
- }
|
|
|
- &-divider {
|
|
|
- width: 100%;
|
|
|
- height: 2rpx;
|
|
|
- margin: 20rpx 0;
|
|
|
- background: #ddd;
|
|
|
}
|
|
|
&-tag {
|
|
|
display: flex;
|
|
@@ -553,8 +572,6 @@ onLoad(async (options) => {
|
|
|
width: 60rpx;
|
|
|
height: 60rpx;
|
|
|
border-radius: 180rpx;
|
|
|
- // flex-grow: 1;
|
|
|
- // flex-shrink: 0;
|
|
|
overflow: hidden;
|
|
|
.header {
|
|
|
width: 60rpx;
|
|
@@ -568,19 +585,24 @@ onLoad(async (options) => {
|
|
|
}
|
|
|
.message-text {
|
|
|
overflow-wrap: break-word;
|
|
|
- background-color: #f0f2f5;
|
|
|
+ background-color: #00B760;
|
|
|
+ color: #fff;
|
|
|
border-radius: 12rpx;
|
|
|
max-width: 75%;
|
|
|
padding: 20rpx;
|
|
|
+ font-family: MiSans-Normal;
|
|
|
&.active {
|
|
|
- background: #d5e6e8;
|
|
|
+ color: #fff;
|
|
|
+ background: #00B760;
|
|
|
}
|
|
|
&.card {
|
|
|
- background: #E2F2F0;
|
|
|
- color: #009688 ;
|
|
|
+ // background: #E2F2F0;
|
|
|
+ background: #fff;
|
|
|
+ color: #00B760 ;
|
|
|
margin-top: 20rpx;
|
|
|
max-width: unset;
|
|
|
margin-right: 0;
|
|
|
+ box-shadow: 1px 2px 12px rgba(0, 0, 0, 0.1);
|
|
|
.btn-actions {
|
|
|
margin: 40rpx auto 20rpx auto ;
|
|
|
text-align: center;
|
|
@@ -598,7 +620,8 @@ onLoad(async (options) => {
|
|
|
background-color: unset;
|
|
|
}
|
|
|
&.active {
|
|
|
- background: #d5e6e8;
|
|
|
+ background: #00B760;
|
|
|
+ color: #fff;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -618,15 +641,16 @@ onLoad(async (options) => {
|
|
|
&-bottom {
|
|
|
max-height: 300rpx;
|
|
|
border-top: 2rpx solid #EEE;
|
|
|
- background: rgba(230, 230, 230, 0.5);
|
|
|
- padding: 20rpx 40rpx;
|
|
|
+ background: #fff;
|
|
|
+ padding: 20rpx 40rpx 40rpx;
|
|
|
+
|
|
|
box-sizing: border-box;
|
|
|
&-tool {
|
|
|
margin-bottom: 30rpx;
|
|
|
.toolBtn {
|
|
|
padding: 12rpx 20rpx;
|
|
|
font-size: 24rpx;
|
|
|
- background: #18bc37;
|
|
|
+ background: #00B760;
|
|
|
color: #FFF;
|
|
|
border-radius: 10rpx;
|
|
|
}
|
|
@@ -641,14 +665,14 @@ onLoad(async (options) => {
|
|
|
max-height: 180rpx;
|
|
|
padding: 20rpx;
|
|
|
box-sizing: border-box;
|
|
|
- background: #FFF;
|
|
|
+ background: #f5f5f5;
|
|
|
}
|
|
|
.submitBtn {
|
|
|
width: 140rpx;
|
|
|
line-height: 80rpx;
|
|
|
height: 80rpx;
|
|
|
font-size: 28rpx;
|
|
|
- background: #18bc37;
|
|
|
+ background: #00B760;
|
|
|
color: #FFF;
|
|
|
margin-left: 20rpx;
|
|
|
text-align: center;
|