main
liudan 2 years ago
parent 9b1995a347
commit 00ae9f1e16
  1. 20
      api/modules/mine.js
  2. 46
      manifest.json
  3. 37
      pages.json
  4. 277
      pages/mine.vue
  5. 42
      pages/service.vue
  6. 26
      pages/technician.vue
  7. BIN
      static/flag.png
  8. BIN
      static/j1.png
  9. BIN
      static/j11.png
  10. BIN
      static/j2.png
  11. BIN
      static/j22.png
  12. BIN
      static/j3.png
  13. BIN
      static/j33.png
  14. BIN
      static/j44.png
  15. BIN
      static/logo-120.png
  16. BIN
      static/logo-180.png
  17. BIN
      static/logo-40.png
  18. BIN
      static/logo-58.png
  19. BIN
      static/logo-60.png
  20. BIN
      static/logo-80.png
  21. BIN
      static/logo-87.png
  22. BIN
      static/logo.png
  23. BIN
      static/logoxx.png
  24. BIN
      static/zuanshi.png
  25. 16
      store/modules/service.js
  26. 16
      technician/pages/apply.vue
  27. 15
      technician/pages/income/car-fee-record.vue
  28. 12
      technician/pages/income/index.vue
  29. 12
      technician/pages/order/list.vue
  30. 34
      technician/pages/time-manage.vue
  31. 4
      unpackage/dist/dev/app-plus/app-config-service.js
  32. 13150
      unpackage/dist/dev/app-plus/app-service.js
  33. 16231
      unpackage/dist/dev/app-plus/app-view.js
  34. 2
      unpackage/dist/dev/app-plus/manifest.json
  35. 2
      unpackage/dist/dev/app-plus/view.umd.min.js
  36. 52
      user/pages/cash-out.vue
  37. 118
      user/pages/chapingList/chapingList.vue
  38. 99
      user/pages/chapingList/shensu.vue
  39. 99
      user/pages/complainList/complain.vue
  40. 115
      user/pages/complainList/complainList.vue
  41. 12
      user/pages/distribution/apply.vue
  42. 31
      user/pages/gonggao/item.vue
  43. 56
      user/pages/gonggao/list.vue
  44. 25
      user/pages/setting.vue
  45. 18
      user/pages/stored/list.vue
  46. 6
      user/pages/stored/record.vue
  47. 150
      user/pages/traffic/index.vue
  48. 5
      utils/req.js
  49. BIN
      xxdj/xixidaojia.keystore
  50. 3
      xxdj/新建 文本文档.txt

@ -118,4 +118,24 @@ export default {
getIsBus(param) {
return req.get("/massage/app/IndexOrder/getIsBus", param)
},
//公告
getAnnouncementList(param){
return req.get("/index/announcementList", param)
},
//公告详情
getAnnouncementDetails(param){
return req.get("/index/announcementInfo", param)
},
//投诉管理
getComplainList(param){
return req.post("/massage/app/IndexComplain/complainList", param)
},
//车费管理
trafficList(param){
return req.post("/massage/app/IndexCoach/coachSetTime", param)
},
//差评管理
chapingList(param){
return req.post("/massage/app/negativeCommentList", param)
},
}

@ -149,7 +149,6 @@
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_SURFACE_FLINGER\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
@ -157,7 +156,6 @@
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
@ -171,33 +169,33 @@
},
"icons" : {
"android" : {
"hdpi" : "static/logo.png",
"xhdpi" : "static/logo.png",
"xxhdpi" : "static/logo.png",
"xxxhdpi" : "static/logo.png"
"hdpi" : "unpackage/res/icons/72x72.png",
"xhdpi" : "unpackage/res/icons/96x96.png",
"xxhdpi" : "unpackage/res/icons/144x144.png",
"xxxhdpi" : "unpackage/res/icons/192x192.png"
},
"ios" : {
"appstore" : "static/logo.png",
"appstore" : "unpackage/res/icons/1024x1024.png",
"iphone" : {
"app@2x" : "static/logo-120.png",
"app@3x" : "static/logo-180.png",
"spotlight@2x" : "static/logo-80.png",
"spotlight@3x" : "static/logo-120.png",
"settings@2x" : "static/logo-58.png",
"settings@3x" : "static/logo-87.png",
"notification@2x" : "static/logo-40.png",
"notification@3x" : "static/logo-60.png"
"app@2x" : "unpackage/res/icons/120x120.png",
"app@3x" : "unpackage/res/icons/180x180.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png",
"spotlight@3x" : "unpackage/res/icons/120x120.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"settings@3x" : "unpackage/res/icons/87x87.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"notification@3x" : "unpackage/res/icons/60x60.png"
},
"ipad" : {
"app" : "",
"app@2x" : "",
"proapp@2x" : "",
"spotlight" : "",
"spotlight@2x" : "",
"settings" : "",
"settings@2x" : "",
"notification" : "",
"notification@2x" : ""
"app" : "unpackage/res/icons/76x76.png",
"app@2x" : "unpackage/res/icons/152x152.png",
"proapp@2x" : "unpackage/res/icons/167x167.png",
"spotlight" : "unpackage/res/icons/40x40.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png",
"settings" : "unpackage/res/icons/29x29.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"notification" : "unpackage/res/icons/20x20.png",
"notification@2x" : "unpackage/res/icons/40x40.png"
}
}
},

@ -129,6 +129,13 @@
"enablePullDownRefresh": false
}
},
{
"path": "pages/gonggao/item",
"style": {
"navigationBarTitleText": "公告详情",
"enablePullDownRefresh": false
}
},
{
"path": "pages/address/edit",
"style": {
@ -309,6 +316,36 @@
"style": {
"navigationBarTitleText": "设置"
}
},
{
"path": "pages/complainList/complainList",
"style": {
"navigationBarTitleText": "投诉管理"
}
},
{
"path": "pages/complainList/complain",
"style": {
"navigationBarTitleText": "投诉"
}
},
{
"path": "pages/chapingList/chapingList",
"style": {
"navigationBarTitleText": "差评申诉"
}
},
{
"path": "pages/traffic/index",
"style": {
"navigationBarTitleText": "车费管理"
}
},
{
"path": "pages/chapingList/shensu",
"style": {
"navigationBarTitleText": "申诉"
}
}
]
},

@ -4,7 +4,7 @@
<!-- <image mode="aspectFill" lazy-load class="mine-bg abs" :src="configInfo[image_type[userPageType]]"></image> -->
<view class="usercontent">
<!-- :class="[ { 'flex-warp': userInfo.nickName }, { 'flex-center': !userInfo.nickName } ]" -->
<view class="myContent">
<view class="myContent" v-if="userPageType == 1">
<view class="mine">
我的
<view @tap.stop="$util.goUrl({url:`/user/pages/setting`})" class="notice-item ml-md">
@ -57,7 +57,7 @@
<view class="mt-md" style="height: 72rpx" v-else></view> -->
</view>
</view>
<auth :needAuth="userInfo && (!userInfo.phone || !userInfo.nickName)" :must="true"
<auth :needAuth="userInfo && (!userInfo.phone || !userInfo.nickName)" :must="true" v-if="userPageType == 1"
:type="!userInfo.phone ? 'phone' : 'userInfo'" @go="$util.goUrl({ url: `/user/pages/stored/list` })"
>
<!-- <view
@ -76,7 +76,53 @@
<image src="../static/arrow.png" mode=""></image>
</view>
</auth>
<view class="" v-if="userPageType == 2">
<view class="jishicontent">
<view class="jishiItem" @click="timeManage">
<image src="../static/j1.png" mode=""></image>
<view class="text">
时间管理
</view>
</view>
<view class="jishiItem" @tap.stop="$util.goUrl({ url: `/technician/pages/income/car-fee-record` })">
<image src="../static/j2.png" mode=""></image>
<view class="text">
提现记录
</view>
</view>
<view class="jishiItem" @tap.stop="toHelp">
<image src="../static/j3.png" mode=""></image>
<view class="text">
一键报警
</view>
</view>
</view>
<view class="jishiInfo">
<image mode="aspectFill" class="avatar radius"
:src="mineInfo.avatarUrl || `/static/mine/default_user.png`">
</image>
<view class="jishiInfoRight">
<view class="jishiname">
<text>{{ userInfo.nickName || '用户昵称' }}</text>
<view class="personalInfo" @tap.stop="$util.goUrl({ url: `/technician/pages/apply?is_edit=1` })">
<text style="margin-right:20rpx">个人信息</text>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="middlejishi">
<image src="../static/zuanshi.png" mode=""></image>
<text>{{ mineInfo.coach_status === 2 ? '技师' : '普通用户' }}</text>
</view>
<view class="addressInfo" @tap.stop="toChooseLocation">
<u-icon name="map" color="#08BF77" size="20"></u-icon>
<view style="color:#08BF77;margin:0 15rpx;white-space: nowrap;">当前</view>
<text>{{ coach_info.address?coach_info.address:'定位失败' }}</text>
<!-- <text>{{location&&location.province ?location.province : isLoad ? '定位失败' : '定位中...'}}</text> -->
</view>
</view>
</view>
</view>
</view>
<!-- 用户 -->
<!-- coach_status 1申请中2已通过3已取消授权4已拒绝 -->
@ -126,7 +172,7 @@
</view>
</view> -->
<!-- <view class="mine-menu-list box-shadow fill-base radius-16">
<view class="mine-menu-list box-shadow fill-base radius-16">
<view class="menu-title flex-between pl-lg pr-md b-1px-b">
<view class="f-paragraph c-title text-bold">分享赚钱</view>
</view>
@ -143,7 +189,7 @@
</view>
</block>
</view>
</view> -->
</view>
<view class="mine-tool-list fill-base radius-16">
<block v-for="(item, index) in toolList" :key="index">
@ -215,47 +261,51 @@
</block>
<!-- 技师 -->
<block v-if="userPageType == 2">
<view style="margin-top:20rpx;" class=" mine-count-list rel box-shadow ml-lg mr-lg fill-base f-caption c-caption radius-16 ">
<view style="margin-top:180rpx;" class=" mine-count-list rel box-shadow ml-lg mr-lg f-caption c-caption radius-16 ">
<view class="cancel-auth iconfont icon-biaoqian c-caption flex-center abs"
v-if="mineInfo.coach_status == 3">
<view class="text-bold f-icontext abs">取消授权</view>
</view>
<view @tap.stop="$util.goUrl({ url: `/technician/pages/income/index` })"
class="flex-between pd-lg b-1px-b">
<view>
<view>服务收入()</view>
<view class="f-md-title c-title">{{ coach_info.service_price || 0 }}</view>
<view class="section">
<view @tap.stop="$util.goUrl({ url: `/technician/pages/income/index` })"
class="pd-lg b-1px-b sectionItem">
<view>
<view class="sectionTitle">服务收入()</view>
<view class="sectionText">{{ coach_info.service_price || 0 }}</view>
</view>
<!-- :style="{ color: primaryColor, border: `1rpx solid ${primaryColor}` }" -->
<view class="cash-btn flex-center f-paragraph radius">去提现</view>
</view>
<view class="cash-btn flex-center f-paragraph radius"
:style="{ color: primaryColor, border: `1rpx solid ${primaryColor}` }">去提现</view>
</view>
<view @tap.stop=" $util.goUrl({ url: `/user/pages/cash-out?type=carfee` }) "
class="flex-between pd-lg b-1px-b">
<view>
<view>车费()</view>
<view class="f-md-title c-title">{{ coach_info.car_price || 0 }}</view>
<view @tap.stop=" $util.goUrl({ url: `/user/pages/cash-out?type=carfee` }) "
class="pd-lg b-1px-b sectionItem" style="margin-left:22rpx;">
<view>
<view class="sectionTitle">车费()</view>
<view class="sectionText">{{ coach_info.car_price || 0 }}</view>
</view>
<view class="cash-btn flex-center f-paragraph radius">去提现</view>
</view>
<view class="cash-btn flex-center f-paragraph radius"
:style="{ color: primaryColor, border: `1rpx solid ${primaryColor}` }">去提现</view>
</view>
<view @tap.stop=" $util.goUrl({ url: `/technician/pages/income/car-fee-record` }) "
<!-- <view @tap.stop=" $util.goUrl({ url: `/technician/pages/income/car-fee-record` }) "
class="flex-between pt-md pb-md pr-lg f-paragraph">
<view></view>
<view class="flex-y-center">提现记录<i class="iconfont icon-right"></i></view>
</view>
</view> -->
</view>
<view class="mine-menu-list box-shadow fill-base radius-16">
<view class="menu-title flex-between pl-lg pr-sm b-1px-b">
<view class="f-paragraph c-title text-bold">我的订单</view>
<view class="menu-title pr-sm b-1px-b" style="display:flex;align-items: center;">
<image src="../static/flag.png" mode="" style="width:12rpx;height:24rpx;"></image>
<view style="font-size: 30rpx;font-weight: 500;color: #333333;margin-left:18rpx">我的订单</view>
</view>
<view class="flex-warp pt-lg pb-lg">
<view @tap.stop="toJump('orderList2', index)"
class="item-child flex-center flex-column f-caption c-paragraph" style="width: 33.3%"
class="item-child flex-center flex-column f-caption c-paragraph" style="width: 25%"
v-for="(item, index) in orderList2" :key="index">
<view class="item-img rel flex-center radius">
<view class="item-img radius abs" :style="{background:primaryColor}"></view>
<i class="iconfont c-title" :class="item.icon" :style="{color:primaryColor}"></i>
<image :src="item.icon" mode="" style="width:67rpx;height:62rpx;"></image>
<!-- <i class="iconfont c-title" :class="item.icon" :style="{color:primaryColor}"></i> -->
</view>
<view class="mt-sm">{{ item.text }}</view>
</view>
@ -263,9 +313,13 @@
</view>
<view class="mine-tool-list box-shadow fill-base radius-16">
<view @tap.stop="toJump('toolList2', index)" class="list-item pt-lg pb-lg ml-lg mr-lg flex-center"
:class="[{ 'b-1px-t': index != 0 }]" v-for="(item, index) in toolList2" :key="index">
<i class="iconfont" :class="item.icon" :style="{color:primaryColor}"></i>
<view class="menu-title pr-sm b-1px-b" style="display:flex;align-items: center;height: 90rpx;">
<image src="../static/flag.png" mode="" style="width:12rpx;height:24rpx;"></image>
<view style="font-size: 30rpx;font-weight: 500;color: #333333;margin-left:18rpx">常用工具</view>
</view>
<view @tap.stop="toJump('toolList2', index)" class="list-item pt-lg pb-lg mr-lg flex-center"
:class="[{ 'b-1px-t': index != 0 }]" v-for="(item, index) in toolList2" :key="index" style="margin-left:10rpx;">
<!-- <i class="iconfont" :class="item.icon" :style="{color:primaryColor}"></i> -->
<view class="flex-1 flex-between ml-md">
<view class="f-paragraph c-title">{{ item.text }}</view>
<block v-if="item.url == 'change'">
@ -278,7 +332,7 @@
</block>
<view @tap.stop="toHelp" class="fix help-img-info f-caption c-base"
<!-- <view @tap.stop="toHelp" class="fix help-img-info f-caption c-base"
:style="{bottom:`${configInfo.tabbarHeight + 15}px`}" v-if="mineInfo.coach_status == 2">
<view class="bg-img radius abs" :style="{background:primaryColor}">
</view>
@ -289,7 +343,7 @@
</view>
</view>
</view>
-->
<view :class="[{'space-max-footer':mineInfo.coach_status == 2},{'space-footer':mineInfo.coach_status != 2}]">
</view>
@ -335,17 +389,21 @@
url: '/user/pages/refund/list'
}],
orderList2: [{
icon: 'icondaijiedan',
icon: '../static/j11.png',
text: '待接单',
url: '/technician/pages/order/list'
}, {
icon: 'iconyijiedan',
icon: '../static/j22.png',
text: '待服务',
url: '/technician/pages/order/list?tab=1'
}, {
icon: 'iconfuwuzhong',
icon: '../static/j33.png',
text: '服务中',
url: '/technician/pages/order/list?tab=2'
},{
icon: '../static/j44.png',
text: '已完成',
url: '/technician/pages/order/list?tab=3'
}],
//
distributionList: [{
@ -396,7 +454,7 @@
{
icon: '../static/tousu.png',
text: '投诉管理',
url: ''
url: '/user/pages/complainList/complainList'
},
{
icon: '../static/yaoq.png',
@ -405,15 +463,19 @@
},
],
toolList2: [{
icon: 'iconshenqingjishi',
text: '编辑资料',
url: '/technician/pages/apply?is_edit=1'
// icon: 'iconshenqingjishi',
text: '合同管理',
// url: '/technician/pages/apply?is_edit=1'
}, {
icon: 'iconshijianguanli',
text: '时间管理',
url: '/technician/pages/time-manage'
// icon: 'iconshijianguanli',
text: '差评申诉',
url: '/user/pages/chapingList/chapingList'
},{
// icon: 'iconshijianguanli',
text: '车费管理',
url: '/user/pages/traffic/index'
}, {
icon: 'iconqiehuanjishiduan',
// icon: 'iconqiehuanjishiduan',
text: '切换用户端',
url: 'change'
}],
@ -466,6 +528,11 @@
methods: {
...mapActions(['getConfigInfo', 'getMineInfo', 'getAuthUserProfile', 'updateCommonOptions', 'toPlayAudio']),
...mapMutations(['updateUserItem']),
timeManage(){
this.$util.goUrl({
url: `/technician/pages/time-manage`
})
},
async initIndex(refresh = false) {
// #ifdef H5
// if (!refresh && this.$jweixin.isWechat()) {
@ -901,6 +968,29 @@
}
.mine-count-list {
.section{
display:flex;
}
.sectionItem{
flex:1;
background: #FFFFFF;
box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(53,107,194,0.06);
border-radius: 30rpx;
text-align: center;
.sectionTitle{
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #666666;
}
.sectionText{
font-size: 36rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
margin:20rpx 0;
}
}
.cancel-auth {
width: 110rpx;
height: 100rpx;
@ -915,9 +1005,17 @@
}
.cash-btn {
width: 138rpx;
height: 52rpx;
transform: rotateZ(360deg);
width: 200rpx;
height: 66rpx;
line-height: 66rpx;
background: #08BF77;
border-radius: 33rpx;
text-align: center;
margin:0 auto;
font-size: 30rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #FFFFFF;
}
.icon-right {
@ -1042,4 +1140,91 @@
}
}
.jishicontent{
display:flex;
justify-content: space-around;
align-items: center;
padding-top:330rpx;
.jishiItem{
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
image{
width:50rpx;
height:50rpx;
}
.text{
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
margin-top:30rpx;
}
}
}
.jishiInfo{
display:flex;
align-items: center;
margin:0 23rpx;
margin-top:50rpx;
box-shadow: 0px 4rpx 10rpx 0px rgba(53,107,194,0.06);
border-radius: 30rpx;
background-color: #ffffff;
position:relative;
z-index:99;
padding:40rpx 30rpx;
.avatar{
width:140rpx;
height:140rpx;
}
.jishiInfoRight{
margin-left:25rpx;
flex:1;
.jishiname{
font-size: 36rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
display:flex;
align-items: center;
justify-content: space-between;
.personalInfo{
display:flex;
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #999999;
}
}
.middlejishi{
display:flex;
margin-top:21rpx;
image{
width:63rpx;
height:47rpx;
}
&>text{
background: #FBE3D1;
border-radius: 23rpx;
width: 190rpx;
height: 46rpx;
display:inline-block;
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #FF762D;
text-align: center;
margin-left: -48rpx;
}
}
.addressInfo{
display:flex;
// white-space: nowrap;
align-items: center;
font-size: 24rpx;
margin-top:24rpx;
}
}
}
</style>

@ -25,7 +25,7 @@
:dotBottom="30" v-if="banner.length > 0">
</banner>
<view class="tab">
<view class="tabItem" v-for="(item,index) in gridList" :key="index">
<view class="tabItem" v-for="(item,index) in gridList" :key="index" @click="getItemHandle(item)">
<image :src="item.img" mode=""></image>
<view class="text">{{item.name}}</view>
</view>
@ -37,9 +37,10 @@
</view>
<u-scroll-list :indicator="false">
<view class="recommendItem" v-for="(item, index) in picList" :key="index">
<image :src="item.img"></image>
<view class="flag new" v-if="item.new">新人</view>
<view class="flag people" v-if="item.people">人气</view>
<image :src="item.work_img"></image>
<view class="flag new" v-if="item.coach_type_status==3">新人</view>
<view class="flag people" v-if="item.coach_type_status==2">推荐</view>
<view class="flag people" v-if="item.coach_type_status==1">销冠</view>
</view>
</u-scroll-list>
@ -170,13 +171,13 @@
{img:'../static/t4.png',name:'技师招募'},
],
picList:[
{img:'../static/i.png',new:1,people:0},
{img:'../static/i.png',new:1,people:0},
{img:'../static/i.png',new:1,people:0},
{img:'../static/i.png',new:1,people:0},
{img:'../static/i.png',new:0,people:1},
{img:'../static/i.png',new:0,people:0},
{img:'../static/i.png',new:0,people:0},
// {img:'../static/i.png',new:1,people:0},
// {img:'../static/i.png',new:1,people:0},
// {img:'../static/i.png',new:1,people:0},
// {img:'../static/i.png',new:1,people:0},
// {img:'../static/i.png',new:0,people:1},
// {img:'../static/i.png',new:0,people:0},
// {img:'../static/i.png',new:0,people:0},
]
}
},
@ -195,6 +196,7 @@
userInfo: state => state.user.userInfo,
}),
async onLoad(options) {
this.getRecommend()
this.$util.showLoading()
options = await this.updateCommonOptions(options)
this.options = options
@ -258,6 +260,24 @@
bg: this.primaryColor
})
},
async getRecommend(){
let res = await this.$api.service.serviceCoachList({
sort_field:'distance',
sort_order:'asc',
limit:5
})
console.log(res,"ooo")
this.picList = res.data
},
getItemHandle(item){
console.log(item,)
if(item.name=="领券中心"){
this.$util.goUrl({
url: '/user/pages/coupon/list'
})
}
},
initRefresh() {
this.isLoadBanner = false
this.initIndex(true)

@ -94,7 +94,7 @@
<view class="flex-between mendianInfo">
<view class="mendian">
<image src="../static/mendian.png" mode=""></image>
<text>某某某养生所</text>
<text>养生所</text>
</view>
<view class="flex-y-center f-icontext">
<!-- <view class="flex-y-center"><i class="iconfont iconyduixingxingshixin icon-font-color"></i>
@ -421,7 +421,10 @@
key: 'param',
val: param
})
this.getList()
setTimeout(()=>{
this.getList()
},1000)
},
//
async toChooseLocation(e) {
@ -530,12 +533,13 @@
list: oldList,
param,
tabList,
tabList1,
activeIndex,
cityList,
cityIndex,
cityId: city_id
} = this
console.log(activeIndex,tabList1)
if (refresh) {
await this.getCityList({
lng,
@ -546,7 +550,7 @@
let {
id: type
} = tabList[activeIndex]
console.log(type)
let ind = cityList.findIndex(item => {
return item.id == city_id
})
@ -574,7 +578,8 @@
this.loading = false
this.$util.hideAll()
},
handerTabChange(index) {
async handerTabChange(index) {
this.updateTechnicianItem({
key: 'activeIndex',
val: index
@ -584,7 +589,13 @@
uni.pageScrollTo({
scrollTop: 0
})
this.getList(1)
console.log(this.param,index)
let param = Object.assign({}, this.param, {
sort_field:index==2?'distance':index==1?'order_num':index==3?'star':''
})
await this.getServiceCoachList(param)
this.$util.hideAll()
// this.getList(1)
},
toPreviewImage(index, key = 0) {
let {
@ -753,6 +764,9 @@
<style lang="scss" scoped>
/deep/.fixed-top{
z-index:997 !important;
}
.pages-technician {
min-height: calc(100vh);
background-color: #F4F6F8;

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

@ -4,20 +4,20 @@ export default {
pageActive: false,
activeIndex: 0,
tabList: [{
title: '全部',
title: '综合推荐',
sort: 'top desc',
}, {
title: '价格',
sort: 'price',
}, {
title: '单量',
sort: 'total_sale',
sign: 0,
is_sign: 1,
}, {
title: '销量',
sort: 'total_sale',
title: '距离',
sort: 'price',
sign: 0,
is_sign: 1,
}, {
title: '好评度',
},{
title: '评分',
sort: 'star',
sign: 0,
is_sign: 1,

@ -29,10 +29,15 @@
<input v-model="form.mobile" type="text" class="item-input flex-1"
:placeholder="rule[1].errorMsg" />
</view>
<view class="flex-between pl-lg pr-lg b-1px-b">
<view class="item-text">店铺名称</view>
<input v-model="form.store_name" type="text" class="item-input flex-1"
:placeholder="rule[2].errorMsg" />
</view>
<view class="flex-between pl-lg pr-lg b-1px-b">
<view class="item-text">从业年份</view>
<input v-model="form.work_time" type="number" class="item-input flex-1"
:placeholder="rule[2].errorMsg" />
:placeholder="rule[3].errorMsg" />
</view>
<view class="flex-between pl-lg pr-lg b-1px-b">
<view class="item-text">意向工作城市</view>
@ -70,7 +75,7 @@
<view class="flex-between pl-lg pr-lg">
<view class="item-text">身份证号</view>
<input v-model="form.id_code" type="text" class="item-input flex-1"
:placeholder="rule[6].errorMsg" />
:placeholder="rule[7].errorMsg" />
</view>
</view>
<view class="fill-base mt-md radius-16">
@ -212,6 +217,7 @@
id: 0,
coach_name: '', //
mobile: '', //
store_name:'',//
sex: 0, //
work_time: '', //
// city: '', //
@ -239,7 +245,11 @@
name: "mobile",
checkType: "isMobile",
errorMsg: "输入手机号"
}, {
},{
name: "store_name",
checkType: "isNotNull",
errorMsg: "输入店铺名称"
}, {
name: "work_time",
checkType: "isNotNull",
errorMsg: "请输入从业年份,例如:5"

@ -1,6 +1,7 @@
<template>
<view class="master-income-record" v-if="isLoad">
<view class="mine-menu-list c-base" :style="{background:primaryColor}">
<!-- :style="{background:primaryColor}" -->
<view class="mine-menu-list c-base" style="background: linear-gradient(138deg, #0CC86E, #03B385);">
<view class="space-lg"></view>
<view class="space-lg"></view>
<view class="flex-center f-caption mt-sm mb-sm">已累计提现金额()</view>
@ -105,12 +106,12 @@
...mapMutations([]),
async initIndex(refresh = false) {
// #ifdef H5
if (!refresh && this.$jweixin.isWechat()) {
await this.$jweixin.initJssdk();
this.$jweixin.wxReady(() => {
this.$jweixin.hideOptionMenu()
})
}
// if (!refresh && this.$jweixin.isWechat()) {
// await this.$jweixin.initJssdk();
// this.$jweixin.wxReady(() => {
// this.$jweixin.hideOptionMenu()
// })
// }
// #endif
await this.getList()
this.$util.setNavigationBarColor({

@ -77,12 +77,12 @@
...mapMutations([]),
async initIndex(refresh = false) {
// #ifdef H5
if (!refresh && this.$jweixin.isWechat()) {
await this.$jweixin.initJssdk();
this.$jweixin.wxReady(() => {
this.$jweixin.hideOptionMenu()
})
}
// if (!refresh && this.$jweixin.isWechat()) {
// await this.$jweixin.initJssdk();
// this.$jweixin.wxReady(() => {
// this.$jweixin.hideOptionMenu()
// })
// }
// #endif
this.$util.showLoading()
this.detail = await this.$api.technician.capCashInfo()

@ -175,12 +175,12 @@
...mapMutations(['']),
async initIndex(refresh = false) {
// #ifdef H5
if (!refresh && this.$jweixin.isWechat()) {
await this.$jweixin.initJssdk();
this.$jweixin.wxReady(() => {
this.$jweixin.hideOptionMenu()
})
}
// if (!refresh && this.$jweixin.isWechat()) {
// await this.$jweixin.initJssdk();
// this.$jweixin.wxReady(() => {
// this.$jweixin.hideOptionMenu()
// })
// }
// #endif
if (!this.configInfo.id || refresh) {
await this.getConfigInfo()

@ -1,31 +1,32 @@
<template>
<view class="technician-time-manage">
<view class="fill-base pd-lg flex-between">
<view class="fill-base pd-lg flex-between timemanage">
<view class="flex-1 flex-y-baseline f-title c-title">是否接单<view class="f-paragraph ml-sm"
:style="{color:form.is_work==1?primaryColor:'#999'}">
{{form.is_work==1?'接单':'休息'}}
</view>
</view>
<view @tap.stop="toChangeItem">
{{form.is_work==1?'接单':'休息'}}
<i class="iconfont icon-switch c-caption ml-sm" :class="[{'icon-switch-on':form.is_work==1}]"
:style="{ color: form.is_work==1 ? primaryColor : ''}"></i>
</view>
</view>
<view class="fill-base mt-md b-1px-b">
<view class=" mt-md b-1px-b">
<view class="f-title c-title pd-lg">选择接单时间</view>
</view>
<view class="flex-center fill-base f-paragraph c-desc pt-lg pb-lg">
<view @tap.stop="toShowTime('start_time')" class="item-time flex-center flex-column">
<view>开始时间</view>
<view class="mt-sm" :style="{color:form.start_time ? primaryColor : '#999'}">
<view class="f-paragraph c-desc pt-lg pb-lg timemanage">
<view @tap.stop="toShowTime('start_time')" class="item-time">
<view>选择开始时间</view>
<view :style="{color:form.start_time ? primaryColor : '#999'}">
{{form.start_time || '选择时间'}}
</view>
</view>
<view @tap.stop="toShowTime('end_time')" class="item-time flex-center flex-column b-1px-l">
<view>结束时间</view>
<view class="mt-sm" :style="{color:form.end_time ? primaryColor : '#999'}">
<view @tap.stop="toShowTime('end_time')" class="item-time b-1px-l" style="margin-top:20rpx;">
<view>选择结束时间</view>
<view :style="{color:form.end_time ? primaryColor : '#999'}">
{{is_next_day?'次日':''}}{{form.end_time || '选择时间'}}
</view>
</view>
@ -170,10 +171,21 @@
.iconfont {
font-size: 80rpx;
line-height: 34rpx;
position: relative;
top:20rpx;
}
.item-time {
width: 50%;
// width: 50%;
display: flex;
justify-content: space-between;
padding:40rpx 30rpx;
border-radius: 30rpx;
background-color: #ffffff;
}
}
.timemanage{
border-radius: 30rpx;
margin:20rpx 24rpx;
}
</style>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,35 +1,40 @@
<template>
<view class="technician-income-cash-out" v-if="isLoad">
<view class="mt-md ml-lg mr-lg f-paragraph fill-base radius-16" style="overflow: hidden;">
<view class="fill-space pd-lg b-1px-b">
<view class="flex-between pt-md pb-md">
<view class="f-title c-title text-bold">备注</view>
<view class="mt-md ml-lg mr-lg f-paragraph fill-base section" style="overflow: hidden;">
<view class="fill-space b-1px-b" style="padding:40rpx 30rpx">
<view class="flex-between">
<view style="font-size: 30rpx;font-family: PingFang SC;font-weight: 500;color: #333333;">备注</view>
<input v-model="text" class="flex-1 f-paragraph ml-md" type="text" placeholder="请输入到账信息" />
</view>
</view>
<view class="pd-lg">
<view class="f-title c-title text-bold">提现金额</view>
<view class="flex-y-center pt-lg pb-md b-1px-b">
<view style="font-size: 30rpx;font-weight: 500;color: #999999;">提现金额</view>
<view class="flex-y-center b-1px-b" style="padding:50rpx 0">
<view class="text-bold">¥</view>
<input v-on:input="checkInput($event,'apply_price')" v-model="apply_price"
class="flex-1 f-paragraph ml-sm" type="digit" placeholder="请输入提现金额" />
</view>
<view @tap.stop="withAll" class="flex-y-center f-caption c-caption pt-md">可提现余额{{cash}}
<view class="ml-md c-warning">全部提现
<view @tap.stop="withAll" class="f-caption c-caption pt-md" style="display:flex;justify-content: space-between;">
<view class="">
<text>可提现余额</text>
<text style="font-size:30rpx;color:#08BF77">{{cash}}</text>
</view>
<view style="font-size: 30rpx;font-weight: 500;color: #08BF77;">全部提现</view>
</view>
<view class="flex-y-center f-caption c-caption pt-sm">最低提现额度<view class="ml-md c-warning">
{{configInfo.cash_mini || 0}}
<text style="font-size:30rpx;color:#08BF77">{{configInfo.cash_mini || 0}}</text>
</view>
</view>
<view class="space-lg"></view>
<view class="space-lg"></view>
<view @tap.stop="submit" class="cash-out-btn flex-center f-title c-base radius-16"
:style="{background:primaryColor}">提现</view>
<!-- <view class="flex-center f-caption c-caption mt-md" v-if="options.type == 'technician'">
每笔订单收取{{balance}}%手续费</view> -->
</view>
</view>
<view @tap.stop="submit" class="cash-out-btn flex-center f-title c-base radius-16"
:style="{background:primaryColor}">确认提现</view>
</view>
</template>
@ -69,12 +74,12 @@
...mapActions(['getConfigInfo']),
async initIndex(refresh = false) {
// #ifdef H5
if (!refresh && this.$jweixin.isWechat()) {
await this.$jweixin.initJssdk();
this.$jweixin.wxReady(() => {
this.$jweixin.hideOptionMenu()
})
}
// if (!refresh && this.$jweixin.isWechat()) {
// await this.$jweixin.initJssdk();
// this.$jweixin.wxReady(() => {
// this.$jweixin.hideOptionMenu()
// })
// }
// #endif
if (!this.configInfo.id) {
await this.getConfigInfo()
@ -203,9 +208,18 @@
<style lang="scss">
.technician-income-cash-out {
.cash-out-btn {
width: 622rpx;
height: 88rpx;
// width: 622rpx;
// height: 88rpx;
width:84%;
text-align: center;
padding:31rpx 0;
margin: 0 auto;
margin-top:60rpx;
background: #08BF77;
border-radius: 45px;
}
}
.section{
border-radius:30rpx;
}
</style>

@ -0,0 +1,118 @@
<template>
<view class="">
<u-tabs :list="tablist" @click="click"
:activeStyle="{ color: '#08BF77' }"
:scrollable="false" lineColor="#08BF77"></u-tabs>
<view class="complainContent">
<view class="complain">
<view class="orderNum">
<text>服务单号23090399233</text>
<text class="status">处理中</text>
</view>
<view class="name">
<view class="">
<view class="">
服务项目泰式按摩服务
</view>
<view class="time">
2023-03-22 13:35:32
</view>
</view>
<view class="btn" @click="goshensu">
申诉
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
list:[],
total:0,
tablist: [
{name: '全部'}, {name: '处理中'},{name: '已处理'},{name: '已关闭'},]
}
},
methods:{
async getComplainList(){
let res = await this.$api.mine.getComplainList({
status:0
});
this.list = res.list;
this.total = res.total;
},
click(item){
console.log(item,"0000")
},
goshensu(){
this.$util.goUrl({url:`/user/pages/chapingList/shensu`})
}
},
onLoad() {
this.getComplainList()
}
}
</script>
<style lang="scss" scoped>
.complainContent{
margin-top:24rpx;
.complain{
margin:0 24rpx;
margin-bottom:20rpx;
background: #FFFFFF;
border-radius: 30rpx;
padding:40rpx 30rpx;
.orderNum{
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
display: flex;
align-items: center;
justify-content: space-between;
.status{
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #08BF77;
}
}
.name{
margin-top:30rpx;
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
display:flex;
align-items: center;
justify-content: space-between;
.time{
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #999999;
margin-top:24rpx;
}
.btn{
width: 160rpx;
height: 60rpx;
background: #08BF77;
border: 1px solid #08BF77;
border-radius: 30rpx;
line-height: 56rpx;
text-align: center;
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #FFFFFF;
}
}
}
}
</style>

@ -0,0 +1,99 @@
<template>
<view class="">
<view class="top">
<view class="">
服务单号23090399233222
</view>
<view style="margin-top:30rpx;">
服务技师王静静
</view>
<u--textarea v-model="value1"
border="none"
placeholder="请描述您需要反馈的问题" ></u--textarea>
</view>
<view class="bottom">
<view class="title">
请上传相关问题图片
</view>
<u-upload
:fileList="fileList3"
@afterRead="afterRead"
@delete="deletePic"
name="3"
multiple
:maxCount="10"
:previewFullImage="true"
></u-upload>
</view>
</view>
</template>
<script>
export default{
data(){
return{
value1:'',
fileList3: [{
url: 'https://cdn.uviewui.com/uview/swiper/1.jpg',
}],
}
},
methods:{
afterRead(){
uni.uploadFile({
// H5
// url: 'http://' + domain + '/admin/sys-file/upload',
// // url
// filePath: url,
// name: 'file',
// //
// header: header,
// //
// formData: {
// user: 'test'
// },
// success: res => {
// // resres.dataJSON
// const result = JSON.parse(res.data);
// //
// const formUrl = result.data.url;
// //
// this.dataForm.picture = formUrl;
// //
// resolve(res.data.data);
// }
});
}
}
}
</script>
<style lang="scss" scoped>
.top{
background: #FFFFFF;
border-radius: 30rpx;
margin:20rpx 24rpx;
padding:40rpx 30rpx;
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
}
/deep/.u-textarea{
background: #F9F9F9;
margin-top:30rpx;
}
.bottom{
background: #FFFFFF;
border-radius: 30rpx;
padding:40rpx 30rpx;
margin:0 24rpx;
.title{
font-size: 34rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
margin-bottom:28rpx;
}
}
</style>

@ -0,0 +1,99 @@
<template>
<view class="">
<view class="top">
<view class="">
服务单号23090399233222
</view>
<view style="margin-top:30rpx;">
服务技师王静静
</view>
<u--textarea v-model="value1"
border="none"
placeholder="请描述您需要反馈的问题" ></u--textarea>
</view>
<view class="bottom">
<view class="title">
请上传相关问题图片
</view>
<u-upload
:fileList="fileList3"
@afterRead="afterRead"
@delete="deletePic"
name="3"
multiple
:maxCount="10"
:previewFullImage="true"
></u-upload>
</view>
</view>
</template>
<script>
export default{
data(){
return{
value1:'',
fileList3: [{
url: 'https://cdn.uviewui.com/uview/swiper/1.jpg',
}],
}
},
methods:{
afterRead(){
uni.uploadFile({
// H5
// url: 'http://' + domain + '/admin/sys-file/upload',
// // url
// filePath: url,
// name: 'file',
// //
// header: header,
// //
// formData: {
// user: 'test'
// },
// success: res => {
// // resres.dataJSON
// const result = JSON.parse(res.data);
// //
// const formUrl = result.data.url;
// //
// this.dataForm.picture = formUrl;
// //
// resolve(res.data.data);
// }
});
}
}
}
</script>
<style lang="scss" scoped>
.top{
background: #FFFFFF;
border-radius: 30rpx;
margin:20rpx 24rpx;
padding:40rpx 30rpx;
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
}
/deep/.u-textarea{
background: #F9F9F9;
margin-top:30rpx;
}
.bottom{
background: #FFFFFF;
border-radius: 30rpx;
padding:40rpx 30rpx;
margin:0 24rpx;
.title{
font-size: 34rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
margin-bottom:28rpx;
}
}
</style>

@ -0,0 +1,115 @@
<template>
<view class="">
<u-tabs :list="tablist" @click="click"
:activeStyle="{ color: '#08BF77' }"
:scrollable="false" lineColor="#08BF77"></u-tabs>
<view class="complainContent">
<view class="complain">
<view class="orderNum">
<text>服务单号23090399233</text>
<text class="status">处理中</text>
</view>
<view class="name">
<view class="">
<view class="">
服务技师王静静
</view>
<view class="time">
2023-03-22 13:35:32
</view>
</view>
<view class="btn">
关闭
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
list:[],
total:0,
tablist: [
{name: '全部'}, {name: '处理中'},{name: '已处理'},{name: '已关闭'},]
}
},
methods:{
async chapingList(){
let res = await this.$api.mine.chapingList({
status:0
});
this.list = res.list;
this.total = res.total;
},
click(item){
console.log(item,"0000")
}
},
onLoad() {
this.chapingList()
}
}
</script>
<style lang="scss" scoped>
.complainContent{
margin-top:24rpx;
.complain{
margin:0 24rpx;
margin-bottom:20rpx;
background: #FFFFFF;
border-radius: 30rpx;
padding:40rpx 30rpx;
.orderNum{
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
display: flex;
align-items: center;
justify-content: space-between;
.status{
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #08BF77;
}
}
.name{
margin-top:30rpx;
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
display:flex;
align-items: center;
justify-content: space-between;
.time{
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #999999;
margin-top:24rpx;
}
.btn{
width: 160rpx;
height: 60rpx;
background: #08BF77;
border: 1px solid #08BF77;
border-radius: 30rpx;
line-height: 56rpx;
text-align: center;
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #FFFFFF;
}
}
}
}
</style>

@ -87,12 +87,12 @@
...mapMutations(['updateUserItem']),
async initIndex(refresh = false) {
// #ifdef H5
if (!refresh && this.$jweixin.isWechat()) {
await this.$jweixin.initJssdk();
this.$jweixin.wxReady(() => {
this.$jweixin.hideOptionMenu()
})
}
// if (!refresh && this.$jweixin.isWechat()) {
// await this.$jweixin.initJssdk();
// this.$jweixin.wxReady(() => {
// this.$jweixin.hideOptionMenu()
// })
// }
// #endif
let data = await this.$api.mine.resellerInfo()
this.$util.setNavigationBarColor({

@ -0,0 +1,31 @@
<template>
<view class="">
<view v-html="content">
</view>
</view>
</template>
<script>
export default{
onLoad(option) {
console.log(option)
this.getDetails(option.id)
},
data(){
return{
content:''
}
},
methods:{
async getDetails(id){
let res = await this.$api.mine.getAnnouncementDetails({id:id})
console.log(res,"0000")
this.content = res.content
},
}
}
</script>
<style>
</style>

@ -1,30 +1,38 @@
<template>
<view class="content">
<u-collapse
<view class="item" v-for="(item,index) in list" :key="index" @click="godetail(item)">
<view class="view">
<text>{{item.title}}</text>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<!-- <u-collapse
@change="change"
@close="close"
@open="open"
>
<u-collapse-item
title="按摩到家服务行业介绍及前景"
:title="item.title"
name="Docs guide"
v-for="(item,index) in list"
:key="index"
>
<text class="u-collapse-content">按摩到家服务行业介绍及前景</text>
<text class="u-collapse-content" v-html="item.content"></text>
</u-collapse-item>
<u-collapse-item
title="APP使用教程"
name="Variety components"
>
<text class="u-collapse-content">APP使用教程</text>
</u-collapse-item>
<u-collapse-item
</u-collapse>
</u-collapse> -->
</view>
</template>
<script>
export default {
data(){
return{
list:[]
}
},
methods: {
open(e) {
// console.log('open', e)
@ -34,7 +42,22 @@ export default {
},
change(e) {
// console.log('change', e)
},
async getAnnouncementList(){
let res = await this.$api.mine.getAnnouncementList()
console.log(res,"0000")
this.list = res.list
},
godetail(item){
console.log(item)
uni.navigateTo({
url:"/user/pages/gonggao/item?id="+item.id
})
}
},
onLoad() {
this.getAnnouncementList()
}
}
</script>
@ -46,5 +69,16 @@ export default {
overflow: hidden;
box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(16,132,86,0.06);
border-radius: 30rpx;
}.item{
.view{
display: flex;
align-items: center;
justify-content: space-between;
border-bottom:1px solid #EAEAEA;
margin:0 30upx;
padding:40upx 0upx;
}
}
</style>

@ -37,7 +37,9 @@
</view> -->
<!-- <view class="space-md"></view> -->
<view class="bottomContent">
<view @tap.stop="goDetail(index,'infoList')" class="flex-between pd-lg fill-base f-paragraph"
<view @tap.stop="goDetail(index,'infoList')"
style="border-bottom:1px solid #EAEAEA;margin: 0 15px;padding: 15px 0;"
class="flex-between fill-base f-paragraph"
v-for="(item,index) in infoList" :key="index">
<view>{{item.text}}</view>
<i class="iconfont icon-right"></i>
@ -49,8 +51,12 @@
<!-- #ifdef APP-PLUS -->
<!-- #endif -->
<fix-bottom-button @confirm="toLoginOut" :text="[{ text: '退出登录', type: 'confirm' }]" bgColor="#fff">
</fix-bottom-button>
<!-- <fix-bottom-button @confirm="toLoginOut"
:text="[{ text: '退出登录', type: 'confirm' }]" bgColor="#fff">
</fix-bottom-button> -->
<view class="logoutBtn" @confirm="toLoginOut" >
退出登录
</view>
</view>
</template>
@ -189,4 +195,17 @@
overflow: hidden;
margin-top:20rpx;
}
.logoutBtn{
width:66%;
margin: 0 auto;
text-align: center;
background: rgba(8,191,119,0);
border: 1px solid #08BF77;
border-radius: 45px;
padding: 31rpx 0;
font-size: 30upx;
font-family: PingFang SC;
font-weight: 500;
color: #08BF77;
}
</style>

@ -14,25 +14,27 @@
<view class="space-lg"></view>
</view>
<view class="fill-base item">
<view @tap.stop="$util.goUrl({url:`/user/pages/stored/commission`})"
class="item-record-btn"
>
<image src="../../../static/m1.png" mode=""></image>
<view class="text">返佣记录</view>
</view>
<view @tap.stop="$util.goUrl({url:`/user/pages/stored/record`})"
class="item-record-btn"
>
<image src="../../../static/m2.png" mode=""></image>
<image src="../../../static/m1.png" mode=""></image>
<view class="text">充值记录</view>
</view>
<!-- :style="{color:primaryColor,border:`1rpx solid ${primaryColor}`}" -->
<view @tap.stop="$util.goUrl({url:`/user/pages/stored/consume`})"
class="item-record-btn"
>
<image src="../../../static/m2.png" mode=""></image>
<view class="text">消费明细</view>
</view>
<view @tap.stop="$util.goUrl({url:`/user/pages/stored/commission`})"
class="item-record-btn"
>
<image src="../../../static/m3.png" mode=""></image>
<view class="text">返佣记录</view>
</view>
<!-- :style="{color:primaryColor,border:`1rpx solid ${primaryColor}`}" -->
</view>
<view @tap="toPay(index)" class="list-item fill-base flex-between mt-md ml-lg mr-lg pd-lg radius-16"

@ -118,11 +118,7 @@
},
list: {
data: [
{title:"11",
true_price:'11',
create_time:"2023-04-05",
now_balance:'300'
}
]
},
loading: true,

@ -0,0 +1,150 @@
<template>
<view class="traffic">
<view class="trafficItem" @click="showDistance=true">
<text>接单距离公里</text>
<view class="right">
<text>{{form.max_distance}}</text>
<u-icon name="arrow-right" color="#999999" size="16"></u-icon>
</view>
</view>
<view class="trafficItem" @click="getActionSheet('day')">
<text>白天车费类型</text>
<view class="right">
<text>{{form.day_car_name}}</text>
<u-icon name="arrow-right" color="#999999" size="16"></u-icon>
</view>
</view>
<view class="trafficItem" @click="getActionSheet('night')">
<text>晚上车费类型</text>
<view class="right">
<text>{{form.night_car_name}}</text>
<u-icon name="arrow-right" color="#999999" size="16"></u-icon>
</view>
</view>
<view class="btn" @click="trafficList">
保存
</view>
<u-action-sheet :actions="list"
:closeOnClickOverlay="true"
@close="closeHandle"
@select="selectHandle"
:show="show"></u-action-sheet>
<u-action-sheet :actions="list1"
:closeOnClickOverlay="true"
@close="closeDistanceHandle"
@select="selectDistanceHandle"
:show="showDistance"></u-action-sheet>
</view>
</template>
<script>
export default{
data(){
return{
list1:[
{name:10},{name:20},{name:30},{name:40},{name:50},{name:60},{name:70},{name:80}
],
list: [
{
name:'免费',
value:0
},
{
name:'单程',
value:1
},
{
name:'双程',
value:2
},
],
show: false,
showDistance:false,
form:{
day_car:0,
day_car_name:'免费',
night_car:0,
night_car_name:'免费',
max_distance:20
},
handleName:''
}
},
methods:{
closeHandle(){
this.show = false
},
closeDistanceHandle(){
this.showDistance = false
},
selectDistanceHandle(item){
this.form.max_distance = item.name;
},
selectHandle(item){
console.log(item,"0000")
if(this.handleName=='day'){
this.form.day_car = item.value;
this.form.day_car_name = item.name
}
if(this.handleName=='night'){
this.form.night_car = item.value;
this.form.night_car_name = item.name
}
},
getActionSheet(val){
console.log(val)
this.show = true;
this.handleName=val
},
async trafficList(){
let res= await this.$api.mine.trafficList({
day_car:this.form.day_car,
night_car:this.form.night_car,
max_distance:this.form.max_distance
})
console.log(res,"nnn")
}
}
}
</script>
<style lang="scss" scoped>
.traffic{
background: #FFFFFF;
border-radius: 30rpx;
margin:20rpx 24rpx;
position: relative;
}
.trafficItem{
// border:1px solid red;
display: flex;
align-items: center;
justify-content: space-between;
margin:0 30rpx;
padding:40rpx 0;
border-bottom:1px solid #eaeaea;
text{
font-size: 28rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
}
.right{
display:flex;
}
}
.btn{
position: fixed;
bottom:66rpx;
padding:31rpx 0;
background: #08BF77;
border-radius: 45px;
left:8%;
width:84%;
font-size: 30rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
text-align: center;
color: #FFFFFF;
}
</style>

@ -316,6 +316,11 @@ fly.interceptors.response.use(
} = err
$util.hideAll()
console.log(err)
msgError({
msg: err.response.data.error.error
})
networkError({
code: status,
})

Binary file not shown.

@ -0,0 +1,3 @@
包名:com.xxdj.app.util
别名:xixidaojia
安卓应用签名:8ab1119528c490efb1fd90c4a5f3b419
Loading…
Cancel
Save