Commit 68e2db69 authored by 郭晓清's avatar 郭晓清

Merge branch 'master' of https://git.banshouhui.com/lijundan/self-support

# Conflicts:
#	src/common/api/order.js
parents 9bd5bf70 f845fd84
......@@ -5,8 +5,8 @@ const UNI_APP = {
// banshou: 'https://m.banshou.com', //扳手app
},
systemUrl: {
apiUrl: 'http://192.168.1.22', //java端域名请求头
// apiUrl: 'http://apidoc.banshouhui.com:3000/mock/31', // mock端域名请求头
// apiUrl: 'http://192.168.1.22', //java端域名请求头
apiUrl: 'http://apidoc.banshouhui.com:3000/mock/31', // mock端域名请求头
},
qn_base_url: 'https://qn-static.banshouhui.com/self-support/'
}
......
......@@ -7,7 +7,7 @@ let learnApiFun = function(vm){
let getTrainingNoticeList = async (params = {}) => await vm.$u.get(ucenterApiUrl+'/v1/notice/list', params);
/* 获取学习视频基本信息 */
let CourseList = async (params = {}) => await vm.$u.get(collegeApiUrl+'/v1/course-details?course_id=173',params);
let CourseList = async (params = {}) => await vm.$u.get(collegeApiUrl+'/v1/course-details',params);
/* 获取章节详情 */
let ChapterDetails = async (params = {}) => await vm.$u.get(collegeApiUrl+'/v1/chapter-sections',params);
/* 获取课程节信息*/
......
import util from '@/utils/util.js'
// 接口公共前缀
const prefix = '/wxh-worker-rest/rest/'
let orderApiFun = function(vm){
let listByRecommendOrder = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/recommend/order', params);
let listByRecommendOrder = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/recommend/order', params);
/**
* 工单数量查询接口
*/
let listOrderCount = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/'+ vm.vuex_token+'/wokerOrder/queryOrdersCount/V2', params);
let listOrderCount = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/wokerOrder/queryOrdersCount/V2', params);
/**
* 工单列表接口 wxh-worker-rest/rest/order/revision/{token}/list
* 工单列表接口
*/
let listOrder = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/revision/'+ vm.vuex_token+'/list', params);
let listOrder = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/revision/' + vm.vuex_token + '/list', params);
/**
* 获取师傅的预约日历
*/
let workerCalendar = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/'+ vm.vuex_token+'/wokerOrder/appointment/calendar', params);
let workerCalendar = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/wokerOrder/appointment/calendar', params);
/**
* 师傅预约
*/
let workerAppointment = async (params = {}) => await vm.$u.post('/wxh-worker-rest/rest/order/traceAndAppointment/traceOrder/'+ vm.vuex_token+'/order/{orderId}', params,{'content-type': 'application/x-www-form-urlencoded'});
let workerAppointment = async (params = {}) => await vm.$u.post('/wxh-worker-rest/rest/order/traceAndAppointment/traceOrder/'+ vm.vuex_token+'/order/{orderId}', params,{'content-type': 'application/x-www-form-urlencoded'});
// 联系顾客时间更新接口,暂时没有
/**
* 师傅签到接口
*/
let maintainWorkerCheckin = async (params = {},orderId) => await vm.$u.post(prefix + '/wxh-worker-rest/rest/'+ vm.vuex_token+'/order/'+orderId+'/maintainWorkerCheckin', params,{'content-type': 'application/x-www-form-urlencoded'});
let maintainWorkerCheckin = async (params = {},orderId) => await vm.$u.post(prefix + vm.vuex_token + '/order/'+orderId+'/maintainWorkerCheckin', params,{'content-type': 'application/x-www-form-urlencoded'});
/**
* 订单详情查询
*/
let orderDetail = async (params = {},orderId) => await vm.$u.get('/wxh-worker-rest/rest/order/revision/'+ vm.vuex_token+'/'+orderId, params);
let orderDetail = async (params = {},orderId) => await vm.$u.get('/wxh-worker-rest/rest/order/revision/'+ vm.vuex_token+'/'+orderId, params);
/* 过程反馈查询接口 */
let feedbackConfig = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rst/order/v2/getFeedBack/' + vm.vuex_token, params)
let feedbackConfig = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/v2/getFeedBack/' + vm.vuex_token, params)
/* 预约+过程反馈 接口 */
let traceAndAppointment = async (params = {}, orderId) => await vm.$u.post('/wxh-worker-rest/rest/order/traceAndAppointment/trace/V2/' + vm.vuex_token + '/' + orderId, params)
let traceAndAppointment = async (params = {}, orderId) => await vm.$u.post('/wxh-worker-rest/rest/order/traceAndAppointment/trace/V2/' + vm.vuex_token + `/${orderId}`, params)
/* 师傅拒单 */
let rejectOrder = async (params = {}, orderId) => await vm.$u.get('/wxh-worker-rest/rest/' + vm.vuex_token + '/order/' + orderId + '/workerReject/V2', params)
let rejectOrder = async (params = {}, orderId) => await vm.$u.get(prefix + vm.vuex_token + `/order/${orderId}/workerReject/V2`, params)
/**
* 查询工单操作记录列表接口
*/
let listOrderRecord = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/record/'+ vm.vuex_token+'/listOrderRecord/'+params.orderId, params);
let listOrderRecord = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/record/'+ vm.vuex_token+'/listOrderRecord/'+params.orderId, params);
/**
* 接单
*/
let orderAccept= async (params = {},orderId) => await vm.$u.get('/wxh-worker-rest/rest/'+ vm.vuex_token+'/order/'+orderId+'/accept', params);
let orderAccept = async (params = {},orderId) => await vm.$u.get(prefix + vm.vuex_token+'/order/'+orderId+'/accept', params);
/**
* 抢单
*/
let orderGan = async (params = {},orderId) => await vm.$u.post('/wxh-worker-rest/rest/order/revision/applets/'+ vm.vuex_token+'/order/acceptAppletsOrder', params,{'content-type': 'application/x-www-form-urlencoded'});
let orderGan = async (params = {},orderId) => await vm.$u.post('/wxh-worker-rest/rest/order/revision/applets/'+ vm.vuex_token+'/order/acceptAppletsOrder', params,{'content-type': 'application/x-www-form-urlencoded'});
/**
* 获取拍照标准
*/
let orderStandard = async (params = {}) => await vm.$u.get('wxh-worker-rest/rest/'+ vm.vuex_token+'/photo/standard', params);
let orderStandard = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token+'/photo/standard', params);
/**
* 保存图片信息
*/
let saveImage = async (params = {},orderId) => await vm.$u.post('/wxh-worker-rest/rest/'+ vm.vuex_token+'/order/'+orderId+'/maintain/saveImage', params);
let saveImage = async (params = {},orderId) => await vm.$u.post(prefix + vm.vuex_token + '/order/'+orderId+'/maintain/saveImage', params);
/**
* 获取师傅水印 or 默认水印
*/
let getWatermark= async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/'+ vm.vuex_token+'/photo/watermark', params);
let getWatermark = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/photo/watermark', params);
/**
* 获取师傅开放可选时间段
*/
let openTimerange = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/wokerOrder/appointment/timerange', params);
/**
* 联系时间接口
......@@ -102,6 +109,7 @@ let orderApiFun = function(vm){
orderStandard,
saveImage,
getWatermark,
openTimerange,
contactTime,
checkRejectable
}
......
......@@ -39,7 +39,7 @@ let settledApiFun = function(vm){
let saveCourseRate = async (params = {}) => await vm.$u.post(ucenterApiUrl+'/v1/settled/save-course-rate', params);
/* 获取消息内容列表 */
let listByNotice = async (params = {}) => await vm.$u.get(ucenterApiUrl+'/v1/notice/list', params);
let listByNotice = async (params = {}) => await vm.$u.get(ucenterApiUrl+'/v1/notice/home-list', params);
const settledApi = {
getSettleBaseInfo,
......
......@@ -12,6 +12,7 @@ const globalUrl = process.uniEnv || {}
const install = (Vue, vm) => {
let systemApiUrl = globalUrl.systemUrl.apiUrl
let ucenterApiUrl = globalUrl.ucenterUrl.apiUrl
let xueApiUrl = globalUrl.ucenterUrl.xueUrl
function toLoginPage(){
const app = getApp()
......@@ -48,7 +49,7 @@ const install = (Vue, vm) => {
config.url += '?access-token=' + token
}
}
if(config.url.indexOf(ucenterApiUrl)>-1){
if(config.url.indexOf(ucenterApiUrl)>-1 || config.url.indexOf(xueApiUrl)>-1){
// php端增加header Authorization
config.header['Authorization'] = token
}
......
......@@ -6,7 +6,7 @@
<view class="appoint-box">
<view class="select-date">
<view class="u-flex u-row-between ">
<view class="txt">选择日期</view>
<view class="txt">选择日期:</view>
<view class="txt active">{{ dateList[currentDay].day }}</view>
</view>
<view class="u-m-t-30 u-flex u-row-between date-list">
......@@ -23,7 +23,7 @@
<!-- weekChange -->
<view class="select-time u-p-t-50">
<view class="u-flex u-row-between">
<view class="txt">选择时间</view>
<view class="txt">选择时间:</view>
<view class="txt active">{{ currentTimeTxt }}</view>
</view>
<view class="u-p-t-30 u-flex u-flex-wrap time-list">
......@@ -47,33 +47,19 @@
type: Boolean,
default: true
},
dateList: {
type: Array,
default: []
},
timeList: {
type: Array,
default: []
},
},
data() {
return {
currentDay: 0,
currentTime: null,
dateList: [{
weekDay: '周三',
day: '21',
}, {
weekDay: '周四',
day: '22',
}, {
weekDay: '周五',
day: '23',
}, {
weekDay: '周六',
day: '24',
}, {
weekDay: '周日',
day: '25',
}, {
weekDay: '周一',
day: '26',
}, ],
timeList: ['06:00-08:00', '08:00-10:00', '10:00-12:00', '12:00-14:00', '14:00-16:00', '16:00-18:00',
'18:00-20:00', '20:00-22:00', '22:00-24:00'
],
}
},
computed: {
......@@ -88,13 +74,15 @@
getDateList() {
// 获取日期
},
dateChange(item, index, list) {
async dateChange(item, index, list) {
let data = {
item,
index,
list,
}
this.currentDay = index
let res = await this.$u.api.openTimerange()
debugger
this.$emit('date-change', data)
},
timeChange(item, index, list) {
......@@ -195,8 +183,8 @@
.time-item {
min-width: 196rpx;
margin-right: 21rpx;
margin-bottom: 24rpx;
margin-right: 24rpx;
margin-bottom: 20rpx;
border-radius: 12rpx;
padding: 26rpx 20rpx 24rpx;
background-color: #F4F5F7;
......
......@@ -26,8 +26,8 @@
</view>
<view class="line-view"></view>
<view class="reason-view" v-if="showReason"><text>未通过原因:</text>
<text class="reason-text">{{orderData.auditResults.remark}}</text>
<view class="reason-view" v-if="showReason"><text class="reason-text">未通过原因:</text>
<text>{{orderData.auditResults.remark}}</text>
</view>
<view class="bottom-view">
<view>
......@@ -78,13 +78,15 @@
}
}
},
// waitAccept:待接单、
// waitAppointment:待预约、
// waitCheckIn:待签到、
// waitFinish:待完工、
// review: 审核中、
// exception:异常单、
// finish:已完工
/* 订单类型
waitAccept:待接单、
waitAppointment:待预约、
waitCheckIn:待签到、
waitFinish:待完工、
audit: 审核中、
exception:异常单、
finish:已完工
*/
type: String,
location: { // 当前坐标
type: Array,
......@@ -156,7 +158,7 @@
.orderBusinessType != 'R')
},
showTime() {
return [4, 6].indexOf(this.orderType) != -1
return [4, 5, 6].indexOf(this.orderType) != -1
},
infoTexts() {
return {
......@@ -222,7 +224,7 @@
'waitAppointment': 1, // 待预约、
'waitCheckIn': 2, // 待签到、
'waitFinish': 3, // 待完工、
'review': 4, // 审核中、
'audit': 4, // 审核中、
'exception': 5, // 异常单、
'finish': 6, //已完工
}
......@@ -367,10 +369,12 @@
text-align: left;
margin-top: 30rpx;
font-size: 26rpx;
color: #666666;
color: #FA5A49;
display: flex;
align-items: flex-start;
.reason-text {
color: #FA5A49;
flex-shrink: 0;
color: #666666;
}
}
......
......@@ -7,9 +7,11 @@
<text>{{title}}</text>
</view>
<view class="line-view" />
<view v-if="count" class="order-content">
<view class="order-content">
<view v-if="count">
你本月还有<text class="order-content-count">{{count}}</text>次拒单机会
</view>
</view>
</view>
<view class="order-pop-text">
<text>{{message}}</text>
</view>
......@@ -94,6 +96,7 @@
}
.order-content {
min-height: 14rpx;
text-align: center;
color: #333333;
font-size: 32rpx;
......
......@@ -324,9 +324,10 @@
"path": "pages/photo/index", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
},
{
"name": "工单搜索",
"path": "pages/order/search",
{
// gaomingbo
"name": "工单-过程反馈",
"path": "pages/order/feedback",
"query": ""
},
{
......@@ -368,6 +369,11 @@
"name": "订单 - 拒单", //模式名称
"path": "pages/order/refuse", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
},
{
"name": "订单 - 过程反馈", //模式名称
"path": "pages/order/feedback", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
}
]
}
......
......@@ -13,12 +13,12 @@
</view>
<image class="right-icon" :src="shouyeyouImage"></image>
</view>
<view class="line-view" v-if="index != 2"></view>
<view class="line-view" v-if="index != 1"></view>
</view>
</view>
</view>
<!-- 订单推荐吸顶 -->
<u-sticky>
<u-sticky offset-top="60">
<view class="sticky">
<text>订单推荐</text>
</view>
......@@ -87,7 +87,7 @@
search: {
token: "",
pageNumber: 0,
pageSize: 100,
pageSize: 10,
},
bottomLoading: false
};
......@@ -179,8 +179,8 @@
self.$u.api.listByNotice().then((res) => {
uni.stopPullDownRefresh() // 结束下拉刷新
if (res.code == 200) {
if (res.data && res.data.length > 3) {
self.messageList = res.data.slice(0, 3);
if (res.data && res.data.length > 2) {
self.messageList = res.data.slice(0, 2);
} else {
self.messageList = res.data || [];
}
......@@ -197,8 +197,8 @@
self.$u.api.listByRecommendOrder(self.search).then((res) => {
uni.stopPullDownRefresh() // 结束下拉刷新
if (res.code == 200) {
if (res.data && res.data.length > 0) {
self.orderList.push(...res.data);
if (res.data && res.data.list && res.data.list.length > 0) {
self.orderList.push(...res.data.list);
}
} else {
console.log(res.message, "初始化订单列表异常");
......@@ -235,10 +235,12 @@
handleScroll() {
console.log("-----scroll-------");
},
/* 立即入驻 */
immediatelyIn() {
if (this.vuex_token) {
// 0=>'待提交',1=>'待审核',2=>'已通过',3=>'备选',4=>'已驳回',5=>'已签约',6=>'未支付保证金',7=>'已支付保证金',8=>'已通过考试',9=>'待提交'
// 用户已登录
var pageIndex = 1;
// 0=>'待提交',1=>'待审核',2=>'已通过',3=>'备选',4=>'已驳回',5=>'已签约',6=>'未支付保证金',7=>'已支付保证金',8=>'已通过考试',9=>'待提交'
switch (this.status) {
case 1:
case 2:
......@@ -266,6 +268,7 @@
"/pages/settle/prompt?pageIndex=" + pageIndex : "/pages/settle/index",
});
} else {
// 用户未登录
uni.navigateTo({
url: "pages/login/index",
});
......@@ -294,7 +297,7 @@
border-radius: 12rpx;
background-color: #ffffff;
padding: 12rpx 30rpx;
height: 252rpx;
height: 174rpx;
}
.msg-content {
......
......@@ -40,57 +40,57 @@
<view class="top">
<view class="currency-class">
<view class="title">通用课程</view>
<view class="class1" @click=ccc(173)>
<image class="img" :src=courselist.course.preview_pic mode=""></image>
<view class="class1" @click=ccc(courselist[0].id)>
<image class="img" :src=courselist[0].pic mode=""></image>
<view class="right">
<view class="">
{{courselist.course.name}}
{{ courselist[0].title }}
</view>
<view class="intro" v-html="courselist.course.intro">
{{courselist.course.intro}}
<view class="intro">
{{ courselist[0].desc }}
</view>
<view class="" style="display:flex;justify-content: space-between;">
<u-line-progress active-color="#2979ff"
:percent=courselist.learnedInfo.learnPercent style="width:54%;">
:percent=courselist[0].percent style="width:54%;">
</u-line-progress>
<text
v-text="(courselist.learnedInfo.isLearned) ?(courselist.learnedInfo.learnPercent==1)?'已完成':'继续':'未观看' "></text>
<text v-text="courselist[0].status"></text>
</view>
</view>
</view>
<view class="class1">
<image class="img" src="../../static/logo.png" mode=""></image>
<view class="class1" @click=ccc(courselist[1].id)>
<image class="img" :src=courselist[1].pic mode=""></image>
<view class="right">
<view class="">
接单操作
{{ courselist[1].title }}
</view>
<view class="">
快速学习,使用APP接单、抢单
{{ courselist[1].desc }}
</view>
<view class="" style="display:flex;justify-content: space-between;">
<u-line-progress active-color="#2979ff" :percent="30" style="width:54%;">
<u-line-progress active-color="#2979ff"
:percent="courselist[1].percent" style="width:54%;">
</u-line-progress>
<text>继续</text>
<text v-text="courselist[1].status"></text>
</view>
</view>
</view>
</view>
<view class="currency-class">
<view class="title">技能课程</view>
<view class="class1">
<image class="img" src="../../static/logo.png" mode=""></image>
<view class="class1" @click=ccc(courselist[2].id)>
<image class="img" :src=courselist[2].pic mode=""></image>
<view class="right">
<view class="">
从0-1学习充电桩安装服务
{{ courselist[2].title }}
</view>
<view class="">
让你全面了解充电桩市场及服务规范
{{ courselist[2].desc }}
</view>
<view class="" style="display:flex;justify-content: space-between;">
<u-line-progress active-color="#2979ff" :percent="100" style="width:54%;">
<u-line-progress active-color="#2979ff"
:percent="courselist[2].percent" style="width:54%;">
</u-line-progress>
<text>完成</text>
<text v-text="courselist[2].status"></text>
</view>
</view>
</view>
......@@ -187,7 +187,31 @@
start: 0,
},
list: [],
courselist: null,
courselist: [{
title: '服务规范',
desc: '为用户提供更好服务,自己赚更多钱',
percent: 0,
status: '',
pic: 'http://deimg.c.xixia.cc/preview/f5/e7/0e/Pbm9Q3V5ymTn8VeK0521.png',
id: 173
},
{
title: '接单操作',
desc: '快速学习,使用APP 接单、抢单',
percent: 0,
status: '',
pic: 'http://deimg.c.xixia.cc/preview/f5/e7/0e/Pbm9Q3V5ymTn8VeK0521.png',
id: 173
},
{
title: '从0-1学习充电桩安装服务',
desc: '让你全面了解充电桩市场及服务规范',
percent: 0,
status: '',
pic: 'http://deimg.c.xixia.cc/preview/f5/e7/0e/Pbm9Q3V5ymTn8VeK0521.png',
id: 173
}
],
loadStatus: "loading", //加载样式:loadMore-加载前样式,loading-加载加载中样式,nomore-没有数据样式
isLoadMore: false, //是否加载中
course_id: "course_id_=173",
......@@ -246,36 +270,29 @@
}
});
},
getTypeName(percent){
if(percent == 0){
return '未开始';
}else if(percent == '100'){
return '已完成';
}else{
return '继续';
}
},
//在线学习通用课程信息
getCourseList() {
this.$u.api
.CourseList()
let courseLength = this.courselist.length;
for(let i = 0;i < courseLength; i++){
let param = {
course_id: this.courselist[i].id
};
this.$u.api
.CourseList(param)
.then((res) => {
if (res.code == 200) {
if (res.data) {
this.courselist = res.data;
console.log("--------");
console.log(this.courselist);
if (res.data.length < 5) {
//判断接口返回数据量小于请求数据量,则表示此为最后一页
this.isLoadMore = true;
this.loadStatus = "nomore";
} else {
this.isLoadMore = false;
}
} else {
this.isLoadMore = true;
this.loadStatus = "nomore";
}
} else {
//接口请求失败的处理
uni.showToast({
title: res.message,
icon: "none",
});
this.isLoadMore = false;
if (this.params.start > 0) {
this.page -= 5;
this.courselist[i].status = this.getTypeName(res.data.learnedInfo.learnPercent);
this.courselist[i].percent = res.data.learnedInfo.learnPercent;
}
}
})
......@@ -284,17 +301,16 @@
title: err,
icon: "none",
});
this.isLoadMore = false;
if (this.params.start > 0) {
this.page -= 5;
}
});
});
}
},
//tabs通知swiper切换
tabsChange(index) {
this.swiperCurrent = index;
switch (index) {
case 1:
this.params.start = 0;
this.list = [];
this.getList();
break;
case 2:
......
......@@ -52,7 +52,7 @@
currentIndex: -1, // 第几个视频
section_id: 0,
isShowVideo: false,
CourseSectionlist: {}, //节信息
CourseSectionlist: {name: '', content: ''}, //节信息
playerOptions: {
playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
autoplay: true, //如果true,浏览器准备好时开始回放。
......@@ -145,33 +145,11 @@
if (this.courseStatus && (this.courseStatus == "1" || this.courseStatus == 1)) {
return
}
this.changeCourseStatus();
},
playerReadied(player) {
console.log('i go to playerReadied gklog:' + this.gklog)
player.currentTime(this.gklog)
},
changeCourseStatus() {
let that = this;
if (that.courseId) {
that.$u.api
.saveCourseRate({
courseId: that.courseId,
})
.then((res) => {
if (res.code !== 200) {
uni.showToast({
icon: "none",
title: "更新课程状态失败",
});
}
});
} else {
uni.showToast({
title: "课程ID为空,请重新选择课程",
});
}
},
getCourseSection(param) {
this.$u.api
.CourseSection(param)
......@@ -183,15 +161,17 @@
console.log(this.CourseSectionlist)
let wareVal = this.CourseSectionlist.ware;
this.isShowVideo = wareVal == "0";
this.courseTitle = res.data.name;
this.courseDesc = res.data.content;
this.section_id = res.data.id;
this.section_content = res.data.content;
if (this.isShowVideo) {
let coureWareList = res.data.courseware;
this.courseSrc = coureWareList[0].src;
this.videoTotalTime = parseInt(JSON.parse(coureWareList[0].info).time);
console.log('视频时长信息:' + this.videoTotalTime);
this.courseTitle = res.data.name;
this.courseDesc = res.data.content;
this.section_id = res.data.id;
this.section_content = res.data.content;
}else{
this.updateLearnedStatusForText();
}
}
}
......@@ -205,6 +185,26 @@
});
});
},
updateLearnedStatusForText() {
if (this.isShowVideo) {
return false;
}
let param = {
section_id: this.section_id,
video_time: 0,
status: 1,
};
this.$u.api.updateLearnCourses(param).then((res) => {
console.log('--' + this.howTimeToUpdateLearnedStatus + '更新一次观看状态--time:' + nowTime);
}).catch((err) => {
console.log('--------updateLearnedStatusForText---------');
console.log(err);
uni.showToast({
title: err,
icon: "none",
});
});
},
updateLearnedStatus(nowTime) {
if (this.gklog != nowTime && nowTime % this.howTimeToUpdateLearnedStatus == 0) {
if (nowTime < this.howLongIsLearned) {
......@@ -221,6 +221,13 @@
};
this.$u.api.updateLearnCourses(param).then((res) => {
console.log('--' + this.howTimeToUpdateLearnedStatus + '更新一次观看状态--time:' + nowTime);
}).catch((err) => {
console.log('--------updateLearnedStatus---------');
console.log(err);
uni.showToast({
title: err,
icon: "none",
});
});
}
}
......@@ -345,7 +352,7 @@
}
}
}
.u-content {
// margin-top: 10rpx;
padding: 40rpx 30rpx;
......
......@@ -20,14 +20,15 @@
<u-tabs
:list="tabList"
:current="curTab"
height="80"
height="60"
gutter="89"
bar-height="4"
bar-width="44"
bg-color="none"
active-color="#FFFFFF"
inactive-color="#FFFFFF"
inactive-color="#DEDEDE"
font-size="32"
bold
@change="changeTab"
></u-tabs>
</view>
......@@ -35,6 +36,7 @@
<!-- <view class="con-box">
</view> -->
<view class="content-view">
<view class="con-box">
<view class="title">{{feedback.own.title}}</view>
<view class="u-flex u-flex-wrap">
......@@ -43,7 +45,7 @@
:key="index"
@click="changeOwn(index)"
:class="{'txt-item':true,'active': (trace.reasonRelegation == index)}">
<text class="txt">{{index}}</text>
<text class="txt">{{item}}</text>
</view>
</view>
<u-gap height="30"></u-gap>
......@@ -53,16 +55,21 @@
v-for="(txt, index) in options[curTab][trace.reasonRelegation]"
:key="index"
@click="changeType(txt)"
:class="{'txt-item':true,'active': (trace.reason == txt)}">
:class="{'txt-item':true,'active': (trace.reason == txt)}" style="width: 306rpx;margin-right: 18rpx">
<text class="txt">{{txt}}</text>
</view>
</view>
<u-input v-show="showRemark" v-model="trace.remark" class="textarea" height="156" type="textarea" placeholder="请补充详细说明,以便于记录您的接单信用分"></u-input>
<view class="input-view" v-show="showRemark">
<u-input v-model="trace.remark" class="textarea" height="156" type="textarea" placeholder="请补充详细说明,以便于记录您的接单信用分"></u-input>
</view>
</view>
<view class="time-view">
<appoint-time @dateChange="dateChange" @timeChange="timeChange" @weekChange="weekChange"></appoint-time>
</view>
</view>
</view>
<view class="u-m-60">
<button class="btn" @click="submitForm" :loading="submiting" :disabled="disabledSubmit">确定</button>
<view class="bottom-view">
<button class="btn, bottom-btn" @click="submitForm" :loading="submiting" :disabled="disabledSubmit"><text class="button-text">确定</text></button>
</view>
</view>
</template>
......@@ -134,6 +141,7 @@
},
},
async onLoad(e) {
this.$u.vuex('vuex_token', 'RTOKEN7493e6defc2f1a77782f105dc297a9366763fec5');
this.orderId = 1
this.categoryId = 88
if(e) {
......@@ -144,9 +152,11 @@
title: "数据加载中",
mask: true
})
this.loadCalendar()
await this.initPageData()
},
methods: {
/* 初始化页面数据 */
async initPageData() {
let self = this
let params = {categoryId: self.categoryId}
......@@ -158,6 +168,7 @@
}
uni.hideLoading()
},
/* 组装参数 */
buildConfig() {
let self = this
if(self.config) {
......@@ -169,6 +180,7 @@
})
}
},
/* 初始化参数 */
initParams() {
let self = this
if(self.config) {
......@@ -188,6 +200,17 @@
}
}
},
/* 加载日历数据 */
async loadCalendar() {
let self = this
let res = await this.$u.api.workerCalendar()
if(res && res.code == 200) {
}
debugger
},
/**
* 切换tab项
*/
......@@ -257,11 +280,13 @@
height: 100vh;
overflow: auto;
background-color: #F4F5F7;
background-image: linear-gradient(to top, #F4F5F7 0%, #2272FF 100%);
background-image: linear-gradient(to top, #F4F5F7 0%, #2272FF 50%);
background-size: 750rpx 600rpx;
background-repeat: no-repeat;
}
.feedback-box {
display: flex;
flex-direction: column;
.header {
padding: 12rpx 30rpx 40rpx 30rpx;
display: flex;
......@@ -280,9 +305,43 @@
.top-tab{
text-align: center;
}
.content {
display: flex;
flex-direction: column;
overflow: hidden;
margin-bottom: 188rpx;
.content-view {
height: 100%;
border-radius: 12rpx;
overflow: auto;
margin-top:30rpx;
.time-view {
border-radius: 12rpx;
background-color: #FFFFFF;
padding-bottom: 20rpx;
}
}
}
.bottom-view {
position: fixed;
bottom: 44rpx;
width: 100%;
}
.bottom-btn {
height: 104rpx;
width: 600rpx;
display: flex;
align-items: center;
justify-content: center;
.button-text {
font-size: 32rpx;
font-weight: bold;
}
}
.con-box{
margin-top:30rpx;
padding: 30rpx 30rpx 28rpx 30rpx;
padding: 30rpx 30rpx 8rpx 30rpx;
border-radius: 12rpx;
background-color: #FFFFFF;
.title{
......@@ -293,28 +352,39 @@
}
&>.u-flex{
margin-top:40rpx;
margin-right:-20rpx;
margin-right:-24rpx;
.txt-item{
border-radius: 12rpx;
padding:24rpx 38rpx;
min-width: 196rpx;
width: 196rpx;
height: 72rpx;
text-align: center;
margin-right: 20rpx;
margin-right: 22rpx;
margin-bottom: 20rpx;
background-color: #F4F5F7;
&.active{
background-color: #2272FF;
.txt{
color: #fff;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
}
}
}
.txt{
display:block;
font-size: 26rpx;
line-height: 26rpx;
color: #333;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.input-view {
margin-bottom: 30rpx;
}
.textarea{
......
......@@ -107,7 +107,7 @@
'waitAppointment': 0, // 待预约、
'waitCheckIn': 1, // 待签到、
'waitFinish': 2, // 待完工、
'review': 3, // 审核中、
'audit': 3, // 审核中、
'exception': 4, // 异常单、
'finish': 5, //已完工
}
......@@ -118,7 +118,7 @@
0: 'waitAppointment',
1: 'waitCheckIn',
2: 'waitFinish',
3: 'review',
3: 'audit',
4: 'exception',
5: 'finish'
}
......@@ -134,7 +134,7 @@
this.pageNumber = 0
this.orderList = []
this.loadStatus = 'loading'
this.getOrderList(index === 0 ? 0 : 5)
this.getOrderList(index === 0 ? this.currentIndex : 5)
},
// tab栏切换
change(index) {
......
......@@ -19,12 +19,12 @@
</view>
<view class="con-box" style="padding-top: 10rpx;">
<view class="tit u-m-b-20">补充说明</view>
<u-input v-model="formData.remark" class="textarea" height="156" type="textarea" placeholder="请补充详细说明,以便于记录您的接单信用分"></u-input>
<u-input v-model="formData.remark" class="textarea" height="156" type="textarea" placeholder="请补充详细说明,以便于记录您的接单信用分" :clearable="false"></u-input>
</view>
</view>
<view class="bottm-btn-view">
<button :loading="submiting" :disabled="disabledSubmit" class="btn" @click="handleClickSubmit">确定</button>
<view class="bottom-btn-view">
<button :loading="submiting" :disabled="disabledSubmit" class="btn bottom-btn" @click="handleClickSubmit"><text class="button-text">提交</text></button>
</view>
<PopView title="拒单提示" message="确定“拒单”操作,将影响对您的派单频率,\n甚至进入黑名单,请谨慎操作"
:visible.sync="visibale" :count="count" @click="handleClick" buttonText="确定"/>
......@@ -76,10 +76,9 @@
if (this.count > 0) {
this.visibale = true
} else {
let message = '本月无拒单机会,请联系客服'
uni.showToast({
icon: 'none',
title: message,
title: '本月无拒单机会,请联系客服',
})
}
},
......@@ -218,10 +217,21 @@
margin-right: 10rpx;
color:#FA5A49
}
.bottm-btn-view {
.bottom-btn-view {
width: 100%;
padding: 0 80rpx;
position: absolute;
bottom: 40rpx;
bottom: 44rpx;
.bottom-btn {
height: 104rpx;
display: flex;
align-items: center;
justify-content: center;
.button-text {
font-size: 32rpx;
font-weight: bold;
}
}
}
</style>
......@@ -470,7 +470,7 @@
}
.item {
display: flex;
padding: 28rpx 30rpx;
padding: 28rpx 0rpx;
width: 100%;
font-size: 32rpx;
color: #333;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment