Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
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
罗超
confucius
Commits
085e6935
Commit
085e6935
authored
Mar 30, 2021
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
a9f7a8ca
b8052eaf
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
855 additions
and
91 deletions
+855
-91
video.dev.js
public/static/UE/third-party/video-js/video.dev.js
+0
-3
index.vue
src/components/relation/index.vue
+3
-11
offertransorder-form.vue
src/components/sale/offertransorder-form.vue
+54
-30
orderlist.vue
src/components/sale/orderlist.vue
+4
-3
quotationstudy-form.vue
src/components/sale/quotationstudy-form.vue
+5
-8
course.vue
src/pages/course/course.vue
+2
-2
courseoffer.vue
src/pages/sale/courseoffer.vue
+14
-7
myoffer.vue
src/pages/sale/myoffer.vue
+5
-1
studyOrder.vue
src/pages/sale/studyOrder.vue
+1
-1
studyjob.vue
src/pages/sale/studyjob.vue
+0
-1
employment.vue
src/pages/studyAbroad/employment.vue
+64
-10
studyProAudit.vue
src/pages/studyAbroad/studyProAudit.vue
+3
-3
studyabroad.vue
src/pages/studyAbroad/studyabroad.vue
+64
-10
studyemploymentorder.vue
src/pages/studyAbroad/studyemploymentorder.vue
+105
-0
studypayment.vue
src/pages/studyAbroad/studypayment.vue
+521
-0
routes.js
src/router/routes.js
+10
-1
No files found.
public/static/UE/third-party/video-js/video.dev.js
View file @
085e6935
...
@@ -1252,9 +1252,6 @@ vjs.getAbsoluteURL = function(url){
...
@@ -1252,9 +1252,6 @@ vjs.getAbsoluteURL = function(url){
vjs
.
log
=
function
(){
vjs
.
log
=
function
(){
vjs
.
log
.
history
=
vjs
.
log
.
history
||
[];
// store logs to an array for reference
vjs
.
log
.
history
=
vjs
.
log
.
history
||
[];
// store logs to an array for reference
vjs
.
log
.
history
.
push
(
arguments
);
vjs
.
log
.
history
.
push
(
arguments
);
if
(
window
.
console
){
window
.
console
.
log
(
Array
.
prototype
.
slice
.
call
(
arguments
));
}
};
};
// Offset Left
// Offset Left
...
...
src/components/relation/index.vue
View file @
085e6935
...
@@ -337,11 +337,7 @@
...
@@ -337,11 +337,7 @@
var
_stuff_height
=
_max_y
-
_min_y
+
50
var
_stuff_height
=
_max_y
-
_min_y
+
50
var
_final_x
=
(
this
.
graphSetting
.
viewSize
.
width
-
_stuff_width
)
/
2
-
_min_x
var
_final_x
=
(
this
.
graphSetting
.
viewSize
.
width
-
_stuff_width
)
/
2
-
_min_x
var
_final_y
=
(
this
.
graphSetting
.
viewSize
.
height
-
_stuff_height
)
/
2
-
_min_y
var
_final_y
=
(
this
.
graphSetting
.
viewSize
.
height
-
_stuff_height
)
/
2
-
_min_y
// if (window.SeeksGraphDebug) console.log('_min_x, _min_y, _stuff_width, _stuff_height:', _min_x, _min_y, _stuff_width, _stuff_height)
// var _final_x = -_min_x
// var _final_y = -_min_y
this
.
animateGoto
(
_final_x
,
_final_y
,
500
,
()
=>
{
this
.
animateGoto
(
_final_x
,
_final_y
,
500
,
()
=>
{
// this.graphSetting.checkedNodeId = thisNode.id
this
.
refreshNVAnalysisInfo
()
this
.
refreshNVAnalysisInfo
()
})
})
})
})
...
@@ -365,9 +361,7 @@
...
@@ -365,9 +361,7 @@
}
else
{
}
else
{
this
.
graphSetting
.
layouter
=
SeeksRGLayouters
.
createLayout
(
_defaultLayoutSetting
,
this
.
graphSetting
)
this
.
graphSetting
.
layouter
=
SeeksRGLayouters
.
createLayout
(
_defaultLayoutSetting
,
this
.
graphSetting
)
}
}
}
else
{
}
console
.
log
(
'你需要设置layouts来指定当前图谱可以使用的布局器!'
)
}
this
.
doLayout
()
this
.
doLayout
()
callback
(
this
)
callback
(
this
)
},
},
...
@@ -788,9 +782,7 @@
...
@@ -788,9 +782,7 @@
}
else
{
}
else
{
this
.
graphSetting
.
layouter
=
SeeksRGLayouters
.
createLayout
(
_defaultLayoutSetting
,
this
.
graphSetting
)
this
.
graphSetting
.
layouter
=
SeeksRGLayouters
.
createLayout
(
_defaultLayoutSetting
,
this
.
graphSetting
)
}
}
}
else
{
}
console
.
log
(
'你需要设置layouts来指定当前图谱可以使用的布局器!'
)
}
var
__root_id
=
jsonData
[
'rootId'
]
var
__root_id
=
jsonData
[
'rootId'
]
this
.
loadGraphJsonData
(
jsonData
)
this
.
loadGraphJsonData
(
jsonData
)
...
@@ -1056,7 +1048,7 @@
...
@@ -1056,7 +1048,7 @@
this
.
graphSetting
.
canvasOffset
.
y
=
_origin_offset_y
this
.
graphSetting
.
canvasOffset
.
y
=
_origin_offset_y
this
.
canvasBackgroundColor
=
'transparent'
this
.
canvasBackgroundColor
=
'transparent'
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
'[SEEKS Graph]Create and download image error:'
,
e
)
}
}
})
})
})
})
...
...
src/components/sale/offertransorder-form.vue
View file @
085e6935
...
@@ -50,12 +50,19 @@
...
@@ -50,12 +50,19 @@
</div>
</div>
</div>
</div>
<div
class=
"text-subtitle2 text-weight-bold q-mb-md"
>
<div
class=
"text-subtitle2 text-weight-bold q-mb-md"
>
<span>
课程信息
</span>
<span>
<
template
v-if=
"obj.OfferType==1"
>
课程信息
</
template
>
<
template
v-else
>
留学就业信息
</
template
>
</span>
</div>
</div>
<div
class=
"q-mt-md"
>
<div
class=
"q-mt-md"
>
<q-table
:pagination=
"pageInfo"
no-data-label=
"暂无相关数据"
flat
<q-table
:pagination=
"pageInfo"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-header-table sticky-right-column-table no-bottom-table"
separator=
"none"
class=
"sticky-header-table sticky-right-column-table no-bottom-table"
separator=
"none"
:data=
"chosenCourses"
:
data=
"chosenCourses"
:columns=
"columns"
row-key=
"name
"
>
:
columns=
"columns"
row-key=
"name"
:visible-columns=
"visibleColumns
"
>
<
template
v-slot:body-cell-DiscountRemark=
"props"
>
<
template
v-slot:body-cell-DiscountRemark=
"props"
>
<q-td
:props=
"props"
class=
"text-negative"
>
<q-td
:props=
"props"
class=
"text-negative"
>
<div
v-for=
"(x, i) in props.value.split('^')"
style=
"border-bottom:1px dotted #f5f6f7;"
>
<div
v-for=
"(x, i) in props.value.split('^')"
style=
"border-bottom:1px dotted #f5f6f7;"
>
...
@@ -66,31 +73,33 @@
...
@@ -66,31 +73,33 @@
<!--设置课程-->
<!--设置课程-->
<
template
v-slot:body-cell-ClassId=
"props"
>
<
template
v-slot:body-cell-ClassId=
"props"
>
<q-td>
<q-td>
<template
v-if=
"props.row.ClassId>0"
>
<template
v-if=
"obj.OfferType==1"
>
{{
props
.
row
.
ClassName
}}
<template
v-if=
"props.row.ClassId>0"
>
</
template
>
{{
props
.
row
.
ClassName
}}
<
template
v-else
>
</
template
>
选择班级
<
template
v-else
>
选择班级
</
template
>
<i
class=
"iconfont icon-edit"
@
click
.
stop=
"setClass(props.row)"
title=
"选择班级"
>
<q-popup-proxy>
<q-banner
v-if=
"isShowClass"
>
<div
class=
"calenderDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
选择班级
</div>
<q-select
standout=
"bg-primary text-white"
option-value=
"ClassId"
option-label=
"ClassName"
v-model=
"props.row.ClassId"
:options=
"props.row.ClassList"
emit-value
map-options
label=
"班级"
@
input=
"changeClass(props.row)"
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
@
click=
"isShowClass=false"
style=
"font-weight:400 !important"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"isShowClass=false"
/>
</q-card-actions>
</div>
</q-banner>
</q-popup-proxy>
</i>
</template>
</template>
<i
class=
"iconfont icon-edit"
@
click
.
stop=
"setClass(props.row)"
title=
"选择班级"
>
<q-popup-proxy>
<q-banner
v-if=
"isShowClass"
>
<div
class=
"calenderDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
选择班级
</div>
<q-select
standout=
"bg-primary text-white"
option-value=
"ClassId"
option-label=
"ClassName"
v-model=
"props.row.ClassId"
:options=
"props.row.ClassList"
emit-value
map-options
label=
"班级"
@
input=
"changeClass(props.row)"
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
@
click=
"isShowClass=false"
style=
"font-weight:400 !important"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"isShowClass=false"
/>
</q-card-actions>
</div>
</q-banner>
</q-popup-proxy>
</i>
</q-td>
</q-td>
</template>
</template>
<
template
v-slot:bottom
>
<
template
v-slot:bottom
>
...
@@ -106,7 +115,14 @@
...
@@ -106,7 +115,14 @@
}}
</span>
}}
</span>
</div>
</div>
<div
class=
"col text-right"
>
<div
class=
"col text-right"
>
<span>
课程总价:
</span>
<span>
<
template
v-if=
"obj.OfferType==1"
>
课程总价:
</
template
>
<
template
v-else
>
留学就业总价:
</
template
>
</span>
<span
class=
"q-ml-xs text-weight-bold"
>
¥{{
<span
class=
"q-ml-xs text-weight-bold"
>
¥{{
model.TotalPrice ? model.TotalPrice.toFixed(2) : "0.00"
model.TotalPrice ? model.TotalPrice.toFixed(2) : "0.00"
}}
</span>
}}
</span>
...
@@ -206,6 +222,11 @@
...
@@ -206,6 +222,11 @@
field
:
row
=>
row
.
ClassId
field
:
row
=>
row
.
ClassId
},
},
],
],
//表格可见列
visibleColumns
:
[
'CourseName'
,
'OriginalPrice'
,
'JoinNum'
,
"DiscountPrice"
,
"DiscountRemark"
,
"ActualPrice"
,
"ClassId"
,
],
//可见列
pageInfo
:
{
pageInfo
:
{
pageIndex
:
1
,
pageIndex
:
1
,
pageSize
:
12
,
pageSize
:
12
,
...
@@ -219,7 +240,9 @@
...
@@ -219,7 +240,9 @@
},
},
created
()
{
created
()
{
if
(
this
.
obj
&&
this
.
obj
.
OfferType
!=
1
)
{
this
.
visibleColumns
.
splice
(
this
.
visibleColumns
.
length
-
1
,
1
);
}
},
},
mounted
()
{
mounted
()
{
this
.
initObj
();
this
.
initObj
();
...
@@ -230,7 +253,7 @@
...
@@ -230,7 +253,7 @@
this
.
isShowClass
=
true
;
this
.
isShowClass
=
true
;
getClassDropDownList
({
getClassDropDownList
({
CourseId
:
item
.
CourseId
,
CourseId
:
item
.
CourseId
,
IsAddDefault
:
1
,
//添加默认选项
IsAddDefault
:
1
,
//添加默认选项
}).
then
(
res
=>
{
}).
then
(
res
=>
{
item
.
ClassList
=
[];
item
.
ClassList
=
[];
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
...
@@ -302,6 +325,7 @@
...
@@ -302,6 +325,7 @@
transOfferToOrder
()
{
transOfferToOrder
()
{
var
sMsg
=
{
var
sMsg
=
{
OfferId
:
this
.
model
.
Id
,
OfferId
:
this
.
model
.
Id
,
OfferType
:
this
.
obj
.
OfferType
,
OfferDetails
:
this
.
model
.
OfferDetails
OfferDetails
:
this
.
model
.
OfferDetails
};
};
saveOfferToOrder
(
sMsg
).
then
(
res
=>
{
saveOfferToOrder
(
sMsg
).
then
(
res
=>
{
...
...
src/components/sale/orderlist.vue
View file @
085e6935
...
@@ -259,7 +259,7 @@
...
@@ -259,7 +259,7 @@
<div
class=
"col"
>
<div
class=
"col"
>
<div
class=
"row"
style=
"justify-content: space-between"
>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
收款单据:
</span>
<span>
收款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"
isShowClass
"
style=
"font-weight:400;color: #02C499"
label=
"修改"
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"
AuthorityObj.isShowFinanceBtn
"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,1)"
/>
@
click=
"chanceType(item,1)"
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
...
@@ -272,7 +272,7 @@
...
@@ -272,7 +272,7 @@
</div>
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
付款单据:
</span>
<span>
付款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"
isShowClass
"
style=
"font-weight:400;color: #02C499"
label=
"修改"
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"
AuthorityObj.isShowFinanceBtn
"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
@
click=
"chanceType(item,2)"
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
...
@@ -470,7 +470,7 @@
...
@@ -470,7 +470,7 @@
</div>
</div>
</div>
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
付款单据:
</span>
<span>
付款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"AuthorityObj.isShowFinanceBtn"
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"AuthorityObj.isShowFinanceBtn"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
</div>
</div>
...
@@ -660,6 +660,7 @@
...
@@ -660,6 +660,7 @@
this
.
AuthorityObj
.
isShowRenewClass
=
this
.
authObj
.
isShowRenewClass
;
this
.
AuthorityObj
.
isShowRenewClass
=
this
.
authObj
.
isShowRenewClass
;
}
}
}
}
console
.
log
(
" this.AuthorityObj"
,
this
.
AuthorityObj
)
},
},
closeQuota
()
{
closeQuota
()
{
this
.
isShowviewQuo
=
false
;
this
.
isShowviewQuo
=
false
;
...
...
src/components/sale/quotationstudy-form.vue
View file @
085e6935
...
@@ -256,26 +256,23 @@
...
@@ -256,26 +256,23 @@
this
.
model
.
OfferDetails
=
tempObj
.
OfferDetails
;
this
.
model
.
OfferDetails
=
tempObj
.
OfferDetails
;
this
.
chosenProductList
=
tempObj
.
OfferDetails
;
this
.
chosenProductList
=
tempObj
.
OfferDetails
;
}
}
console
.
log
(
"this.model"
,
this
.
model
);
console
.
log
(
"this.tempObj"
,
tempObj
);
console
.
log
(
"this.chosenProductList"
,
this
.
chosenProductList
);
}
}
})
})
}
else
{
}
else
{
this
.
model
=
{
this
.
model
=
{
Id
:
0
,
Id
:
0
,
Name
:
"
测试
"
,
Name
:
""
,
OfferType
:
2
,
//默认留学(2-留学,3-就业)
OfferType
:
2
,
//默认留学(2-留学,3-就业)
EffectiveStart
:
""
,
EffectiveStart
:
""
,
EffectiveEnd
:
"
2021-04-04
"
,
EffectiveEnd
:
""
,
CustomerType
:
1
,
CustomerType
:
1
,
CustomerSource
:
1
,
CustomerSource
:
1
,
TotalOriginalPrice
:
0.0
,
TotalOriginalPrice
:
0.0
,
TotalPrice
:
0.0
,
TotalPrice
:
0.0
,
TotalDiscountPrice
:
0.0
,
TotalDiscountPrice
:
0.0
,
CustomerInfo
:
"
客户信息
"
,
CustomerInfo
:
""
,
CustomerName
:
"
客户姓名
"
,
CustomerName
:
""
,
CustomerTel
:
"
电话
"
,
CustomerTel
:
""
,
OfferDetails
:
[],
OfferDetails
:
[],
JoinNum
:
1
JoinNum
:
1
};
};
...
...
src/pages/course/course.vue
View file @
085e6935
...
@@ -132,8 +132,8 @@
...
@@ -132,8 +132,8 @@
@
click=
"EditCourse(props.row, 1)"
/>
@
click=
"EditCourse(props.row, 1)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"价格设置"
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"价格设置"
@
click=
"EditCourse(props.row, 2)"
v-if=
"isHavePriceAction"
/>
@
click=
"EditCourse(props.row, 2)"
v-if=
"isHavePriceAction"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400;"
label=
"详情"
<
!--
<
q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400;"
label=
"详情"
@
click=
"goMycourse(props.row)"
/>
@
click=
"goMycourse(props.row)"
/>
-->
</q-td>
</q-td>
</
template
>
</
template
>
</q-table>
</q-table>
...
...
src/pages/sale/courseoffer.vue
View file @
085e6935
...
@@ -130,7 +130,7 @@
...
@@ -130,7 +130,7 @@
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
filled
stack-label
use-input
input-debounce=
"0"
option-value=
"Id"
clearable
@
input=
"resetSearch"
<q-select
filled
stack-label
use-input
input-debounce=
"0"
option-value=
"Id"
clearable
@
input=
"resetSearch"
option-label=
"EmployeeName"
v-model=
"msg.CreateBy"
:options=
"EmployeeList"
label=
"员工"
:dense=
"false"
option-label=
"EmployeeName"
v-model=
"msg.CreateBy"
:options=
"EmployeeList"
label=
"员工"
:dense=
"false"
emit-value
map-options
@
filter=
"filterFn"
>
emit-value
map-options
@
filter=
"filterFn"
>
<template
v-slot:no-option
>
<template
v-slot:no-option
>
<q-item>
<q-item>
<q-item-section
class=
"text-grey"
>
<q-item-section
class=
"text-grey"
>
...
@@ -231,6 +231,12 @@
...
@@ -231,6 +231,12 @@
field
:
"Name"
,
field
:
"Name"
,
align
:
"left"
align
:
"left"
},
},
{
name
:
"OfferTypeName"
,
label
:
"类型"
,
field
:
"OfferTypeName"
,
align
:
"left"
},
{
{
name
:
"CustomerName"
,
name
:
"CustomerName"
,
required
:
true
,
required
:
true
,
...
@@ -313,7 +319,8 @@
...
@@ -313,7 +319,8 @@
},
},
computed
:
mapState
({
computed
:
mapState
({
isHavePriceAction
(
state
)
{
isHavePriceAction
(
state
)
{
if
(
state
.
user
.
userInfo
&&
state
.
user
.
userInfo
.
ActionMenuList
&&
state
.
user
.
userInfo
.
ActionMenuList
.
length
>
0
)
{
if
(
state
.
user
.
userInfo
&&
state
.
user
.
userInfo
.
ActionMenuList
&&
state
.
user
.
userInfo
.
ActionMenuList
.
length
>
0
)
{
let
action
=
state
.
user
.
userInfo
.
ActionMenuList
.
find
(
x
=>
{
let
action
=
state
.
user
.
userInfo
.
ActionMenuList
.
find
(
x
=>
{
if
(
x
.
FunctionCode
==
"Edit_Offer_Price"
)
{
if
(
x
.
FunctionCode
==
"Edit_Offer_Price"
)
{
return
x
;
return
x
;
...
@@ -352,10 +359,6 @@
...
@@ -352,10 +359,6 @@
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
var
jsonData
=
res
.
Data
;
var
jsonData
=
res
.
Data
;
if
(
jsonData
&&
jsonData
.
length
>
0
)
{
if
(
jsonData
&&
jsonData
.
length
>
0
)
{
// jsonData.unshift({
// Id: 0,
// EmployeeName: "请选择"
// });
this
.
AllemployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));
this
.
AllemployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));
this
.
EmployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));;
this
.
EmployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));;
}
}
...
@@ -366,8 +369,12 @@
...
@@ -366,8 +369,12 @@
},
},
//跳转到订单列表
//跳转到订单列表
goOrderList
(
item
)
{
goOrderList
(
item
)
{
var
url
=
"/sale/myOrder"
;
if
(
item
.
OfferType
!=
1
)
{
url
=
"/sale/studyOrder"
;
}
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
"/sale/myOrder"
,
path
:
url
,
query
:
{
query
:
{
OrderId
:
item
OrderId
:
item
}
}
...
...
src/pages/sale/myoffer.vue
View file @
085e6935
...
@@ -400,8 +400,12 @@
...
@@ -400,8 +400,12 @@
},
},
//跳转到订单列表
//跳转到订单列表
goOrderList
(
item
)
{
goOrderList
(
item
)
{
var
url
=
"/sale/myOrder"
;
if
(
item
.
OfferType
!=
1
)
{
url
=
"/sale/studyOrder"
;
}
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
"/sale/myOrder"
,
path
:
url
,
query
:
{
query
:
{
OrderId
:
item
OrderId
:
item
}
}
...
...
src/pages/sale/studyOrder.vue
View file @
085e6935
...
@@ -80,7 +80,7 @@
...
@@ -80,7 +80,7 @@
</div>
</div>
</div>
</div>
<div
class=
"page-content"
>
<div
class=
"page-content"
>
<orderlist
:dataList=
"data.List"
:isShowClass=
"false"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
ref=
"orderL"
>
<orderlist
:dataList=
"data.List"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
ref=
"orderL"
>
</orderlist>
</orderlist>
<div
class=
"row"
style=
"justify-content: flex-end;padding: 5px 20px"
>
<div
class=
"row"
style=
"justify-content: flex-end;padding: 5px 20px"
>
<q-pagination
v-model=
"msg.pageIndex"
:max=
"pageCount"
@
input=
"changePage"
class=
"full-width justify-end"
<q-pagination
v-model=
"msg.pageIndex"
:max=
"pageCount"
@
input=
"changePage"
class=
"full-width justify-end"
...
...
src/pages/sale/studyjob.vue
View file @
085e6935
...
@@ -267,7 +267,6 @@
...
@@ -267,7 +267,6 @@
methods
:
{
methods
:
{
//显示下单弹窗
//显示下单弹窗
showOrderForm
(
item
)
{
showOrderForm
(
item
)
{
console
.
log
(
"item"
,
item
)
this
.
isShowOrderForm
=
true
;
this
.
isShowOrderForm
=
true
;
this
.
studyObj
=
item
;
this
.
studyObj
=
item
;
},
},
...
...
src/pages/studyAbroad/employment.vue
View file @
085e6935
...
@@ -27,6 +27,10 @@
...
@@ -27,6 +27,10 @@
</
template
>
</
template
>
<
template
v-slot:body=
"props"
>
<
template
v-slot:body=
"props"
>
<q-tr
:props=
"props"
>
<q-tr
:props=
"props"
>
<q-td
auto-width
>
<q-btn
size=
"sm"
color=
"accent"
round
dense
@
click=
"props.row.expand = !props.row.expand"
:icon=
"props.row.expand ? 'remove' : 'add'"
/>
</q-td>
<template
v-for=
"col in props.cols"
>
<template
v-for=
"col in props.cols"
>
<q-td
v-if=
"col.name == 'Name'"
style=
"width:200px;"
>
<q-td
v-if=
"col.name == 'Name'"
style=
"width:200px;"
>
{{
col
.
value
}}
{{
col
.
value
}}
...
@@ -56,7 +60,7 @@
...
@@ -56,7 +60,7 @@
<template
v-if=
"x.PriceType==0"
>
<template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
@@ -65,7 +69,7 @@
...
@@ -65,7 +69,7 @@
双人报名享
<
template
v-if=
"x.PriceType==0"
>
双人报名享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
@@ -74,7 +78,7 @@
...
@@ -74,7 +78,7 @@
续费享
<
template
v-if=
"x.PriceType==0"
>
续费享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
@@ -146,14 +150,35 @@
...
@@ -146,14 +150,35 @@
<q-td
v-else-if=
"col.name == 'Id'"
style=
"width:200px;"
>
<q-td
v-else-if=
"col.name == 'Id'"
style=
"width:200px;"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"EditStudy(props.row)"
/>
@
click=
"EditStudy(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"价格设置"
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
@
click=
"EditStudyPrice(props.row)"
/>
<q-list>
<q-btn
v-if=
"props.row.SaleState==1||props.row.SaleState==4"
flat
size=
"xs"
icon=
"edit"
color=
"accent"
<q-item
clickable
v-close-popup
@
click=
"EditStudyPrice(props.row)"
>
style=
"font-weight:400"
label=
"申请审核"
@
click=
"applyApply(props.row)"
/>
<q-item-section>
<q-item-label>
价格设置
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-if=
"props.row.SaleState==1||props.row.SaleState==4"
@
click=
"applyApply(props.row)"
>
<q-item-section>
<q-item-label>
申请审核
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"GoToOrder(props.row)"
>
<q-item-section>
<q-item-label>
订单中心
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"GoToPayment(props.row)"
>
<q-item-section>
<q-item-label>
收支明细
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</q-td>
</q-td>
</template>
</template>
</q-tr>
</q-tr>
<q-tr
:props=
"props"
>
<q-tr
v-show=
"props.row.expand"
:props=
"props"
>
<q-td
colspan=
"100%"
class=
"bg-grey-2"
>
<q-td
colspan=
"100%"
class=
"bg-grey-2"
>
<div
style=
"display:flex;"
>
<div
style=
"display:flex;"
>
<div
style=
"flex-shrink:0"
>
备注:
</div>
<div
style=
"flex-shrink:0"
>
备注:
</div>
...
@@ -214,6 +239,12 @@
...
@@ -214,6 +239,12 @@
dataList
:
[],
dataList
:
[],
loading
:
true
,
loading
:
true
,
columns
:
[{
columns
:
[{
name
:
'Remark'
,
label
:
'备注'
,
field
:
'Remark'
,
align
:
'left'
},
{
name
:
'Name'
,
name
:
'Name'
,
label
:
'项目名称'
,
label
:
'项目名称'
,
field
:
'Name'
,
field
:
'Name'
,
...
@@ -281,7 +312,7 @@
...
@@ -281,7 +312,7 @@
],
],
//表格可见列
//表格可见列
visibleColumns
:
[
visibleColumns
:
[
'Name'
,
'SuggestPrice'
,
'SellPrice'
,
"PreferentialList"
,
"PreferentialListSellCommission"
,
'
Remark'
,
'
Name'
,
'SuggestPrice'
,
'SellPrice'
,
"PreferentialList"
,
"PreferentialListSellCommission"
,
"PreferentialListB2BCommission"
,
"PreferentialListB2BCommission"
,
"EducationCommission"
,
'SaleStateName'
,
'Id'
,
'SupplierName'
,
"EducationCommission"
,
'SaleStateName'
,
'Id'
,
'SupplierName'
,
],
//可见列
],
//可见列
...
@@ -331,6 +362,23 @@
...
@@ -331,6 +362,23 @@
}
}
},
},
methods
:
{
methods
:
{
//跳转到留学就业订单中心
GoToOrder
(
item
)
{
var
tempStr
=
'/studyAbroad/studyemploymentorder?SourceId='
+
item
.
Id
;
this
.
$router
.
push
({
path
:
tempStr
});
},
//跳转到收支明细
GoToPayment
(
item
)
{
this
.
$router
.
push
({
path
:
'/studyAbroad/studypayment'
,
query
:
{
SourceId
:
item
.
Id
,
blank
:
'y'
}
})
},
//显示详情
//显示详情
ShowInfo
(
item
)
{
ShowInfo
(
item
)
{
this
.
studyObj
=
item
;
this
.
studyObj
=
item
;
...
@@ -352,7 +400,13 @@
...
@@ -352,7 +400,13 @@
this
.
loading
=
true
;
this
.
loading
=
true
;
queryStudyAbroadPage
(
this
.
msg
).
then
(
res
=>
{
queryStudyAbroadPage
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
loading
=
false
;
this
.
dataList
=
res
.
Data
.
PageData
;
var
tempArray
=
res
.
Data
.
PageData
;
if
(
tempArray
&&
tempArray
.
length
>
0
)
{
tempArray
.
forEach
(
item
=>
{
item
.
expand
=
false
;
})
}
this
.
dataList
=
tempArray
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
})
})
.
catch
(()
=>
{
.
catch
(()
=>
{
...
...
src/pages/studyAbroad/studyProAudit.vue
View file @
085e6935
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
<template
v-if=
"x.PriceType==0"
>
<template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
@@ -64,7 +64,7 @@
...
@@ -64,7 +64,7 @@
双人报名享
<
template
v-if=
"x.PriceType==0"
>
双人报名享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
续费享
<
template
v-if=
"x.PriceType==0"
>
续费享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
...
src/pages/studyAbroad/studyabroad.vue
View file @
085e6935
...
@@ -27,6 +27,10 @@
...
@@ -27,6 +27,10 @@
</
template
>
</
template
>
<
template
v-slot:body=
"props"
>
<
template
v-slot:body=
"props"
>
<q-tr
:props=
"props"
>
<q-tr
:props=
"props"
>
<q-td
auto-width
>
<q-btn
size=
"sm"
color=
"accent"
round
dense
@
click=
"props.row.expand = !props.row.expand"
:icon=
"props.row.expand ? 'remove' : 'add'"
/>
</q-td>
<template
v-for=
"col in props.cols"
>
<template
v-for=
"col in props.cols"
>
<q-td
v-if=
"col.name == 'Name'"
style=
"width:200px;"
>
<q-td
v-if=
"col.name == 'Name'"
style=
"width:200px;"
>
{{
col
.
value
}}
{{
col
.
value
}}
...
@@ -56,7 +60,7 @@
...
@@ -56,7 +60,7 @@
<template
v-if=
"x.PriceType==0"
>
<template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
@@ -65,7 +69,7 @@
...
@@ -65,7 +69,7 @@
双人报名享
<
template
v-if=
"x.PriceType==0"
>
双人报名享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
@@ -74,7 +78,7 @@
...
@@ -74,7 +78,7 @@
续费享
<
template
v-if=
"x.PriceType==0"
>
续费享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
{{
x
.
PriceMoney
}}
元
</
template
>
</
template
>
优惠
优惠
...
@@ -146,14 +150,35 @@
...
@@ -146,14 +150,35 @@
<q-td
v-else-if=
"col.name == 'Id'"
style=
"width:200px;"
>
<q-td
v-else-if=
"col.name == 'Id'"
style=
"width:200px;"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"EditStudy(props.row)"
/>
@
click=
"EditStudy(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"价格设置"
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
@
click=
"EditStudyPrice(props.row)"
/>
<q-list>
<q-btn
v-if=
"props.row.SaleState==1||props.row.SaleState==4"
flat
size=
"xs"
icon=
"edit"
color=
"accent"
<q-item
clickable
v-close-popup
@
click=
"EditStudyPrice(props.row)"
>
style=
"font-weight:400"
label=
"申请审核"
@
click=
"applyApply(props.row)"
/>
<q-item-section>
<q-item-label>
价格设置
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-if=
"props.row.SaleState==1||props.row.SaleState==4"
@
click=
"applyApply(props.row)"
>
<q-item-section>
<q-item-label>
申请审核
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"GoToOrder(props.row)"
>
<q-item-section>
<q-item-label>
订单中心
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"GoToPayment(props.row)"
>
<q-item-section>
<q-item-label>
收支明细
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</q-td>
</q-td>
</template>
</template>
</q-tr>
</q-tr>
<q-tr
:props=
"props"
>
<q-tr
v-show=
"props.row.expand"
:props=
"props"
>
<q-td
colspan=
"100%"
class=
"bg-grey-2"
>
<q-td
colspan=
"100%"
class=
"bg-grey-2"
>
<div
style=
"display:flex;"
>
<div
style=
"display:flex;"
>
<div
style=
"flex-shrink:0"
>
备注:
</div>
<div
style=
"flex-shrink:0"
>
备注:
</div>
...
@@ -215,6 +240,12 @@
...
@@ -215,6 +240,12 @@
dataList
:
[],
dataList
:
[],
loading
:
true
,
loading
:
true
,
columns
:
[{
columns
:
[{
name
:
'Remark'
,
label
:
'备注'
,
field
:
'Remark'
,
align
:
'left'
},
{
name
:
'Name'
,
name
:
'Name'
,
label
:
'项目名称'
,
label
:
'项目名称'
,
field
:
'Name'
,
field
:
'Name'
,
...
@@ -282,7 +313,7 @@
...
@@ -282,7 +313,7 @@
],
],
//表格可见列
//表格可见列
visibleColumns
:
[
visibleColumns
:
[
'Name'
,
'SuggestPrice'
,
'SellPrice'
,
"PreferentialList"
,
"PreferentialListSellCommission"
,
'
Remark'
,
'
Name'
,
'SuggestPrice'
,
'SellPrice'
,
"PreferentialList"
,
"PreferentialListSellCommission"
,
"PreferentialListB2BCommission"
,
"PreferentialListB2BCommission"
,
"EducationCommission"
,
'SaleStateName'
,
'Id'
,
'SupplierName'
,
"EducationCommission"
,
'SaleStateName'
,
'Id'
,
'SupplierName'
,
],
//可见列
],
//可见列
...
@@ -332,6 +363,23 @@
...
@@ -332,6 +363,23 @@
}
}
},
},
methods
:
{
methods
:
{
//跳转到留学就业订单中心
GoToOrder
(
item
)
{
var
tempStr
=
'/studyAbroad/studyemploymentorder?SourceId='
+
item
.
Id
;
this
.
$router
.
push
({
path
:
tempStr
});
},
//跳转到收支明细
GoToPayment
(
item
)
{
this
.
$router
.
push
({
path
:
'/studyAbroad/studypayment'
,
query
:
{
SourceId
:
item
.
Id
,
blank
:
'y'
}
})
},
//显示详情
//显示详情
ShowInfo
(
item
)
{
ShowInfo
(
item
)
{
this
.
studyObj
=
item
;
this
.
studyObj
=
item
;
...
@@ -353,7 +401,13 @@
...
@@ -353,7 +401,13 @@
this
.
loading
=
true
;
this
.
loading
=
true
;
queryStudyAbroadPage
(
this
.
msg
).
then
(
res
=>
{
queryStudyAbroadPage
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
loading
=
false
;
this
.
dataList
=
res
.
Data
.
PageData
;
var
tempArray
=
res
.
Data
.
PageData
;
if
(
tempArray
&&
tempArray
.
length
>
0
)
{
tempArray
.
forEach
(
item
=>
{
item
.
expand
=
false
;
})
}
this
.
dataList
=
tempArray
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
})
})
.
catch
(()
=>
{
.
catch
(()
=>
{
...
...
src/pages/studyAbroad/studyemploymentorder.vue
0 → 100644
View file @
085e6935
<
template
>
<div
class=
"page-body myOrder"
>
<div
class=
"row col"
style=
"height: 40px"
>
<div
class=
"row col"
style=
"justify-content: space-between;align-items: center;margin-bottom: 10px"
>
<div>
<template
v-if=
"data&& data.ClassInfo"
>
{{
data
.
ClassInfo
.
StudyName
}}
</
template
>
</div>
</div>
</div>
<div
class=
"page-content"
>
<orderlist
:dataList=
"dataList"
ref=
"orderL"
:authObj=
"authObj"
:cancelList=
"CancelList"
@
success=
"refreshClassOrder"
></orderlist>
</div>
</div>
</template>
<
script
>
import
{
quertClassOrderList
}
from
'../../api/sale/sale'
;
import
orderlist
from
'../../components/sale/orderlist'
export
default
{
components
:
{
orderlist
},
data
()
{
return
{
data
:
{},
msg
:
{
SourceId
:
0
},
//正常订单
dataList
:
[],
//取消订单
CancelList
:
[],
//权限判断
authObj
:
{
isShowName
:
false
,
//不显示班级名称
isShowEditSale
:
true
,
//显示修改销售按钮
isShowEducationRemark
:
true
,
//显示修改教务备注
isShowPrincipalRemark
:
true
,
//显示校长备注
isShowManagerRemark
:
true
,
//显示总经理备注
isShowCommissionEdit
:
true
,
//显示修改提成按钮
isShowRewardEdit
:
true
,
//显示修改额外提成按钮
}
}
},
created
()
{
if
(
this
.
$route
.
query
.
SourceId
)
{
this
.
msg
.
SourceId
=
this
.
$route
.
query
.
SourceId
;
}
this
.
getList
();
},
mounted
()
{
},
methods
:
{
//获取菜单分页列表
getList
()
{
this
.
loading
=
true
;
quertClassOrderList
(
this
.
msg
).
then
(
res
=>
{
this
.
data
=
res
.
Data
;
if
(
this
.
data
&&
this
.
data
.
OrderList
&&
this
.
data
.
OrderList
.
NorList
)
{
this
.
dataList
=
this
.
data
.
OrderList
.
NorList
;
let
OrderIds
=
[]
this
.
dataList
.
forEach
(
x
=>
{
OrderIds
.
push
(
x
.
OrderId
)
})
if
(
OrderIds
.
length
>
0
)
{
OrderIds
=
OrderIds
.
join
(
','
)
if
(
this
.
dataList
.
length
>
0
)
{
this
.
$refs
.
orderL
.
getOrderFinanceList
(
OrderIds
,
1
)
}
}
}
if
(
this
.
data
&&
this
.
data
.
OrderList
&&
this
.
data
.
OrderList
.
CancelList
)
{
this
.
CancelList
=
this
.
data
.
OrderList
.
CancelList
;
let
OrderIds
=
[]
this
.
CancelList
.
forEach
(
x
=>
{
OrderIds
.
push
(
x
.
OrderId
)
})
if
(
OrderIds
.
length
>
0
)
{
OrderIds
=
OrderIds
.
join
(
','
)
if
(
this
.
CancelList
.
length
>
0
)
{
this
.
$refs
.
orderL
.
getOrderFinanceList
(
OrderIds
,
2
)
}
}
}
this
.
loading
=
false
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
//刷新页面
refreshClassOrder
()
{
this
.
getList
();
}
}
}
</
script
>
<
style
>
</
style
>
src/pages/studyAbroad/studypayment.vue
0 → 100644
View file @
085e6935
This diff is collapsed.
Click to expand it.
src/router/routes.js
View file @
085e6935
...
@@ -127,7 +127,6 @@ const routes = [{
...
@@ -127,7 +127,6 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/course/classorder.vue"
)
import
(
"pages/course/classorder.vue"
)
},
},
{
{
path
:
"/course/socialclass"
,
//教学奖励-社会班设置
path
:
"/course/socialclass"
,
//教学奖励-社会班设置
component
:
()
=>
component
:
()
=>
...
@@ -552,6 +551,16 @@ const routes = [{
...
@@ -552,6 +551,16 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/studyAbroad/employment.vue"
)
import
(
"pages/studyAbroad/employment.vue"
)
},
},
{
path
:
"/studyAbroad/studyemploymentorder"
,
//留学就业订单中心
component
:
()
=>
import
(
"pages/studyAbroad/studyemploymentorder.vue"
)
},
{
path
:
"/studyAbroad/studypayment"
,
//留学就业收支明细
component
:
()
=>
import
(
"pages/studyAbroad/studypayment.vue"
)
},
{
{
path
:
"/studyAbroad/supplier"
,
//供应商
path
:
"/studyAbroad/supplier"
,
//供应商
component
:
()
=>
component
:
()
=>
...
...
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