开发分支

This commit is contained in:
唐明明
2023-03-14 17:19:21 +08:00
parent a24fe7a84c
commit 9eb1f97e4c
12 changed files with 234 additions and 54 deletions

View File

@@ -10,8 +10,8 @@ import router from '../router'
// 基础配置
const config = {
apiUrl : 'https://douhuo.douhuofalv.com/api/',
// apiUrl : 'https://api.douhuotest.douhuofalv.com/api/', //测试环境
// apiUrl : 'https://douhuo.douhuofalv.com/api/',
apiUrl : 'https://api.douhuotest.douhuofalv.com/api/', //测试环境
timeout : 60000
}

View File

@@ -2,7 +2,7 @@
"name" : "抖火",
"appid" : "__UNI__C305C03",
"description" : "纵有疾风起,人生不言弃",
"versionName" : "1.3.4",
"versionName" : "1.3.5",
"versionCode" : 103,
"transformPx" : false,
/* 5+App */

View File

@@ -555,13 +555,21 @@
"navigationBarBackgroundColor": "#FFFFFF"
}
}, {
"path": "pages/im/chat",
"auth": true,
"path": "pages/im/chat",
"auth": true,
"name": "ImChat",
"style": {
"navigationBarTitleText": "聊天窗口",
"enablePullDownRefresh": false,
"disableScroll": true,
"navigationBarBackgroundColor": "#FFFFFF"
}
}, {
"path": "pages/im/msg",
"name": "ImMsg",
"style": {
"navigationBarTitleText": "消息",
"enablePullDownRefresh": false,
"disableScroll": true,
"navigationBarBackgroundColor": "#FFFFFF"
}
}],
@@ -591,6 +599,11 @@
"selectedIconPath": "static/icons/tabs_show_02.png",
"pagePath": "pages/work/index",
"text": "工作台"
}, {
"iconPath": "static/icons/tabs_icon_04.png",
"selectedIconPath": "static/icons/tabs_show_04.png",
"pagePath": "pages/im/msg",
"text": "消息"
}, {
"iconPath": "static/icons/tabs_icon_03.png",
"selectedIconPath": "static/icons/tabs_show_03.png",

View File

@@ -41,7 +41,7 @@
</block>
<block v-if="type === 'withdraws'">
<view class="text">
<view class="type nowrap"><text>[{{item.status.status_text}}]</text>{{item.title || '-'}}</view>
<view class="withdraws-type nowrap"><span>{{item.status.status_text}}</span>{{item.title || '-'}}</view>
<view class="remark nowrap" v-if="item.remark != null">{{item.remark || '-'}}</view>
<view class="time nowrap">{{item.created_at}}</view>
</view>
@@ -278,11 +278,11 @@
font-weight: bold;
font-size: 30rpx;
color: #666666;
text{
font-weight: normal;
padding-right: 10rpx;
color: $main-color;
}
// text{
// font-weight: normal;
// padding-right: 10rpx;
// color: $main-color;
// }
span{
font-size: 22rpx;
font-weight: normal;
@@ -298,6 +298,20 @@
background-color: rgba(#d90017, 0.4);
}
}
.withdraws-type{
font-weight: bold;
font-size: 30rpx;
color: #666666;
span{
font-size: 22rpx;
font-weight: normal;
background-color: rgba(#8E6AFF, 0.4);
padding: 2rpx 20rpx;
border-radius: 40rpx;
color: #fff;
margin-right: 20rpx;
}
}
.remark{
font-size: 28rpx;
}

View File

@@ -70,10 +70,11 @@
data() {
return {
tabs : [
{ name: '全部业绩', value: 'all'},
{ name: '当月业绩', value: 'month'},
{ name: '当年业绩', value: 'year'}
],
dayType : 'month',
dayType : 'all',
type : 'self',
total : '0.00',
list : [],
@@ -110,11 +111,11 @@
page: this.page.current
}).then(res => {
let { total, lists } = res;
let atList = lists.page.current == 1 ? [] : this.list
this.list = atList.concat(lists.data)
this.total = total
this.page = lists.page
this.pagesShow = false
let atList = lists.page.current == 1 ? [] : this.list
this.list = atList.concat(lists.data)
this.total = total
this.page = lists.page
this.pagesShow = false
}).catch(err => {
uni.showToast({
title: err.message,

View File

@@ -5,21 +5,25 @@
<view class="block-title">到账银行卡</view>
<view class="bank-input">
<label>开户银行</label>
<picker class="banks-picker" :range="banks" range-key="name" :value="bankVal" @change="bankVal = $event.detail.value">
<picker class="banks-picker" :range="banks" range-key="name" :value="bankVal" @change="bankVal = $event.detail.value" :disabled="isDisabled" >
<view class="banks-text" :class="{'gray': bankVal === 0}">{{banks[bankVal].name}}<uni-icons class="banks-icon" type="bottom" size="18" color="gray"></uni-icons></view>
</picker>
</view>
<view class="bank-input">
<label>银行卡号</label>
<input type="number" placeholder="输入银行卡号" maxlength="20" v-model="bankNo">
<input type="number" placeholder="输入银行卡号" maxlength="20" v-model="bankNo" :disabled="isDisabled">
</view>
<view class="bank-input">
<label>预留手机号</label>
<input type="number" placeholder="输入银行开户预留手机号" maxlength="11" v-model="mobile">
<input type="number" placeholder="输入银行开户预留手机号" maxlength="11" v-model="mobile" :disabled="isDisabled">
</view>
<view class="bank-input">
<label>持卡人姓名</label>
<input type="text" placeholder="输入开户人真实姓名" maxlength="15" v-model="name">
<input type="text" placeholder="输入开户人真实姓名" maxlength="15" disabled v-model="name">
</view>
<view class="bank-input">
<label>身份证号</label>
<input type="idcard" placeholder="输入开户人身份证号" maxlength="18" v-model="idcard" :disabled="isDisabled">
</view>
</view>
<view class="cny">
@@ -44,15 +48,17 @@
export default {
data() {
return {
banks : [],
bankVal : 0,
bankNo : '',
mobile : '',
name : '',
amount : '',
min : 0,
rate : 0,
balance : '0.00'
banks : [],
bankVal : 0,
bankNo : '',
mobile : '',
name : '',
idcard : '',
amount : '',
min : 0,
rate : 0,
balance : '0.00',
isDisabled : false
};
},
@@ -73,12 +79,13 @@
this.min = min
this.balance = balance
this.banks = [ { id: '', name: '请选择开户银行'}, ...banks ]
this.name = bank.name
if(bank.bank_no){
bankIndex = this.banks.findIndex(val => val.name === bank.bank_name)
this.bankNo = bank.bank_no
this.mobile = bank.mobile
this.name = bank.name
this.bankVal = bankIndex >= 0 ? bankIndex : 0
bankIndex = this.banks.findIndex(val => val.name === bank.bank_name)
this.bankNo = bank.bank_no
this.mobile = bank.mobile
this.bankVal = bankIndex >= 0 ? bankIndex : 0
this.isDisabled = true
}
uni.hideLoading()
}).catch(err => {

View File

@@ -1,14 +1,20 @@
<template>
<view class="chat">
<scroll-view class="chat-soll" scroll-y>
<view class="chat-soll">
<view v-for="(item, index) in 50" :key="index">{{item}}滚动的聊天记录</view>
</scroll-view>
</view>
<view class="chat-footer">
<view class="chat-inputs">
<view class="">常用语</view>
<input type="text" placeholder="输入框" confirm-type="send">
<view class="">表情</view>
<view class=""></view>
<view class="chat-icon">
<image src="@/static/im/icon_01.png" mode="widthFix"></image>
</view>
<input class="chat-input" type="text" placeholder="输入框" confirm-type="send">
<view class="chat-icon">
<image src="@/static/im/icon_02.png" mode="widthFix"></image>
</view>
<view class="chat-icon">
<image src="@/static/im/icon_00.png" mode="widthFix"></image>
</view>
</view>
</view>
</view>
@@ -32,7 +38,8 @@
flex-direction: column;
justify-content: space-between;
.chat-soll{
height: 50vh;
flex: 1;
overflow-y: scroll;
}
.chat-footer{
background: white;
@@ -42,6 +49,17 @@
background: #f6f7f9;
height: 80rpx;
border-radius: 40rpx;
.chat-input{
width: calc(100% - 240rpx);
height: 80rpx;
line-height: 80rpx;
}
.chat-icon{
width: 80rpx;
image{
width: 80rpx;
}
}
}
}
}

126
pages/im/msg.vue Normal file
View File

@@ -0,0 +1,126 @@
<template>
<view class="msg">
<!-- 消息为空 -->
<view class="msg-null" v-if="msgs.length <= 0">
<image class="icon" src="@/static/im/icon_03.png" mode="widthFix"></image>
<text>暂无好友消息</text>
</view>
<!-- 消息列表 -->
<view class="msg-list" v-else>
<view class="item-flex" v-for="(item,index) in msgs" :key="index" @click="onMsg(item.id)">
<u-avatar
:text="surname(item.nickname)"
fontSize="18"
size="42"
shape="square"
randomBgColor
></u-avatar>
<view class="item-content">
<view class="nickname nowrap">
<view class="nowrap">{{item.nickname}}</view>
<view class="time">{{item.time}}</view>
</view>
<view class="lastmsg nowrap">{{item.latmsg}}</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
msgs: [
{
nickname: '张静',
cover : require('@/static/imgs/famous_img.png'),
latmsg : '我的业务办理的怎么样了?',
time : '10:00'
}, {
nickname: 'Utest',
cover : "",
latmsg : '我的业务办理的怎么样了?',
time : '10:00'
}, {
nickname: '唐明阳',
cover : "",
latmsg : '我的业务办理的怎么样了?',
time : '10:00'
}
]
};
},
computed: {
surname(){
return (nickname) => {
return nickname.substring(0,1)
}
}
},
methods: {
onMsg(id){
let cartId = id || null
this.$Router.push({
name : 'ImChat',
params : { cartId }
})
},
}
}
</script>
<style lang="scss">
.msg{ }
// 消息空的
.msg-null{
height: 88vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.icon{
width: 188rpx;
opacity: .3;
}
text{
font-size: 32rpx;
color: #888;
}
}
// 消息信息
.item-flex{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding: 20rpx 30rpx;
align-items: center;
.item-content{
width: calc(100% - 42px);
padding-left: 30rpx;
box-sizing: border-box;
.nickname{
position: relative;
padding-right: 230rpx;
font-weight: bold;
line-height: 50rpx;
}
.lastmsg{
line-height: 42rpx;
height: 42rpx;
color: gray;
font-size: 28rpx;
}
.time{
position: absolute;
right: 0;
top: 0;
width: 200rpx;
color: gray;
font-size: 28rpx;
font-weight: normal;
text-align: right;
}
}
}
</style>

View File

@@ -17,7 +17,7 @@
<!-- 未认证或未考试 -->
<block v-if="!isManager">
<view class="block open-interest">
<view class="title">业务员专属权益</view>
<view class="title">实习顾问专属权益</view>
<view class="open-interest-flex">
<view class="open-interest-item" v-for="(item, index) in rightsArr" :key="index" @click="onToast(item)">
<image class="open-interest-icon" :src="item.icon"></image>
@@ -26,7 +26,7 @@
</view>
</view>
<view class="block open-interest">
<view class="title">仅需3步即可成为业务员</view>
<view class="title">仅需3步即可成为实习顾问</view>
<view class="open-interest-block">
<image class="open-interest-icon" :src="isCertification ? require('@/static/icons/work_icon_25.png'): require('@/static/icons/work_icon_24.png')"></image>
<view class="open-interest-text">
@@ -38,7 +38,7 @@
<view class="open-interest-block">
<image class="open-interest-icon" :src="isAnswer ? require('@/static/icons/work_icon_25.png'): require('@/static/icons/work_icon_23.png')"></image>
<view class="open-interest-text">
<view class="open-interest-title">通过业务员考试</view>
<view class="open-interest-title">通过实习顾问考试</view>
<view class="open-interest-submit">通过线上考试即可完成</view>
</view>
<button class="open-interest-btn" size="mini" :disabled="isAnswer" @click="$Router.pushTab({name: 'CollegeTest'})">{{isAnswer ? '已通过': '去考试'}}</button>
@@ -46,8 +46,8 @@
<view class="open-interest-block">
<image class="open-interest-icon" :src="sign.isSign ? require('@/static/icons/work_icon_25.png'): require('@/static/icons/work_icon_27.png')"></image>
<view class="open-interest-text">
<view class="open-interest-title">业务员签约</view>
<view class="open-interest-submit">完成业务员在线签约</view>
<view class="open-interest-title">实习顾问签约</view>
<view class="open-interest-submit">完成实习顾问在线签约</view>
</view>
<button class="open-interest-btn" size="mini" :disabled="sign.isSign" @click="onSign">{{sign.isSign ? '已签约': '去签约'}}</button>
</view>
@@ -68,22 +68,22 @@
<view class="block">
<view class="block-title">统计数据</view>
<view class="total-flex">
<view class="total-item">
<view class="total-item" @click="onNav('Orders', { 'type': 2 })">
<image class="icon" src="@/static/icons/work_icon_00.png"></image>
<view class="title">预约咨询单</view>
<view class="number">{{orderCount.init_payed}}<text></text></view>
</view>
<view class="total-item">
<view class="total-item" @click="onNav('Orders', { 'type': 4 })">
<image class="icon" src="@/static/icons/work_icon_01.png"></image>
<view class="title">已缴费</view>
<view class="number">{{orderCount.service_payed}}<text></text></view>
</view>
<view class="total-item">
<view class="total-item" @click="onNav('Orders', { 'type': 10 })">
<image class="icon" src="@/static/icons/work_icon_02.png"></image>
<view class="title">办理完成</view>
<view class="number">{{orderCount.b_complete}}<text></text></view>
</view>
<view class="total-item">
<view class="total-item" @click="onNav('RefundOrder')">
<image class="icon" src="@/static/icons/work_icon_03.png"></image>
<view class="title">已退款</view>
<view class="number">{{orderCount.refund}}<text></text></view>
@@ -93,11 +93,12 @@
<view class="title">完成结算</view>
<view class="number">{{orderCount.settlement_count}}<text></text></view>
</view>
<view class="total-item">
<view class="total-item" @click="onNav('AccountBonus')">
<image class="icon" src="@/static/icons/work_icon_05.png"></image>
<view class="title">结算金额</view>
<view class="number">{{orderCount.settlement_price}}<text></text></view>
</view>
</view>
</view>
<view class="block">
@@ -150,7 +151,7 @@
</view>
<view class="tool-flex-item" @click="onNav('Orders', { 'type': 10 })">
<image class="icon" src="@/static/icons/work_icon_15.png"></image>
<view class="number" v-if="orderCount.b_complete > 0">{{orderCount.b_complete}}</view>
<!-- <view class="number" v-if="orderCount.b_complete > 0">{{orderCount.b_complete}}</view> -->
<view class="text">办理完成</view>
</view>
</view>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
static/im/icon_03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB