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
1ff65281
Commit
1ff65281
authored
Apr 29, 2021
by
刘用法
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://git.banshouhui.com/lijundan/self-support
parents
36dcc902
37309f88
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
485 additions
and
1718 deletions
+485
-1718
.env.dev.js
.env.dev.js
+2
-1
.env.prod.js
.env.prod.js
+2
-1
.env.test.js
.env.test.js
+2
-1
App.vue
src/App.vue
+2
-1
order.js
src/common/api/order.js
+26
-45
appoint-time.vue
src/components/appoint/appoint-time.vue
+4
-4
index.vue
src/components/take/index.vue
+2
-1
readme.md
src/components/take/readme.md
+1
-1
pages.json
src/pages.json
+0
-6
detail.vue
src/pages/order/detail.vue
+6
-4
feedback.vue
src/pages/order/feedback.vue
+437
-432
base copy.vue
src/pages/settle/base copy.vue
+0
-647
city.vue
src/pages/settle/city.vue
+0
-43
file-upload.vue
src/pages/settle/file-upload.vue
+0
-244
index copy.vue
src/pages/settle/index copy.vue
+0
-286
index.js
src/plugins/uploader/index.js
+1
-1
No files found.
.env.dev.js
View file @
1ff65281
...
@@ -8,6 +8,7 @@ const UNI_APP = {
...
@@ -8,6 +8,7 @@ const UNI_APP = {
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/'
,
,
qn_asset_url
:
'http://deudn.c.pp.cc/'
}
}
module
.
exports
=
UNI_APP
;
module
.
exports
=
UNI_APP
;
.env.prod.js
View file @
1ff65281
...
@@ -7,7 +7,8 @@ const UNI_APP = {
...
@@ -7,7 +7,8 @@ const UNI_APP = {
systemUrl
:
{
systemUrl
:
{
apiUrl
:
'https://system.banshouhui.com'
,
//java端域名请求头
apiUrl
:
'https://system.banshouhui.com'
,
//java端域名请求头
},
},
qn_base_url
:
'https://qn-static.banshouhui.com/self-support/'
qn_base_url
:
'https://qn-static.banshouhui.com/self-support/'
,
qn_asset_url
:
'http://deudn.c.pp.cc/'
}
}
module
.
exports
=
UNI_APP
;
module
.
exports
=
UNI_APP
;
.env.test.js
View file @
1ff65281
...
@@ -7,6 +7,7 @@ const UNI_APP = {
...
@@ -7,6 +7,7 @@ const UNI_APP = {
systemUrl
:
{
systemUrl
:
{
apiUrl
:
'https://system.dev.banshouhui.com'
,
//java端域名请求头
apiUrl
:
'https://system.dev.banshouhui.com'
,
//java端域名请求头
},
},
qn_base_url
:
'https://qn-static.banshouhui.com/self-support/'
qn_base_url
:
'https://qn-static.banshouhui.com/self-support/'
,
qn_asset_url
:
'http://deudn.c.pp.cc/'
}
}
module
.
exports
=
UNI_APP
;
module
.
exports
=
UNI_APP
;
src/App.vue
View file @
1ff65281
...
@@ -159,7 +159,8 @@ export default {
...
@@ -159,7 +159,8 @@ export default {
setUserData
(
userInfo
)
{
setUserData
(
userInfo
)
{
if
(
userInfo
&&
userInfo
.
token
)
{
if
(
userInfo
&&
userInfo
.
token
)
{
// 如果已经登录则直接获取相关信息
// 如果已经登录则直接获取相关信息
this
.
$u
.
vuex
(
'vuex_token'
,
userInfo
.
token
);
// RTOKENf22df8e7b9db396f560e8f61bebceea2000cb05c
this
.
$u
.
vuex
(
'vuex_token'
,
userInfo
.
token
);
this
.
$u
.
vuex
(
'vuex_token'
,
"RTOKEN7493e6defc2f1a77782f105dc297a9366763fec5"
);
this
.
$u
.
vuex
(
'vuex_user'
,
userInfo
);
this
.
$u
.
vuex
(
'vuex_user'
,
userInfo
);
this
.
$u
.
vuex
(
'vuex_wx_uid'
,
userInfo
.
wxopenid
);
this
.
$u
.
vuex
(
'vuex_wx_uid'
,
userInfo
.
wxopenid
);
}
else
{
}
else
{
...
...
src/common/api/order.js
View file @
1ff65281
...
@@ -8,110 +8,93 @@ let orderApiFun = function(vm){
...
@@ -8,110 +8,93 @@ let orderApiFun = function(vm){
* 工单数量查询接口
* 工单数量查询接口
*/
*/
let
listOrderCount
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
prefix
+
vm
.
vuex_token
+
'/wokerOrder/queryOrdersCount/V2'
,
params
);
let
listOrderCount
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
prefix
+
vm
.
vuex_token
+
'/wokerOrder/queryOrdersCount/V2'
,
params
);
/**
/**
* 工单列表接口
* 工单列表接口
*/
*/
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
(
prefix
+
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
=
{},
orderId
)
=>
await
vm
.
$u
.
post
(
'/wxh-worker-rest/rest/order/traceAndAppointment/trace/V2/'
+
vm
.
vuex_token
+
'/'
+
orderId
,
params
)
let
workerAppointment
=
async
(
params
=
{},
orderId
)
=>
await
vm
.
$u
.
post
(
'/wxh-worker-rest/rest/order/traceAndAppointment/trace/V2/'
+
vm
.
vuex_token
+
'/'
+
orderId
,
params
)
// 联系顾客时间更新接口,暂时没有
// 联系顾客时间更新接口,暂时没有
/**
/**
* 师傅签到接口
* 师傅签到接口
*/
*/
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
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/rest/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
(
prefix
+
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
.
post
(
prefix
+
vm
.
vuex_token
+
'/order/'
+
orderId
+
'/accept'
,
params
);
let
orderAccept
=
async
(
params
=
{},
orderId
)
=>
await
vm
.
$u
.
post
(
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
(
prefix
+
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
(
prefix
+
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
(
prefix
+
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
);
let
openTimerange
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
prefix
+
vm
.
vuex_token
+
'/wokerOrder/appointment/timerange'
,
params
);
/**
/**
* 联系时间接口
* 联系时间接口
*/
*/
let
contactTime
=
async
(
params
=
{},
orderId
)
=>
await
vm
.
$u
.
get
(
'/wxh-worker-rest/rest/order/record/'
+
vm
.
vuex_token
+
'/contact/'
+
orderId
,
params
);
let
contactTime
=
async
(
params
=
{},
orderId
)
=>
await
vm
.
$u
.
get
(
'/wxh-worker-rest/rest/order/record/'
+
vm
.
vuex_token
+
'/contact/'
+
orderId
,
params
);
/**
/**
* 检查是否可以拒单
* 检查是否可以拒单
*/
*/
let
checkRejectable
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
'/wxh-worker-rest/rest/order/'
+
vm
.
vuex_token
+
'/wokerOrder/checkRejectable'
,
params
);
let
checkRejectable
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
'/wxh-worker-rest/rest/order/'
+
vm
.
vuex_token
+
'/wokerOrder/checkRejectable'
,
params
);
/**
/**
* 获取签到距离
* 获取签到距离
*/
*/
let
getSignDistance
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
'/wxh-worker-rest/rest/order/'
+
vm
.
vuex_token
+
`/wokerOrder/sign/distance`
,
params
)
let
getSignDistance
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
'/wxh-worker-rest/rest/'
+
vm
.
vuex_token
+
`/wokerOrder/sign/distance`
,
params
)
/**
* 获取订单的完工项目(配置+数据)
*/
let
getCompleteConfigAndData
=
async
(
orderId
)
=>
await
vm
.
$u
.
get
(
prefix
+
vm
.
vuex_token
+
'/order/'
+
orderId
+
'/maintain/info'
);
/**
* 查询措施
*/
let
getMeasure
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
'wxh-worker-rest/rest/service/'
+
vm
.
vuex_token
+
'/measure/queryMeasureItems'
,
params
);
/**
* 保存售后记录
*/
let
saveCompleteData
=
async
(
params
=
{},
orderId
)
=>
await
vm
.
$u
.
post
(
prefix
+
vm
.
vuex_token
+
'/order/'
+
orderId
+
'/maintain/saveMaintainInfoV2'
,
params
);
const
orderApi
=
{
const
orderApi
=
{
listByRecommendOrder
,
listByRecommendOrder
,
listOrderCount
,
listOrderCount
,
...
@@ -123,6 +106,7 @@ let orderApiFun = function(vm){
...
@@ -123,6 +106,7 @@ let orderApiFun = function(vm){
listOrderRecord
,
listOrderRecord
,
orderAccept
,
orderAccept
,
orderGan
,
orderGan
,
maintainWorkerCheckin
,
feedbackConfig
,
feedbackConfig
,
traceAndAppointment
,
traceAndAppointment
,
rejectOrder
,
rejectOrder
,
...
@@ -132,13 +116,10 @@ let orderApiFun = function(vm){
...
@@ -132,13 +116,10 @@ let orderApiFun = function(vm){
openTimerange
,
openTimerange
,
contactTime
,
contactTime
,
checkRejectable
,
checkRejectable
,
getSignDistance
,
getSignDistance
getCompleteConfigAndData
,
getMeasure
,
saveCompleteData
}
}
return
orderApi
return
orderApi
}
}
module
.
exports
=
{
module
.
exports
=
{
orderApiFun
orderApiFun
}
}
\ No newline at end of file
src/components/appoint/appoint-time.vue
View file @
1ff65281
...
@@ -96,9 +96,9 @@
...
@@ -96,9 +96,9 @@
},
},
data
()
{
data
()
{
return
{
return
{
currentDay
:
0
,
currentDay
:
null
,
currentTime
:
null
,
currentTime
:
null
,
appointTime
:
n
ow
,
appointTime
:
n
ull
,
appointRange
:
""
,
appointRange
:
""
,
num
:
0
,
num
:
0
,
hasLast
:
false
hasLast
:
false
...
@@ -106,9 +106,9 @@
...
@@ -106,9 +106,9 @@
},
},
watch
:
{
watch
:
{
title
()
{
title
()
{
this
.
currentDay
=
0
this
.
currentDay
=
null
this
.
appointTime
=
now
this
.
currentTime
=
null
this
.
currentTime
=
null
this
.
appointTime
=
null
this
.
appointRange
=
""
this
.
appointRange
=
""
}
}
},
},
...
...
src/components/take/index.vue
View file @
1ff65281
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
data
()
{
data
()
{
return
{
return
{
showType
:
1
,
showType
:
1
,
standardShow
:
tru
e
,
standardShow
:
fals
e
,
cameraInfo
:
{
cameraInfo
:
{
devicePosition
:
'back'
,
devicePosition
:
'back'
,
flash
:
'auto'
flash
:
'auto'
...
@@ -120,6 +120,7 @@
...
@@ -120,6 +120,7 @@
this
.
initData
()
this
.
initData
()
photo
.
currentItem
=
this
.
currentItem
photo
.
currentItem
=
this
.
currentItem
if
(
this
.
currentItem
.
images
.
length
>
0
)
this
.
standardShow
=
true
},
},
computed
:
{
computed
:
{
titleTxt
()
{
titleTxt
()
{
...
...
src/components/take/readme.md
View file @
1ff65281
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
该组件仅用于拍照后返回图片,与业务不关联,目前最多一次可以拍10张图片
该组件仅用于拍照后返回图片,与业务不关联,目前最多一次可以拍10张图片
```
```
### 因为相机组件需要全屏展示,所以加载该组件需要在当前页面隐藏顶部导航栏
和底部的TabBar
### 因为相机组件需要全屏展示,所以加载该组件需要在当前页面隐藏顶部导航栏
,底部的TabBar以及其他页面元素
```
```
uni.hideTabBar()
uni.hideTabBar()
```
```
...
...
src/pages.json
View file @
1ff65281
...
@@ -126,12 +126,6 @@
...
@@ -126,12 +126,6 @@
"disableScroll"
:
true
"disableScroll"
:
true
}
}
},
},
{
"path"
:
"pages/settle/file-upload"
,
"style"
:
{
"navigationBarTitleText"
:
"图片上传"
}
},
{
{
"path"
:
"pages/settle/pay-ensure"
,
"path"
:
"pages/settle/pay-ensure"
,
"style"
:
{
"style"
:
{
...
...
src/pages/order/detail.vue
View file @
1ff65281
...
@@ -313,11 +313,13 @@
...
@@ -313,11 +313,13 @@
this
.
takeStatus
=
true
this
.
takeStatus
=
true
},
},
closeTake
(
img
)
{
closeTake
(
img
)
{
console
.
log
(
"image"
,
img
)
this
.
takeStatus
=
false
this
.
takeStatus
=
false
// 获取返回的图片 ,如果返回的图片存在则直接异常签约,成功后跳转到去完工页面,
// 获取返回的图片 ,如果返回的图片存在则直接异常签约,成功后跳转到去完工页面,
if
(
img
){
// 拍照完成
if
(
img
&&
img
.
length
>
0
){
// 拍照完成
this
.
isErrorSign
=
true
this
.
isErrorSign
=
true
this
.
errorSignUrl
=
img
this
.
errorSignUrl
=
process
.
uniEnv
.
qn_base_url
+
img
[
img
.
length
-
1
].
key
this
.
handleBtn
()
this
.
handleBtn
()
}
else
{
}
else
{
this
.
$refs
.
uToast
.
show
({
this
.
$refs
.
uToast
.
show
({
...
@@ -527,7 +529,7 @@
...
@@ -527,7 +529,7 @@
clickFeedback
(){
clickFeedback
(){
// 过程反馈
// 过程反馈
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
'pages/order/feedback?orderId='
+
this
.
order
.
orderId
url
:
'pages/order/feedback?orderId='
+
this
.
order
.
orderId
+
'&categoryId='
+
this
.
order
.
categoryId
})
})
},
},
filish
(){
filish
(){
...
@@ -588,7 +590,7 @@
...
@@ -588,7 +590,7 @@
var
s
=
2
*
Math
.
asin
(
Math
.
sqrt
(
Math
.
pow
(
Math
.
sin
(
La3
/
2
),
2
),
Math
.
cos
(
La1
)
*
Math
.
cos
(
La2
)
*
Math
.
pow
(
Math
.
sin
(
Lb3
/
2
),
2
)));
var
s
=
2
*
Math
.
asin
(
Math
.
sqrt
(
Math
.
pow
(
Math
.
sin
(
La3
/
2
),
2
),
Math
.
cos
(
La1
)
*
Math
.
cos
(
La2
)
*
Math
.
pow
(
Math
.
sin
(
Lb3
/
2
),
2
)));
s
=
s
*
6378.137
;
//地球半径
s
=
s
*
6378.137
;
//地球半径
s
=
Math
.
round
(
s
*
10000
)
/
10000
;
s
=
Math
.
round
(
s
*
10000
)
/
10000
;
//
console.log("计算结果",s,'KM');
console
.
log
(
"计算结果"
,
s
,
'KM'
);
return
s
?
s
.
toFixed
(
2
):
0
;
return
s
?
s
.
toFixed
(
2
):
0
;
},
},
timestampDiff
(
currentOverTime
){
// 计算超时时间
timestampDiff
(
currentOverTime
){
// 计算超时时间
...
...
src/pages/order/feedback.vue
View file @
1ff65281
This diff is collapsed.
Click to expand it.
src/pages/settle/base copy.vue
deleted
100644 → 0
View file @
36dcc902
This diff is collapsed.
Click to expand it.
src/pages/settle/city.vue
deleted
100644 → 0
View file @
36dcc902
<
template
>
<view
class=
"back_view"
>
选择可服务的城市
</view>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
protocolContent
:
''
}
},
onLoad
(
e
)
{
},
methods
:
{
//拨打客服 点击
phoneCallClick
:
function
(
phone
)
{
uni
.
makePhoneCall
({
phoneNumber
:
phone
});
},
}
}
</
script
>
<
style
>
.back_view
{
background-color
:
#F3F3F3
;
position
:
absolute
;
top
:
0
;
left
:
0
;
width
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
</
style
>
src/pages/settle/file-upload.vue
deleted
100644 → 0
View file @
36dcc902
<
template
>
<view
class=
"img-wrap rel"
>
<view
class=
"upload-box"
>
<view
class=
"img-item pic"
v-for=
"(file,index) in imgList"
:key=
"index"
>
<!--
<view
class=
"tip-sucess u-flex u-row-center"
v-if=
"file && (file.status == status.QUEUED || file.status == status.UPLOADING)"
>
<span>
正在上传中...
{{
file
.
percent
}}
%
</span>
</view>
-->
<img
:src=
"file.src"
mode=
"aspectFill"
@
click=
"perviewImg(index)"
>
<view
class=
"close"
@
click=
"removeImg(index)"
>
<u-icon
name=
"close"
color=
"#fff"
size=
"20"
></u-icon>
</view>
</view>
<view>
<view
class=
"pic upload"
@
click=
"chooseImage('qiniu')"
>
<u-icon
name=
"camera"
color=
"#fff"
size=
"100"
></u-icon>
<span
class=
"txt"
>
点击拍摄
</span>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
import
base
from
'@/components/upload/index'
;
export
default
{
mixins
:[
base
],
data
()
{
return
{
initImgList
:[],
currentIndex
:
0
,
uploadType
:
''
,
pageTitle
:
''
}
},
computed
:
{
},
onLoad
(
option
)
{
this
.
initPage
(
option
)
// this.initworkingAgeList();
// this.getareaList()
},
beforeDestroy
(){
this
.
setPrevPageData
()
},
methods
:
{
goBack
(
type
)
{
// if (type) {
// this.setPrevPageData()
// }
this
.
setPrevPageData
()
uni
.
navigateBack
({
delta
:
2
});
},
initPage
(
option
)
{
const
uploadType
=
option
.
uploadType
this
.
uploadType
=
uploadType
let
pages
=
getCurrentPages
()
if
(
pages
.
length
<
2
)
{
return
}
let
prevVue
=
pages
[
pages
.
length
-
2
].
$vm
this
.
imgList
=
prevVue
.
imgObj
[
uploadType
]
||
[]
const
formShowList
=
prevVue
.
formShowList
formShowList
.
map
(
item
=>
{
if
(
item
.
filedName
===
uploadType
){
this
.
pageTitle
=
item
.
label
||
'图片上传'
}
})
if
(
this
.
uploadType
!==
'other_certificates'
){
this
.
selectNum
=
1
}
uni
.
setNavigationBarTitle
({
title
:
this
.
pageTitle
});
},
setPrevPageData
()
{
let
pages
=
getCurrentPages
()
if
(
pages
.
length
<
2
)
{
return
}
let
selected
=
this
.
selected
let
prevVue
=
pages
[
pages
.
length
-
2
].
$vm
const
uploadType
=
this
.
uploadType
prevVue
.
imgObj
[
uploadType
]
=
this
.
imgList
},
initworkingAgeList
()
{
let
list
=
[{
value
:
0
,
name
:
"1年内"
,
},
];
for
(
let
i
=
1
;
i
<
10
;
i
++
)
{
const
item
=
{
value
:
i
,
name
:
i
+
"年"
,
};
list
.
push
(
item
);
}
list
.
push
({
value
:
10
,
name
:
"10年+"
,
});
this
.
workingAgeList
=
list
;
},
getareaList
(
code
,
level
,
provinceIndex
)
{
provinceIndex
=
provinceIndex
||
0
this
.
currentIndex
=
provinceIndex
let
areaList
=
this
.
areaList
if
(
level
)
{
if
(
areaList
[
provinceIndex
].
children
)
{
return
}
}
uni
.
showLoading
({
title
:
'加载中'
});
let
params
=
{
type
:
'充电桩安装'
,
level
:
level
||
0
,
code
:
code
}
const
res
=
this
.
$u
.
api
.
getSettleArea
(
params
)
uni
.
hideLoading
()
if
(
res
.
status
!=
200
)
{
return
;
}
if
(
!
level
)
{
this
.
areaList
=
res
.
data
const
parmas
=
[
res
.
data
[
0
].
id
,
1
]
this
.
getareaList
(...
parmas
)
}
else
{
this
.
$set
(
areaList
[
provinceIndex
],
'children'
,
res
.
data
)
}
},
selectAge
(
item
)
{
this
.
selected
.
working_age
=
item
.
value
this
.
selected
.
workingAgeTxt
=
item
.
name
},
selectArea
(
areaItem
)
{
const
code
=
areaItem
.
id
const
selected
=
this
.
selected
const
idx
=
selected
.
areaIds
.
indexOf
(
code
)
const
currentProvince
=
this
.
areaList
[
this
.
currentIndex
]
let
txt
=
currentProvince
.
name
+
'-'
+
areaItem
.
name
if
(
idx
>=
0
)
{
selected
.
areaTxts
.
splice
(
idx
,
1
)
selected
.
areaIds
.
splice
(
idx
,
1
)
}
else
{
selected
.
areaIds
.
push
(
code
)
selected
.
areaTxts
.
push
(
txt
)
}
this
.
selected
=
selected
},
},
}
</
script
>
<
style
lang=
"scss"
>
.upload-box
{
padding
:
30rpx
16rpx
;
.pic
{
position
:
relative
;
display
:
block
;
width
:
720rpx
;
height
:
450rpx
;
// overflow: hidden;
border-radius
:
12rpx
;
margin-bottom
:
30rpx
;
img
{
width
:
100%
;
height
:
100%
;
}
}
.pic.upload
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
flex-direction
:
column
;
img
{
display
:
block
;
width
:
60rpx
;
height
:
52rpx
;
}
.txt
{
font-weight
:
bold
;
margin-top
:
18rpx
;
font-size
:
32rpx
;
color
:
#fff
;
&
.iconfont
{
font-size
:
60rpx
;
}
}
background-color
:
rgba
(
0
,
0
,
0
,
0
.3
);
}
}
.close
{
position
:
absolute
;
width
:
50rpx
;
height
:
50rpx
;
right
:
0
;
top
:
0
;
text-align
:
center
;
line-height
:
50rpx
;
border-radius
:
50%
;
background
:
red
;
color
:
#fff
;
}
.tip-sucess
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
padding
:
20rpx
0
;
width
:
100%
;
z-index
:
5
;
background
:
rgba
(
0
,
0
,
0
,
.4
);
border-radius
:
0
;
color
:
#fff
;
font-size
:
28rpx
;
&
.tip-fail
i
{
background
:
red
;
}
i
{
margin-right
:
12rpx
;
width
:
50rpx
;
height
:
50rpx
;
background
:
#7fbe4c
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
50rpx
;
font-size
:
24rpx
;
}
}
</
style
>
src/pages/settle/index copy.vue
deleted
100644 → 0
View file @
36dcc902
<
template
>
<view
class=
"wrap"
>
<process
:process=
"0"
:type=
"0"
title=
"业务流程"
></process>
<view
class=
"introduction"
>
<view
class=
"item"
>
<view
class=
"label"
>
<text>
招募要求
</text>
</view>
<view
class=
"content"
>
<text>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Aenean euismod bibendum laoreet. Proin gravida dolor sit
amet lacus accumsan et viverra justo commodo. Proin sodales
pulvinar sic tempor. Sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Nam fermentum,
nulla luctus pharetra vulputate, felis tellus 。
</text>
</view>
</view>
<view
class=
"item"
>
<view
class=
"label"
>
<text>
结算价格
</text>
</view>
<view
class=
"content"
>
<text>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Aenean euismod bibendum laoreet. Proin gravida dolor sit
amet lacus accumsan et viverra justo commodo. Proin sodales
pulvinar sic tempor. Sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Nam fermentum,
nulla luctus pharetra vulputate, felis tellus 。
</text>
</view>
</view>
<view
class=
"item"
>
<view
class=
"label"
>
<text>
入驻资料
</text>
</view>
<view
class=
"content"
>
<text>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Aenean euismod bibendum laoreet. Proin gravida dolor sit
amet lacus accumsan et viverra justo commodo. Proin sodales
pulvinar sic tempor. Sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Nam fermentum,
nulla luctus pharetra vulputate, felis tellus 。
</text>
</view>
</view>
<view
class=
"item careful-color"
>
<view
class=
"careful-content"
>
<text>
注意事项:
</text>
<text>
身份证、银行卡、签约人均为同一人,否则无法入驻;
</text>
<text>
充电桩材料按要求自行准备
</text>
</view>
</view>
</view>
<view
class=
"bottom_view"
>
<button
:class=
"isStop ? 'bottom_btn apply_color' : 'bottom_btn default_color' "
@
click=
"$u.debounce(applyClick, 500)"
>
<text
class=
"bottom_title"
v-if=
"!isStop"
>
浏览
{{
count
}}
秒后可申请入驻
</text>
<text
class=
"bottom_title"
v-if=
"isStop"
>
申请入驻
</text>
</button>
</view>
</view>
</
template
>
<
script
>
import
{
process
}
from
'@/components/process/process'
export
default
{
components
:
{
process
},
data
()
{
return
{
theme_url
:
'https://qn-static.banshouhui.com/settle_theme.png?v='
+
new
Date
().
getTime
(),
count
:
9
,
isStop
:
false
,
settledInfo
:
null
,
status
:
''
,
saving
:
true
}
},
onLoad
(
e
)
{
this
.
initpageData
(
e
)
this
.
startCounting
()
},
onShow
(){
// if(!this.settledInfo){
// this.getBaseInfo()
// }
uni
.
hideLoading
()
},
methods
:
{
initpageData
(
option
){
let
recommender
=
''
if
(
option
&&
option
.
q
){
const
urlLink
=
decodeURIComponent
(
option
.
q
)
recommender
=
this
.
getQueryVariable
(
urlLink
,
'recommender'
)
getApp
().
globalData
.
settleRecommend
=
recommender
}
if
(
option
&&
option
.
recommender
){
recommender
=
decodeURI
(
option
.
recommender
)
getApp
().
globalData
.
settleRecommend
=
recommender
}
},
getQueryVariable
(
url
,
key
){
const
queryStringArr
=
url
.
split
(
'?'
)
let
val
=
''
let
queryStr
=
queryStringArr
&&
queryStringArr
.
length
>
1
&&
queryStringArr
[
1
]
if
(
!
queryStr
){
return
}
let
queryArr
=
queryStr
.
split
(
"&"
);
for
(
let
i
=
0
;
i
<
queryArr
.
length
;
i
++
)
{
let
pair
=
queryArr
[
i
].
split
(
"="
);
if
(
pair
[
0
]
==
key
){
val
=
pair
[
1
];
}
}
return
val
},
async
getBaseInfo
(){
const
app
=
getApp
()
const
callBack
=
(
vm
,
result
)
=>
{
vm
.
settledInfo
=
result
vm
.
status
=
result
.
record
.
status
}
let
settledInfo
=
await
app
.
getBaseInfo
(
this
,
callBack
)
if
(
!
settledInfo
){
return
}
this
.
settledInfo
=
settledInfo
this
.
status
=
settledInfo
.
record
.
status
},
startCounting
:
function
()
{
if
(
this
.
isStop
){
return
}
this
.
count
=
this
.
count
-
1
if
(
this
.
count
>
0
){
setTimeout
(
this
.
startCounting
,
1000
);
}
else
{
this
.
isStop
=
true
}
},
applyClick
:
async
function
()
{
if
(
!
this
.
isStop
){
return
}
this
.
saving
=
true
if
(
!
this
.
settledInfo
){
await
this
.
getBaseInfo
()
this
.
jumpJudge
()
this
.
saving
=
false
return
}
this
.
jumpJudge
()
},
jumpJudge
(){
if
(
this
.
status
>
0
){
uni
.
navigateTo
({
url
:
'/pages/settle/prompt'
})
return
}
uni
.
navigateTo
({
url
:
'/pages/settle/base'
})
}
}
}
</
script
>
<
style
>
/* page {
background-color: rgb(240, 242, 244);
} */
</
style
>
<
style
lang=
"scss"
scoped
>
.u-cell-icon
{
width
:
36rpx
;
height
:
36rpx
;
margin-right
:
8rpx
;
}
.back_view
{
background-color
:
#FFFFFF
;
position
:
absolute
;
top
:
0
;
left
:
0
;
width
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
.theme_image
{
width
:
100%
;
height
:
3000rpx
;
margin-bottom
:
164rpx
;
}
.bottom_view
{
position
:fixed
;
box-shadow
:
0
-1rpx
6rpx
rgba
(
0
,
0
,
0
,
0
.05
);
bottom
:
0
;
background-color
:
#DAEBFF
;;
width
:
100%
;
height
:
164rpx
;
display
:
flex
;
align-content
:
center
;
justify-content
:
center
;
}
.bottom_btn
{
margin-top
:
30rpx
;
width
:
600rpx
;
height
:
104rpx
;
line-height
:
96rpx
;
border-radius
:
54rpx
;
// border: 4rpx solid #FFFFFF;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
&
.apply_color
{
// border: 4rpx solid #2272FF;
.bottom_title
{
color
:
#fff
;
}
}
}
.bottom_title
{
font-weight
:
bold
;
font-size
:
32rpx
;
color
:
#2272FF
;
}
.default_color
{
background-color
:
#fff
;
}
.apply_color
{
background-color
:
#2272FF
;
}
.introduction
{
border
:
4rpx
solid
#2272FF
;
border-radius
:
10rpx
;
background-color
:
#FFFFFF
;
margin
:
20rpx
;
margin-bottom
:
200rpx
;
}
.introduction
.item
{
padding
:
20rpx
;
}
.introduction
.item
.label
{
font-size
:
32rpx
;
padding
:
10rpx
;
}
.introduction
.item
.content
{
font-size
:
28rpx
;
padding
:
20rpx
40rpx
20rpx
40rpx
;
}
.careful-color
{
color
:
red
;
}
.careful-content
{
padding
:
10rpx
;
font-size
:
32rpx
;
}
</
style
>
src/plugins/uploader/index.js
View file @
1ff65281
...
@@ -39,7 +39,7 @@ uploader.getQnToken = function(params) {
...
@@ -39,7 +39,7 @@ uploader.getQnToken = function(params) {
*region: 地区 默认为:ECN
*region: 地区 默认为:ECN
*/
*/
resolve
({
resolve
({
visitPrefix
:
data
.
host
||
''
,
visitPrefix
:
data
.
host
||
globalUrl
.
qn_asset_url
,
token
:
data
.
token
||
''
,
token
:
data
.
token
||
''
,
folderPath
:
data
.
folderPath
||
''
,
folderPath
:
data
.
folderPath
||
''
,
region
:
"ECN"
region
:
"ECN"
...
...
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