Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
self-support
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李俊赕
self-support
Commits
68e2db69
Commit
68e2db69
authored
Apr 28, 2021
by
郭晓清
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://git.banshouhui.com/lijundan/self-support
# Conflicts: # src/common/api/order.js
parents
9bd5bf70
f845fd84
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
297 additions
and
181 deletions
+297
-181
.env.dev.js
.env.dev.js
+2
-2
learn.js
src/common/api/learn.js
+1
-1
order.js
src/common/api/order.js
+25
-17
settled.js
src/common/api/settled.js
+1
-1
http.interceptor.js
src/common/http.interceptor.js
+2
-1
appoint-time.vue
src/components/appoint/appoint-time.vue
+15
-27
index.vue
src/components/order/index.vue
+18
-14
index.vue
src/components/popView/index.vue
+5
-2
pages.json
src/pages.json
+9
-3
index.vue
src/pages/index/index.vue
+12
-9
index.vue
src/pages/learn/index.vue
+68
-52
section.vue
src/pages/learn/section.vue
+35
-28
feedback.vue
src/pages/order/feedback.vue
+83
-13
index.vue
src/pages/order/index.vue
+3
-3
refuse.vue
src/pages/order/refuse.vue
+17
-7
sign-contract.vue
src/pages/settle/sign-contract.vue
+1
-1
No files found.
.env.dev.js
View file @
68e2db69
...
@@ -5,8 +5,8 @@ const UNI_APP = {
...
@@ -5,8 +5,8 @@ const UNI_APP = {
// banshou: 'https://m.banshou.com', //扳手app
// banshou: 'https://m.banshou.com', //扳手app
},
},
systemUrl
:
{
systemUrl
:
{
apiUrl
:
'http://192.168.1.22'
,
//java端域名请求头
//
apiUrl: 'http://192.168.1.22', //java端域名请求头
//
apiUrl: 'http://apidoc.banshouhui.com:3000/mock/31', // mock端域名请求头
apiUrl
:
'http://apidoc.banshouhui.com:3000/mock/31'
,
// mock端域名请求头
},
},
qn_base_url
:
'https://qn-static.banshouhui.com/self-support/'
qn_base_url
:
'https://qn-static.banshouhui.com/self-support/'
}
}
...
...
src/common/api/learn.js
View file @
68e2db69
...
@@ -7,7 +7,7 @@ let learnApiFun = function(vm){
...
@@ -7,7 +7,7 @@ let learnApiFun = function(vm){
let
getTrainingNoticeList
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
ucenterApiUrl
+
'/v1/notice/list'
,
params
);
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
);
let
ChapterDetails
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
collegeApiUrl
+
'/v1/chapter-sections'
,
params
);
/* 获取课程节信息*/
/* 获取课程节信息*/
...
...
src/common/api/order.js
View file @
68e2db69
import
util
from
'@/utils/util.js'
import
util
from
'@/utils/util.js'
// 接口公共前缀
const
prefix
=
'/wxh-worker-rest/rest/'
let
orderApiFun
=
function
(
vm
){
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/r
e
st/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 默认水印
* 获取师傅水印 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){
...
@@ -102,6 +109,7 @@ let orderApiFun = function(vm){
orderStandard
,
orderStandard
,
saveImage
,
saveImage
,
getWatermark
,
getWatermark
,
openTimerange
,
contactTime
,
contactTime
,
checkRejectable
checkRejectable
}
}
...
...
src/common/api/settled.js
View file @
68e2db69
...
@@ -39,7 +39,7 @@ let settledApiFun = function(vm){
...
@@ -39,7 +39,7 @@ let settledApiFun = function(vm){
let
saveCourseRate
=
async
(
params
=
{})
=>
await
vm
.
$u
.
post
(
ucenterApiUrl
+
'/v1/settled/save-course-rate'
,
params
);
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
=
{
const
settledApi
=
{
getSettleBaseInfo
,
getSettleBaseInfo
,
...
...
src/common/http.interceptor.js
View file @
68e2db69
...
@@ -12,6 +12,7 @@ const globalUrl = process.uniEnv || {}
...
@@ -12,6 +12,7 @@ const globalUrl = process.uniEnv || {}
const
install
=
(
Vue
,
vm
)
=>
{
const
install
=
(
Vue
,
vm
)
=>
{
let
systemApiUrl
=
globalUrl
.
systemUrl
.
apiUrl
let
systemApiUrl
=
globalUrl
.
systemUrl
.
apiUrl
let
ucenterApiUrl
=
globalUrl
.
ucenterUrl
.
apiUrl
let
ucenterApiUrl
=
globalUrl
.
ucenterUrl
.
apiUrl
let
xueApiUrl
=
globalUrl
.
ucenterUrl
.
xueUrl
function
toLoginPage
(){
function
toLoginPage
(){
const
app
=
getApp
()
const
app
=
getApp
()
...
@@ -48,7 +49,7 @@ const install = (Vue, vm) => {
...
@@ -48,7 +49,7 @@ const install = (Vue, vm) => {
config
.
url
+=
'?access-token='
+
token
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
// php端增加header Authorization
config
.
header
[
'Authorization'
]
=
token
config
.
header
[
'Authorization'
]
=
token
}
}
...
...
src/components/appoint/appoint-time.vue
View file @
68e2db69
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<view
class=
"appoint-box"
>
<view
class=
"appoint-box"
>
<view
class=
"select-date"
>
<view
class=
"select-date"
>
<view
class=
"u-flex u-row-between "
>
<view
class=
"u-flex u-row-between "
>
<view
class=
"txt"
>
选择日期
</view>
<view
class=
"txt"
>
选择日期
:
</view>
<view
class=
"txt active"
>
{{
dateList
[
currentDay
].
day
}}
</view>
<view
class=
"txt active"
>
{{
dateList
[
currentDay
].
day
}}
</view>
</view>
</view>
<view
class=
"u-m-t-30 u-flex u-row-between date-list"
>
<view
class=
"u-m-t-30 u-flex u-row-between date-list"
>
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<!-- weekChange -->
<!-- weekChange -->
<view
class=
"select-time u-p-t-50"
>
<view
class=
"select-time u-p-t-50"
>
<view
class=
"u-flex u-row-between"
>
<view
class=
"u-flex u-row-between"
>
<view
class=
"txt"
>
选择时间
</view>
<view
class=
"txt"
>
选择时间
:
</view>
<view
class=
"txt active"
>
{{
currentTimeTxt
}}
</view>
<view
class=
"txt active"
>
{{
currentTimeTxt
}}
</view>
</view>
</view>
<view
class=
"u-p-t-30 u-flex u-flex-wrap time-list"
>
<view
class=
"u-p-t-30 u-flex u-flex-wrap time-list"
>
...
@@ -47,33 +47,19 @@
...
@@ -47,33 +47,19 @@
type
:
Boolean
,
type
:
Boolean
,
default
:
true
default
:
true
},
},
dateList
:
{
type
:
Array
,
default
:
[]
},
timeList
:
{
type
:
Array
,
default
:
[]
},
},
},
data
()
{
data
()
{
return
{
return
{
currentDay
:
0
,
currentDay
:
0
,
currentTime
:
null
,
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
:
{
computed
:
{
...
@@ -88,13 +74,15 @@
...
@@ -88,13 +74,15 @@
getDateList
()
{
getDateList
()
{
// 获取日期
// 获取日期
},
},
dateChange
(
item
,
index
,
list
)
{
async
dateChange
(
item
,
index
,
list
)
{
let
data
=
{
let
data
=
{
item
,
item
,
index
,
index
,
list
,
list
,
}
}
this
.
currentDay
=
index
this
.
currentDay
=
index
let
res
=
await
this
.
$u
.
api
.
openTimerange
()
debugger
this
.
$emit
(
'date-change'
,
data
)
this
.
$emit
(
'date-change'
,
data
)
},
},
timeChange
(
item
,
index
,
list
)
{
timeChange
(
item
,
index
,
list
)
{
...
@@ -195,8 +183,8 @@
...
@@ -195,8 +183,8 @@
.time-item
{
.time-item
{
min-width
:
196rpx
;
min-width
:
196rpx
;
margin-right
:
2
1
rpx
;
margin-right
:
2
4
rpx
;
margin-bottom
:
2
4
rpx
;
margin-bottom
:
2
0
rpx
;
border-radius
:
12rpx
;
border-radius
:
12rpx
;
padding
:
26rpx
20rpx
24rpx
;
padding
:
26rpx
20rpx
24rpx
;
background-color
:
#F4F5F7
;
background-color
:
#F4F5F7
;
...
...
src/components/order/index.vue
View file @
68e2db69
...
@@ -26,8 +26,8 @@
...
@@ -26,8 +26,8 @@
</view>
</view>
<view
class=
"line-view"
></view>
<view
class=
"line-view"
></view>
<view
class=
"reason-view"
v-if=
"showReason"
><text>
未通过原因:
</text>
<view
class=
"reason-view"
v-if=
"showReason"
><text
class=
"reason-text"
>
未通过原因:
</text>
<text
class=
"reason-text"
>
{{
orderData
.
auditResults
.
remark
}}
</text>
<text>
{{
orderData
.
auditResults
.
remark
}}
</text>
</view>
</view>
<view
class=
"bottom-view"
>
<view
class=
"bottom-view"
>
<view>
<view>
...
@@ -78,13 +78,15 @@
...
@@ -78,13 +78,15 @@
}
}
}
}
},
},
// waitAccept:待接单、
/* 订单类型
// waitAppointment:待预约、
waitAccept:待接单、
// waitCheckIn:待签到、
waitAppointment:待预约、
// waitFinish:待完工、
waitCheckIn:待签到、
// review: 审核中、
waitFinish:待完工、
// exception:异常单、
audit: 审核中、
// finish:已完工
exception:异常单、
finish:已完工
*/
type
:
String
,
type
:
String
,
location
:
{
// 当前坐标
location
:
{
// 当前坐标
type
:
Array
,
type
:
Array
,
...
@@ -156,7 +158,7 @@
...
@@ -156,7 +158,7 @@
.
orderBusinessType
!=
'R'
)
.
orderBusinessType
!=
'R'
)
},
},
showTime
()
{
showTime
()
{
return
[
4
,
6
].
indexOf
(
this
.
orderType
)
!=
-
1
return
[
4
,
5
,
6
].
indexOf
(
this
.
orderType
)
!=
-
1
},
},
infoTexts
()
{
infoTexts
()
{
return
{
return
{
...
@@ -222,7 +224,7 @@
...
@@ -222,7 +224,7 @@
'waitAppointment'
:
1
,
// 待预约、
'waitAppointment'
:
1
,
// 待预约、
'waitCheckIn'
:
2
,
// 待签到、
'waitCheckIn'
:
2
,
// 待签到、
'waitFinish'
:
3
,
// 待完工、
'waitFinish'
:
3
,
// 待完工、
'
review
'
:
4
,
// 审核中、
'
audit
'
:
4
,
// 审核中、
'exception'
:
5
,
// 异常单、
'exception'
:
5
,
// 异常单、
'finish'
:
6
,
//已完工
'finish'
:
6
,
//已完工
}
}
...
@@ -367,10 +369,12 @@
...
@@ -367,10 +369,12 @@
text-align
:
left
;
text-align
:
left
;
margin-top
:
30rpx
;
margin-top
:
30rpx
;
font-size
:
26rpx
;
font-size
:
26rpx
;
color
:
#666666
;
color
:
#FA5A49
;
display
:
flex
;
align-items
:
flex-start
;
.reason-text
{
.reason-text
{
color
:
#FA5A49
;
flex-shrink
:
0
;
color
:
#666666
;
}
}
}
}
...
...
src/components/popView/index.vue
View file @
68e2db69
...
@@ -7,9 +7,11 @@
...
@@ -7,9 +7,11 @@
<text>
{{
title
}}
</text>
<text>
{{
title
}}
</text>
</view>
</view>
<view
class=
"line-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>
次拒单机会
你本月还有
<text
class=
"order-content-count"
>
{{
count
}}
</text>
次拒单机会
</view>
</view>
</view>
<view
class=
"order-pop-text"
>
<view
class=
"order-pop-text"
>
<text>
{{
message
}}
</text>
<text>
{{
message
}}
</text>
</view>
</view>
...
@@ -94,6 +96,7 @@
...
@@ -94,6 +96,7 @@
}
}
.order-content
{
.order-content
{
min-height
:
14rpx
;
text-align
:
center
;
text-align
:
center
;
color
:
#333333
;
color
:
#333333
;
font-size
:
32rpx
;
font-size
:
32rpx
;
...
...
src/pages.json
View file @
68e2db69
...
@@ -324,9 +324,10 @@
...
@@ -324,9 +324,10 @@
"path"
:
"pages/photo/index"
,
//启动页面,必选
"path"
:
"pages/photo/index"
,
//启动页面,必选
"query"
:
""
//启动参数,在页面的onLoad函数里面得到
"query"
:
""
//启动参数,在页面的onLoad函数里面得到
},
},
{
{
"name"
:
"工单搜索"
,
//
gaomingbo
"path"
:
"pages/order/search"
,
"name"
:
"工单-过程反馈"
,
"path"
:
"pages/order/feedback"
,
"query"
:
""
"query"
:
""
},
},
{
{
...
@@ -368,6 +369,11 @@
...
@@ -368,6 +369,11 @@
"name"
:
"订单 - 拒单"
,
//模式名称
"name"
:
"订单 - 拒单"
,
//模式名称
"path"
:
"pages/order/refuse"
,
//启动页面,必选
"path"
:
"pages/order/refuse"
,
//启动页面,必选
"query"
:
""
//启动参数,在页面的onLoad函数里面得到
"query"
:
""
//启动参数,在页面的onLoad函数里面得到
},
{
"name"
:
"订单 - 过程反馈"
,
//模式名称
"path"
:
"pages/order/feedback"
,
//启动页面,必选
"query"
:
""
//启动参数,在页面的onLoad函数里面得到
}
}
]
]
}
}
...
...
src/pages/index/index.vue
View file @
68e2db69
...
@@ -13,12 +13,12 @@
...
@@ -13,12 +13,12 @@
</view>
</view>
<image
class=
"right-icon"
:src=
"shouyeyouImage"
></image>
<image
class=
"right-icon"
:src=
"shouyeyouImage"
></image>
</view>
</view>
<view
class=
"line-view"
v-if=
"index !=
2
"
></view>
<view
class=
"line-view"
v-if=
"index !=
1
"
></view>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- 订单推荐吸顶 -->
<!-- 订单推荐吸顶 -->
<u-sticky>
<u-sticky
offset-top=
"60"
>
<view
class=
"sticky"
>
<view
class=
"sticky"
>
<text>
订单推荐
</text>
<text>
订单推荐
</text>
</view>
</view>
...
@@ -87,7 +87,7 @@
...
@@ -87,7 +87,7 @@
search
:
{
search
:
{
token
:
""
,
token
:
""
,
pageNumber
:
0
,
pageNumber
:
0
,
pageSize
:
10
0
,
pageSize
:
10
,
},
},
bottomLoading
:
false
bottomLoading
:
false
};
};
...
@@ -179,8 +179,8 @@
...
@@ -179,8 +179,8 @@
self
.
$u
.
api
.
listByNotice
().
then
((
res
)
=>
{
self
.
$u
.
api
.
listByNotice
().
then
((
res
)
=>
{
uni
.
stopPullDownRefresh
()
// 结束下拉刷新
uni
.
stopPullDownRefresh
()
// 结束下拉刷新
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
3
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
2
)
{
self
.
messageList
=
res
.
data
.
slice
(
0
,
3
);
self
.
messageList
=
res
.
data
.
slice
(
0
,
2
);
}
else
{
}
else
{
self
.
messageList
=
res
.
data
||
[];
self
.
messageList
=
res
.
data
||
[];
}
}
...
@@ -197,8 +197,8 @@
...
@@ -197,8 +197,8 @@
self
.
$u
.
api
.
listByRecommendOrder
(
self
.
search
).
then
((
res
)
=>
{
self
.
$u
.
api
.
listByRecommendOrder
(
self
.
search
).
then
((
res
)
=>
{
uni
.
stopPullDownRefresh
()
// 结束下拉刷新
uni
.
stopPullDownRefresh
()
// 结束下拉刷新
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
)
{
if
(
res
.
data
&&
res
.
data
.
l
ist
&&
res
.
data
.
list
.
l
ength
>
0
)
{
self
.
orderList
.
push
(...
res
.
data
);
self
.
orderList
.
push
(...
res
.
data
.
list
);
}
}
}
else
{
}
else
{
console
.
log
(
res
.
message
,
"初始化订单列表异常"
);
console
.
log
(
res
.
message
,
"初始化订单列表异常"
);
...
@@ -235,10 +235,12 @@
...
@@ -235,10 +235,12 @@
handleScroll
()
{
handleScroll
()
{
console
.
log
(
"-----scroll-------"
);
console
.
log
(
"-----scroll-------"
);
},
},
/* 立即入驻 */
immediatelyIn
()
{
immediatelyIn
()
{
if
(
this
.
vuex_token
)
{
if
(
this
.
vuex_token
)
{
//
0=>'待提交',1=>'待审核',2=>'已通过',3=>'备选',4=>'已驳回',5=>'已签约',6=>'未支付保证金',7=>'已支付保证金',8=>'已通过考试',9=>'待提交'
//
用户已登录
var
pageIndex
=
1
;
var
pageIndex
=
1
;
// 0=>'待提交',1=>'待审核',2=>'已通过',3=>'备选',4=>'已驳回',5=>'已签约',6=>'未支付保证金',7=>'已支付保证金',8=>'已通过考试',9=>'待提交'
switch
(
this
.
status
)
{
switch
(
this
.
status
)
{
case
1
:
case
1
:
case
2
:
case
2
:
...
@@ -266,6 +268,7 @@
...
@@ -266,6 +268,7 @@
"/pages/settle/prompt?pageIndex="
+
pageIndex
:
"/pages/settle/index"
,
"/pages/settle/prompt?pageIndex="
+
pageIndex
:
"/pages/settle/index"
,
});
});
}
else
{
}
else
{
// 用户未登录
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"pages/login/index"
,
url
:
"pages/login/index"
,
});
});
...
@@ -294,7 +297,7 @@
...
@@ -294,7 +297,7 @@
border-radius
:
12rpx
;
border-radius
:
12rpx
;
background-color
:
#ffffff
;
background-color
:
#ffffff
;
padding
:
12rpx
30rpx
;
padding
:
12rpx
30rpx
;
height
:
252
rpx
;
height
:
174
rpx
;
}
}
.msg-content
{
.msg-content
{
...
...
src/pages/learn/index.vue
View file @
68e2db69
...
@@ -40,57 +40,57 @@
...
@@ -40,57 +40,57 @@
<view
class=
"top"
>
<view
class=
"top"
>
<view
class=
"currency-class"
>
<view
class=
"currency-class"
>
<view
class=
"title"
>
通用课程
</view>
<view
class=
"title"
>
通用课程
</view>
<view
class=
"class1"
@
click=
ccc(
173
)
>
<view
class=
"class1"
@
click=
ccc(
courselist[0].id
)
>
<image
class=
"img"
:src=
courselist
.course.preview_
pic
mode=
""
></image>
<image
class=
"img"
:src=
courselist
[0].
pic
mode=
""
></image>
<view
class=
"right"
>
<view
class=
"right"
>
<view
class=
""
>
<view
class=
""
>
{{
courselist
[
0
].
title
}}
{{
courselist
.
course
.
name
}}
</view>
</view>
<view
class=
"intro"
v-html=
"courselist.course.intro"
>
<view
class=
"intro"
>
{{
courselist
.
course
.
intro
}}
{{
courselist
[
0
].
desc
}}
</view>
</view>
<view
class=
""
style=
"display:flex;justify-content: space-between;"
>
<view
class=
""
style=
"display:flex;justify-content: space-between;"
>
<u-line-progress
active-color=
"#2979ff"
<u-line-progress
active-color=
"#2979ff"
:percent=
courselist
.learnedInfo.learnP
ercent
style=
"width:54%;"
>
:percent=
courselist
[0].p
ercent
style=
"width:54%;"
>
</u-line-progress>
</u-line-progress>
<text
<text
v-text=
"courselist[0].status"
></text>
v-text=
"(courselist.learnedInfo.isLearned) ?(courselist.learnedInfo.learnPercent==1)?'已完成':'继续':'未观看' "
></text>
</view>
</view>
</view>
</view>
</view>
</view>
<view
class=
"class1"
>
<view
class=
"class1"
@
click=
ccc(courselist[1].id)
>
<image
class=
"img"
src=
"../../static/logo.png"
mode=
""
></image>
<image
class=
"img"
:src=
courselist[1].pic
mode=
""
></image>
<view
class=
"right"
>
<view
class=
"right"
>
<view
class=
""
>
<view
class=
""
>
接单操作
{{
courselist
[
1
].
title
}}
</view>
</view>
<view
class=
""
>
<view
class=
""
>
快速学习,使用APP接单、抢单
{{
courselist
[
1
].
desc
}}
</view>
</view>
<view
class=
""
style=
"display:flex;justify-content: space-between;"
>
<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>
</u-line-progress>
<text
>
继续
</text>
<text
v-text=
"courselist[1].status"
>
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view
class=
"currency-class"
>
<view
class=
"currency-class"
>
<view
class=
"title"
>
技能课程
</view>
<view
class=
"title"
>
技能课程
</view>
<view
class=
"class1"
>
<view
class=
"class1"
@
click=
ccc(courselist[2].id)
>
<image
class=
"img"
src=
"../../static/logo.png"
mode=
""
></image>
<image
class=
"img"
:src=
courselist[2].pic
mode=
""
></image>
<view
class=
"right"
>
<view
class=
"right"
>
<view
class=
""
>
<view
class=
""
>
从0-1学习充电桩安装服务
{{
courselist
[
2
].
title
}}
</view>
</view>
<view
class=
""
>
<view
class=
""
>
让你全面了解充电桩市场及服务规范
{{
courselist
[
2
].
desc
}}
</view>
</view>
<view
class=
""
style=
"display:flex;justify-content: space-between;"
>
<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>
</u-line-progress>
<text
>
完成
</text>
<text
v-text=
"courselist[2].status"
>
</text>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -187,7 +187,31 @@
...
@@ -187,7 +187,31 @@
start
:
0
,
start
:
0
,
},
},
list
:
[],
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-没有数据样式
loadStatus
:
"loading"
,
//加载样式:loadMore-加载前样式,loading-加载加载中样式,nomore-没有数据样式
isLoadMore
:
false
,
//是否加载中
isLoadMore
:
false
,
//是否加载中
course_id
:
"course_id_=173"
,
course_id
:
"course_id_=173"
,
...
@@ -246,36 +270,29 @@
...
@@ -246,36 +270,29 @@
}
}
});
});
},
},
getTypeName
(
percent
){
if
(
percent
==
0
){
return
'未开始'
;
}
else
if
(
percent
==
'100'
){
return
'已完成'
;
}
else
{
return
'继续'
;
}
},
//在线学习通用课程信息
//在线学习通用课程信息
getCourseList
()
{
getCourseList
()
{
this
.
$u
.
api
let
courseLength
=
this
.
courselist
.
length
;
.
CourseList
()
for
(
let
i
=
0
;
i
<
courseLength
;
i
++
){
let
param
=
{
course_id
:
this
.
courselist
[
i
].
id
};
this
.
$u
.
api
.
CourseList
(
param
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
)
{
if
(
res
.
data
)
{
this
.
courselist
=
res
.
data
;
this
.
courselist
[
i
].
status
=
this
.
getTypeName
(
res
.
data
.
learnedInfo
.
learnPercent
);
console
.
log
(
"--------"
);
this
.
courselist
[
i
].
percent
=
res
.
data
.
learnedInfo
.
learnPercent
;
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
;
}
}
}
}
})
})
...
@@ -284,17 +301,16 @@
...
@@ -284,17 +301,16 @@
title
:
err
,
title
:
err
,
icon
:
"none"
,
icon
:
"none"
,
});
});
this
.
isLoadMore
=
false
;
});
if
(
this
.
params
.
start
>
0
)
{
}
this
.
page
-=
5
;
}
});
},
},
//tabs通知swiper切换
//tabs通知swiper切换
tabsChange
(
index
)
{
tabsChange
(
index
)
{
this
.
swiperCurrent
=
index
;
this
.
swiperCurrent
=
index
;
switch
(
index
)
{
switch
(
index
)
{
case
1
:
case
1
:
this
.
params
.
start
=
0
;
this
.
list
=
[];
this
.
getList
();
this
.
getList
();
break
;
break
;
case
2
:
case
2
:
...
...
src/pages/learn/section.vue
View file @
68e2db69
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
currentIndex
:
-
1
,
// 第几个视频
currentIndex
:
-
1
,
// 第几个视频
section_id
:
0
,
section_id
:
0
,
isShowVideo
:
false
,
isShowVideo
:
false
,
CourseSectionlist
:
{},
//节信息
CourseSectionlist
:
{
name
:
''
,
content
:
''
},
//节信息
playerOptions
:
{
playerOptions
:
{
playbackRates
:
[
0.7
,
1.0
,
1.5
,
2.0
],
//播放速度
playbackRates
:
[
0.7
,
1.0
,
1.5
,
2.0
],
//播放速度
autoplay
:
true
,
//如果true,浏览器准备好时开始回放。
autoplay
:
true
,
//如果true,浏览器准备好时开始回放。
...
@@ -145,33 +145,11 @@
...
@@ -145,33 +145,11 @@
if
(
this
.
courseStatus
&&
(
this
.
courseStatus
==
"1"
||
this
.
courseStatus
==
1
))
{
if
(
this
.
courseStatus
&&
(
this
.
courseStatus
==
"1"
||
this
.
courseStatus
==
1
))
{
return
return
}
}
this
.
changeCourseStatus
();
},
},
playerReadied
(
player
)
{
playerReadied
(
player
)
{
console
.
log
(
'i go to playerReadied gklog:'
+
this
.
gklog
)
console
.
log
(
'i go to playerReadied gklog:'
+
this
.
gklog
)
player
.
currentTime
(
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
)
{
getCourseSection
(
param
)
{
this
.
$u
.
api
this
.
$u
.
api
.
CourseSection
(
param
)
.
CourseSection
(
param
)
...
@@ -183,15 +161,17 @@
...
@@ -183,15 +161,17 @@
console
.
log
(
this
.
CourseSectionlist
)
console
.
log
(
this
.
CourseSectionlist
)
let
wareVal
=
this
.
CourseSectionlist
.
ware
;
let
wareVal
=
this
.
CourseSectionlist
.
ware
;
this
.
isShowVideo
=
wareVal
==
"0"
;
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
)
{
if
(
this
.
isShowVideo
)
{
let
coureWareList
=
res
.
data
.
courseware
;
let
coureWareList
=
res
.
data
.
courseware
;
this
.
courseSrc
=
coureWareList
[
0
].
src
;
this
.
courseSrc
=
coureWareList
[
0
].
src
;
this
.
videoTotalTime
=
parseInt
(
JSON
.
parse
(
coureWareList
[
0
].
info
).
time
);
this
.
videoTotalTime
=
parseInt
(
JSON
.
parse
(
coureWareList
[
0
].
info
).
time
);
console
.
log
(
'视频时长信息:'
+
this
.
videoTotalTime
);
console
.
log
(
'视频时长信息:'
+
this
.
videoTotalTime
);
this
.
courseTitle
=
res
.
data
.
name
;
}
else
{
this
.
courseDesc
=
res
.
data
.
content
;
this
.
updateLearnedStatusForText
();
this
.
section_id
=
res
.
data
.
id
;
this
.
section_content
=
res
.
data
.
content
;
}
}
}
}
}
}
...
@@ -205,6 +185,26 @@
...
@@ -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
)
{
updateLearnedStatus
(
nowTime
)
{
if
(
this
.
gklog
!=
nowTime
&&
nowTime
%
this
.
howTimeToUpdateLearnedStatus
==
0
)
{
if
(
this
.
gklog
!=
nowTime
&&
nowTime
%
this
.
howTimeToUpdateLearnedStatus
==
0
)
{
if
(
nowTime
<
this
.
howLongIsLearned
)
{
if
(
nowTime
<
this
.
howLongIsLearned
)
{
...
@@ -221,6 +221,13 @@
...
@@ -221,6 +221,13 @@
};
};
this
.
$u
.
api
.
updateLearnCourses
(
param
).
then
((
res
)
=>
{
this
.
$u
.
api
.
updateLearnCourses
(
param
).
then
((
res
)
=>
{
console
.
log
(
'--'
+
this
.
howTimeToUpdateLearnedStatus
+
'更新一次观看状态--time:'
+
nowTime
);
console
.
log
(
'--'
+
this
.
howTimeToUpdateLearnedStatus
+
'更新一次观看状态--time:'
+
nowTime
);
}).
catch
((
err
)
=>
{
console
.
log
(
'--------updateLearnedStatus---------'
);
console
.
log
(
err
);
uni
.
showToast
({
title
:
err
,
icon
:
"none"
,
});
});
});
}
}
}
}
...
@@ -345,7 +352,7 @@
...
@@ -345,7 +352,7 @@
}
}
}
}
}
}
.u-content
{
.u-content
{
// margin-top: 10rpx;
// margin-top: 10rpx;
padding
:
40rpx
30rpx
;
padding
:
40rpx
30rpx
;
...
...
src/pages/order/feedback.vue
View file @
68e2db69
...
@@ -20,14 +20,15 @@
...
@@ -20,14 +20,15 @@
<u-tabs
<u-tabs
:list=
"tabList"
:list=
"tabList"
:current=
"curTab"
:current=
"curTab"
height=
"
8
0"
height=
"
6
0"
gutter=
"89"
gutter=
"89"
bar-height=
"4"
bar-height=
"4"
bar-width=
"44"
bar-width=
"44"
bg-color=
"none"
bg-color=
"none"
active-color=
"#FFFFFF"
active-color=
"#FFFFFF"
inactive-color=
"#
FFFFFF
"
inactive-color=
"#
DEDEDE
"
font-size=
"32"
font-size=
"32"
bold
@
change=
"changeTab"
@
change=
"changeTab"
></u-tabs>
></u-tabs>
</view>
</view>
...
@@ -35,6 +36,7 @@
...
@@ -35,6 +36,7 @@
<!--
<view
class=
"con-box"
>
<!--
<view
class=
"con-box"
>
</view>
-->
</view>
-->
<view
class=
"content-view"
>
<view
class=
"con-box"
>
<view
class=
"con-box"
>
<view
class=
"title"
>
{{
feedback
.
own
.
title
}}
</view>
<view
class=
"title"
>
{{
feedback
.
own
.
title
}}
</view>
<view
class=
"u-flex u-flex-wrap"
>
<view
class=
"u-flex u-flex-wrap"
>
...
@@ -43,7 +45,7 @@
...
@@ -43,7 +45,7 @@
:key=
"index"
:key=
"index"
@
click=
"changeOwn(index)"
@
click=
"changeOwn(index)"
:class=
"
{'txt-item':true,'active': (trace.reasonRelegation == index)}">
:class=
"
{'txt-item':true,'active': (trace.reasonRelegation == index)}">
<text
class=
"txt"
>
{{
i
ndex
}}
</text>
<text
class=
"txt"
>
{{
i
tem
}}
</text>
</view>
</view>
</view>
</view>
<u-gap
height=
"30"
></u-gap>
<u-gap
height=
"30"
></u-gap>
...
@@ -53,16 +55,21 @@
...
@@ -53,16 +55,21 @@
v-for=
"(txt, index) in options[curTab][trace.reasonRelegation]"
v-for=
"(txt, index) in options[curTab][trace.reasonRelegation]"
:key=
"index"
:key=
"index"
@
click=
"changeType(txt)"
@
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>
<text
class=
"txt"
>
{{
txt
}}
</text>
</view>
</view>
</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>
<view
class=
"time-view"
>
<appoint-time
@
dateChange=
"dateChange"
@
timeChange=
"timeChange"
@
weekChange=
"weekChange"
></appoint-time>
<appoint-time
@
dateChange=
"dateChange"
@
timeChange=
"timeChange"
@
weekChange=
"weekChange"
></appoint-time>
</view>
</view>
</view>
</view>
<view
class=
"
u-m-60
"
>
<view
class=
"
bottom-view
"
>
<button
class=
"btn
"
@
click=
"submitForm"
:loading=
"submiting"
:disabled=
"disabledSubmit"
>
确定
</button>
<button
class=
"btn
, bottom-btn"
@
click=
"submitForm"
:loading=
"submiting"
:disabled=
"disabledSubmit"
><text
class=
"button-text"
>
确定
</text>
</button>
</view>
</view>
</view>
</view>
</
template
>
</
template
>
...
@@ -134,6 +141,7 @@
...
@@ -134,6 +141,7 @@
},
},
},
},
async
onLoad
(
e
)
{
async
onLoad
(
e
)
{
this
.
$u
.
vuex
(
'vuex_token'
,
'RTOKEN7493e6defc2f1a77782f105dc297a9366763fec5'
);
this
.
orderId
=
1
this
.
orderId
=
1
this
.
categoryId
=
88
this
.
categoryId
=
88
if
(
e
)
{
if
(
e
)
{
...
@@ -144,9 +152,11 @@
...
@@ -144,9 +152,11 @@
title
:
"数据加载中"
,
title
:
"数据加载中"
,
mask
:
true
mask
:
true
})
})
this
.
loadCalendar
()
await
this
.
initPageData
()
await
this
.
initPageData
()
},
},
methods
:
{
methods
:
{
/* 初始化页面数据 */
async
initPageData
()
{
async
initPageData
()
{
let
self
=
this
let
self
=
this
let
params
=
{
categoryId
:
self
.
categoryId
}
let
params
=
{
categoryId
:
self
.
categoryId
}
...
@@ -158,6 +168,7 @@
...
@@ -158,6 +168,7 @@
}
}
uni
.
hideLoading
()
uni
.
hideLoading
()
},
},
/* 组装参数 */
buildConfig
()
{
buildConfig
()
{
let
self
=
this
let
self
=
this
if
(
self
.
config
)
{
if
(
self
.
config
)
{
...
@@ -169,6 +180,7 @@
...
@@ -169,6 +180,7 @@
})
})
}
}
},
},
/* 初始化参数 */
initParams
()
{
initParams
()
{
let
self
=
this
let
self
=
this
if
(
self
.
config
)
{
if
(
self
.
config
)
{
...
@@ -188,6 +200,17 @@
...
@@ -188,6 +200,17 @@
}
}
}
}
},
},
/* 加载日历数据 */
async
loadCalendar
()
{
let
self
=
this
let
res
=
await
this
.
$u
.
api
.
workerCalendar
()
if
(
res
&&
res
.
code
==
200
)
{
}
debugger
},
/**
/**
* 切换tab项
* 切换tab项
*/
*/
...
@@ -257,11 +280,13 @@
...
@@ -257,11 +280,13 @@
height
:
100vh
;
height
:
100vh
;
overflow
:
auto
;
overflow
:
auto
;
background-color
:
#F4F5F7
;
background-color
:
#F4F5F7
;
background-image
:
linear-gradient
(
to
top
,
#F4F5F7
0%
,
#2272FF
10
0%
);
background-image
:
linear-gradient
(
to
top
,
#F4F5F7
0%
,
#2272FF
5
0%
);
background-size
:
750rpx
600rpx
;
background-size
:
750rpx
600rpx
;
background-repeat
:
no-repeat
;
background-repeat
:
no-repeat
;
}
}
.feedback-box
{
.feedback-box
{
display
:
flex
;
flex-direction
:
column
;
.header
{
.header
{
padding
:
12rpx
30rpx
40rpx
30rpx
;
padding
:
12rpx
30rpx
40rpx
30rpx
;
display
:
flex
;
display
:
flex
;
...
@@ -280,9 +305,43 @@
...
@@ -280,9 +305,43 @@
.top-tab
{
.top-tab
{
text-align
:
center
;
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
{
.con-box
{
margin-top
:
30rpx
;
padding
:
30rpx
30rpx
8rpx
30rpx
;
padding
:
30rpx
30rpx
28rpx
30rpx
;
border-radius
:
12rpx
;
border-radius
:
12rpx
;
background-color
:
#FFFFFF
;
background-color
:
#FFFFFF
;
.title
{
.title
{
...
@@ -293,28 +352,39 @@
...
@@ -293,28 +352,39 @@
}
}
&
>
.u-flex
{
&
>
.u-flex
{
margin-top
:
40rpx
;
margin-top
:
40rpx
;
margin-right
:
-2
0
rpx
;
margin-right
:
-2
4
rpx
;
.txt-item
{
.txt-item
{
border-radius
:
12rpx
;
border-radius
:
12rpx
;
padding
:
24rpx
38rpx
;
padding
:
24rpx
38rpx
;
min-width
:
196rpx
;
width
:
196rpx
;
height
:
72rpx
;
text-align
:
center
;
text-align
:
center
;
margin-right
:
2
0
rpx
;
margin-right
:
2
2
rpx
;
margin-bottom
:
20rpx
;
margin-bottom
:
20rpx
;
background-color
:
#F4F5F7
;
background-color
:
#F4F5F7
;
&
.active
{
&
.active
{
background-color
:
#2272FF
;
background-color
:
#2272FF
;
.txt
{
.txt
{
color
:
#fff
;
color
:
#fff
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
}
}
}
}
}
}
}
}
.txt
{
.txt
{
display
:block
;
display
:block
;
font-size
:
26rpx
;
font-size
:
26rpx
;
line-height
:
26rpx
;
line-height
:
26rpx
;
color
:
#333
;
color
:
#333
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
}
.input-view
{
margin-bottom
:
30rpx
;
}
}
.textarea
{
.textarea
{
...
...
src/pages/order/index.vue
View file @
68e2db69
...
@@ -107,7 +107,7 @@
...
@@ -107,7 +107,7 @@
'waitAppointment'
:
0
,
// 待预约、
'waitAppointment'
:
0
,
// 待预约、
'waitCheckIn'
:
1
,
// 待签到、
'waitCheckIn'
:
1
,
// 待签到、
'waitFinish'
:
2
,
// 待完工、
'waitFinish'
:
2
,
// 待完工、
'
review
'
:
3
,
// 审核中、
'
audit
'
:
3
,
// 审核中、
'exception'
:
4
,
// 异常单、
'exception'
:
4
,
// 异常单、
'finish'
:
5
,
//已完工
'finish'
:
5
,
//已完工
}
}
...
@@ -118,7 +118,7 @@
...
@@ -118,7 +118,7 @@
0
:
'waitAppointment'
,
0
:
'waitAppointment'
,
1
:
'waitCheckIn'
,
1
:
'waitCheckIn'
,
2
:
'waitFinish'
,
2
:
'waitFinish'
,
3
:
'
review
'
,
3
:
'
audit
'
,
4
:
'exception'
,
4
:
'exception'
,
5
:
'finish'
5
:
'finish'
}
}
...
@@ -134,7 +134,7 @@
...
@@ -134,7 +134,7 @@
this
.
pageNumber
=
0
this
.
pageNumber
=
0
this
.
orderList
=
[]
this
.
orderList
=
[]
this
.
loadStatus
=
'loading'
this
.
loadStatus
=
'loading'
this
.
getOrderList
(
index
===
0
?
0
:
5
)
this
.
getOrderList
(
index
===
0
?
this
.
currentIndex
:
5
)
},
},
// tab栏切换
// tab栏切换
change
(
index
)
{
change
(
index
)
{
...
...
src/pages/order/refuse.vue
View file @
68e2db69
...
@@ -19,12 +19,12 @@
...
@@ -19,12 +19,12 @@
</view>
</view>
<view
class=
"con-box"
style=
"padding-top: 10rpx;"
>
<view
class=
"con-box"
style=
"padding-top: 10rpx;"
>
<view
class=
"tit u-m-b-20"
>
补充说明
</view>
<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>
</view>
<view
class=
"bottm-btn-view"
>
<view
class=
"bott
o
m-btn-view"
>
<button
:loading=
"submiting"
:disabled=
"disabledSubmit"
class=
"btn
"
@
click=
"handleClickSubmit"
>
确定
</button>
<button
:loading=
"submiting"
:disabled=
"disabledSubmit"
class=
"btn
bottom-btn"
@
click=
"handleClickSubmit"
><text
class=
"button-text"
>
提交
</text>
</button>
</view>
</view>
<PopView
title=
"拒单提示"
message=
"确定“拒单”操作,将影响对您的派单频率,\n甚至进入黑名单,请谨慎操作"
<PopView
title=
"拒单提示"
message=
"确定“拒单”操作,将影响对您的派单频率,\n甚至进入黑名单,请谨慎操作"
:visible
.
sync=
"visibale"
:count=
"count"
@
click=
"handleClick"
buttonText=
"确定"
/>
:visible
.
sync=
"visibale"
:count=
"count"
@
click=
"handleClick"
buttonText=
"确定"
/>
...
@@ -76,10 +76,9 @@
...
@@ -76,10 +76,9 @@
if
(
this
.
count
>
0
)
{
if
(
this
.
count
>
0
)
{
this
.
visibale
=
true
this
.
visibale
=
true
}
else
{
}
else
{
let
message
=
'本月无拒单机会,请联系客服'
uni
.
showToast
({
uni
.
showToast
({
icon
:
'none'
,
icon
:
'none'
,
title
:
message
,
title
:
'本月无拒单机会,请联系客服'
,
})
})
}
}
},
},
...
@@ -218,10 +217,21 @@
...
@@ -218,10 +217,21 @@
margin-right
:
10rpx
;
margin-right
:
10rpx
;
color
:
#FA5A49
color
:
#FA5A49
}
}
.bottm-btn-view
{
.bott
o
m-btn-view
{
width
:
100%
;
width
:
100%
;
padding
:
0
80rpx
;
padding
:
0
80rpx
;
position
:
absolute
;
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
>
</
style
>
src/pages/settle/sign-contract.vue
View file @
68e2db69
...
@@ -470,7 +470,7 @@
...
@@ -470,7 +470,7 @@
}
}
.item
{
.item
{
display
:
flex
;
display
:
flex
;
padding
:
28rpx
3
0rpx
;
padding
:
28rpx
0rpx
;
width
:
100%
;
width
:
100%
;
font-size
:
32rpx
;
font-size
:
32rpx
;
color
:
#333
;
color
:
#333
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment