接口对接
This commit is contained in:
parent
701d63672d
commit
11184cc189
|
|
@ -4,20 +4,27 @@ export default {
|
||||||
address: 'https://www.opsoul.com',
|
address: 'https://www.opsoul.com',
|
||||||
// 异步接口拦截
|
// 异步接口拦截
|
||||||
addInterceptor() {
|
addInterceptor() {
|
||||||
|
let _this = this;
|
||||||
uni.addInterceptor('request', {
|
uni.addInterceptor('request', {
|
||||||
invoke(args) {
|
invoke(args) {
|
||||||
|
let userInfo = _this.getCurUserInfo();
|
||||||
// request 触发前拼接 url
|
// request 触发前拼接 url
|
||||||
args.url = 'https://www.opsoul.com' + args.url;
|
// args.url = 'https://www.opsoul.com' + args.url;
|
||||||
// args.url = 'http://127.0.0.1:80' + args.url;
|
// args.url = 'http://127.0.0.1:80' + args.url;
|
||||||
// args.url = 'http://10.45.111.215:80' + args.url;
|
args.url = 'http://10.45.137.214:80' + args.url;
|
||||||
if (args.data) {
|
if (!args.data) {
|
||||||
|
args.data = {}
|
||||||
|
}
|
||||||
args.data.deptId = globalData.deptId;
|
args.data.deptId = globalData.deptId;
|
||||||
args.data.from = globalData.from;
|
args.data.from = globalData.from;
|
||||||
|
if (!args.data.workerId) {
|
||||||
|
args.data.workerId = userInfo.workerId;
|
||||||
|
}
|
||||||
|
if (!args.header) {
|
||||||
|
args.header = {}
|
||||||
}
|
}
|
||||||
if (args.header) {
|
|
||||||
args.header.deptId = globalData.deptId;
|
args.header.deptId = globalData.deptId;
|
||||||
args.header.from = globalData.from;
|
args.header.from = globalData.from;
|
||||||
}
|
|
||||||
// console.log("停止触发");
|
// console.log("停止触发");
|
||||||
// return false;
|
// return false;
|
||||||
},
|
},
|
||||||
|
|
@ -280,5 +287,29 @@ export default {
|
||||||
data: params
|
data: params
|
||||||
})
|
})
|
||||||
return res[1].data;
|
return res[1].data;
|
||||||
|
},
|
||||||
|
async addTeam(params = {}) {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: '/worker/team/addTeam',
|
||||||
|
method: 'POST',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
|
return res[1].data;
|
||||||
|
},
|
||||||
|
async getTeamPage(params = {}) {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: '/worker/team/getTeamList',
|
||||||
|
method: 'POST',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
|
return res[1].data;
|
||||||
|
},
|
||||||
|
async updateWorker(params = {}) {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: '/worker/update',
|
||||||
|
method: 'POST',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
|
return res[1].data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<view class="margin-bottom-lg">
|
||||||
|
<view v-if="hasMoreData" class="text-center bg-main-color light padding-tb-sm">
|
||||||
|
<text class="margin-right-xs">查看更多</text>
|
||||||
|
<text class="text-bold cuIcon-unfold"></text>
|
||||||
|
</view>
|
||||||
|
<view class="cu-load" :class="loadMoreStatus"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'load-status-bar',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loadMoreStatus: '',
|
||||||
|
hasMoreData: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showLoading() {
|
||||||
|
this.loadMoreStatus = 'loading bg-main-color light';
|
||||||
|
this.hasMoreData = false;
|
||||||
|
},
|
||||||
|
showLoadMore() {
|
||||||
|
this.loadMoreStatus = '';
|
||||||
|
this.hasMoreData = true;
|
||||||
|
},
|
||||||
|
showLoadOver() {
|
||||||
|
this.loadMoreStatus = 'over bg-grey';
|
||||||
|
this.hasMoreData = false;
|
||||||
|
},
|
||||||
|
showLoadErr() {
|
||||||
|
this.loadMoreStatus = 'erro bg-red';
|
||||||
|
this.hasMoreData = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
<template>
|
||||||
|
<!-- 邀请师傅模态框 -->
|
||||||
|
<view class="cu-modal" :class="isShow?'show':''">
|
||||||
|
<view class="cu-dialog bg-white">
|
||||||
|
<view class="cu-bar bg-white justify-end solid-bottom">
|
||||||
|
<view class="content">邀请</view>
|
||||||
|
<view class="action" @click="hideModal">
|
||||||
|
<text class="cuIcon-close text-red"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="padding-xl text-left">
|
||||||
|
<view class="margin-top-sm">
|
||||||
|
<text>团队成员师傅ID:</text>
|
||||||
|
<input class="radius-input margin-top-sm" type="text" v-model="workerId"></input>
|
||||||
|
</view>
|
||||||
|
<view class="margin-top-sm">
|
||||||
|
<text>成员师傅备注:</text>
|
||||||
|
<input class="radius-input margin-top-sm" type="text" v-model="workerName"></input>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cu-bar bg-white solid-top">
|
||||||
|
<view class="action margin-0 flex-sub text-black" @tap="hideModal">取消</view>
|
||||||
|
<view class="action margin-0 flex-sub text-main-color solid-left" @tap="hideModal"
|
||||||
|
@click="confirm">邀请</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'invite-master',
|
||||||
|
emits: ['confirm'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isShow: false,
|
||||||
|
workerId: '',
|
||||||
|
workerName: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showModal(e) {
|
||||||
|
this.isShow = true
|
||||||
|
},
|
||||||
|
hideModal(e) {
|
||||||
|
this.isShow = false;
|
||||||
|
this.resetData();
|
||||||
|
},
|
||||||
|
resetData() {
|
||||||
|
this.workerId = '',
|
||||||
|
this.workerName = ''
|
||||||
|
},
|
||||||
|
confirm() {
|
||||||
|
this.$emit('confirm', {
|
||||||
|
leaderId: this.$request.getCurUserInfo().workerId,
|
||||||
|
workerId: this.workerId,
|
||||||
|
workerName: this.workerName
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
<template>
|
||||||
|
<!-- 设置扣点模态框 -->
|
||||||
|
<view class="cu-modal" :class="isShow?'show':''">
|
||||||
|
<view class="cu-dialog">
|
||||||
|
<view class="cu-bar bg-white justify-end">
|
||||||
|
<view class="content">设置扣点</view>
|
||||||
|
<view class="action" @tap="hideModal">
|
||||||
|
<text class="cuIcon-close text-red"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="padding-xl">
|
||||||
|
<view>设置区域代理扣点可按百分比扣取或金额扣取的方式(建议二选一进行申请)</view>
|
||||||
|
<view class="flex justify-center align-center margin-top-sm">
|
||||||
|
<text>扣点:</text>
|
||||||
|
<input class="radius-input" type="digit" placeholder="请输入订单扣取的比例" v-model="rate"></input>
|
||||||
|
<text>%</text>
|
||||||
|
</view>
|
||||||
|
<view class="flex justify-center align-center margin-top-sm">
|
||||||
|
<text>金额:</text>
|
||||||
|
<input class="radius-input" type="digit" placeholder="请输入按单扣取的金额" v-model="amount"></input>
|
||||||
|
<text>元</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cu-bar bg-white">
|
||||||
|
<view class="action margin-0 flex-sub text-black" @tap="hideModal">取消</view>
|
||||||
|
<view class="action margin-0 flex-sub text-main-color solid-left" @tap="hideModal"
|
||||||
|
@click="confirm">提交申请</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'set-take-rate',
|
||||||
|
emits: ['confirm'],
|
||||||
|
props: {
|
||||||
|
leaderTeamRate: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
|
},
|
||||||
|
leaderTeamMoney: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isShow: false,
|
||||||
|
rate: '',
|
||||||
|
amount: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showModal(e) {
|
||||||
|
this.isShow = true;
|
||||||
|
this.rate = this.leaderTeamRate ? this.leaderTeamRate : '';
|
||||||
|
this.amount = this.leaderTeamMoney ? this.leaderTeamMoney : '';
|
||||||
|
},
|
||||||
|
hideModal(e) {
|
||||||
|
this.isShow = false;
|
||||||
|
},
|
||||||
|
confirm() {
|
||||||
|
this.$emit('confirm', {
|
||||||
|
leaderTeamRate: this.rate,
|
||||||
|
leaderTeamMoney: this.amount
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
|
@ -6,18 +6,18 @@
|
||||||
<block slot="content">我的团队</block>
|
<block slot="content">我的团队</block>
|
||||||
</cu-custom>
|
</cu-custom>
|
||||||
<!-- 团队成员 -->
|
<!-- 团队成员 -->
|
||||||
<view class="margin-bottom-with-bar">
|
<view>
|
||||||
<view class="bg-white padding bottom-border" v-for="(member, index) in members">
|
<view class="bg-white padding bottom-border" v-for="(member, index) in members">
|
||||||
<view class="flex justify-between">
|
<view class="flex justify-between">
|
||||||
<view class="flex justify-start align-center" style="width: 40%;">
|
<view class="flex justify-start align-center" style="width: 40%;">
|
||||||
<view class="cu-avatar round"
|
<view class="cu-avatar round"
|
||||||
:style="'background-image:url(' + member.avatarUrl + ');min-width: 64rpx'"></view>
|
:style="'background-image:url(' + member.workerLogoUrl + ');min-width: 64rpx'"></view>
|
||||||
<view class="text-lg margin-left-sm">{{member.name}}</view>
|
<view class="text-lg margin-left-sm">{{member.name}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex justify-end align-center">
|
<view class="flex justify-end align-center">
|
||||||
<view v-if="Boolean(member.showEditInput)" :key="member.id"
|
<view v-if="Boolean(member.showEditInput)" :key="member.workerId"
|
||||||
class="flex justify-end align-center margin-lr-sm">
|
class="flex justify-end align-center margin-lr-sm">
|
||||||
<input class="radius-input" type="text" :value="member.noteName" placeholder="姓名备注"></input>
|
<input class="radius-input" type="text" :value="member.workerName" placeholder="姓名备注"></input>
|
||||||
<view class="text-lg margin-left-sm">
|
<view class="text-lg margin-left-sm">
|
||||||
<text class="cuIcon-roundcheckfill text-main-color" :data-index="index"
|
<text class="cuIcon-roundcheckfill text-main-color" :data-index="index"
|
||||||
@click="editNoteName"></text>
|
@click="editNoteName"></text>
|
||||||
|
|
@ -25,66 +25,50 @@
|
||||||
@click="hideEditInput"></text>
|
@click="hideEditInput"></text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-else class="flex justify-end margin-lr-sm" :key="member.id">
|
<view v-else class="flex justify-end margin-lr-sm" :key="member.workerId">
|
||||||
<text>{{member.noteName}}</text>
|
<text>{{member.workerName}}</text>
|
||||||
<text class="text-lg" :data-index="index" @click="showEditInput"><text
|
<text class="text-lg" :data-index="index" @click="showEditInput"><text
|
||||||
class="cuIcon-edit margin-left-xs"></text></text>
|
class="cuIcon-edit margin-left-xs"></text></text>
|
||||||
</view>
|
</view>
|
||||||
<view class="text-xxl text-main-color" :data-phone="member.phoneNum" @click="makePhoneCall">
|
<view class="text-xxl text-main-color" :data-phone="member.phone" @click="makePhoneCall">
|
||||||
<view class="cuIcon-phone"></view>
|
<view class="cuIcon-phone"></view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<load-status-bar class="margin-bottom-with-bar" ref="loadStatusBar"></load-status-bar>
|
||||||
<!-- 底部操作栏 -->
|
<!-- 底部操作栏 -->
|
||||||
<view class="cu-bar bg-white tabbar border shop fixed-bottom-bar">
|
<view class="cu-bar bg-white tabbar border shop fixed-bottom-bar">
|
||||||
<view class="left-grid text-center" @click="showTakeRateSetModal">
|
<view class="left-grid text-center" data-modal="takeRateSet" @click="showModalByRef('setTakeRateModal')">
|
||||||
<view>设置扣点</view>
|
<view>设置扣点</view>
|
||||||
<view>(扣点:<text class="text-red">{{myTeamInfo.takeRate}}%</text>)</view>
|
<view v-if="curUserInfo.leaderTeamRate">(扣点:<text class="text-red">{{curUserInfo.leaderTeamRate}}%</text>)</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bg-main-color submit" @click="">邀请团队</view>
|
<view class="bg-main-color submit" @click="showModalByRef('inviteMasterModal')">邀请团队</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 设置扣点模态框 -->
|
<set-take-rate ref="setTakeRateModal" :leaderTeamRate="curUserInfo.leaderTeamRate" :leaderTeamMoney="curUserInfo.leaderTeamMoney" @confirm="applySetTakeRate"></set-take-rate>
|
||||||
<view class="cu-modal" :class="isShowTakeRateSet?'show':''">
|
<invite-master ref="inviteMasterModal" @confirm="inviteMaster"></invite-master>
|
||||||
<view class="cu-dialog">
|
|
||||||
<view class="cu-bar bg-white justify-end">
|
|
||||||
<view class="content">设置扣点</view>
|
|
||||||
<view class="action" @tap="hideModal">
|
|
||||||
<text class="cuIcon-close text-red"></text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="padding-xl">
|
|
||||||
<view>设置区域代理扣点可按百分比扣取或金额扣取的方式(建议二选一进行申请)</view>
|
|
||||||
<view class="flex justify-center align-center margin-top-sm">
|
|
||||||
<text>扣点:</text>
|
|
||||||
<input class="radius-input" type="digit" placeholder="请输入订单扣取的比例"></input>
|
|
||||||
<text>%</text>
|
|
||||||
</view>
|
|
||||||
<view class="flex justify-center align-center margin-top-sm">
|
|
||||||
<text>金额:</text>
|
|
||||||
<input class="radius-input" type="digit" placeholder="请输入按单扣取的金额"></input>
|
|
||||||
<text>元</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="cu-bar bg-white">
|
|
||||||
<view class="action margin-0 flex-sub text-black" @tap="hideModal">取消</view>
|
|
||||||
<view class="action margin-0 flex-sub text-main-color solid-left" @tap="hideModal"
|
|
||||||
@click="applySetTakeRate">提交申请</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import setTakeRate from '@/pages/area-proxy/modal/set-take-rate.vue';
|
||||||
|
import inviteMaster from '@/pages/area-proxy/modal/invite-master.vue';
|
||||||
|
import loadStatusBar from '@/components/custom-bar/load-status-bar.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
inviteMaster,
|
||||||
|
setTakeRate,
|
||||||
|
loadStatusBar
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
myTeamInfo: {},
|
|
||||||
members: [],
|
members: [],
|
||||||
isShowTakeRateSet: false
|
pageNum: 0,
|
||||||
|
pageSize: 0,
|
||||||
|
curUserInfo: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
|
|
@ -92,8 +76,35 @@
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async loadData() {
|
async loadData() {
|
||||||
this.myTeamInfo = await this.$api.data('myTeamInfo');
|
// this.myTeamInfo = await this.$api.data('myTeamInfo');
|
||||||
this.members = this.myTeamInfo.members;
|
// this.members = this.myTeamInfo.members;
|
||||||
|
this.curUserInfo = this.$request.getCurUserInfo();
|
||||||
|
this.loadTeamPage();
|
||||||
|
},
|
||||||
|
async reloadData() {
|
||||||
|
this.pageNum = 0;
|
||||||
|
this.members = [];
|
||||||
|
this.loadData();
|
||||||
|
},
|
||||||
|
async loadTeamPage(params = {}) {
|
||||||
|
params.pageNum = this.pageNum;
|
||||||
|
params.pageSize = this.$globalData.pageSize;
|
||||||
|
this.$refs.loadStatusBar.showLoading();
|
||||||
|
try {
|
||||||
|
let res = await this.$request.getTeamPage(params);
|
||||||
|
let rowsLength = res.rows.length;
|
||||||
|
if (rowsLength > 0) {
|
||||||
|
this.members = this.members.concat(res.rows);
|
||||||
|
this.pageNum++;
|
||||||
|
if (rowsLength === this.pageSize) {
|
||||||
|
this.$refs.loadStatusBar.showLoadMore();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.$refs.loadStatusBar.showLoadOver();
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e)
|
||||||
|
this.$refs.loadStatusBar.showLoadErr();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
showEditInput(e) {
|
showEditInput(e) {
|
||||||
let curIndex = e.currentTarget.dataset.index;
|
let curIndex = e.currentTarget.dataset.index;
|
||||||
|
|
@ -118,16 +129,12 @@
|
||||||
phoneNumber: phoneNum
|
phoneNumber: phoneNum
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
showTakeRateSetModal(e) {
|
showModalByRef(refName) {
|
||||||
this.showModal(e);
|
this.$refs[refName].showModal();
|
||||||
},
|
},
|
||||||
showModal(e) {
|
async applySetTakeRate(params) {
|
||||||
this.isShowTakeRateSet = true
|
let res = await this.$request.updateWorker(params);
|
||||||
},
|
if (res.code === 0) {
|
||||||
hideModal(e) {
|
|
||||||
this.isShowTakeRateSet = false
|
|
||||||
},
|
|
||||||
applySetTakeRate() {
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '保存成功',
|
title: '保存成功',
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
|
|
@ -135,6 +142,18 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
async inviteMaster(params) {
|
||||||
|
let res = await this.$request.addTeam(params);
|
||||||
|
if (res.code === 0) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '邀请成功',
|
||||||
|
icon: 'success',
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
this.reloadData();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue