Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
repair_workers_h5
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
石盼盼
repair_workers_h5
Commits
0e13bace
Commit
0e13bace
authored
Oct 26, 2021
by
郭欢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'修改,'
parent
dace08b0
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
2038 additions
and
1730 deletions
+2038
-1730
dist.rar
dist.rar
+0
-0
apiList.js
src/api/apiList.js
+2
-2
axios.js
src/api/axios.js
+1
-1
wxShare.js
src/api/wxShare.js
+6
-6
index.scss
src/assets/styles/tabbar/index.scss
+1
-0
main.js
src/main.js
+2
-2
login.vue
src/views/login/login.vue
+18
-8
admin_detail.vue
src/views/my/admin_detail.vue
+335
-284
charge.vue
src/views/my/charge.vue
+188
-153
lookEvaluate.vue
src/views/my/lookEvaluate.vue
+56
-32
order_detail.vue
src/views/my/order_detail.vue
+372
-323
Home.vue
src/views/tabbar/Home.vue
+439
-394
admin_home.vue
src/views/tabbar/admin_home.vue
+500
-434
mine.vue
src/views/tabbar/mine.vue
+79
-68
modifyPhone.vue
src/views/tabbar/modifyPhone.vue
+39
-23
No files found.
dist.rar
0 → 100644
View file @
0e13bace
File added
src/api/apiList.js
View file @
0e13bace
...
...
@@ -10,8 +10,8 @@ const baseUrl = '/api'
// todo: url
// const httpUrl = 'https://repairtest.zeruiedu.com' // 测试接口
const
httpUrl
=
'
https://repair.zeruiedu.com
'
// 正式接口
const
h5Url
=
'
http://localhost:8080
'
// 测试h5线上地址
//
const h5Url = 'http://repair.h5.zeruiedu.com' // 测试h5线上地址
//
const h5Url = 'http://localhost:8080' // 测试h5线上地址
const
h5Url
=
'
http://repair.h5.zeruiedu.com
'
// 测试h5线上地址
window
.
localStorage
.
setItem
(
'
httpUrl
'
,
httpUrl
)
window
.
localStorage
.
setItem
(
'
h5Url
'
,
h5Url
)
// const httpUrl = 'https://fenghexm.xueyoubangedu.com' // 正式接口
...
...
src/api/axios.js
View file @
0e13bace
...
...
@@ -53,7 +53,7 @@ service.interceptors.response.use(
},
(
err
)
=>
{
resolve
(
err
)
window
.
localStorage
.
clear
()
Toast
(
'
身份失效,请重新登录
'
)
Toast
(
'
身份失效,请重新登录
11111
'
)
window
.
document
.
location
=
selfApi
.
WINDOWHREF_LOGIN
// url-
console
.
log
(
'
错误--------
'
,
err
)
})
...
...
src/api/wxShare.js
View file @
0e13bace
var
wx
=
require
(
'
weixin-js-sdk
'
)
import
axios
from
'
axios
'
import
apiList
from
'
./apiList
'
import
myAxios
from
'
./index
'
import
{
Toast
}
from
'
vant
'
var
wx
=
require
(
'
weixin-js-sdk
'
)
// 微信分享方法
const
share
=
(
param
)
=>
{
Toast
.
loading
({
message
:
"
加载中...
"
,
duration
:
1000
,
//
持续展示 toast
message
:
'
加载中...
'
,
duration
:
1000
//
持续展示 toast
})
const
successCall
=
(
res
)
=>
{
console
.
log
(
'
res
'
,
res
)
Toast
.
clear
()
le
t
result
=
res
.
conf
cons
t
result
=
res
.
conf
// let result = res.data
// let {
// wxConfig,
...
...
@@ -68,7 +68,7 @@ const share = (param) => {
menuList
:
hideMenuItems
})
wx
.
showMenuItems
({
menuList
:
[
"
menuItem:share:appMessage
"
,
"
menuItem:share:timeline
"
]
// 要显示的菜单项,所有menu项见附录3
menuList
:
[
'
menuItem:share:appMessage
'
,
'
menuItem:share:timeline
'
]
// 要显示的菜单项,所有menu项见附录3
})
})
}
...
...
@@ -81,7 +81,7 @@ const share = (param) => {
successCall
(
res
)
Toast
.
clear
()
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
}
export
{
...
...
src/assets/styles/tabbar/index.scss
View file @
0e13bace
...
...
@@ -121,6 +121,7 @@
}
.bz-title
{
margin-bottom
:
0
.2rem
;
color
:
#ff0000
;
}
.one
{
color
:
#727272
;
...
...
src/main.js
View file @
0e13bace
...
...
@@ -7,11 +7,11 @@ import myApi from './api/apiList'
import
myAxios
from
'
./api/index
'
import
Vant
from
'
vant
'
import
'
vant/lib/index.css
'
import
vConsole
from
'
@/plugins/vconsole.js
'
//
import vConsole from '@/plugins/vconsole.js'
import
listTips
from
'
@/components/common/listtips.vue
'
Vue
.
component
(
'
listTips
'
,
listTips
)
Vue
.
use
(
vConsole
)
//
Vue.use(vConsole)
Vue
.
config
.
productionTip
=
false
...
...
src/views/login/login.vue
View file @
0e13bace
...
...
@@ -7,12 +7,22 @@
<div>
<div
class=
"filed-list"
>
<img
class=
"icon-img"
src=
"@assets/images/login/shouji.png"
/>
<van-field
v-model.trim=
"tel"
type=
"tel"
placeholder=
"请输入手机号"
maxlength=
"11"
/>
<van-field
v-model.trim=
"tel"
type=
"tel"
placeholder=
"请输入手机号"
maxlength=
"11"
/>
</div>
<div
class=
"filed-list code-cont"
>
<img
class=
"icon-img"
src=
"@assets/images/login/yzm.png"
/>
<van-field
v-model.trim=
"code"
type=
"text"
placeholder=
"请输入验证码"
maxlength=
"6"
/>
<div
class=
"code-btn"
@
click=
"getCode"
>
{{
buttonText
}}
</div>
<van-field
v-model.trim=
"code"
type=
"text"
placeholder=
"请输入验证码"
maxlength=
"6"
/>
<div
class=
"code-btn"
@
click=
"getCode"
>
{{
buttonText
}}
</div>
</div>
</div>
<div
class=
"login-btn"
@
click=
"goLogin"
>
立即登录
</div>
...
...
@@ -64,7 +74,7 @@ export default {
this
.
isSending
=
true
this
.
countDown
()
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
countDown
()
{
let
seconds
=
60
...
...
@@ -93,7 +103,7 @@ export default {
let
url
=
`
${
httpUrl
}${
wxLogin
}
?callBack=
${
t
}
&scopes=snsapi_userinfo&type=1`
window
.
document
.
location
=
url
// url-
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
fetchData
(
to
,
from
)
{
this
.
tel
=
''
// 手机号
...
...
@@ -118,5 +128,5 @@ export default {
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"@assets/styles/login/login.scss"
;
@import
'@assets/styles/login/login.scss'
;
</
style
>
src/views/my/admin_detail.vue
View file @
0e13bace
...
...
@@ -3,35 +3,39 @@
<van-pull-refresh
v-model=
"isloading"
@
refresh=
"onRefresh"
>
<div
class=
"order-item"
>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"title"
>
{{
order
.
order_status_display
}}
</div>
<div
class=
"title"
>
{{
order
.
order_status_display
}}
</div>
</div>
<div
class=
"item-title"
>
问题描述:
</div>
<div
class=
"item-desc que-desc"
>
{{
order
.
repair_type
.
type_name
}}
-
{{
order
.
description
}}
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
服务地址:
</div>
<div
class=
"item-title"
>
问题描述:
</div>
<div
class=
"item-desc"
>
{{
order
.
region
.
region_name
}}
-
{{
order
.
room
.
room_name
}}
-
{{
order
.
address
}}
</div>
class=
"item-desc que-desc"
>
{{
order
.
repair_type
.
type_name
}}
-
{{
order
.
description
}}
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
服务地址:
</div>
<div
class=
"item-desc"
>
{{
order
.
region
.
region_name
}}
-
{{
order
.
room
.
room_name
}}
-
{{
order
.
address
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
客户姓名:
</div>
<div
class=
"item-desc"
>
{{
order
.
realname
}}
</div>
<div
class=
"item-title"
>
客户姓名:
</div>
<div
class=
"item-desc"
>
{{
order
.
realname
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(order)"
>
{{
order
.
telephone
}}
</div>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(order)"
>
{{
order
.
telephone
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
提交时间:
</div>
<div
class=
"item-title"
>
提交时间:
</div>
<div
class=
"item-desc"
>
2021-06-17 09:28:43
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
图片详情:
</div>
<div
class=
"item-title"
>
图片详情:
</div>
<div
class=
"img"
v-for=
"(child, index) in order.image"
:key=
"index"
@
click=
"preview(order.image,
index)"
@
click=
"preview(order.image,
index)"
>
<img
:src=
"child.url"
alt
/>
</div>
...
...
@@ -40,7 +44,7 @@
<div
class=
"line"
></div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
派工对象:
</div>
<div
class=
"item-desc"
>
{{
order
.
work_name
}}
</div>
<div
class=
"item-desc"
>
{{
order
.
work_name
}}
</div>
</div>
</div>
<div
class=
"material"
v-if=
"order.no_pay_order"
>
...
...
@@ -50,25 +54,29 @@
v-for=
"(child, index) in order.no_pay_order.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
</div>
<div
class=
"item_line"
></div>
</div>
<div
class=
"material"
v-if=
"order.pay_order != ''"
>
<div
class=
"item-title"
>
已支付耗材
</div>
<div
v-for=
"(parent, index) in order.pay_order"
:key=
"index"
>
<div
class=
"ma-item flex-h flex-hb"
v-for=
"(child, index) in parent.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"ma-item flex-h flex-hb"
v-for=
"(child, index) in parent.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
</div>
</div>
<div
class=
"item_line"
></div>
...
...
@@ -77,13 +85,17 @@
<div
class=
"item-title bz-title"
>
备注耗材
</div>
<div
class=
"ma-item flex-h flex-hb"
v-for=
"(child, index) in order.free_material_order.goods"
v-for=
"(child, index) in order.free_material_order
.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
免费
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
@
click=
"showAll(item,$event)"
>
{{
child
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
@
click=
"showAll(item, $event)"
>
{{
child
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3 text-line-one"
>
¥0
</div>
</div>
...
...
@@ -91,23 +103,29 @@
</div>
<div
class=
"item flex-h flex-start"
v-if=
"order.orderlog_transfer"
>
<div
class=
"item-title"
>
转单备注:
</div>
<div
class=
"item-desc"
>
{{
order
.
orderlog_transfer
.
remark
}}
</div>
<div
class=
"item-desc"
>
{{
order
.
orderlog_transfer
.
remark
}}
</div>
</div>
<div
class=
"item flex-h flex-start"
v-if=
"order.orderlog_cancel"
>
<div
class=
"item-title"
>
退回备注:
</div>
<div
class=
"item-desc"
>
{{
order
.
orderlog_cancel
.
remark
}}
</div>
<div
class=
"item-desc"
>
{{
order
.
orderlog_cancel
.
remark
}}
</div>
</div>
<div
v-if=
"order.is_can_assign_worker==
1"
>
<div
v-if=
"order.is_can_assign_worker ==
1"
>
<div
class=
"line"
></div>
<div
v-if=
"order.is_can_assign_worker==
1"
v-if=
"order.is_can_assign_worker ==
1"
class=
"item flex-h flex-vc flex-hb"
@
click=
"workers"
>
<div
class=
"wo flex-h flex-vc"
>
<div
class=
"item-title"
v-if=
"order.order_status_display == '已派工'"
>
重新派工:
</div>
<div
class=
"item-title"
v-else
>
派工对象:
</div>
<div
class=
"item-desc worker-name"
>
{{
workerName
.
length
?
workerName
.
join
(
'
,
'
)
:
''
}}
</div>
<div
class=
"item-desc worker-name"
>
{{
workerName
.
length
?
workerName
.
join
(
'
,
'
)
:
''
}}
</div>
</div>
<div
class=
"flex-h flex-vc"
>
<div
class=
"select flex-h flex-vc"
>
...
...
@@ -119,8 +137,12 @@
</div>
<div
class=
"line"
></div>
<div
class=
"allBtn flex-h flex-hr"
>
<div
v-if=
"order.is_can_assign_worker==1"
class=
"button sureBtn"
@
click=
"sureOrder"
>
确定
</div>
<div
v-if=
"order.is_can_cancel==1"
class=
"button"
@
click=
"cancelOrder"
>
取消
</div>
<div
v-if=
"order.is_can_assign_worker == 1"
class=
"button sureBtn"
@
click=
"sureOrder"
>
确定
</div>
<div
v-if=
"order.is_can_cancel == 1"
class=
"button"
@
click=
"cancelOrder"
>
取消
</div>
</div>
<!-- 选择工人弹窗 -->
...
...
@@ -128,26 +150,40 @@
<div
class=
"tc-box"
>
<div
class=
"tc-title"
>
选择工人
</div>
<div
class=
"workers"
>
<div
class=
"gr-item"
v-for=
"(child_item,child_index) in columns"
:key=
"child_index"
>
<div
class=
"bm-item"
>
{{
child_item
.
name
}}
</div>
<div
class=
"gr-item"
v-for=
"(child_item, child_index) in columns"
:key=
"child_index"
>
<div
class=
"bm-item"
>
{{
child_item
.
name
}}
</div>
<div
v-if=
"child_item.user.length"
>
<div
class=
"people-item flex-h flex-vc flex-hb"
v-for=
"(lchild_item,lchild_index) in child_item.user"
v-for=
"(
lchild_item, lchild_index
) in child_item.user"
:key=
"lchild_index"
@
click=
"chooseWorker(lchild_item,lchild_index)"
>
<div
class=
"flex-h flex-vc"
>
<img
class=
"gr-img"
:src=
"gr_i
mg"
/>
<img
class=
"gr-img"
:src=
"grI
mg"
/>
<div
class=
"gr-name"
v-if=
"lchild_item.repired_count !== 0 || lchild_item.repiring_count !== 0"
>
{{
lchild_item
.
name
}}
(已派工:
{{
lchild_item
.
repired_count
}}
;维修中:
{{
lchild_item
.
repiring_count
}}
)
</div>
<div
class=
"gr-name"
v-else
>
{{
lchild_item
.
name
}}
(休息中)
</div>
v-if=
" lchild_item.repired_count !== 0 || lchild_item.repiring_count !== 0"
>
{{
lchild_item
.
name
}}
(已派工:
{{
lchild_item
.
repired_count
}}
;维修中:
{{
lchild_item
.
repiring_count
}}
)
</div>
<div
class=
"gr-name"
v-else
>
{{
lchild_item
.
name
}}
(休息中)
</div>
</div>
<img
class=
"k-img"
:src=
"temporaryId && temporaryId.includes(lchild_item.id) ? select_img : unselect_i
mg"
:src=
"temporaryId && temporaryId.includes(lchild_item.id) ? selectImg: unselectI
mg"
/>
</div>
</div>
...
...
@@ -180,24 +216,23 @@
</
template
>
<
script
>
import
{
trimStrSpace
}
from
'
@assets/js/format.js
'
import
{
ImagePreview
,
CellGroup
}
from
'
vant
'
;
import
select
_i
mg
from
'
@assets/images/select.png
'
import
unselect
_i
mg
from
'
@assets/images/un_select.png
'
import
gr
_i
mg
from
'
@assets/images/gr.png
'
//
import { trimStrSpace } from '@assets/js/format.js'
import
{
ImagePreview
}
from
'
vant
'
import
select
I
mg
from
'
@assets/images/select.png
'
import
unselect
I
mg
from
'
@assets/images/un_select.png
'
import
gr
I
mg
from
'
@assets/images/gr.png
'
export
default
{
name
:
'
admin_detail
'
,
data
()
{
return
{
showWorker
:
false
,
select
_i
mg
,
unselect
_i
mg
,
gr
_i
mg
,
reson
:
''
,
//
取消原因
select
I
mg
,
unselect
I
mg
,
gr
I
mg
,
reson
:
''
,
//
取消原因
qxShow
:
false
,
// 发起转单弹窗
workerName
:
''
,
worker_id
:
''
,
showWorker
:
false
,
columns
:
[],
locked
:
false
,
// 上拉加载
...
...
@@ -210,20 +245,19 @@ export default {
order
:
null
,
order_id
:
''
,
temporaryName
:
''
,
temporaryId
:
''
,
temporaryId
:
''
}
},
created
()
{
this
.
order_id
=
this
.
$route
.
query
.
id
// this.order_id = 211
this
.
getDetail
()
this
.
getWorkers
()
},
// created () {
// this.order_id = this.$route.query.id
// this.getDetail()
// this.getWorkers()
// },
methods
:
{
goBack
()
{
goBack
()
{
this
.
$router
.
push
({
path
:
'
/
'
}).
catch
(()
=>
{
})
}).
catch
(()
=>
{
})
},
getDetail
()
{
this
.
isloading
=
true
...
...
@@ -234,8 +268,8 @@ export default {
.
then
(
res
=>
{
this
.
order
=
res
.
order
this
.
workerName
=
[]
this
.
temporaryName
=
[]
this
.
temporaryId
=
[]
this
.
temporaryName
=
[]
this
.
temporaryId
=
[]
this
.
worker_id
=
[]
this
.
locked
=
false
this
.
isloading
=
false
...
...
@@ -246,10 +280,10 @@ export default {
})
},
// 选择完工人点击确定按钮
keyConfirm
()
{
console
.
log
(
'
this.temporaryId
'
,
this
.
temporaryId
);
console
.
log
(
'
this.temporaryName
'
,
this
.
temporaryName
);
if
(
!
this
.
temporaryId
.
length
)
{
keyConfirm
()
{
console
.
log
(
'
this.temporaryId
'
,
this
.
temporaryId
)
console
.
log
(
'
this.temporaryName
'
,
this
.
temporaryName
)
if
(
!
this
.
temporaryId
.
length
)
{
this
.
$toast
(
'
请选择工人!
'
)
return
}
...
...
@@ -257,34 +291,34 @@ export default {
this
.
worker_id
=
[...
this
.
temporaryId
]
this
.
showWorker
=
false
},
chooseWorker
(
item
,
lchild_index
)
{
console
.
log
(
'
11111111111
'
,
item
,
item
.
id
,
item
.
name
,
lchild_index
);
if
(
this
.
temporaryId
.
includes
(
item
.
id
))
{
// 删除
le
t
name_i
=
this
.
temporaryId
.
indexOf
(
item
.
id
)
this
.
temporaryId
.
splice
(
name_i
,
1
)
this
.
temporaryName
.
splice
(
name_i
,
1
)
}
else
{
// 加入
chooseWorker
(
item
,
lchild_index
)
{
console
.
log
(
'
11111111111
'
,
item
,
item
.
id
,
item
.
name
,
lchild_index
)
if
(
this
.
temporaryId
.
includes
(
item
.
id
))
{
// 删除
cons
t
name_i
=
this
.
temporaryId
.
indexOf
(
item
.
id
)
this
.
temporaryId
.
splice
(
name_i
,
1
)
this
.
temporaryName
.
splice
(
name_i
,
1
)
}
else
{
// 加入
this
.
temporaryId
.
push
(
item
.
id
)
this
.
temporaryName
.
push
(
item
.
name
)
}
},
preview
(
img
,
index
)
{
let
temp
=
img
.
map
(
item
=>
{
preview
(
img
,
index
)
{
const
temp
=
img
.
map
(
item
=>
{
return
item
.
url
})
ImagePreview
({
images
:
temp
,
startPosition
:
index
,
});
startPosition
:
index
})
},
callPhone
(
item
)
{
le
t
phoneNumber
=
item
.
telephone
callPhone
(
item
)
{
cons
t
phoneNumber
=
item
.
telephone
window
.
location
.
href
=
'
tel://
'
+
phoneNumber
},
//指派工人
sureOrder
()
{
//
指派工人
sureOrder
()
{
const
vm
=
this
if
(
!
this
.
worker_id
.
length
)
{
if
(
!
this
.
worker_id
.
length
)
{
this
.
$toast
(
'
请选择工人
'
)
return
}
...
...
@@ -295,31 +329,31 @@ export default {
this
.
$http
.
post
(
this
.
$myApi
.
REPAIR_ASSIGN
,
curParams
)
.
then
((
data
)
=>
{
console
.
log
(
'
指派工人
'
,
data
);
console
.
log
(
'
指派工人
'
,
data
)
this
.
$toast
(
'
操作成功
'
)
this
.
workerName
=
[]
this
.
temporaryName
=
[]
this
.
temporaryId
=
[]
this
.
temporaryName
=
[]
this
.
temporaryId
=
[]
this
.
worker_id
=
[]
this
.
reason
=
''
this
.
order
=
data
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
// 取消工单
cancelOrder
()
{
this
.
qxShow
=
true
;
cancelOrder
()
{
this
.
qxShow
=
true
this
.
reason
=
''
},
workers
()
{
workers
()
{
this
.
showWorker
=
true
},
Cancel
()
{
Cancel
()
{
this
.
showWorker
=
false
},
//获取工人列表
getWorkers
()
{
//
获取工人列表
getWorkers
()
{
const
curParams
=
{}
this
.
$http
.
get
(
this
.
$myApi
.
GET_WORKER
,
curParams
)
...
...
@@ -371,11 +405,28 @@ export default {
cancel
()
{
this
.
qxShow
=
false
},
fetchData
(
to
,
from
)
{
this
.
order_id
=
to
.
query
?
to
.
query
.
id
:
''
console
.
log
(
to
,
'
to-----------11111111111111111111111111111
'
)
if
(
this
.
order_id
)
{
this
.
getDetail
()
this
.
getWorkers
()
}
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
fetchData
(
to
,
from
,
next
)
})
},
beforeRouteLeave
(
to
,
from
,
next
)
{
next
()
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"@assets/styles/tabbar/admin_index.scss"
;
@import
'@assets/styles/tabbar/admin_index.scss'
;
</
style
>
src/views/my/charge.vue
View file @
0e13bace
...
...
@@ -2,51 +2,68 @@
<div
class=
"cont"
v-if=
"order"
>
<div
class=
"top"
>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"title"
>
维修类目:
</div>
<div
class=
"title"
>
{{
order
.
repair_type
.
type_name
}}
</div>
<div
class=
"title"
>
维修类目:
</div>
<div
class=
"title"
>
{{
order
.
repair_type
.
type_name
}}
</div>
</div>
<div
class=
"item-title"
>
问题描述:
</div>
<div
class=
"item-desc que-desc"
>
{{
order
.
repair_type
.
type_name
}}
-
{{
order
.
description
}}
</div>
<div
class=
"item-title"
>
问题描述:
</div>
<div
class=
"item-desc que-desc"
>
{{
order
.
repair_type
.
type_name
}}
-
{{
order
.
description
}}
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
服务地址:
</div>
<div
class=
"item-desc"
>
{{
order
.
region
.
region_name
}}
-
{{
order
.
room
.
room_name
}}
-
{{
order
.
address
}}
</div>
<div
class=
"item-title"
>
服务地址:
</div>
<div
class=
"item-desc"
>
{{
order
.
region
.
region_name
}}
-
{{
order
.
room
.
room_name
}}
-
{{
order
.
address
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
客户姓名
:
</div>
<div
class=
"item-desc"
>
{{
order
.
realname
}}
</div>
<div
class=
"item-title"
>
客户姓名
:
</div>
<div
class=
"item-desc"
>
{{
order
.
realname
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(order)"
>
{{
order
.
telephone
}}
</div>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(order)"
>
{{
order
.
telephone
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
提交时间
:
</div>
<div
class=
"item-title"
>
提交时间
:
</div>
<div
class=
"item-desc"
>
2021-06-17 09:28:43
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
图片详情:
</div>
<div
class=
"img flex-h"
v-for=
"(child, index) in order.image"
:key=
"index"
@
click=
"preview(order.image,index)"
>
<div
class=
"item-title"
>
图片详情:
</div>
<div
class=
"img flex-h"
v-for=
"(child, index) in order.image"
:key=
"index"
@
click=
"preview(order.image, index)"
>
<img
:src=
"child.url"
alt
/>
</div>
</div>
</div>
<div
class=
"things"
>
<div
class=
"things_title"
>
所需耗材
</div>
<div
class=
"list-item"
v-for=
"(item,index) in addList"
:key=
"index"
>
<div
class=
"item flex-h flex-hb"
@
click=
"showZl(index)"
>
<div
class=
"list-item"
v-for=
"(item, index) in addList"
:key=
"index"
>
<div
class=
"item flex-h flex-hb"
@
click=
"showZl(index)"
>
<div
class=
"item_title flex-h flex-vc"
>
<div
class=
"title_left"
>
耗材种类
</div>
<div
class=
"title_r"
>
{{
item
.
zl
}}
</div>
<div
class=
"title_r"
>
{{
item
.
zl
}}
</div>
</div>
<div
class=
"select flex-h flex-vc"
>
<div
class=
"select_txt"
>
选择
</div>
<img
src=
"@assets/images/my/select.png"
alt
/>
</div>
</div>
<div
class=
"item flex-h flex-hb"
@
click=
"showHc(index)"
>
<div
class=
"item flex-h flex-hb"
@
click=
"showHc(index)"
>
<div
class=
"item_title flex-h flex-vc"
>
<div
class=
"title_left"
>
耗材名称
</div>
<div
class=
"title_r"
>
{{
item
.
mc
}}
</div>
<div
class=
"title_r"
>
{{
item
.
mc
}}
</div>
</div>
<div
class=
"select flex-h flex-vc"
>
<div
class=
"select_txt"
>
选择
</div>
...
...
@@ -55,33 +72,52 @@
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"title_left"
>
耗材个数
</div>
<input
type=
"tel"
:min=
"1"
maxlength=
"3"
placeholder=
"请输入"
v-model=
"item.number"
@
input=
"changeInput($event,index)"
/>
<input
type=
"tel"
:min=
"1"
maxlength=
"3"
placeholder=
"请输入"
v-model=
"item.number"
@
input=
"changeInput($event, index)"
/>
<!--
<van-field
class=
"hc_field"
v-model=
"item.number"
type=
"number"
placeholder=
"请输入"
maxlength=
"3"
@
input=
"changeInput(item,index)"
/>
-->
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"title_left"
>
耗材单价
</div>
<div
class=
"title_r"
>
{{
item
.
single_price
}}
</div>
<div
class=
"title_r"
>
{{
item
.
single_price
}}
</div>
</div>
<div
v-if=
"addList.length>1"
class=
"delete-btn"
@
click=
"delMeth(index)"
>
<img
src=
"@assets/images/lajitong.png"
alt=
""
>
<div
v-if=
"addList.length > 1"
class=
"delete-btn"
@
click=
"delMeth(index)"
>
<img
src=
"@assets/images/lajitong.png"
alt=
""
/>
</div>
<!-- 种类弹窗 -->
<van-popup
v-model=
"item.zlSelect"
round
position=
"bottom"
>
<van-popup
v-model=
"item.zlSelect"
round
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"types"
value-key=
"goods_name"
@
confirm=
"(value)=>
{typeConfirm(value,index)}"
@
confirm=
"
(value) =>
{
typeConfirm(value, index)
}
"
@cancel="typeCancel(index)"
/>
</van-popup>
<van-popup
v-model=
"item.mcSelect"
round
position=
"bottom"
>
<van-popup
v-model=
"item.mcSelect"
round
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"hcName"
value-key=
"goods_name"
@
confirm=
"(value)=>
{hcConfirm(value,index)}"
@
confirm=
"
(value) =>
{
hcConfirm(value, index)
}
"
@cancel="hcCancel(index)"
/>
</van-popup>
...
...
@@ -89,7 +125,7 @@
<div
class=
"line"
></div>
<div
class=
"add-btn flex-h flex-vc flex-hb"
>
<!--
<div
v-if=
"addList.length>1"
class=
"del-btn"
@
click=
"delMeth"
>
-删除耗材
</div>
-->
<div
class=
"add-btn"
@
click=
"addMeth"
>
+新增耗材
</div>
<div
class=
"add-btn"
@
click=
"addMeth"
>
+新增耗材
</div>
</div>
</div>
<div
class=
"blank"
></div>
...
...
@@ -97,35 +133,36 @@
<div
class=
"bottom flex-h flex-hb flex-vc"
>
<div
class=
"left"
>
共
<span>
{{
goods_number
}}
</span>
件,总金额:
<span>
{{
goods_number
}}
</span
>
件,总金额:
<!--
<span
v-if=
"isNaN(total_price)"
>
¥暂无
</span>
-->
<span>
¥
{{
total_price
}}
</span>
<span>
¥
{{
total_price
}}
</span>
</div>
<div
class=
"skBtn"
@
click=
"launch(repair_order_id)"
>
发起收款
</div>
</div>
<!-- 底部返回按钮 -->
<div
class=
"backBtn"
@
click=
"goBack"
>
<img
src=
"@assets/images/back3.png"
alt=
""
>
<img
src=
"@assets/images/back3.png"
alt=
""
/
>
</div>
</div>
</
template
>
<
script
>
import
{
ImagePreview
}
from
'
vant
'
;
import
{
ImagePreview
}
from
'
vant
'
export
default
{
name
:
'
charge
'
,
data
()
{
return
{
addList
:[
addList
:
[
{
zl
:
''
,
mc
:
''
,
number
:
''
,
zl
:
''
,
mc
:
''
,
number
:
''
,
single_price
:
'
暂无
'
,
zlSelect
:
false
,
zlSelect
:
false
,
mcSelect
:
false
,
parent_id
:
''
,
goods_id
:
''
,
goods_id
:
''
}
],
showPicker
:
false
,
...
...
@@ -140,44 +177,44 @@ export default {
hcList
:
[],
total_price
:
0
,
hc_price
:
''
,
goods_number
:
0
,
goods_number
:
0
}
},
created
()
{
this
.
repair_order_id
=
this
.
$route
.
query
.
id
this
.
getDetail
()
},
watch
:{
addList
:{
handler
(
newValue
,
oldValue
)
{
let
filterValue
=
newValue
.
filter
(
item
=>
{
watch
:
{
addList
:
{
handler
(
newValue
,
oldValue
)
{
const
filterValue
=
newValue
.
filter
(
item
=>
{
return
(
item
.
zl
&&
item
.
mc
&&
item
.
number
)
})
if
(
filterValue
.
length
)
{
if
(
filterValue
.
length
)
{
this
.
getMonery
(
filterValue
)
}
else
{
}
else
{
this
.
total_price
=
0
}
},
deep
:
true
}
,
deep
:
true
}
},
methods
:
{
goBack
()
{
this
.
$router
.
go
(
-
1
);
goBack
()
{
this
.
$router
.
go
(
-
1
)
},
callPhone
(
order
)
{
le
t
phoneNumber
=
order
.
telephone
callPhone
(
order
)
{
cons
t
phoneNumber
=
order
.
telephone
window
.
location
.
href
=
'
tel://
'
+
phoneNumber
},
preview
(
img
,
index
)
{
let
temp
=
img
.
map
(
item
=>
{
preview
(
img
,
index
)
{
const
temp
=
img
.
map
(
item
=>
{
return
item
.
url
})
ImagePreview
({
images
:
temp
,
startPosition
:
index
,
})
;
startPosition
:
index
})
},
getDetail
()
{
const
curParams
=
{
...
...
@@ -187,7 +224,7 @@ export default {
.
then
(
res
=>
{
this
.
order
=
res
.
order
var
arr
=
[]
for
(
let
i
in
res
.
material
)
{
for
(
const
i
in
res
.
material
)
{
arr
.
push
({
id
:
res
.
material
[
i
].
id
,
goods_name
:
res
.
material
[
i
].
goods_name
,
...
...
@@ -196,13 +233,13 @@ export default {
}
this
.
types
=
arr
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
showZl
(
index
)
{
showZl
(
index
)
{
this
.
addList
[
index
].
zlSelect
=
true
},
typeConfirm
(
value
,
index
)
{
if
(
value
.
id
==
this
.
addList
[
index
].
parent_id
)
{
typeConfirm
(
value
,
index
)
{
if
(
value
.
id
==
this
.
addList
[
index
].
parent_id
)
{
this
.
addList
[
index
].
zlSelect
=
false
return
}
...
...
@@ -216,7 +253,7 @@ export default {
this
.
addList
[
index
].
single_price
=
''
var
childArr
=
[]
for
(
let
i
in
value
.
son
)
{
for
(
const
i
in
value
.
son
)
{
childArr
.
push
({
id
:
value
.
son
[
i
].
id
,
goods_name
:
value
.
son
[
i
].
goods_name
,
...
...
@@ -226,45 +263,44 @@ export default {
this
.
hcName
=
childArr
// this.getMonery()
},
typeCancel
(
index
)
{
typeCancel
(
index
)
{
this
.
addList
[
index
].
zlSelect
=
false
},
showHc
(
index
)
{
showHc
(
index
)
{
this
.
addList
[
index
].
mcSelect
=
true
},
hcConfirm
(
value
,
index
)
{
hcConfirm
(
value
,
index
)
{
this
.
addList
[
index
].
mc
=
value
.
goods_name
this
.
addList
[
index
].
single_price
=
value
.
single_price
this
.
addList
[
index
].
mcSelect
=
false
this
.
addList
[
index
].
goods_id
=
value
.
id
this
.
hc_price
=
this
.
addList
[
index
].
single_price
let
bool
=
this
.
addList
.
every
(
item
=>
{
const
bool
=
this
.
addList
.
every
(
item
=>
{
return
item
.
number
&&
item
.
mc
&&
item
.
zl
})
// this.getMonery()
},
changeInput
(
e
,
index
)
{
changeInput
(
e
,
index
)
{
this
.
hc_number
=
e
.
target
.
value
this
.
totalCount
()
},
getMonery
(
filterList
)
{
getMonery
(
filterList
)
{
let
total_price
=
0
filterList
.
map
(
item
=>
{
filterList
.
map
(
item
=>
{
total_price
+=
Number
(
item
.
number
)
*
Number
(
item
.
single_price
)
})
this
.
total_price
=
Number
(
total_price
)
// console.log('总价钱',total_price);
},
totalCount
()
{
totalCount
()
{
let
count
=
0
for
(
let
i
=
0
;
i
<
this
.
addList
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
this
.
addList
.
length
;
i
++
)
{
count
+=
Number
(
this
.
addList
[
i
].
number
)
}
this
.
goods_number
=
count
},
hcCancel
(
index
)
{
hcCancel
(
index
)
{
this
.
addList
[
index
].
mcSelect
=
false
},
addMeth
()
{
...
...
@@ -277,29 +313,28 @@ export default {
mcSelect
:
false
})
},
delMeth
(
index
)
{
delMeth
(
index
)
{
this
.
$dialog
.
confirm
({
title
:
'
提示
'
,
message
:
'
确认删除吗?
'
}).
then
(()
=>
{
this
.
addList
.
splice
(
index
,
1
)
}).
then
(()
=>
{
this
.
addList
.
splice
(
index
,
1
)
// this.getMonery()
this
.
totalCount
()
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
launch
(
id
)
{
let
bool
=
this
.
addList
.
every
(
item
=>
{
launch
(
id
)
{
const
bool
=
this
.
addList
.
every
(
item
=>
{
return
item
.
number
&&
item
.
mc
&&
item
.
zl
})
if
(
!
bool
)
{
if
(
!
bool
)
{
this
.
$toast
.
fail
(
'
请输入完整
'
)
return
}
for
(
let
i
=
0
;
i
<
this
.
addList
.
length
;
i
++
)
{
if
(
this
.
addList
[
i
].
number
==
0
)
{
for
(
let
i
=
0
;
i
<
this
.
addList
.
length
;
i
++
)
{
if
(
this
.
addList
[
i
].
number
==
0
)
{
this
.
$toast
(
'
耗材个数不能为0
'
)
return
}
...
...
@@ -311,13 +346,13 @@ export default {
// const _this = this
this
.
$http
.
post
(
this
.
$myApi
.
REPAIR_ORDER
,
curParams
)
.
then
(
res
=>
{
console
.
log
(
'
执行了吗
'
)
;
console
.
log
(
'
执行了吗
'
)
this
.
$toast
.
success
(
'
发起成功
'
)
this
.
$router
.
go
(
-
1
)
})
.
catch
(()
=>
{})
},
}
,
.
catch
(()
=>
{
})
}
}
}
</
script
>
...
...
@@ -327,7 +362,7 @@ export default {
background
:
#fff
;
padding-top
:
0
.2rem
;
}
.backBtn
{
.backBtn
{
width
:
1rem
;
height
:
1rem
;
background
:
#fff
;
...
...
@@ -339,7 +374,7 @@ export default {
border-radius
:
50%
;
padding
:
0
.1rem
;
}
.backBtn
img
{
.backBtn
img
{
width
:
100%
;
height
:
100%
;
border-radius
:
50%
;
...
...
@@ -366,7 +401,7 @@ export default {
font-size
:
0
.3rem
;
white-space
:
nowrap
;
}
.hc_field
{
.hc_field
{
padding
:
0
;
}
.item-desc
{
...
...
@@ -432,7 +467,7 @@ export default {
.add-btn
{
color
:
#0054ff
;
font-size
:
0
.3rem
;
margin
:
0
.2rem
auto
0
;
margin
:
0
.2rem
auto
0
;
}
.list-item
{
margin-bottom
:
0
.8rem
;
...
...
@@ -445,7 +480,7 @@ export default {
bottom
:
0rem
;
right
:
0rem
;
}
.delete-btn
img
{
.delete-btn
img
{
width
:
100%
;
height
:
100%
;
}
...
...
src/views/my/lookEvaluate.vue
View file @
0e13bace
...
...
@@ -2,24 +2,48 @@
<div
class=
"cont"
>
<div
class=
"evaluate-cont"
>
<div
class=
"title"
>
整体评价
</div>
<van-rate
readonly
void-icon=
"star"
v-model=
"totalStar"
void-color=
"#eee"
color=
"#FFA300"
/>
<van-rate
readonly
void-icon=
"star"
v-model=
"totalStar"
void-color=
"#eee"
color=
"#FFA300"
/>
<div
class=
"eva_detail"
>
详细评价
</div>
<div
class=
"flex-h star-item"
>
<div
class=
"left_title"
>
速度
</div>
<van-rate
readonly
void-icon=
"star"
v-model=
"speedStar"
void-color=
"#eee"
color=
"#FFA300"
/>
<van-rate
readonly
void-icon=
"star"
v-model=
"speedStar"
void-color=
"#eee"
color=
"#FFA300"
/>
</div>
<div
class=
"flex-h star-item"
>
<div
class=
"left_title"
>
质量
</div>
<van-rate
readonly
void-icon=
"star"
v-model=
"qualityStar"
void-color=
"#eee"
color=
"#FFA300"
/>
<van-rate
readonly
void-icon=
"star"
v-model=
"qualityStar"
void-color=
"#eee"
color=
"#FFA300"
/>
</div>
<div
class=
"flex-h star-item"
>
<div
class=
"left_title"
>
态度
</div>
<van-rate
readonly
void-icon=
"star"
v-model=
"attitudeStar"
void-color=
"#eee"
color=
"#FFA300"
/>
<van-rate
readonly
void-icon=
"star"
v-model=
"attitudeStar"
void-color=
"#eee"
color=
"#FFA300"
/>
</div>
<div
class=
"line"
></div>
<div
class=
"comments"
>
<div
class=
"title"
>
评价内容
</div>
<div
class=
"content"
>
{{
comment
.
content
}}
</div>
<div
class=
"content"
>
{{
comment
.
content
}}
</div>
</div>
</div>
</div>
...
...
@@ -27,18 +51,18 @@
<
script
>
export
default
{
data
()
{
return
{
data
()
{
return
{
totalStar
:
0
,
speedStar
:
0
,
qualityStar
:
0
,
attitudeStar
:
0
,
attitudeStar
:
0
,
repair_order_id
:
''
,
comment
:
''
,
comment
:
''
}
},
created
()
{
console
.
log
(
'
接收的id啊
'
,
this
.
$route
.
query
.
id
);
console
.
log
(
'
接收的id啊
'
,
this
.
$route
.
query
.
id
)
this
.
repair_order_id
=
this
.
$route
.
query
.
id
this
.
look_comment
()
// this.getStatus()
...
...
@@ -58,12 +82,12 @@ export default {
this
.
attitudeStar
=
Number
(
data
.
attitude_stars
)
this
.
totalStar
=
Number
(
data
.
stars
)
})
.
catch
(()
=>
{})
}
,
.
catch
(()
=>
{
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"@assets/styles/my/lookEvaluate.scss"
;
@import
'@assets/styles/my/lookEvaluate.scss'
;
</
style
>
src/views/my/order_detail.vue
View file @
0e13bace
...
...
@@ -5,48 +5,52 @@
<div
class=
"item flex-h flex-vc"
>
<div
class=
"title"
v-if=
"order.pid==0&&order.son_count>
0"
>
{{
order
.
order_status_display
}}
(负责人)
</div>
<div
class=
"title"
v-else
>
{{
order
.
order_status_display
}}
</div>
v-if=
"order.pid == 0 && order.son_count >
0"
>
{{
order
.
order_status_display
}}
(负责人)
</div>
<div
class=
"title"
v-else
>
{{
order
.
order_status_display
}}
</div>
</div>
<div
class=
"item-title"
>
问题描述:
</div>
<div
class=
"item-desc que-desc"
>
{{
order
.
repair_type
.
type_name
}}
-
{{
order
.
description
}}
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
服务地址:
</div>
<div
class=
"item-title"
>
问题描述:
</div>
<div
class=
"item-desc"
>
{{
order
.
region
.
region_name
}}
-
{{
order
.
room
.
room_name
}}
-
{{
order
.
address
}}
</div>
class=
"item-desc que-desc"
>
{{
order
.
repair_type
.
type_name
}}
-
{{
order
.
description
}}
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
服务地址:
</div>
<div
class=
"item-desc"
>
{{
order
.
region
.
region_name
}}
-
{{
order
.
room
.
room_name
}}
-
{{
order
.
address
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
客户姓名:
</div>
<div
class=
"item-desc"
>
{{
order
.
realname
}}
</div>
<div
class=
"item-title"
>
客户姓名:
</div>
<div
class=
"item-desc"
>
{{
order
.
realname
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(order)"
>
{{
order
.
telephone
}}
</div>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(order)"
>
{{
order
.
telephone
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
提交时间:
</div>
<div
class=
"item-title"
>
提交时间:
</div>
<div
class=
"item-desc"
>
2021-06-17 09:28:43
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
图片详情:
</div>
<div
class=
"item-title"
>
图片详情:
</div>
<div
class=
"img"
v-for=
"(child, index) in order.image"
:key=
"index"
@
click=
"preview(order.image,
index)"
@
click=
"preview(order.image,
index)"
>
<img
:src=
"child.url"
alt
/>
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
派工对象:
</div>
<div
class=
"item-desc"
>
{{
order
.
work_name
}}
</div>
<div
class=
"item-desc"
>
{{
order
.
work_name
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc"
>
{{
order
.
telephone
}}
</div>
<div
class=
"item-desc"
>
{{
order
.
telephone
}}
</div>
</div>
<div
class=
"material"
v-if=
"order.no_pay_order"
>
<div
class=
"item-title bz-title"
>
待支付耗材
</div>
...
...
@@ -55,26 +59,30 @@
v-for=
"(child, index) in order.no_pay_order.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
</div>
<div
class=
"item_line"
></div>
</div>
<div
class=
"material"
v-if=
"order.pay_order != ''"
>
<div
class=
"item-title"
>
已支付耗材
</div>
<div
v-for=
"(parent, index) in order.pay_order"
:key=
"index"
>
<div
class=
"ma-item flex-h flex-hb"
v-for=
"(child, index) in parent.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"ma-item flex-h flex-hb"
v-for=
"(child, index) in parent.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<!--
<div
class=
"one"
>
{{
child
.
good_detail
.
goods_name
}}
*
{{
child
.
number
}}
</div>
-->
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
</div>
</div>
<div
class=
"item_line"
></div>
...
...
@@ -83,13 +91,17 @@
<div
class=
"item-title bz-title"
>
备注耗材
</div>
<div
class=
"ma-item flex-h flex-hb"
v-for=
"(child, index) in order.free_material_order.goods"
v-for=
"(child, index) in order.free_material_order
.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
免费
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
@
click=
"showAll(item,$event)"
>
{{
child
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
@
click=
"showAll(item, $event)"
>
{{
child
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3 text-line-one"
>
¥0
</div>
</div>
...
...
@@ -97,39 +109,51 @@
</div>
<div
class=
"item flex-h flex-start"
v-if=
"order.orderlog_transfer"
>
<div
class=
"item-title"
>
转单备注:
</div>
<div
class=
"item-desc"
>
{{
order
.
orderlog_transfer
.
remark
}}
</div>
<div
class=
"item-desc"
>
{{
order
.
orderlog_transfer
.
remark
}}
</div>
</div>
<div
class=
"item flex-h flex-start"
v-if=
"order.orderlog_cancel"
>
<div
class=
"item-title"
>
退回备注:
</div>
<div
class=
"item-desc"
>
{{
order
.
orderlog_cancel
.
remark
}}
</div>
<div
class=
"item-desc"
>
{{
order
.
orderlog_cancel
.
remark
}}
</div>
</div>
<div
class=
"btn flex-h flex-hr"
v-if=
"btnShow"
>
<div
v-if=
"order.is_can_remark_material==1"
class=
"btn-item bz-btn"
@
click=
"bz_click"
>
备注耗材
</div>
<div
v-if=
"order.is_can_confirm_complete==1"
v-if=
"order.is_can_remark_material == 1"
class=
"btn-item bz-btn"
@
click=
"bz_click"
>
备注耗材
</div>
<div
v-if=
"order.is_can_confirm_complete == 1"
class=
"btn-item qr-btn"
@
click=
"sure_click()"
>
确认完成
</div>
<div
v-if=
"order.is_can_initiate_charge==
1"
v-if=
"order.is_can_initiate_charge ==
1"
class=
"btn-item sf-btn"
@
click=
"tz_charge(order.id)"
>
发起收费
</div>
<div
v-if=
"order.is_can_initiate_transfer_order==
1"
v-if=
"order.is_can_initiate_transfer_order ==
1"
class=
"btn-item"
@
click=
"zd_click"
>
发起转单
</div>
<div
v-if=
"order.is_can_back==1"
class=
"btn-item"
@
click=
"back_click"
>
发起退回
</div>
<div
v-if=
"order.is_can_begin_repair==1"
class=
"btn-item"
@
click=
"starRepir"
>
开始维修
</div>
<div
v-if=
"order.is_can_see_material==1"
class=
"btn-item sf-btn"
@
click=
"look_click"
>
查看耗材
</div>
<div
v-if=
"order.is_can_back == 1"
class=
"btn-item"
@
click=
"back_click"
>
发起退回
</div>
<div
v-if=
"order.is_can_begin_repair == 1"
class=
"btn-item"
@
click=
"starRepir"
>
开始维修
</div>
<div
v-if=
"order.is_can_see_material == 1"
class=
"btn-item sf-btn"
@
click=
"look_click"
>
查看耗材
</div>
</div>
<!-- 弹窗 -->
<!-- 备注耗材弹窗 -->
<van-popup
v-model=
"hcShow"
close-icon=
"close"
>
<div
class=
"cancel_cont"
>
<div
class=
"pop_title"
>
备注耗材
</div>
<div
class=
"list-item"
v-for=
"(item,
index) in addList"
:key=
"index"
>
<div
class=
"list-item"
v-for=
"(item,
index) in addList"
:key=
"index"
>
<input
class=
"input"
maxlength=
"20"
...
...
@@ -146,7 +170,7 @@
/>
</div>
<div
class=
"math-btn flex-h flex-vc flex-hb"
>
<div
v-if=
"addList.length>
1"
class=
"del-btn"
@
click=
"delMeth"
>
-删除
</div>
<div
v-if=
"addList.length >
1"
class=
"del-btn"
@
click=
"delMeth"
>
-删除
</div>
<div
class=
"add-btn"
@
click=
"addMeth"
>
+新增
</div>
</div>
<div
class=
"btnItem flex-h"
>
...
...
@@ -187,18 +211,30 @@
v-for=
"(item, index) in expend_detail.list"
:key=
"index"
>
<div
class=
"one one1 one_title text-line-one"
>
{{
item
.
parent_detail
?
item
.
parent_detail
.
goods_name
:
'
其它
'
}}
</div>
<div
class=
"one one1 one_title text-line-one"
>
{{
item
.
parent_detail
?
item
.
parent_detail
.
goods_name
:
'
其它
'
}}
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
item
.
is_free
==
2
?
item
.
good_detail
.
goods_name
:
item
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
item
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
item
.
is_free
==
2
?
item
.
good_detail
.
goods_name
:
item
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
item
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
item
.
price
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
item
.
price
}}
</div>
<div
class=
"hc_total"
>
共计
{{
expend_detail
.
number
}}
件,总价: ¥
{{
expend_detail
.
price
}}
</div>
<div
class=
"hc_total"
>
共计
{{
expend_detail
.
number
}}
件,总价: ¥
{{
expend_detail
.
price
}}
</div>
<div
class=
"sure-btn"
@
click=
"cancel"
>
确定
</div>
</div>
</van-popup>
...
...
@@ -209,17 +245,17 @@
</div>
</div>
<div
v-else
>
<img
class=
"none-img"
src=
"https://img01.yzcdn.cn/vant/empty-image-default.png"
>
<img
class=
"none-img"
src=
"https://img01.yzcdn.cn/vant/empty-image-default.png"
/
>
<p
class=
"none-p"
>
暂无工单哦!
</p>
</div>
</
template
>
<
script
>
import
{
ImagePreview
}
from
'
vant
'
;
import
{
ImagePreview
}
from
'
vant
'
import
{
trimStrSpace
}
from
'
@assets/js/format.js
'
export
default
{
name
:
'
order_detail
'
,
data
()
{
data
()
{
return
{
locked
:
false
,
isloading
:
false
,
...
...
@@ -237,30 +273,29 @@ export default {
lookShow
:
false
,
// 查看耗材弹窗
reason
:
''
,
// 转单原因
zdShow
:
false
,
// 发起转单弹窗
backShow
:
false
,
//工人退回弹窗
back_reason
:
''
,
//工人退回原因
lookShow
:
false
,
// 查看耗材弹窗
expend_detail
:
{},
// 耗材详情
backShow
:
false
,
// 工人退回弹窗
back_reason
:
''
,
// 工人退回原因
expend_detail
:
{}
// 耗材详情
}
},
created
()
{
this
.
order_id
=
this
.
$route
.
query
.
id
// this.order_id = 211
this
.
getDetail
()
},
//
created () {
//
this.order_id = this.$route.query.id
// console.log(this.$route.query.id, 'this.$route.query.id----------')
//
this.getDetail()
//
},
methods
:
{
preview
(
img
,
index
)
{
let
temp
=
img
.
map
(
item
=>
{
preview
(
img
,
index
)
{
const
temp
=
img
.
map
(
item
=>
{
return
item
.
url
})
ImagePreview
({
images
:
temp
,
startPosition
:
index
,
});
startPosition
:
index
})
},
// 确认完成
sure_click
(
item
,
index
)
{
const
vm
=
this
//
const vm = this
this
.
$dialog
.
confirm
({
title
:
'
提示
'
,
message
:
'
确认完成维修?
'
...
...
@@ -275,9 +310,9 @@ export default {
this
.
$toast
(
'
操作成功
'
)
this
.
order
=
data
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
onRefresh
()
{
if
(
!
this
.
locked
)
{
...
...
@@ -389,9 +424,9 @@ export default {
})
},
// 开始维修
starRepir
(
id
,
)
{
starRepir
(
id
)
{
// console.log(index)
const
vm
=
this
//
const vm = this
const
curParams
=
{
repair_order_id
:
this
.
order_id
}
...
...
@@ -400,17 +435,17 @@ export default {
.
then
((
data
)
=>
{
this
.
order
=
data
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
back_click
()
{
back_click
()
{
this
.
back_reason
=
''
this
.
backShow
=
true
},
back_cancel
()
{
back_cancel
()
{
this
.
backShow
=
false
},
//
发起退回
back_submit
()
{
//
发起退回
back_submit
()
{
if
(
this
.
back_reason
===
''
)
{
this
.
$toast
(
'
退回原因不可为空
'
)
return
...
...
@@ -442,25 +477,39 @@ export default {
this
.
expend_detail
=
data
this
.
lookShow
=
true
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
cancel
()
{
this
.
zdShow
=
false
this
.
hcShow
=
false
this
.
lookShow
=
false
},
goBack
()
{
goBack
()
{
this
.
$router
.
push
({
path
:
'
/
'
})
},
fetchData
(
to
,
from
)
{
this
.
order_id
=
to
.
query
?
to
.
query
.
id
:
''
if
(
this
.
order_id
)
{
this
.
getDetail
()
}
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
fetchData
(
to
,
from
,
next
)
})
},
beforeRouteLeave
(
to
,
from
,
next
)
{
next
()
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"@assets/styles/tabbar/index.scss"
;
@import
'@assets/styles/tabbar/index.scss'
;
.backBtn
{
width
:
0
.8rem
;
height
:
0
.8rem
;
...
...
@@ -478,11 +527,11 @@ export default {
height
:
100%
;
border-radius
:
50%
;
}
.none-img
{
.none-img
{
display
:
block
;
margin
:
0
auto
;
}
.none-p
{
.none-p
{
text-align
:
center
;
}
</
style
>
src/views/tabbar/Home.vue
View file @
0e13bace
...
...
@@ -2,12 +2,12 @@
<div
class=
"cont"
>
<div
class=
"top flex-h flex-vc"
>
<div
class=
"point"
></div>
<div
class=
"status"
>
{{
user
.
online_status_display
}}
</div>
<div
class=
"status"
>
{{
user
.
online_status_display
}}
</div>
</div>
<div
class=
"menu flex-h flex-hb"
>
<div
class=
"hc_total"
>
共
{{
count
}}
个工单
</div>
<div
class=
"hc_total"
>
共
{{
count
}}
个工单
</div>
<div
class=
"options"
>
<div
@
click=
"chooseTab"
>
{{
curSelect
.
name
}}
</div>
<div
@
click=
"chooseTab"
>
{{
curSelect
.
name
}}
</div>
<div
class=
"option-box"
v-show=
"tabShow"
>
<div
class=
"option-item"
...
...
@@ -15,14 +15,14 @@
:key=
"item.type"
:value=
"item.name"
@
click=
"changeItem(item)"
>
{{
item
.
name
}}
</div>
>
{{
item
.
name
}}
</div>
</div>
</div>
</div>
<div
class=
"date flex-h flex-hb flex-vc"
v-if=
"this.curSelect.type==
4"
>
<div
class=
"start"
@
click=
"stShow"
>
{{
startTime
}}
</div>
<div
class=
"date flex-h flex-hb flex-vc"
v-if=
"this.curSelect.type ==
4"
>
<div
class=
"start"
@
click=
"stShow"
>
{{
startTime
}}
</div>
<div
class=
"blue"
></div>
<div
class=
"end"
@
click=
"endShow"
>
{{
endTime
}}
</div>
<div
class=
"end"
@
click=
"endShow"
>
{{
endTime
}}
</div>
</div>
<van-pull-refresh
v-model=
"isloading"
@
refresh=
"onRefresh"
>
...
...
@@ -34,38 +34,48 @@
v-if=
"list.length"
>
<div
class=
"order-item"
v-for=
"(item, index) in list"
:key=
"item.id"
>
<div
class=
"title"
v-if=
"item.pid==0&&item.son_count>0"
>
{{
item
.
order_status_display
}}
(负责人)
</div>
<div
class=
"title"
v-else
>
{{
item
.
order_status_display
}}
</div>
<div
class=
"title"
v-if=
"item.pid == 0 && item.son_count > 0"
>
{{
item
.
order_status_display
}}
(负责人)
</div>
<div
class=
"title"
v-else
>
{{
item
.
order_status_display
}}
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
预约时间:
</div>
<div
class=
"item-desc"
>
{{
item
.
appointment_date
}}
{{
item
.
appointment_time
.
start_time
}}
-
{{
item
.
appointment_time
.
end_time
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
appointment_date
}}
{{
item
.
appointment_time
.
start_time
}}
-
{{
item
.
appointment_time
.
end_time
}}
</div>
</div>
<div
class=
"item-title"
>
问题描述:
</div>
<div
class=
"item-desc que-desc"
>
{{
item
.
repair_type
.
type_name
}}
-
{{
item
.
description
}}
</div>
<div
class=
"item-desc que-desc"
>
{{
item
.
repair_type
.
type_name
}}
-
{{
item
.
description
}}
</div>
<div
class=
"item flex-h flex-start"
>
<div
class=
"item-title"
>
服务地址:
</div>
<div
class=
"item-desc"
>
{{
item
.
region
.
region_name
}}
-
{{
item
.
room
.
room_name
}}
-
{{
item
.
address
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
region
.
region_name
}}
-
{{
item
.
room
.
room_name
}}
-
{{
item
.
address
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
客户姓名:
</div>
<div
class=
"item-desc"
>
{{
item
.
realname
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
realname
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(item)"
>
{{
item
.
telephone
}}
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(item)"
>
{{
item
.
telephone
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
提交时间:
</div>
<div
class=
"item-desc"
>
{{
item
.
created_at
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
created_at
}}
</div>
</div>
<div
class=
"item flex-h flex-start"
>
<div
class=
"item-title"
>
图片详情:
</div>
<div
@
click=
"preview(item.image,
index)"
@
click=
"preview(item.image,
index)"
class=
"img flex-h"
v-for=
"(child, index) in item.image"
:key=
"index"
...
...
@@ -76,11 +86,11 @@
<div
class=
"line"
></div>
<div
class=
"item flex-h flex-vc"
v-if=
"item.worker"
>
<div
class=
"item-title"
>
派工对象:
</div>
<div
class=
"item-desc"
>
{{
item
.
worker
.
name
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
worker
.
name
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
v-if=
"item.worker"
>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc"
>
{{
item
.
worker
.
phone
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
worker
.
phone
}}
</div>
</div>
<div
class=
"material"
v-if=
"item.no_pay_order"
>
<div
class=
"item-title bz-title"
>
待支付耗材
</div>
...
...
@@ -89,12 +99,12 @@
v-for=
"(child, index) in item.no_pay_order.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
</div>
<div
class=
"item_line"
></div>
</div>
...
...
@@ -106,13 +116,17 @@
v-for=
"(child, index) in parent.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<!--
<div
class=
"one"
>
{{
child
.
good_detail
.
goods_name
}}
*
{{
child
.
number
}}
</div>
-->
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
</div>
</div>
<div
class=
"item_line"
></div>
...
...
@@ -122,13 +136,17 @@
<div
class=
"item-title bz-title"
>
备注耗材
</div>
<div
class=
"ma-item flex-h flex-hb"
v-for=
"(child, index) in item.free_material_order.goods"
v-for=
"(child, index) in item.free_material_order
.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
免费
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
@
click=
"showAll(item,$event)"
>
{{
child
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
@
click=
"showAll(item, $event)"
>
{{
child
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<!--
<div
class=
"one one2 text-line-one"
>
{{
child
.
goods_name
}}
*
{{
child
.
number
}}
</div>
-->
<div
class=
"one one3 text-line-one"
>
¥0
</div>
...
...
@@ -137,30 +155,34 @@
</div>
<div
class=
"btn flex-h flex-hr"
>
<div
v-if=
"item.is_can_remark_material==
1"
v-if=
"item.is_can_remark_material ==
1"
class=
"btn-item bz-btn"
@
click=
"bz_click(item)"
>
备注耗材
</div>
<div
v-if=
"item.is_can_confirm_complete==
1"
v-if=
"item.is_can_confirm_complete ==
1"
class=
"btn-item qr-btn"
@
click=
"sure_click(item, index)"
>
确认完成
</div>
<div
v-if=
"item.is_can_initiate_charge==
1"
v-if=
"item.is_can_initiate_charge ==
1"
class=
"btn-item sf-btn"
@
click=
"tz_charge(item.id)"
>
发起收费
</div>
<div
v-if=
"item.is_can_initiate_transfer_order==
1"
v-if=
"item.is_can_initiate_transfer_order ==
1"
class=
"btn-item"
@
click=
"zd_click(item)"
>
发起转单
</div>
<div
v-if=
"item.is_can_back==1"
class=
"btn-item"
@
click=
"back_click(item)"
>
发起退回
</div>
<div
v-if=
"item.is_can_begin_repair==1"
v-if=
"item.is_can_back == 1"
class=
"btn-item"
@
click=
"back_click(item)"
>
发起退回
</div>
<div
v-if=
"item.is_can_begin_repair == 1"
class=
"btn-item"
@
click=
"starRepir(item.id,
index)"
@
click=
"starRepir(item.id,
index)"
>
开始维修
</div>
<!--
<div
v-if=
"item.is_can_see_appraisal==1"
...
...
@@ -168,7 +190,7 @@
@
click=
"look_comment(item)"
>
查看评价
</div>
-->
<div
v-if=
"item.is_can_see_material==
1"
v-if=
"item.is_can_see_material ==
1"
class=
"btn-item sf-btn"
@
click=
"look_click(item)"
>
查看耗材
</div>
...
...
@@ -205,7 +227,7 @@
<van-popup
v-model=
"hcShow"
close-icon=
"close"
>
<div
class=
"cancel_cont"
>
<div
class=
"pop_title"
>
备注耗材
</div>
<div
class=
"list-item"
v-for=
"(item,
index) in addList"
:key=
"index"
>
<div
class=
"list-item"
v-for=
"(item,
index) in addList"
:key=
"index"
>
<input
class=
"input"
maxlength=
"20"
...
...
@@ -223,7 +245,7 @@
/>
</div>
<div
class=
"math-btn flex-h flex-vc flex-hb"
>
<div
v-if=
"addList.length>
1"
class=
"del-btn"
@
click=
"delMeth"
>
-删除
</div>
<div
v-if=
"addList.length >
1"
class=
"del-btn"
@
click=
"delMeth"
>
-删除
</div>
<div
class=
"add-btn"
@
click=
"addMeth"
>
+新增
</div>
</div>
<div
class=
"btnItem flex-h"
>
...
...
@@ -242,18 +264,30 @@
v-for=
"(item, index) in expend_detail.list"
:key=
"index"
>
<div
class=
"one one1 one_title text-line-one"
>
{{
item
.
parent_detail
?
item
.
parent_detail
.
goods_name
:
'
其它
'
}}
</div>
<div
class=
"one one1 one_title text-line-one"
>
{{
item
.
parent_detail
?
item
.
parent_detail
.
goods_name
:
'
其它
'
}}
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
item
.
is_free
==
2
?
item
.
good_detail
.
goods_name
:
item
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
item
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
item
.
is_free
==
2
?
item
.
good_detail
.
goods_name
:
item
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
item
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
item
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
item
.
price
}}
</div>
</div>
<div
class=
"hc_total"
>
共计
{{
expend_detail
.
number
}}
件,总价: ¥
{{
expend_detail
.
price
}}
</div>
<div
class=
"hc_total"
>
共计
{{
expend_detail
.
number
}}
件,总价: ¥
{{
expend_detail
.
price
}}
</div>
<div
class=
"sure-btn"
@
click=
"cancel"
>
确定
</div>
</div>
</van-popup>
...
...
@@ -291,7 +325,7 @@
<
script
>
import
myTabbar
from
'
@components/common/tabbar.vue
'
import
{
trimStrSpace
}
from
'
@assets/js/format.js
'
import
{
ImagePreview
,
Toast
}
from
'
vant
'
;
import
{
ImagePreview
}
from
'
vant
'
import
{
share
}
from
'
@/api/wxShare.js
'
export
default
{
name
:
'
home
'
,
...
...
@@ -336,41 +370,41 @@ export default {
],
// 添加的备注耗材数据
hcShow
:
false
,
// 耗材弹窗
lookShow
:
false
,
// 查看耗材弹窗
expend_detail
:
{},
// 耗材详情
expend_detail
:
{},
// 耗材详情
user
:
''
,
startTime
:
'
请选择开始日期
'
,
showStart
:
false
,
startObj
:{
startObj
:
{
minDate
:
new
Date
(
2021
,
0
,
1
),
maxDate
:
new
Date
(),
maxDate
:
new
Date
()
},
endObj
:{
endObj
:
{
minDate
:
new
Date
(
2021
,
0
,
1
),
maxDate
:
new
Date
(),
maxDate
:
new
Date
()
},
currentDate
:
new
Date
(),
showEnd
:
false
,
endTime
:
"
请选择截止日期
"
,
backShow
:
false
,
//
工人退回弹窗
back_reason
:
''
,
//
工人退回原因
endTime
:
'
请选择截止日期
'
,
backShow
:
false
,
//
工人退回弹窗
back_reason
:
''
//
工人退回原因
}
},
created
()
{
share
()
this
.
getList
()
this
.
getUserInfo
()
//
this.getList()
//
this.getUserInfo()
},
methods
:
{
back_click
(
item
)
{
back_click
(
item
)
{
this
.
curItem
=
item
this
.
back_reason
=
''
this
.
backShow
=
true
},
back_cancel
()
{
back_cancel
()
{
this
.
backShow
=
false
},
//
发起退回
back_submit
()
{
//
发起退回
back_submit
()
{
if
(
this
.
back_reason
===
''
)
{
this
.
$toast
(
'
退回原因不可为空
'
)
return
...
...
@@ -387,90 +421,89 @@ export default {
const
idx
=
this
.
list
.
findIndex
(
item
=>
item
.
id
===
this
.
curItem
.
id
)
if
(
idx
!==
-
1
)
{
this
.
list
.
splice
(
idx
,
1
)
this
.
count
=
this
.
count
-
1
this
.
count
=
this
.
count
-
1
}
})
.
catch
(()
=>
{
this
.
backShow
=
false
})
},
showAll
(
item
,
e
)
{
this
.
$toast
(
e
.
target
.
innerHTML
,
{
showAll
(
item
,
e
)
{
this
.
$toast
(
e
.
target
.
innerHTML
,
{
duration
:
0
})
},
callPhone
(
item
)
{
console
.
log
(
'
电话
'
,
item
)
le
t
phoneNumber
=
item
.
telephone
callPhone
(
item
)
{
console
.
log
(
'
电话
'
,
item
)
cons
t
phoneNumber
=
item
.
telephone
window
.
location
.
href
=
'
tel://
'
+
phoneNumber
},
onmore
()
{
onmore
()
{
this
.
getList
()
},
preview
(
img
,
index
)
{
let
temp
=
img
.
map
(
item
=>
{
preview
(
img
,
index
)
{
const
temp
=
img
.
map
(
item
=>
{
return
item
.
url
})
ImagePreview
({
images
:
temp
,
startPosition
:
index
,
})
;
startPosition
:
index
})
},
endShow
()
{
endShow
()
{
this
.
showEnd
=
true
},
stShow
()
{
stShow
()
{
this
.
showStart
=
true
},
formatter
(
type
,
val
)
{
if
(
type
===
"
year
"
)
{
return
`
${
val
}
年`
;
}
else
if
(
type
===
"
month
"
)
{
return
`
${
val
}
月`
;
}
else
if
(
type
===
"
day
"
)
{
return
`
${
val
}
日`
;
formatter
(
type
,
val
)
{
if
(
type
===
'
year
'
)
{
return
`
${
val
}
年`
}
else
if
(
type
===
'
month
'
)
{
return
`
${
val
}
月`
}
else
if
(
type
===
'
day
'
)
{
return
`
${
val
}
日`
}
return
val
;
return
val
},
birConfirm
(
value
)
{
birConfirm
(
value
)
{
this
.
showStart
=
false
if
(
this
.
startTime
==
this
.
conversionTime
(
value
))
{
if
(
this
.
startTime
==
this
.
conversionTime
(
value
))
{
return
}
console
.
log
(
'
啊啊啊
'
,
value
);
console
.
log
(
'
啊啊啊
'
,
value
)
this
.
startTime
=
this
.
conversionTime
(
value
)
this
.
$set
(
this
.
endObj
,
'
minDate
'
,
value
)
this
.
$set
(
this
.
endObj
,
'
minDate
'
,
value
)
this
.
anginList
()
console
.
log
(
'
开始时间
'
,
this
.
startTime
);
console
.
log
(
'
开始时间
'
,
this
.
startTime
)
},
conversionTime
(
temp
)
{
let
mounth
=
(
temp
.
getMonth
()
+
1
)
<
10
?
'
0
'
+
(
temp
.
getMonth
()
+
1
)
:
(
temp
.
getMonth
()
+
1
)
let
date
=
temp
.
getDate
()
<
10
?
'
0
'
+
temp
.
getDate
()
:
temp
.
getDate
()
conversionTime
(
temp
)
{
const
mounth
=
(
temp
.
getMonth
()
+
1
)
<
10
?
'
0
'
+
(
temp
.
getMonth
()
+
1
)
:
(
temp
.
getMonth
()
+
1
)
const
date
=
temp
.
getDate
()
<
10
?
'
0
'
+
temp
.
getDate
()
:
temp
.
getDate
()
return
temp
.
getFullYear
()
+
"
-
"
+
'
-
'
+
mounth
+
"
-
"
+
'
-
'
+
date
},
birCancel
()
{
this
.
showStart
=
false
;
birCancel
()
{
this
.
showStart
=
false
},
endTimeConfirm
(
value
)
{
endTimeConfirm
(
value
)
{
this
.
showEnd
=
false
if
(
this
.
endTime
==
this
.
conversionTime
(
value
))
{
if
(
this
.
endTime
==
this
.
conversionTime
(
value
))
{
return
}
this
.
endTime
=
this
.
conversionTime
(
value
)
this
.
$set
(
this
.
startObj
,
'
maxDate
'
,
value
)
this
.
$set
(
this
.
startObj
,
'
maxDate
'
,
value
)
this
.
anginList
()
console
.
log
(
'
结束时间
'
,
this
.
endTime
);
console
.
log
(
'
结束时间
'
,
this
.
endTime
)
},
endTimeCancel
()
{
this
.
showEnd
=
false
;
endTimeCancel
()
{
this
.
showEnd
=
false
},
anginList
()
{
if
(
this
.
startTime
!=
'
请选择开始日期
'
&&
this
.
endTime
!=
'
请选择截止日期
'
)
{
anginList
()
{
if
(
this
.
startTime
!=
'
请选择开始日期
'
&&
this
.
endTime
!=
'
请选择截止日期
'
)
{
this
.
initData
()
this
.
getList
()
}
...
...
@@ -493,7 +526,7 @@ export default {
console
.
log
(
res
)
this
.
status
=
res
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
getUserInfo
()
{
this
.
$http
...
...
@@ -501,26 +534,26 @@ export default {
.
then
((
res
)
=>
{
this
.
user
=
res
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
// 获取工单列表
getList
()
{
if
(
this
.
more
&&
!
this
.
isloading
)
{
this
.
isloading
=
true
let
curParams
=
{}
if
(
this
.
curSelect
.
type
==
4
)
{
if
(
this
.
curSelect
.
type
==
4
)
{
curParams
=
{
time_type
:
this
.
curSelect
.
type
,
page
:
this
.
page
,
limit
:
this
.
limit
,
start
:
this
.
startTime
,
end
:
this
.
endTime
,
end
:
this
.
endTime
}
}
else
{
}
else
{
curParams
=
{
time_type
:
this
.
curSelect
.
type
,
page
:
this
.
page
,
limit
:
this
.
limit
,
limit
:
this
.
limit
}
}
this
.
$http
...
...
@@ -533,7 +566,7 @@ export default {
this
.
isloading
=
false
this
.
count
=
data
.
count
this
.
loading
=
false
this
.
finished
=
!
data
.
more
;
this
.
finished
=
!
data
.
more
})
.
catch
(()
=>
{
this
.
locked
=
false
...
...
@@ -558,16 +591,16 @@ export default {
this
.
curSelect
=
item
this
.
tabShow
=
false
if
(
this
.
curSelect
.
type
==
4
)
{
this
.
startTime
=
'
请选择开始日期
'
this
.
endTime
=
'
请选择截止日期
'
this
.
startObj
=
{
if
(
this
.
curSelect
.
type
==
4
)
{
this
.
startTime
=
'
请选择开始日期
'
this
.
endTime
=
'
请选择截止日期
'
this
.
startObj
=
{
minDate
:
new
Date
(
2021
,
0
,
1
),
maxDate
:
new
Date
(),
maxDate
:
new
Date
()
}
this
.
endObj
=
{
this
.
endObj
=
{
minDate
:
new
Date
(
2021
,
0
,
1
),
maxDate
:
new
Date
(),
maxDate
:
new
Date
()
}
return
}
...
...
@@ -587,7 +620,7 @@ export default {
.
then
((
data
)
=>
{
vm
.
$set
(
vm
.
list
,
index
,
data
)
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
// 转单弹窗
zd_click
(
item
)
{
...
...
@@ -613,7 +646,7 @@ export default {
const
idx
=
this
.
list
.
findIndex
(
item
=>
item
.
id
===
this
.
curItem
.
id
)
if
(
idx
!==
-
1
)
{
this
.
list
.
splice
(
idx
,
1
)
this
.
count
=
this
.
count
-
1
this
.
count
=
this
.
count
-
1
}
})
.
catch
(()
=>
{
...
...
@@ -696,7 +729,7 @@ export default {
this
.
expend_detail
=
data
this
.
lookShow
=
true
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
// 查看评论
look_comment
(
item
)
{
...
...
@@ -736,9 +769,9 @@ export default {
vm
.
$set
(
vm
.
list
,
index
,
data
)
this
.
$toast
(
'
操作成功
'
)
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
// 取消按钮
...
...
@@ -754,11 +787,23 @@ export default {
path
:
'
/charge
'
,
query
:
{
id
}
})
},
fetchData
(
to
,
from
)
{
this
.
getList
()
this
.
getUserInfo
()
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
fetchData
(
to
,
from
,
next
)
})
},
beforeRouteLeave
(
to
,
from
,
next
)
{
next
()
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"@assets/styles/tabbar/index.scss"
;
@import
'@assets/styles/tabbar/index.scss'
;
</
style
>
src/views/tabbar/admin_home.vue
View file @
0e13bace
<
template
>
<div
class=
"cont"
>
<div
class=
"menu flex-h flex-hb flex-vc"
>
<div
class=
"hc_total"
>
共
{{
count
}}
个工单
</div>
<div
class=
"hc_total"
>
共
{{
count
}}
个工单
</div>
<div
class=
"flex-h flex-hb"
>
<div
class=
"options"
>
<div
@
click=
"chooseStatus"
>
{{
curSelectStatus
.
name
}}
</div>
<div
@
click=
"chooseStatus"
>
{{
curSelectStatus
.
name
}}
</div>
<div
class=
"option-box"
v-show=
"statusShow"
>
<div
class=
"option-item"
...
...
@@ -12,11 +12,11 @@
:key=
"item.statustype"
:value=
"item.name"
@
click=
"changeStatus(item)"
>
{{
item
.
name
}}
</div>
>
{{
item
.
name
}}
</div>
</div>
</div>
<div
class=
"options"
>
<div
@
click=
"chooseTab"
>
{{
curSelect
.
name
}}
</div>
<div
@
click=
"chooseTab"
>
{{
curSelect
.
name
}}
</div>
<div
class=
"option-box"
v-show=
"tabShow"
>
<div
class=
"option-item"
...
...
@@ -24,15 +24,15 @@
:key=
"item.type"
:value=
"item.name"
@
click=
"changeItem(item)"
>
{{
item
.
name
}}
</div>
>
{{
item
.
name
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"date flex-h flex-hb flex-vc"
v-if=
"this.curSelect.type==
4"
>
<div
class=
"start"
@
click=
"stShow"
>
{{
startTime
}}
</div>
<div
class=
"date flex-h flex-hb flex-vc"
v-if=
"this.curSelect.type ==
4"
>
<div
class=
"start"
@
click=
"stShow"
>
{{
startTime
}}
</div>
<div
class=
"blue"
></div>
<div
class=
"end"
@
click=
"endShow"
>
{{
endTime
}}
</div>
<div
class=
"end"
@
click=
"endShow"
>
{{
endTime
}}
</div>
</div>
<van-pull-refresh
v-model=
"isloading"
@
refresh=
"onRefresh"
>
...
...
@@ -56,26 +56,62 @@
<div
class=
"tc-box"
>
<div
class=
"tc-title"
>
选择工人
</div>
<div
class=
"workers"
>
<div
class=
"gr-item"
v-for=
"(child_item,child_index) in columns"
:key=
"child_index"
>
<div
class=
"bm-item"
>
{{
child_item
.
name
}}
</div>
<div
class=
"gr-item"
v-for=
"(child_item, child_index) in columns"
:key=
"child_index"
>
<div
class=
"bm-item"
>
{{
child_item
.
name
}}
</div>
<div
v-if=
"child_item.user.length"
>
<div
class=
"people-item flex-h flex-vc flex-hb"
v-for=
"(lchild_item,lchild_index) in child_item.user"
v-for=
"(
lchild_item, lchild_index
) in child_item.user"
:key=
"lchild_index"
@
click=
"chooseWorker(lchild_item,lchild_index,index)"
@
click=
"
chooseWorker(
lchild_item,
lchild_index,
index
)
"
>
<div
class=
"flex-h flex-vc"
>
<img
class=
"gr-img"
:src=
gr_img
/>
<img
class=
"gr-img"
:src=
"grImg"
/>
<div
class=
"gr-name"
v-if=
"lchild_item.repired_count !== 0 || lchild_item.repiring_count !== 0"
>
{{
lchild_item
.
name
}}
(已派工:
{{
lchild_item
.
repired_count
}}
;维修中:
{{
lchild_item
.
repiring_count
}}
)
</div>
<div
class=
"gr-name"
v-else
>
{{
lchild_item
.
name
}}
(休息中)
</div>
v-if=
"
lchild_item.repired_count !==
0 ||
lchild_item.repiring_count !==
0
"
>
{{
lchild_item
.
name
}}
(已派工:
{{
lchild_item
.
repired_count
}}
;维修中:
{{
lchild_item
.
repiring_count
}}
)
</div>
<div
class=
"gr-name"
v-else
>
{{
lchild_item
.
name
}}
(休息中)
</div>
</div>
<img
class=
"k-img"
:src=
"item.temporaryId && item.temporaryId.includes(lchild_item.id) ? select_img : unselect_img"
:src=
"
item.temporaryId &&
item.temporaryId.includes(
lchild_item.id
)
? selectImg
: unselectImg
"
/>
</div>
</div>
...
...
@@ -88,38 +124,45 @@
</div>
</div>
</van-popup>
<div
class=
"title"
>
{{
item
.
order_status_display
}}
</div>
<div
class=
"title"
>
{{
item
.
order_status_display
}}
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
预约时间:
</div>
<div
class=
"item-desc"
>
{{
item
.
appointment_date
}}
{{
item
.
appointment_time
.
start_time
}}
-
{{
item
.
appointment_time
.
end_time
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
appointment_date
}}
{{
item
.
appointment_time
.
start_time
}}
-
{{
item
.
appointment_time
.
end_time
}}
</div>
</div>
<div
class=
"item-title"
>
问题描述:
</div>
<div
class=
"item-desc que-desc"
>
{{
item
.
repair_type
.
type_name
}}
-
{{
item
.
description
}}
</div>
<div
class=
"item-desc que-desc"
>
{{
item
.
repair_type
.
type_name
}}
-
{{
item
.
description
}}
</div>
<div
class=
"item flex-h flex-start"
>
<div
class=
"item-title"
>
服务地址:
</div>
<div
class=
"item-desc"
>
{{
item
.
region
.
region_name
}}
-
{{
item
.
room
.
room_name
}}
-
{{
item
.
address
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
region
.
region_name
}}
-
{{
item
.
room
.
room_name
}}
-
{{
item
.
address
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
客户姓名:
</div>
<div
class=
"item-desc"
>
{{
item
.
realname
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
realname
}}
</div>
</div>
<!--
<a
:href=
"'tel' + item.telephone"
>
{{
item
.
telephone
}}
</a>
-->
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
联系电话:
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(item)"
>
{{
item
.
telephone
}}
</div>
<div
class=
"item-desc phone"
@
click=
"callPhone(item)"
>
{{
item
.
telephone
}}
</div>
</div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
提交时间:
</div>
<div
class=
"item-desc"
>
{{
item
.
created_at
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
created_at
}}
</div>
</div>
<div
class=
"item flex-h flex-start"
>
<div
class=
"item-title"
>
图片详情:
</div>
<div
@
click=
"preview(item.image,
child_i)"
@
click=
"preview(item.image,
child_i)"
class=
"img flex-h"
v-for=
"(child, child_i) in item.image"
:key=
"child_i"
...
...
@@ -134,12 +177,12 @@
v-for=
"(child, index) in item.no_pay_order.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
</div>
<div
class=
"item_line"
></div>
</div>
...
...
@@ -151,13 +194,17 @@
v-for=
"(child, index) in parent.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<div
class=
"one one1 text-line-one"
>
{{
child
.
parent_detail
.
goods_name
}}
</div>
<!--
<div
class=
"one"
>
{{
child
.
good_detail
.
goods_name
}}
*
{{
child
.
number
}}
</div>
-->
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
>
{{
child
.
good_detail
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
<div
class=
"one one3"
>
¥
{{
child
.
price
}}
</div>
</div>
</div>
<div
class=
"item_line"
></div>
...
...
@@ -167,13 +214,17 @@
<div
class=
"item-title bz-title"
>
备注耗材
</div>
<div
class=
"ma-item flex-h flex-hb"
v-for=
"(child, index) in item.free_material_order.goods"
v-for=
"(child, index) in item.free_material_order
.goods"
:key=
"index"
>
<div
class=
"one one1 text-line-one"
>
免费
</div>
<div
class=
"one one2 flex-h"
>
<div
class=
"_one text-line-one"
@
click=
"showAll(item,$event)"
>
{{
child
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
<div
class=
"_one text-line-one"
@
click=
"showAll(item, $event)"
>
{{
child
.
goods_name
}}
</div>
<div
class=
"_two text-line-one"
>
*
{{
child
.
number
}}
</div>
</div>
<!--
<div
class=
"one one2 text-line-one"
>
{{
child
.
goods_name
}}
*
{{
child
.
number
}}
</div>
-->
<div
class=
"one one3 text-line-one"
>
¥0
</div>
...
...
@@ -182,11 +233,11 @@
</div>
<div
class=
"item flex-h flex-start"
v-if=
"item.orderlog_transfer"
>
<div
class=
"item-title"
>
转单备注:
</div>
<div
class=
"item-desc"
>
{{
item
.
orderlog_transfer
.
remark
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
orderlog_transfer
.
remark
}}
</div>
</div>
<div
class=
"item flex-h flex-start"
v-if=
"item.orderlog_cancel"
>
<div
class=
"item-title"
>
退回备注:
</div>
<div
class=
"item-desc"
>
{{
item
.
orderlog_cancel
.
remark
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
orderlog_cancel
.
remark
}}
</div>
</div>
<!--
<div
v-if=
"item.worker"
>
<div
class=
"line"
></div>
...
...
@@ -203,21 +254,24 @@
<div
class=
"line"
></div>
<div
class=
"item flex-h flex-vc"
>
<div
class=
"item-title"
>
派工对象:
</div>
<div
class=
"item-desc"
>
{{
item
.
work_name
}}
</div>
<div
class=
"item-desc"
>
{{
item
.
work_name
}}
</div>
</div>
</div>
<div
v-if=
"item.is_can_assign_worker==
1"
>
<div
v-if=
"item.is_can_assign_worker ==
1"
>
<div
class=
"line"
></div>
<div
v-if=
"item.is_can_assign_worker==
1"
v-if=
"item.is_can_assign_worker ==
1"
class=
"item flex-h flex-vc flex-hb"
@
click=
"workers(index)"
>
<div
class=
"wo flex-h flex-vc"
>
<div
class=
"item-title"
v-if=
"item.order_status_display == '已派工'"
>
重新派工:
</div>
<div
class=
"item-title"
v-if=
"item.order_status_display == '已派工'"
>
重新派工:
</div>
<div
class=
"item-title"
v-else
>
派工对象:
</div>
<div
class=
"item-desc worker-name"
>
{{
item
.
realName
}}
</div>
<div
class=
"item-desc worker-name"
>
{{
item
.
realName
}}
</div>
</div>
<div
class=
"flex-h flex-vc"
>
<div
class=
"select flex-h flex-vc"
>
...
...
@@ -229,11 +283,15 @@
<div
class=
"line"
></div>
<div
class=
"allBtn flex-h flex-hr"
>
<div
v-if=
"item.is_can_assign_worker==
1"
v-if=
"item.is_can_assign_worker ==
1"
class=
"button sureBtn"
@
click=
"sureOrder(item,
index)"
@
click=
"sureOrder(item,
index)"
>
确定
</div>
<div
v-if=
"item.is_can_cancel==1"
class=
"button"
@
click=
"cancelOrder(item)"
>
取消
</div>
<div
v-if=
"item.is_can_cancel == 1"
class=
"button"
@
click=
"cancelOrder(item)"
>
取消
</div>
</div>
</div>
</div>
...
...
@@ -284,23 +342,19 @@
</
template
>
<
script
>
import
myTabbar
from
'
@components/common/tabbar.vue
'
import
{
trimStrSpace
}
from
'
@assets/js/format.js
'
import
{
ImagePreview
,
CellGroup
}
from
'
vant
'
;
import
select_img
from
'
@assets/images/select.png
'
import
unselect_img
from
'
@assets/images/un_select.png
'
import
gr_img
from
'
@assets/images/gr.png
'
// import { trimStrSpace } from '@assets/js/format.js'
import
{
ImagePreview
}
from
'
vant
'
import
selectImg
from
'
@assets/images/select.png
'
import
unselectImg
from
'
@assets/images/un_select.png
'
import
grImg
from
'
@assets/images/gr.png
'
export
default
{
name
:
'
home
'
,
components
:
{
myTabbar
},
data
()
{
return
{
select
_i
mg
,
unselect
_i
mg
,
gr
_i
mg
,
reson
:
''
,
//
取消原因
select
I
mg
,
unselect
I
mg
,
gr
I
mg
,
reson
:
''
,
//
取消原因
qxShow
:
false
,
// 发起转单弹窗
workerName
:
''
,
worker_id
:
''
,
...
...
@@ -308,17 +362,17 @@ export default {
columns
:
[],
startTime
:
'
请选择开始日期
'
,
showStart
:
false
,
startObj
:{
startObj
:
{
minDate
:
new
Date
(
2021
,
0
,
1
),
maxDate
:
new
Date
(),
maxDate
:
new
Date
()
},
endObj
:{
endObj
:
{
minDate
:
new
Date
(
2021
,
0
,
1
),
maxDate
:
new
Date
(),
maxDate
:
new
Date
()
},
currentDate
:
new
Date
(),
showEnd
:
false
,
endTime
:
"
请选择截止日期
"
,
endTime
:
'
请选择截止日期
'
,
// 头部日期范围筛选
tabShow
:
false
,
// tab范围选择框是否显示
curSelect
:
{
type
:
'
1
'
,
name
:
'
今日
'
},
// 当前选择的日期范围
...
...
@@ -357,17 +411,17 @@ export default {
// 转单
curItem
:
''
,
// 当前选中要操作的数据
reason
:
''
,
// 原因
currentId
:
''
,
currentId
:
''
}
},
created
()
{
this
.
getList
()
this
.
getWorkers
()
},
//
created () {
//
this.getList()
//
this.getWorkers()
//
},
methods
:
{
// 选择完工人点击确定按钮
keyConfirm
(
i
)
{
if
(
!
this
.
list
[
i
].
temporaryId
.
length
)
{
keyConfirm
(
i
)
{
if
(
!
this
.
list
[
i
].
temporaryId
.
length
)
{
this
.
$toast
(
'
请选择工人!
'
)
return
}
...
...
@@ -376,43 +430,43 @@ export default {
this
.
list
[
i
].
worker_id
=
[...
this
.
list
[
i
].
temporaryId
]
this
.
list
[
i
].
showWorker
=
false
},
chooseWorker
(
item
,
lchild_index
,
index
)
{
if
(
this
.
list
[
index
].
temporaryId
.
includes
(
item
.
id
))
{
// 删除
le
t
name_i
=
this
.
list
[
index
].
temporaryId
.
indexOf
(
item
.
id
)
this
.
list
[
index
].
temporaryId
.
splice
(
name_i
,
1
)
this
.
list
[
index
].
temporaryName
.
splice
(
name_i
,
1
)
}
else
{
// 加入
chooseWorker
(
item
,
lchild_index
,
index
)
{
if
(
this
.
list
[
index
].
temporaryId
.
includes
(
item
.
id
))
{
// 删除
cons
t
name_i
=
this
.
list
[
index
].
temporaryId
.
indexOf
(
item
.
id
)
this
.
list
[
index
].
temporaryId
.
splice
(
name_i
,
1
)
this
.
list
[
index
].
temporaryName
.
splice
(
name_i
,
1
)
}
else
{
// 加入
this
.
list
[
index
].
temporaryId
.
push
(
item
.
id
)
this
.
list
[
index
].
temporaryName
.
push
(
item
.
name
)
}
},
onmore
()
{
onmore
()
{
this
.
getList
()
},
preview
(
img
,
index
)
{
let
temp
=
img
.
map
(
item
=>
{
preview
(
img
,
index
)
{
const
temp
=
img
.
map
(
item
=>
{
return
item
.
url
})
ImagePreview
({
images
:
temp
,
startPosition
:
index
,
})
;
startPosition
:
index
})
},
callPhone
(
item
)
{
console
.
log
(
'
电话
'
,
item
)
le
t
phoneNumber
=
item
.
telephone
callPhone
(
item
)
{
console
.
log
(
'
电话
'
,
item
)
cons
t
phoneNumber
=
item
.
telephone
window
.
location
.
href
=
'
tel://
'
+
phoneNumber
},
//指派工人
sureOrder
(
item
,
index
)
{
//
指派工人
sureOrder
(
item
,
index
)
{
const
vm
=
this
// const index = this.list.findIndex(item => item.id === this.curItem.id)
// console.log('index',index);
// console.log('1111',item);
this
.
curItem
=
item
this
.
repair_order_id
=
item
.
id
console
.
log
(
'
工人id
'
,
item
.
worker_id
);
if
(
!
item
.
worker_id
.
length
)
{
console
.
log
(
'
工人id
'
,
item
.
worker_id
)
if
(
!
item
.
worker_id
.
length
)
{
this
.
$toast
(
'
请选择工人
'
)
return
}
...
...
@@ -425,32 +479,32 @@ export default {
.
then
((
data
)
=>
{
data
.
workerName
=
[]
data
.
realName
=
''
data
.
temporaryName
=
[]
data
.
temporaryId
=
[]
data
.
temporaryName
=
[]
data
.
temporaryId
=
[]
data
.
worker_id
=
[]
this
.
$toast
(
'
操作成功
'
)
this
.
reason
=
''
this
.
changeList
(
data
,
index
)
this
.
changeList
(
data
,
index
)
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
changeList
(
data
,
index
)
{
if
(
this
.
curSelectStatus
.
statustype
==
0
||
this
.
curSelectStatus
.
statustype
==
3
)
{
changeList
(
data
,
index
)
{
if
(
this
.
curSelectStatus
.
statustype
==
0
||
this
.
curSelectStatus
.
statustype
==
3
)
{
this
.
$set
(
this
.
list
,
index
,
data
)
}
else
{
this
.
list
.
splice
(
index
,
1
)
this
.
count
=
this
.
count
-
1
}
else
{
this
.
list
.
splice
(
index
,
1
)
this
.
count
=
this
.
count
-
1
}
},
// 取消工单
cancelOrder
(
item
)
{
console
.
log
(
'
aaa
'
,
item
);
cancelOrder
(
item
)
{
console
.
log
(
'
aaa
'
,
item
)
this
.
curItem
=
item
this
.
qxShow
=
true
;
this
.
qxShow
=
true
this
.
reason
=
''
},
workers
(
index
)
{
this
.
$set
(
this
.
list
,
index
,
{...
this
.
list
[
index
],
...{
showWorker
:
true
}
})
workers
(
index
)
{
this
.
$set
(
this
.
list
,
index
,
{
...
this
.
list
[
index
],
...{
showWorker
:
true
}
})
},
// onConfirm(value,i) {
// console.log('id啊',value.id);
...
...
@@ -458,69 +512,69 @@ export default {
// this.list[i].showWorker = false
// },
Cancel
(
i
)
{
Cancel
(
i
)
{
this
.
list
[
i
].
showWorker
=
false
},
endShow
()
{
endShow
()
{
this
.
showEnd
=
true
},
stShow
()
{
stShow
()
{
this
.
showStart
=
true
},
formatter
(
type
,
val
)
{
if
(
type
===
"
year
"
)
{
return
`
${
val
}
年`
;
}
else
if
(
type
===
"
month
"
)
{
return
`
${
val
}
月`
;
}
else
if
(
type
===
"
day
"
)
{
return
`
${
val
}
日`
;
formatter
(
type
,
val
)
{
if
(
type
===
'
year
'
)
{
return
`
${
val
}
年`
}
else
if
(
type
===
'
month
'
)
{
return
`
${
val
}
月`
}
else
if
(
type
===
'
day
'
)
{
return
`
${
val
}
日`
}
return
val
;
return
val
},
birConfirm
(
value
)
{
birConfirm
(
value
)
{
this
.
showStart
=
false
console
.
log
(
'
啊啊啊
'
,
value
);
if
(
this
.
startTime
==
this
.
conversionTime
(
value
))
{
console
.
log
(
'
啊啊啊
'
,
value
)
if
(
this
.
startTime
==
this
.
conversionTime
(
value
))
{
return
}
this
.
startTime
=
this
.
conversionTime
(
value
)
this
.
$set
(
this
.
endObj
,
'
minDate
'
,
value
)
this
.
$set
(
this
.
endObj
,
'
minDate
'
,
value
)
this
.
anginList
()
console
.
log
(
'
开始时间
'
,
this
.
startTime
);
console
.
log
(
'
开始时间
'
,
this
.
startTime
)
},
conversionTime
(
temp
)
{
let
mounth
=
(
temp
.
getMonth
()
+
1
)
<
10
?
'
0
'
+
(
temp
.
getMonth
()
+
1
)
:
(
temp
.
getMonth
()
+
1
)
let
date
=
temp
.
getDate
()
<
10
?
'
0
'
+
temp
.
getDate
()
:
temp
.
getDate
()
conversionTime
(
temp
)
{
const
mounth
=
(
temp
.
getMonth
()
+
1
)
<
10
?
'
0
'
+
(
temp
.
getMonth
()
+
1
)
:
(
temp
.
getMonth
()
+
1
)
const
date
=
temp
.
getDate
()
<
10
?
'
0
'
+
temp
.
getDate
()
:
temp
.
getDate
()
return
temp
.
getFullYear
()
+
"
-
"
+
'
-
'
+
mounth
+
"
-
"
+
'
-
'
+
date
},
birCancel
()
{
this
.
showStart
=
false
;
birCancel
()
{
this
.
showStart
=
false
},
endTimeConfirm
(
value
)
{
endTimeConfirm
(
value
)
{
this
.
showEnd
=
false
if
(
this
.
endTime
==
this
.
conversionTime
(
value
))
{
if
(
this
.
endTime
==
this
.
conversionTime
(
value
))
{
return
}
this
.
endTime
=
this
.
conversionTime
(
value
)
this
.
$set
(
this
.
startObj
,
'
maxDate
'
,
value
)
this
.
$set
(
this
.
startObj
,
'
maxDate
'
,
value
)
this
.
anginList
()
console
.
log
(
'
结束时间
'
,
this
.
endTime
);
console
.
log
(
'
结束时间
'
,
this
.
endTime
)
},
anginList
()
{
if
(
this
.
startTime
!=
'
请选择开始日期
'
&&
this
.
endTime
!=
'
请选择截止日期
'
)
{
anginList
()
{
if
(
this
.
startTime
!=
'
请选择开始日期
'
&&
this
.
endTime
!=
'
请选择截止日期
'
)
{
this
.
initData
()
this
.
getList
()
}
},
endTimeCancel
()
{
this
.
showEnd
=
false
;
endTimeCancel
()
{
this
.
showEnd
=
false
},
//获取工人列表
getWorkers
()
{
//
获取工人列表
getWorkers
()
{
const
curParams
=
{}
this
.
$http
.
get
(
this
.
$myApi
.
GET_WORKER
,
curParams
)
...
...
@@ -559,7 +613,7 @@ export default {
if
(
this
.
more
&&
!
this
.
isloading
)
{
this
.
isloading
=
true
let
curParams
=
{}
if
(
this
.
curSelect
.
type
==
4
)
{
if
(
this
.
curSelect
.
type
==
4
)
{
curParams
=
{
time_type
:
this
.
curSelect
.
type
,
page
:
this
.
page
,
...
...
@@ -568,7 +622,7 @@ export default {
end
:
this
.
endTime
,
status
:
this
.
curSelectStatus
.
statustype
}
}
else
{
}
else
{
curParams
=
{
time_type
:
this
.
curSelect
.
type
,
page
:
this
.
page
,
...
...
@@ -580,12 +634,12 @@ export default {
.
get
(
this
.
$myApi
.
REPAIR_LIST
,
curParams
)
.
then
((
data
)
=>
{
this
.
list
=
this
.
page
===
1
?
data
.
list
:
this
.
list
.
concat
(
data
.
list
)
this
.
list
=
this
.
list
.
map
(
item
=>
{
this
.
list
=
this
.
list
.
map
(
item
=>
{
item
.
showWorker
=
false
item
.
workerName
=
[]
item
.
realName
=
''
item
.
temporaryName
=
[]
item
.
temporaryId
=
[]
item
.
temporaryName
=
[]
item
.
temporaryId
=
[]
item
.
worker_id
=
[]
return
item
})
...
...
@@ -595,8 +649,8 @@ export default {
this
.
isloading
=
false
this
.
count
=
data
.
count
this
.
loading
=
false
this
.
finished
=
!
data
.
more
;
if
(
data
.
worker
)
{
this
.
finished
=
!
data
.
more
if
(
data
.
worker
)
{
this
.
worker_id
=
data
.
worker
.
id
this
.
workerName
=
data
.
worker
.
name
}
...
...
@@ -619,7 +673,7 @@ export default {
chooseTab
(
e
)
{
this
.
tabShow
=
!
this
.
tabShow
},
//点击选择工单状态
//
点击选择工单状态
chooseStatus
(
e
)
{
this
.
statusShow
=
!
this
.
statusShow
},
...
...
@@ -628,16 +682,16 @@ export default {
if
(
item
.
type
!==
this
.
curSelect
.
type
)
{
this
.
curSelect
=
item
this
.
tabShow
=
false
if
(
this
.
curSelect
.
type
==
4
)
{
this
.
startTime
=
'
请选择开始日期
'
this
.
endTime
=
'
请选择截止日期
'
this
.
startObj
=
{
if
(
this
.
curSelect
.
type
==
4
)
{
this
.
startTime
=
'
请选择开始日期
'
this
.
endTime
=
'
请选择截止日期
'
this
.
startObj
=
{
minDate
:
new
Date
(
2021
,
0
,
1
),
maxDate
:
new
Date
(),
maxDate
:
new
Date
()
}
this
.
endObj
=
{
this
.
endObj
=
{
minDate
:
new
Date
(
2021
,
0
,
1
),
maxDate
:
new
Date
(),
maxDate
:
new
Date
()
}
return
}
...
...
@@ -647,7 +701,7 @@ export default {
},
0
)
}
},
//订单状态变化
//
订单状态变化
changeStatus
(
item
)
{
if
(
item
.
statustype
!==
this
.
curSelectStatus
.
statustype
)
{
this
.
curSelectStatus
=
item
...
...
@@ -676,7 +730,7 @@ export default {
.
then
((
data
)
=>
{
this
.
qxShow
=
false
this
.
$toast
(
'
操作成功
'
)
this
.
changeList
(
data
,
index
)
this
.
changeList
(
data
,
index
)
})
.
catch
(()
=>
{
this
.
qxShow
=
false
...
...
@@ -686,10 +740,22 @@ export default {
cancel
()
{
this
.
qxShow
=
false
},
fetchData
(
to
,
from
)
{
this
.
getList
()
this
.
getUserInfo
()
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
fetchData
(
to
,
from
,
next
)
})
},
beforeRouteLeave
(
to
,
from
,
next
)
{
next
()
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"@assets/styles/tabbar/admin_index.scss"
;
@import
'@assets/styles/tabbar/admin_index.scss'
;
</
style
>
src/views/tabbar/mine.vue
View file @
0e13bace
...
...
@@ -5,11 +5,11 @@
<div
class=
"photo"
>
<img
src=
"@assets/images/my/touxiang.png"
alt
/>
</div>
<div
class=
"btn"
>
{{
user
.
online_status_display
}}
</div>
<div
class=
"name"
>
{{
user
.
name
}}
</div>
<div
class=
"group"
>
{{
user
.
department
.
name
}}
</div>
<div
class=
"btn"
>
{{
user
.
online_status_display
}}
</div>
<div
class=
"name"
>
{{
user
.
name
}}
</div>
<div
class=
"group"
>
{{
user
.
department
.
name
}}
</div>
<div
class=
"tel flex-h"
@
click=
"goPhone"
>
<div
class=
"telNumber"
>
{{
telToHide
(
user
.
phone
)
}}
</div>
<div
class=
"telNumber"
>
{{
telToHide
(
user
.
phone
)
}}
</div>
<img
src=
"@assets/images/my/bianji.png"
alt
/>
</div>
</div>
...
...
@@ -30,14 +30,14 @@ export default {
user
:
''
}
},
created
()
{
this
.
getUserInfo
()
},
//
created () {
//
this.getUserInfo()
//
},
methods
:
{
goPhone
()
{
goPhone
()
{
this
.
$router
.
push
({
path
:
'
/modifyPhone
'
,
query
:
{
phone
:
this
.
user
.
phone
}
query
:
{
phone
:
this
.
user
.
phone
}
})
},
getUserInfo
()
{
...
...
@@ -46,12 +46,23 @@ export default {
.
then
((
res
)
=>
{
this
.
user
=
res
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
telToHide
(
tel
)
{
var
phone
=
tel
.
substr
(
0
,
3
)
+
'
****
'
+
tel
.
substring
(
7
,
11
);
return
phone
;
var
phone
=
tel
.
substr
(
0
,
3
)
+
'
****
'
+
tel
.
substring
(
7
,
11
)
return
phone
},
fetchData
(
to
,
from
)
{
this
.
getUserInfo
()
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
fetchData
(
to
,
from
,
next
)
})
},
beforeRouteLeave
(
to
,
from
,
next
)
{
next
()
}
}
</
script
>
...
...
src/views/tabbar/modifyPhone.vue
View file @
0e13bace
<
template
>
<div
class=
"cont"
>
<div
class=
"tel"
>
<input
v-model.trim=
"old_tel"
maxlength=
"11"
type=
"tel"
placeholder=
"请输入原手机号"
/>
<input
v-model.trim=
"old_tel"
maxlength=
"11"
type=
"tel"
placeholder=
"请输入原手机号"
/>
</div>
<div
class=
"tel"
>
<input
v-model.trim=
"tel"
maxlength=
"11"
type=
"tel"
placeholder=
"请输入新的手机号"
/>
<input
v-model.trim=
"tel"
maxlength=
"11"
type=
"tel"
placeholder=
"请输入新的手机号"
/>
</div>
<div
class=
"code flex-h"
>
<van-field
class=
"code_field"
v-model.trim=
"code"
type=
"text"
placeholder=
"请输入验证码"
maxlength=
"6"
/>
<div
class=
"getCode"
@
click=
"getCode"
>
{{
buttonText
}}
</div>
<van-field
class=
"code_field"
v-model.trim=
"code"
type=
"text"
placeholder=
"请输入验证码"
maxlength=
"6"
/>
<div
class=
"getCode"
@
click=
"getCode"
>
{{
buttonText
}}
</div>
</div>
<div
class=
"submit-btn"
@
click=
"submit"
>
提交
</div>
</div>
...
...
@@ -18,7 +34,7 @@
export
default
{
data
()
{
return
{
old_tel
:
''
,
//
旧手机号
old_tel
:
''
,
//
旧手机号
tel
:
''
,
// 手机号
code
:
''
,
// 验证码
buttonText
:
'
获取验证码
'
,
...
...
@@ -29,7 +45,7 @@ export default {
},
methods
:
{
checkData
()
{
if
(
!
this
.
checkCon
())
{
if
(
!
this
.
checkCon
())
{
return
}
if
(
this
.
code
.
length
!==
6
)
{
...
...
@@ -38,7 +54,7 @@ export default {
}
return
true
},
checkCon
()
{
checkCon
()
{
if
(
this
.
old_tel
!=
this
.
$route
.
query
.
phone
)
{
this
.
$toast
(
'
请正确输入原手机号码
'
)
return
false
...
...
@@ -55,7 +71,7 @@ export default {
},
getCode
()
{
if
(
this
.
isSending
)
return
if
(
!
this
.
checkCon
())
{
if
(
!
this
.
checkCon
())
{
return
}
const
curParams
=
{
...
...
@@ -68,7 +84,7 @@ export default {
this
.
isSending
=
true
this
.
countDown
()
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
countDown
()
{
let
seconds
=
60
...
...
@@ -93,7 +109,7 @@ export default {
this
.
$toast
(
'
修改成功
'
)
this
.
$router
.
go
(
-
1
)
})
.
catch
(()
=>
{})
.
catch
(()
=>
{
})
},
fetchData
(
to
,
from
)
{
this
.
tel
=
''
// 手机号
...
...
@@ -119,5 +135,5 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"@assets/styles/tabbar/modifyPhone.scss"
;
@import
'@assets/styles/tabbar/modifyPhone.scss'
;
</
style
>
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