main
liudan 1 year ago
parent ce48355d6b
commit 3c8003438b
  1. 4
      api/modules/technician.js
  2. 7
      manifest.json
  3. 19
      pages/login.vue
  4. 6
      pages/service.vue
  5. 3
      pages/technician.vue
  6. BIN
      static/logopic.png
  7. 13
      technician/pages/apply.vue
  8. 8
      user/pages/collect.vue
  9. 31
      user/pages/detail.vue
  10. 75
      user/pages/myGroup/myGroup.vue
  11. 48
      user/pages/order.vue
  12. 1
      user/pages/setting.vue
  13. 4
      utils/req.js

@ -54,4 +54,8 @@ export default {
capCashList(param) { capCashList(param) {
return req.get("/massage/app/IndexCoach/capCashList", param) return req.get("/massage/app/IndexCoach/capCashList", param)
}, },
//商家信息
getShopInfo(param){
return req.post("/massage/app/Index/companyInfo", param)
}
} }

@ -3,8 +3,8 @@
"appid" : "__UNI__3303922", "appid" : "__UNI__3303922",
// "appid" : "__UNI__AE4A250", // "appid" : "__UNI__AE4A250",
"description" : "希希到家", "description" : "希希到家",
"versionName" : "1.0.3", "versionName" : "1.0.8",
"versionCode" : 103, "versionCode" : 108,
"transformPx" : false, "transformPx" : false,
"uniStatistics" : { "uniStatistics" : {
"enable" : false // "enable" : false //
@ -208,7 +208,8 @@
"com.apple.developer.associated-domains" : [ "applinks:testapps.cncnconnect.com" ] "com.apple.developer.associated-domains" : [ "applinks:testapps.cncnconnect.com" ]
} }
}, },
"dSYMs" : false "dSYMs" : false,
"idfa" : false
}, },
"splashscreen" : { "splashscreen" : {
"useOriginalMsgbox" : true "useOriginalMsgbox" : true

@ -120,6 +120,7 @@
} }
let data = await this.$api.base.getConfig() let data = await this.$api.base.getConfig()
console.log(data,"fff")
this.base_info = data this.base_info = data
if (!data.primaryColor) { if (!data.primaryColor) {
data.primaryColor = '#A40035' data.primaryColor = '#A40035'
@ -152,13 +153,28 @@
let [providerErr, providerData] = await uni.getProvider({ let [providerErr, providerData] = await uni.getProvider({
service: 'oauth', service: 'oauth',
}); });
console.log("111")
// let [loginErr, loginData] =await uni.getUserProfile({
// desc: '',
// lang: 'zh_CN',
// success: res => {
// console.log(res,"jjj");
// // this.isShowLogin = false;
// // this.userInfo = res.userInfo;
// },
// fail: err => {
// console.log(err.errMsg);
// }
// });
let [loginErr, loginData] = await uni.login({ let [loginErr, loginData] = await uni.login({
provider: 'weixin' provider: 'weixin'
}); });
console.log("222")
let [infoErr, infoData] = await uni.getUserInfo({ let [infoErr, infoData] = await uni.getUserInfo({
provider: 'weixin' provider: 'weixin'
}) })
console.log("333",infoData)
let { let {
userInfo = {} userInfo = {}
} = infoData } = infoData
@ -175,6 +191,7 @@
this.$util.hideAll() this.$util.hideAll()
} }
} catch (e) { } catch (e) {
console.log(e)
this.$util.showToast({ this.$util.showToast({
title: '请先安装微信或升级版本' title: '请先安装微信或升级版本'

@ -214,6 +214,7 @@
activeIndex: state => state.service.activeIndex, activeIndex: state => state.service.activeIndex,
tabList: state => state.service.tabList, tabList: state => state.service.tabList,
param: state => state.service.param, param: state => state.service.param,
commonOptions: state => state.user.commonOptions,
list: state => state.service.list, list: state => state.service.list,
banner: state => state.service.banner, banner: state => state.service.banner,
primaryColor: state => state.config.configInfo.primaryColor, primaryColor: state => state.config.configInfo.primaryColor,
@ -237,6 +238,7 @@
this.$util.hideAll() this.$util.hideAll()
return return
} }
await this.getMineInfo()
await this.initIndex() await this.initIndex()
this.updateServiceItem({ this.updateServiceItem({
key: 'pageActive', key: 'pageActive',
@ -270,9 +272,10 @@
} }
}, },
methods: { methods: {
...mapActions(['getConfigInfo', 'getUserInfo', 'updateCommonOptions', 'getServiceIndex', 'getServiceList']), ...mapActions(['getConfigInfo', 'getUserInfo', 'getMineInfo','updateCommonOptions', 'getServiceIndex', 'getServiceList']),
...mapMutations(['updateServiceItem','updateUserItem']), ...mapMutations(['updateServiceItem','updateUserItem']),
async toAtv() { async toAtv() {
console.log("yyy")
if (!this.mineInfo.is_atv) { if (!this.mineInfo.is_atv) {
this.$util.showToast({ this.$util.showToast({
title: `暂无活动` title: `暂无活动`
@ -286,6 +289,7 @@
url: `/user/pages/coupon/share` url: `/user/pages/coupon/share`
}) })
}, },
async initIndex(refresh = false) { async initIndex(refresh = false) {
// #ifdef H5 // #ifdef H5
if (!refresh && this.$jweixin.isWechat()) { if (!refresh && this.$jweixin.isWechat()) {

@ -601,8 +601,9 @@
// this.getList(1) // this.getList(1)
}, },
goShop(item){ goShop(item){
console.log(item,"hhhh")
this.$util.goUrl({ this.$util.goUrl({
url:'/user/pages/myGroup/myGroup?isGroup=false' url:'/user/pages/myGroup/myGroup?isGroup=false&company_id='+item.company_id
}) })
}, },
toPreviewImage(index, key = 0) { toPreviewImage(index, key = 0) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

@ -43,7 +43,7 @@
<!-- </view> --> <!-- </view> -->
<view class="flex-between pl-lg pr-lg b-1px-b" @click="show=true"> <view class="flex-between pl-lg pr-lg b-1px-b" @click="show=true">
<view class="item-text" >商家名称</view> <view class="item-text" >商家名称</view>
<input v-model="form.store_name" type="text" class="item-input flex-1" <input v-model="store_name" type="text" class="item-input flex-1"
:placeholder="rule[2].errorMsg" disabled/> :placeholder="rule[2].errorMsg" disabled/>
</view> </view>
<u-picker :show="show" :columns="companyListData" <u-picker :show="show" :columns="companyListData"
@ -247,7 +247,6 @@
id: 0, id: 0,
coach_name: '', // coach_name: '', //
mobile: '', // mobile: '', //
store_name:'',//
company_id:null, company_id:null,
sex: 0, // sex: 0, //
work_time: '', // work_time: '', //
@ -267,6 +266,7 @@
video: [], video: [],
healthy_img:[] healthy_img:[]
}, },
store_name:'',
rule: [{ rule: [{
name: "coach_name", name: "coach_name",
checkType: "isNotNull", checkType: "isNotNull",
@ -278,7 +278,7 @@
checkType: "isMobile", checkType: "isMobile",
errorMsg: "输入手机号" errorMsg: "输入手机号"
},{ },{
name: "store_name", name: "company_id",
checkType: "isNotNull", checkType: "isNotNull",
errorMsg: "输入店铺名称" errorMsg: "输入店铺名称"
}, { }, {
@ -493,7 +493,7 @@
} }
// #endif // #endif
// #ifndef H5 // #ifndef H5
// location = await this.$util.getBmapLocation() location = await this.$util.getBmapLocation()
// #endif // #endif
// location = await this.$util.getBmapLocation() // location = await this.$util.getBmapLocation()
console.log(location,"mmnn111") console.log(location,"mmnn111")
@ -527,7 +527,7 @@
pickerChangeCompany(val) { pickerChangeCompany(val) {
console.log('picker发送选择改变,携带值为', val.value) console.log('picker发送选择改变,携带值为', val.value)
// this.cityIndex = e.target.value // this.cityIndex = e.target.value
this.form.store_name = val.value[0].name this.store_name = val.value[0].name
this.form.company_id = val.value[0].id this.form.company_id = val.value[0].id
this.show = false this.show = false
}, },
@ -620,8 +620,9 @@
is_edit = 0 is_edit = 0
} = this.options } = this.options
let methodModel = param.id && is_edit ? 'coachUpdateV2' : 'coachApply' let methodModel = param.id && is_edit ? 'coachUpdateV2' : 'coachApply'
await this.$api.technician[methodModel]( let res = await this.$api.technician[methodModel](
param) param)
console.log(res,"lldd")
this.$util.hideAll() this.$util.hideAll()
let msg = param.id && is_edit ? `` : `,即将跳转个人中心` let msg = param.id && is_edit ? `` : `,即将跳转个人中心`
this.$util.showToast({ this.$util.showToast({

@ -40,7 +40,7 @@
</view> </view>
</view> </view>
<view class="mendian"> <view class="mendian">
<view class="mdInfo"> <view class="mdInfo" @click="goShop(item)">
<image src="../../static/mendian.png" mode=""></image> <image src="../../static/mendian.png" mode=""></image>
<text>{{item.company_name}}</text> <text>{{item.company_name}}</text>
</view> </view>
@ -279,6 +279,12 @@
methods: { methods: {
...mapActions(['getCarList']), ...mapActions(['getCarList']),
...mapMutations(['updateUserItem']), ...mapMutations(['updateUserItem']),
goShop(item){
console.log(item,"hhhh")
this.$util.goUrl({
url:'/user/pages/myGroup/myGroup?isGroup=false&company_id='+item.company_id
})
},
async initIndex(refresh = false) { async initIndex(refresh = false) {
// #ifdef H5 // #ifdef H5
if (!refresh && this.$jweixin.isWechat()) { if (!refresh && this.$jweixin.isWechat()) {

@ -14,7 +14,20 @@
<view>{{detail.total_sale}}人选择</view> <view>{{detail.total_sale}}人选择</view>
</view> </view>
</view> </view>
<view class="tags">
<view class="tagItem">
<u-icon name="checkmark-circle" color="#17C161" size="20"></u-icon>
<text>爽约包退</text>
</view>
<view class="tagItem">
<u-icon name="checkmark-circle" color="#17C161" size="20"></u-icon>
<text>实名认证</text>
</view>
<view class="tagItem">
<u-icon name="checkmark-circle" color="#17C161" size="20"></u-icon>
<text>资质证书</text>
</view>
</view>
<view class="space-md"></view> <view class="space-md"></view>
<tab @change="handerTabChange" :list="tabList" :activeIndex="activeIndex*1" :activeColor="primaryColor" <tab @change="handerTabChange" :list="tabList" :activeIndex="activeIndex*1" :activeColor="primaryColor"
width="33.3%" height="100rpx"></tab> width="33.3%" height="100rpx"></tab>
@ -215,4 +228,20 @@
} }
} }
} }
.tags{
background: rgba(23,193,97,0.3);
display: flex;
justify-content: space-around;
margin:0 20rpx;
padding:20rpx 0;
border-radius:20rpx;
.tagItem{
display: flex;
align-items: center;
}
text{
font-size:24rpx;
margin-left:10rpx;
}
}
</style> </style>

@ -1,14 +1,20 @@
<template> <template>
<view class="groupContent"> <view class="groupContent">
<view class="section">
<view class="group"> <view class="group">
<text class="guishu">归属商家</text> <text class="guishu">归属商家</text>
<text class="order" v-if="isGroup" @click="goGroupList">查看团队排行</text> <text class="order" v-if="isGroup=='true'" @click="goGroupList">查看团队排行</text>
</view> </view>
<view class="shop"> <view class="shop">
浦口区哈哈哈养生服务中心 {{info.name}}
</view>
</view>
<view style="margin-top:40rpx;" class="section">
<text class="guishu" >营业执照</text>
<view class="">
<image :src="info.image" @click="previewImage(info.image)" style="width:100%;margin-top:20rpx;" mode="widthFix"></image>
<!-- <image src="/static/1.png" style="width:100%;" mode="widthFix"></image> -->
</view> </view>
<view class="group">
<text class="guishu">营业执照</text>
</view> </view>
</view> </view>
</template> </template>
@ -17,13 +23,27 @@
export default{ export default{
data(){ data(){
return{ return{
isGroup:false isGroup:'false',
info:{}
} }
}, },
methods:{ methods:{
async getCompanyMonth() { previewImage(urls) {
let res = await this.$api.mine.companyMonth() // let res_urls = [];
console.log(res,"mm") // urls = this.$util.deepCopy(urls);
uni.previewImage({
urls: [urls],
})
},
// async getCompanyMonth() {
// let res = await this.$api.mine.companyMonth()
// console.log(res,"mm")
// },
async getInfo(id){
let res = await this.$api.technician.getShopInfo({compay_id:id})
console.log(res,"mmyyyyy")
this.info = res
}, },
goGroupList(){ goGroupList(){
this.$util.goUrl({ this.$util.goUrl({
@ -32,8 +52,21 @@ export default{
} }
}, },
onLoad(option) { onLoad(option) {
if(option.company_id){
this.getInfo(option.company_id)
}
this.isGroup = option.isGroup this.isGroup = option.isGroup
this.getCompanyMonth() if(this.isGroup=='true'){
uni.setNavigationBarTitle({
title: '我的团队'
})
}else{
uni.setNavigationBarTitle({
title: '商家信息'
})
}
// this.getCompanyMonth()
} }
} }
</script> </script>
@ -42,16 +75,11 @@ export default{
.groupContent{ .groupContent{
margin: 0 24upx; margin: 0 24upx;
.group{ .group{
padding-top:40upx; // padding-top:40upx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.guishu{
font-size: 30rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #333333;
}
.order{ .order{
font-size: 30rpx; font-size: 30rpx;
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
@ -59,12 +87,25 @@ export default{
color: #08BF77; color: #08BF77;
} }
} }
.guishu{
font-size: 40rpx;
font-family: Alibaba PuHuiTi;
font-weight: 600;
color: #333333;
}
.shop{ .shop{
font-size: 30rpx; font-size: 30rpx;
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
margin-top:44rpx; margin-top:34rpx;
} }
} }
.section{
background-color: #ffffff;
border-radius:20rpx;
margin:0 24rpx;
padding:24rpx;
margin-top:20rpx;
}
</style> </style>

@ -84,15 +84,34 @@
<view class="f-title c-title text-bold">技师简介</view> <view class="f-title c-title text-bold">技师简介</view>
</view> </view>
</view> </view>
<view class="tags">
<view class="tagItem">
<u-icon name="checkmark-circle" color="#17C161" size="20"></u-icon>
<text>爽约包退</text>
</view>
<view class="tagItem" @click="goGroup(orderInfo.coach_info)">
<u-icon name="checkmark-circle" color="#17C161" size="20"></u-icon>
<text>实名认证</text>
</view>
<view class="tagItem">
<u-icon name="checkmark-circle" color="#17C161" size="20"></u-icon>
<text>资质证书</text>
</view>
</view>
<view class="f-caption c-caption radius-16"> <view class="f-caption c-caption radius-16">
<view class="subtitle"> <view class="subtitle">
基本信息 基本信息
</view> </view>
<text class="c-paragraph" decode="emsp" style="word-break:break-all;"> <text class="c-paragraph" decode="emsp" style="word-break:break-all;">
{{orderInfo.coach_info.coach_name}}:{{orderInfo.coach_info.text}}</text> {{orderInfo.coach_info.coach_name}}:{{orderInfo.coach_info.text}}</text>
<view class="subtitle"> <!-- <view class="subtitle">
爽约包退 实名认证
</view> </view>
<view class="imageContent">
<image @tap.stop="toPreviewImage(index,'license')" mode="aspectFill" class="img-item-mini radius-16"
:src="item" v-for="(item,index) in orderInfo.coach_info.license" :key="index">
</image>
</view> -->
<view class="subtitle"> <view class="subtitle">
资质证书 资质证书
</view> </view>
@ -101,7 +120,7 @@
:src="item" v-for="(item,index) in orderInfo.coach_info.license" :key="index"> :src="item" v-for="(item,index) in orderInfo.coach_info.license" :key="index">
</image> </image>
</view> </view>
<view class="subtitle"> <!-- <view class="subtitle">
实名认证 实名认证
</view> </view>
<view class="imageContent"> <view class="imageContent">
@ -109,7 +128,7 @@
:src="item" v-for="(item,index) in orderInfo.coach_info.id_card" :key="index"> :src="item" v-for="(item,index) in orderInfo.coach_info.id_card" :key="index">
</image> </image>
</view> </view>
-->
</view> </view>
</view> </view>
<view class="mt-md ml-lg mr-lg fill-base radius-16"> <view class="mt-md ml-lg mr-lg fill-base radius-16">
@ -291,6 +310,11 @@
methods: { methods: {
...mapActions(['getConfigInfo', 'getMineInfo', 'getCarList']), ...mapActions(['getConfigInfo', 'getMineInfo', 'getCarList']),
...mapMutations(['updateUserItem']), ...mapMutations(['updateUserItem']),
goGroup(item){
this.$util.goUrl({
url:'/user/pages/myGroup/myGroup?isGroup=false&company_id='+item.company_id
})
},
async initIndex(refresh = false) { async initIndex(refresh = false) {
// #ifdef H5 // #ifdef H5
if (!refresh && this.$jweixin.isWechat()) { if (!refresh && this.$jweixin.isWechat()) {
@ -617,4 +641,20 @@
height: 200upx; height: 200upx;
} }
} }
.tags{
background: rgba(23,193,97,0.3);
display: flex;
justify-content: space-around;
// margin:0 20rpx;
padding:20rpx 0;
border-radius:20rpx;
.tagItem{
display: flex;
align-items: center;
}
text{
font-size:24rpx;
margin-left:10rpx;
}
}
</style> </style>

@ -151,6 +151,7 @@
let url = `/pages/service` let url = `/pages/service`
// #ifdef APP-PLUS // #ifdef APP-PLUS
url = `/pages/login` url = `/pages/login`
// url = `/pages/service`
// #endif // #endif
this.$util.goUrl({ this.$util.goUrl({
url, url,

@ -250,7 +250,7 @@ const appLogin = async function() {
//设置超时 //设置超时
fly.config.timeout = 15000; fly.config.timeout = 15000;
console.log("123456789")
//设置请求基地址 //设置请求基地址
//给所有请求添加自定义header //给所有请求添加自定义header
@ -310,7 +310,7 @@ fly.interceptors.response.use(
return fly.request(response.request); return fly.request(response.request);
}, },
async (err) => { async (err) => {
console.log(err, "=======fly.interceptors.response.use err"); console.log(err, "=======fly.interceptors.response.use err",err);
let { let {
status = 0, status = 0,
} = err } = err

Loading…
Cancel
Save