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
fdc06738
Commit
fdc06738
authored
Jun 23, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
27c137cb
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
973 additions
and
182 deletions
+973
-182
activeSignUpList.vue
src/pages/activity/activeSignUpList.vue
+63
-28
activityList.vue
src/pages/activity/activityList.vue
+13
-3
materialMan.vue
src/pages/activity/materialMan.vue
+202
-150
payment.vue
src/pages/activity/payment.vue
+533
-0
routes.js
src/router/routes.js
+5
-0
erpindex.js
src/utils/erpindex.js
+157
-1
No files found.
src/pages/activity/activeSignUpList.vue
View file @
fdc06738
...
...
@@ -147,14 +147,22 @@
</div>
</q-td>
</template> -->
<
template
v-slot:body-cell-
Money
=
"props"
>
<
template
v-slot:body-cell-
Status
=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.PaymentWay == 6"
>
星星支付:
{{
props
.
row
.
TotalPoint
}}
点
</span
>
<span
v-if=
"props.row.PaymentWay == 1"
>
现金支付:
{{
props
.
row
.
Money
}}
元
</span
>
<span
v-if=
"props.row.Status===0"
>
正常
</span>
<span
v-if=
"props.row.Status===1"
>
删除
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-OrderStatus=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.OrderStatus===0"
>
未支付
</span>
<span
v-if=
"props.row.OrderStatus===1"
>
已支付
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-IsApplyForCancel=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.IsApplyForCancel===1"
>
是
</span>
<span
v-if=
"props.row.IsApplyForCancel===2"
>
否
</span>
</q-td>
</
template
>
<!-- <template v-slot:body-cell-optioned="props">
...
...
@@ -186,14 +194,14 @@
data
:
[],
loading
:
true
,
msg
:
{
// pageIndex: 1,
// pageSize: 10,
LinkMan
:
''
,
EnrollState
:
1
,
ActivityId
:
0
pageIndex
:
1
,
pageSize
:
10
,
ActivityName
:
""
},
pageCount
:
0
,
columns
:
[{
columns
:
[
{
name
:
"LinkMan"
,
label
:
"联系人"
,
field
:
"LinkMan"
,
...
...
@@ -206,16 +214,47 @@
align
:
"left"
},
{
name
:
"PeopleNum"
,
required
:
true
,
label
:
"人数"
,
field
:
"PeopleNum"
,
name
:
"UnitPrice"
,
label
:
"单价"
,
field
:
"UnitPrice"
,
align
:
"left"
,
},
{
{
name
:
"Money"
,
label
:
"
付款方式
"
,
label
:
"
应收
"
,
field
:
"Money"
,
align
:
"left"
,
},
{
name
:
"Status"
,
label
:
"状态"
,
field
:
"Status"
,
align
:
"left"
},
{
name
:
"OrderNo"
,
required
:
true
,
label
:
"订单号"
,
field
:
"OrderNo"
,
align
:
"left"
,
},
{
name
:
"OrderStatus"
,
required
:
true
,
label
:
"订单状态"
,
field
:
"OrderStatus"
,
align
:
"left"
,
},
{
name
:
"PaymentTime"
,
label
:
"支付时间"
,
field
:
"PaymentTime"
,
align
:
"left"
},
{
name
:
" IsApplyForCancel"
,
label
:
"是否申请取消"
,
field
:
" IsApplyForCancel"
,
align
:
"left"
},
{
...
...
@@ -224,12 +263,8 @@
field
:
"Remark"
,
align
:
"left"
},
{
name
:
"CreateTimeStr"
,
label
:
"报名时间"
,
field
:
"CreateTimeStr"
,
align
:
"left"
},
// {
// name: 'optioned',
// label: '操作',
...
...
@@ -242,15 +277,15 @@
},
mounted
()
{
if
(
this
.
$route
.
query
.
Id
){
this
.
msg
.
Activity
Id
=
this
.
$route
.
query
.
Id
;
if
(
this
.
$route
.
query
.
ActivityName
){
this
.
msg
.
Activity
Name
=
this
.
$route
.
query
.
name
;
}
this
.
getList
();
},
methods
:
{
getList
(){
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/Education/GetCommerceConsultPage"
,
this
.
msg
,(
res
)
=>
{
this
.
apipostDS
(
"/api/Education/GetCommerceConsult
AndFinance
Page"
,
this
.
msg
,(
res
)
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
===
1
){
this
.
data
=
res
.
data
.
data
;
...
...
src/pages/activity/activityList.vue
View file @
fdc06738
...
...
@@ -199,7 +199,7 @@
color=
"accent"
style=
"font-weight:400"
label=
"删除"
@
click=
"delActive(props.row)"
/>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"goUrl('/activity/activeSignUpList',props.row)"
>
<q-item
clickable
v-close-popup
@
click=
"goUrl('/activity/activeSignUpList',props.row
,1
)"
>
<q-item-section>
<q-item-label>
报名列表
</q-item-label>
</q-item-section>
...
...
@@ -473,13 +473,23 @@ import ActiveForm from '../../components/activity/active-from'
closeruleset
()
{
this
.
showForm
=
false
;
},
goUrl
(
url
,
item
){
this
.
$router
.
push
({
goUrl
(
url
,
item
,
type
=
0
){
if
(
type
===
1
){
this
.
$router
.
push
({
path
:
url
,
query
:{
name
:
item
.
ActivityName
}
})
}
else
{
this
.
$router
.
push
({
path
:
url
,
query
:{
Id
:
item
.
Id
}
})
}
}
}
}
...
...
src/pages/activity/materialMan.vue
View file @
fdc06738
...
...
@@ -28,12 +28,8 @@
<span>
{{
item
.
Name
}}
</span>
</el-col>
<el-col
class=
"blue"
:span=
"6"
>
<span
v-if=
"scgroupMsg.Recycled==1"
@
click
.
prevent=
"EditGroup(item)"
>
编辑 |
</span>
<span
v-if=
"scgroupMsg.Recycled==2"
@
click
.
prevent=
"HYGroup(item)"
>
还原 |
</span>
<!-- 回收 -->
<span
v-if=
"scgroupMsg.Recycled==1"
@
click
.
prevent=
"HsGroup(item)"
>
删除
</span>
<!--回收站删除 -->
<span
v-if=
"scgroupMsg.Recycled==2"
@
click
.
prevent=
"DeleteGroup(item)"
>
删除
</span>
<span
@
click
.
prevent=
"EditGroup(item)"
>
编辑 |
</span>
<span
@
click
.
prevent=
"delGroup(item)"
>
删除
</span>
</el-col>
</div>
</li>
...
...
@@ -42,7 +38,7 @@
</div>
</div>
</div>
<div
flex=
"dir:top"
class=
"box"
>
<div
flex=
"dir:top"
class=
"box"
style=
"width:100%"
>
<div>
<div
class=
"basefix"
style=
"margin-bottom:12px"
>
<span>
全部
</span>
...
...
@@ -55,19 +51,16 @@
</div>
<el-checkbox
style=
"margin-left:12px"
:indeterminate=
"isIndeterminate"
v-model=
"checkAll"
@
change=
"CheckAllChange"
>
全选
</el-checkbox>
<el-button
v-if=
"PageMsg.Recycled==1"
@
click=
"Hs
Page"
style=
"margin:0 12px"
size=
"small"
>
删除
<el-button
@
click=
"Delete
Page"
style=
"margin:0 12px"
size=
"small"
>
删除
</el-button>
<el-button
v-if=
"PageMsg.Recycled==2"
@
click=
"HYPage"
style=
"margin-left:12px"
size=
"small"
>
还原
</el-button>
<el-button
v-if=
"PageMsg.Recycled==2"
@
click=
"DeletePage"
size=
"small"
>
删除
</el-button>
<el-dropdown
v-if=
"scgroupMsg.Recycled==1"
size=
"small"
split-button
>
<!--
<el-dropdown
v-if=
"scgroupMsg.Recycled==1"
size=
"small"
split-button
>
移动至
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-for=
"(item,index) in groupList"
:key=
"index"
>
<div
@
click=
"SelectPageId(item)"
>
{{
item
.
Name
}}
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
-->
</div>
</div>
...
...
@@ -77,7 +70,7 @@
<div
class=
"material-item material-upload"
>
<el-upload
class=
"avatar-uploader"
action=
""
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
:http-request=
"UploadImage"
multiple
>
<div
class=
"app-upload"
flex=
"main:center cross:center"
style=
"width: 140px; height: 140px;"
>
<div
class=
"app-upload"
flex=
"main:center cross:center"
style=
"width: 140px; height: 140px;
display:flex;justify-content:center;align-items:center
"
>
<i
class=
"el-icon-upload"
></i>
</div>
</el-upload>
...
...
@@ -87,7 +80,7 @@
<div
@
click=
"PageSelect(item,index)"
:class=
"item.Selected ? 'selected' :''"
class=
"el-tooltip item material-item "
>
<img
:src=
"getIconLink(item.Path)"
class=
"material-img"
style=
"width: 140px; height: 140px;"
>
<div
flex=
"dir:left"
style=
"margin-top: 5px;"
>
<div
flex=
"dir:left"
style=
"margin-top: 5px;
display:flex
"
>
<div
class=
"material-name"
>
{{
item
.
Name
}}
</div>
<div
style=
"margin: 0px 5px;"
>
|
</div>
<div>
...
...
@@ -104,7 +97,7 @@
<el-upload
class=
"avatar-uploader"
action=
""
:before-upload=
"beforeAvatarUpload"
accept=
"video/mp4,video/ogg,video/webm"
:show-file-list=
"false"
:http-request=
"UploadVideo"
multiple
>
<div
class=
"app-upload"
flex=
"main:center cross:center"
style=
"width: 140px; height: 140px;"
>
<div
class=
"app-upload"
flex=
"main:center cross:center"
style=
"width: 140px; height: 140px;
display:flex;justify-content:center;align-items:center
"
>
<i
class=
"el-icon-upload"
></i>
</div>
</el-upload>
...
...
@@ -116,7 +109,7 @@
<img
:src=
"getIconLink(item.Image)"
class=
"material-img"
style=
"width: 140px; height: 140px;"
>
<div
class=
"material-video-info"
><i
class=
"el-icon-video-play"
></i>
<span>
{{
Time
(
item
.
VideoTime
)
}}
</span></div>
<div
flex=
"dir:left"
style=
"margin-top: 5px;"
>
<div
flex=
"dir:left"
style=
"margin-top: 5px;
display:flex
"
>
<div
class=
"material-name"
>
{{
item
.
Name
}}
</div>
<div
style=
"margin: 0px 5px;"
>
|
</div>
<div>
...
...
@@ -133,7 +126,7 @@
<div
class=
"material-item material-upload"
>
<el-upload
class=
"avatar-uploader"
action=
""
accept=
".pdf,.PDF,.ppt,.PPT,.doc,.docx"
:show-file-list=
"false"
:http-request=
"UploadpdfFile"
multiple
>
<div
class=
"app-upload"
flex=
"main:center cross:center"
style=
"width: 140px; height: 140px;"
>
<div
class=
"app-upload"
flex=
"main:center cross:center"
style=
"width: 140px; height: 140px;
display:flex;justify-content:center;align-items:center
"
>
<i
class=
"el-icon-upload"
></i>
</div>
</el-upload>
...
...
@@ -151,7 +144,7 @@
<div
class=
"mater_MyFileType"
v-if=
"getFileType(item.Name)==3"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/pdf.png"
alt=
""
>
</div>
<div
flex=
"dir:left"
style=
"margin-top: 5px;"
>
<div
flex=
"dir:left"
style=
"margin-top: 5px;
display:flex
"
>
<div
class=
"material-name"
>
{{
item
.
Name
}}
</div>
<div
style=
"margin: 0px 5px;"
>
|
</div>
<div>
...
...
@@ -227,7 +220,11 @@
Id
:
0
,
Name
:
''
,
Type
:
1
,
Recycled
:
1
,
// Recycled: 1,
ActivityId
:
0
,
pageIndex
:
1
,
pageSize
:
10
,
},
isIndeterminate
:
false
,
groupList
:
[],
...
...
@@ -236,6 +233,7 @@
Name
:
''
,
Type
:
''
,
Sort
:
''
,
ActivityId
:
0
},
addGroupMsgrules
:
{
Name
:
[{
...
...
@@ -254,7 +252,8 @@
Id
:
0
,
Name
:
''
,
Type
:
1
,
Recycled
:
1
,
// Recycled: 1,
ActivityId
:
0
,
pageIndex
:
1
,
pageSize
:
20
,
GroupId
:
0
,
...
...
@@ -270,7 +269,8 @@
Image
:
''
,
VideoTime
:
0
,
WithHeight
:
0
,
PathType
:
0
PathType
:
0
,
ActivityId
:
0
,
},
pageMsgDig
:
false
,
checkList
:
[],
...
...
@@ -280,6 +280,12 @@
}
},
created
()
{
if
(
this
.
$route
.
query
.
Id
){
this
.
scgroupMsg
.
ActivityId
=
this
.
$route
.
query
.
Id
this
.
addGroupMsg
.
ActivityId
=
this
.
$route
.
query
.
Id
this
.
PageMsg
.
ActivityId
=
this
.
$route
.
query
.
Id
this
.
addpageMsg
.
ActivityId
=
this
.
$route
.
query
.
Id
}
this
.
GetMemberGradeList
();
this
.
GetPageList
();
localStorage
.
removeItem
(
"uploadInfo"
);
...
...
@@ -292,8 +298,10 @@
methods
:
{
//登录后获取上传配置
getUpConfig
(){
this
.
apipostDS
(
"/api/MallBase/GetDefaultFileStore"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
console
.
log
(
312
,
res
)
var
upData
=
res
.
data
.
data
;
localStorage
.
uploadInfo
=
JSON
.
stringify
(
upData
);
}
else
{
...
...
@@ -328,30 +336,30 @@
}
return
result
;
},
SelectPageId
(
item
)
{
this
.
PageList
.
forEach
(
item
=>
{
if
(
item
.
Selected
)
{
this
.
checkList
.
push
(
item
.
Id
)
}
})
if
(
this
.
checkList
.
length
==
0
)
{
this
.
Error
(
"至少选择一项!"
);
return
;
}
let
MaterialIds
=
this
.
checkList
.
join
(
","
);
let
msg
=
{
MaterialIds
:
MaterialIds
,
GroupId
:
item
.
Id
,
Type
:
this
.
commonType
}
this
.
apipostDS
(
"/api/product/SetMaterialInfoTransfer"
,
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
GetPageList
();
this
.
checkList
=
[];
}
})
},
//
SelectPageId(item) {
//
this.PageList.forEach(item => {
//
if (item.Selected) {
//
this.checkList.push(item.Id)
//
}
//
})
//
if (this.checkList.length == 0) {
//
this.Error("至少选择一项!");
//
return;
//
}
//
let MaterialIds = this.checkList.join(",");
//
let msg = {
//
MaterialIds: MaterialIds,
//
GroupId: item.Id,
//
Type: this.commonType
//
}
//
this.apipostDS("/api/product/SetMaterialInfoTransfer", msg, res => {
//
this.loading = false;
//
if (res.data.resultCode == 1) {
//
this.GetPageList();
//
this.checkList = [];
//
}
//
})
//
},
// 全选
CheckAllChange
(
val
)
{
this
.
PageList
.
forEach
(
item
=>
{
...
...
@@ -363,8 +371,9 @@
}
})
},
// 删除
// 删除
素材
DeletePage
()
{
let
that
=
this
this
.
checkList
=
[];
this
.
PageList
.
forEach
(
item
=>
{
if
(
item
.
Selected
)
{
...
...
@@ -375,9 +384,15 @@
this
.
Error
(
"至少选择一项!"
);
return
;
}
let
MaterialIds
=
this
.
checkList
.
join
(
","
);
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/product/DelMaterialInfo"
,
{
that
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
let
MaterialIds
=
this
.
checkList
.
join
(
","
);
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/Education/DelMaterialInfo"
,
{
MaterialIds
:
MaterialIds
},
res
=>
{
this
.
loading
=
false
;
...
...
@@ -386,54 +401,56 @@
this
.
checkList
=
[];
}
})
}).
catch
(()
=>
{});
},
// 还原
HYPage
()
{
this
.
checkList
=
[];
this
.
PageList
.
forEach
(
item
=>
{
if
(
item
.
Selected
)
{
this
.
checkList
.
push
(
item
.
Id
)
}
})
if
(
this
.
checkList
.
length
==
0
)
{
this
.
Error
(
"至少选择一项!"
);
return
;
}
let
MaterialIds
=
this
.
checkList
.
join
(
","
);
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/product/SetMaterialInfoRestore"
,
{
MaterialIds
:
MaterialIds
},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
GetPageList
();
this
.
checkList
=
[];
}
})
//
this.checkList = [];
//
this.PageList.forEach(item => {
//
if (item.Selected) {
//
this.checkList.push(item.Id)
//
}
//
})
//
if (this.checkList.length == 0) {
//
this.Error("至少选择一项!");
//
return;
//
}
//
let MaterialIds = this.checkList.join(",");
//
this.loading = true;
//
this.apipostDS("/api/product/SetMaterialInfoRestore", {
//
MaterialIds: MaterialIds
//
}, res => {
//
this.loading = false;
//
if (res.data.resultCode == 1) {
//
this.GetPageList();
//
this.checkList = [];
//
}
//
})
},
// 回收
//
//
回收
HsPage
()
{
this
.
checkList
=
[];
this
.
PageList
.
forEach
(
item
=>
{
if
(
item
.
Selected
)
{
this
.
checkList
.
push
(
item
.
Id
)
}
})
if
(
this
.
checkList
.
length
==
0
)
{
this
.
Error
(
"至少选择一项!"
);
return
;
}
let
MaterialIds
=
this
.
checkList
.
join
(
","
);
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/product/SetMaterialInfoRecycled"
,
{
MaterialIds
:
MaterialIds
},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
GetPageList
();
this
.
checkList
=
[];
}
})
//
this.checkList = [];
//
this.PageList.forEach(item => {
//
if (item.Selected) {
//
this.checkList.push(item.Id)
//
}
//
})
//
if (this.checkList.length == 0) {
//
this.Error("至少选择一项!");
//
return;
//
}
//
let MaterialIds = this.checkList.join(",");
//
this.loading = true;
//
this.apipostDS("/api/product/SetMaterialInfoRecycled", {
//
MaterialIds: MaterialIds
//
}, res => {
//
this.loading = false;
//
if (res.data.resultCode == 1) {
//
this.GetPageList();
//
this.checkList = [];
//
}
//
})
},
// 单个删除
...
...
@@ -468,7 +485,7 @@
pagesubmitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
apipostDS
(
'/api/
product
/SetGetMaterialInfo'
,
this
.
addpageMsg
,
this
.
apipostDS
(
'/api/
Education
/SetGetMaterialInfo'
,
this
.
addpageMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
GetPageList
();
...
...
@@ -513,7 +530,8 @@
//上传视频
UploadVideo
(
file
)
{
var
that
=
this
;
this
.
UploadSelfFile
(
this
.
FileType
().
Video
,
file
.
file
,
res
=>
{
this
.
UploadFileToTencent
(
this
.
FileType
().
Video
,
file
.
file
,
res
=>
{
console
.
log
(
526
,
res
)
if
(
res
.
resultCode
==
1
)
{
that
.
addpageMsg
.
Image
=
res
.
VideoCoverImg
;
that
.
addpageMsg
.
Path
=
res
.
FileUrl
;
...
...
@@ -547,7 +565,7 @@
if
(
upInfo
){
this
.
addpageMsg
.
PathType
=
upInfo
.
StoreType
;
}
this
.
apipostDS
(
"/api/
product
/SetGetMaterialInfo"
,
this
.
addpageMsg
,
res
=>
{
this
.
apipostDS
(
"/api/
Education
/SetGetMaterialInfo"
,
this
.
addpageMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
GetPageList
();
this
.
$forceUpdate
();
...
...
@@ -560,6 +578,7 @@
this
.
GetMemberGradeList
();
this
.
GetPageList
();
},
// 修改分组
EditGroup
(
item
)
{
this
.
addGroupMsgDig
=
true
;
this
.
addGroupMsg
=
{
...
...
@@ -569,14 +588,15 @@
Sort
:
item
.
Sort
,
}
},
HYGroup
(
item
)
{
let
that
=
this
;
that
.
$confirm
(
'是否还原?'
,
'提示'
,
{
// 删除分组
delGroup
(
item
){
let
that
=
this
;
that
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipostDS
(
'/api/
product/SetMaterialGroupRestore
'
,
{
this
.
apipostDS
(
'/api/
Education/DelMaterialGroupInfo
'
,
{
GroupId
:
item
.
Id
},
res
=>
{
...
...
@@ -591,65 +611,92 @@
);
}).
catch
(()
=>
{});
},
// HYGroup(item) {
// let that = this;
// that.$confirm('是否还原?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// this.apipostDS('/api/product/SetMaterialGroupRestore', {
// GroupId: item.Id
// },
// res => {
// if (res.data.resultCode === 1) {
// this.GetMemberGradeList();
// this.Success(res.data.message)
// } else {
// this.Error(res.data.message);
// }
// },
// null
// );
// }).catch(() => {});
// },
HsGroup
(
item
)
{
let
that
=
this
;
that
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipostDS
(
'/api/product/SetMaterialGroupRecycled'
,
{
GroupId
:
item
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
GetMemberGradeList
();
this
.
Success
(
res
.
data
.
message
)
//
let that = this;
//
that.$confirm('是否删除?', '提示', {
//
confirmButtonText: '确定',
//
cancelButtonText: '取消',
//
type: 'warning'
//
}).then(() => {
//
this.apipostDS('/api/product/SetMaterialGroupRecycled', {
//
GroupId: item.Id
//
},
//
res => {
//
if (res.data.resultCode === 1) {
//
this.GetMemberGradeList();
//
this.Success(res.data.message)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}).
catch
(()
=>
{});
//
} else {
//
this.Error(res.data.message);
//
}
//
},
//
null
//
);
//
}).catch(() => {});
},
DeleteGroup
(
item
)
{
let
that
=
this
;
that
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipostDS
(
'/api/product/DelMaterialGroupInfo'
,
{
GroupId
:
item
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
GetMemberGradeList
();
this
.
Success
(
res
.
data
.
message
)
//
let that = this;
//
that.$confirm('是否删除?', '提示', {
//
confirmButtonText: '确定',
//
cancelButtonText: '取消',
//
type: 'warning'
//
}).then(() => {
//
this.apipostDS('/api/product/DelMaterialGroupInfo', {
//
GroupId: item.Id
//
},
//
res => {
//
if (res.data.resultCode === 1) {
//
this.GetMemberGradeList();
//
this.Success(res.data.message)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}).
catch
(()
=>
{});
//
} else {
//
this.Error(res.data.message);
//
}
//
},
//
null
//
);
//
}).catch(() => {});
},
addGroup
()
{
this
.
addGroupMsgDig
=
true
;
this
.
addGroupMsg
=
{
Id
:
0
,
Name
:
''
,
Type
:
this
.
commonType
,
Sort
:
''
,
}
// this.addGroupMsg = {
// Id: 0,
// Name: '',
// Type: this.commonType,
// Sort: '',
// }
this
.
addGroupMsg
.
Id
=
0
this
.
addGroupMsg
.
Name
=
""
this
.
addGroupMsg
.
Type
=
this
.
commonType
this
.
addGroupMsg
.
Sort
=
""
},
// 修改图片视频分组
GroupsubmitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
apipostDS
(
'/api/
product
/SetMaterialGroupInfo'
,
this
.
addGroupMsg
,
this
.
apipostDS
(
'/api/
Education
/SetMaterialGroupInfo'
,
this
.
addGroupMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
GetMemberGradeList
();
...
...
@@ -667,17 +714,22 @@
}
});
},
//获取图片视频分组
GetMemberGradeList
()
{
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/
product
/GetMaterialGroupList"
,
this
.
scgroupMsg
,
res
=>
{
this
.
apipostDS
(
"/api/
Education
/GetMaterialGroupList"
,
this
.
scgroupMsg
,
res
=>
{
this
.
loading
=
false
;
this
.
groupList
=
res
.
data
.
data
;
if
(
res
.
data
.
resultCode
===
1
){
this
.
groupList
=
res
.
data
.
data
;
}
})
},
// 获取素材列表
GetPageList
()
{
this
.
loading
=
true
;
this
.
PageList
=
[];
this
.
apipostDS
(
"/api/
product
/GetMaterialInfoPageList"
,
this
.
PageMsg
,
res
=>
{
this
.
apipostDS
(
"/api/
Education
/GetMaterialInfoPageList"
,
this
.
PageMsg
,
res
=>
{
this
.
loading
=
false
;
this
.
total
=
res
.
data
.
data
.
count
;
let
data
=
res
.
data
.
data
.
pageData
;
...
...
src/pages/activity/payment.vue
0 → 100644
View file @
fdc06738
<
style
>
.paymentDetail
.p_title
{
font-weight
:
bold
;
color
:
#000000
;
font-size
:
14px
;
margin-bottom
:
20px
;
}
.paymentDetail
.paymentList
{
height
:
170px
;
border-radius
:
3px
;
box-shadow
:
0
0
5px
#d1d1d1
;
margin-right
:
10px
;
padding
:
12px
;
}
.paymentDetail
.paymentList
:last-child
{
margin-right
:
0
;
}
.paymentDetail
.pay_topList
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
10px
;
}
.paymentDetail
.pay_Title
{
margin-left
:
5px
;
color
:
#111111
;
font-size
:
13px
;
font-weight
:
bold
;
}
.paymentDetail
.pay_ListMent
{
display
:
flex
;
font-size
:
12px
;
margin-bottom
:
6px
;
}
.paymentDetail
.pay_ListOne
{
width
:
50px
;
color
:
#999999
;
text-align
:
left
;
}
.paymentDetail
.pay_Inner
{
margin-left
:
10px
;
color
:
#111111
;
font-weight
:
bold
;
}
.paymentDetail
.orangeStyle
{
color
:
#F28C1D
;
}
.paymentDetail
.pay_ListTwo
{
width
:
25px
;
color
:
#999999
;
text-align
:
left
;
}
.paymentDetail
.pay_InorOut
{
margin-top
:
20px
;
}
.paymentDetail
.Pay_Line
{
width
:
3px
;
height
:
11px
;
margin-right
:
10px
;
background-color
:
#3FC4FF
;
display
:
inline-block
;
}
.paymentDetail
.pay_TopTitle
{
font-weight
:
bold
;
color
:
#000000
;
font-size
:
13px
;
}
.paymentDetail
.payTable
{
width
:
100%
;
border-collapse
:
collapse
;
}
.paymentDetail
.payTable
tr
th
{
background
:
#fff
;
height
:
40px
;
font-size
:
12px
;
font-weight
:
bold
;
color
:
#2D2D2D
;
background
:
#DDDEE0
;
}
.paymentDetail
.payTable
tr
{
background
:
#fff
;
text-align
:
center
;
height
:
40px
;
}
.paymentDetail
.payTable
tr
td
{
font-size
:
13px
;
text-align
:
center
;
color
:
#2D2D2D
;
padding
:
10px
0
;
font-weight
:
bold
;
border-bottom
:
1px
solid
#E5E5E5
;
}
.paymentDetail
.finince_Order
{
color
:
#2961FE
;
text-decoration
:
underline
;
cursor
:
pointer
;
font-weight
:
bold
;
}
.paymentDetail
.finice_pass
{
display
:
inline-block
;
width
:
50px
;
height
:
25px
;
line-height
:
25px
;
background
:
#ccf3eb
;
color
:
#02C499
;
border-radius
:
2px
;
}
.paymentDetail
.financeYing
{
width
:
110px
;
text-align
:
left
;
margin
:
auto
;
}
.p_titleList
{
position
:
relative
;
}
</
style
>
<
template
>
<div
class=
"page-body paymentDetail"
>
<div
class=
"page-search items-center"
>
<div
class=
"p_titleList"
>
<div
class=
"p_title"
>
活动收支
</div>
<q-btn
label=
"导出"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;position:absolute;right:0;top:0"
@
click=
"exportOrder"
/>
</div>
<div
class=
"row"
>
<div
class=
"col paymentList"
v-if=
"dataList&&dataList.ClassInfo"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/bjqk.png"
alt=
""
/>
<span
class=
"pay_Title"
>
活动情况
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
班级名称
</div>
<div
class=
"pay_Inner"
>
{{
dataList
.
ClassInfo
.
ClassName
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
课程名称
</div>
<div
class=
"pay_Inner"
>
{{
dataList
.
ClassInfo
.
CourseName
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
开课时间
</div>
<div
class=
"pay_Inner"
>
{{
dataList
.
ClassInfo
.
OpenTime
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
带课老师
</div>
<div
class=
"pay_Inner"
>
{{
dataList
.
ClassInfo
.
TeacherName
}}
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/bjsr.png"
alt=
""
/>
<span
class=
"pay_Title"
>
班级收入
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
应收
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
IncomeReceive
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
实收
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
dataList
.
IncomeActual
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
待收
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
getShiShou
(
dataList
.
IncomeReceive
,
dataList
.
IncomeActual
)
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
注
</div>
<div
class=
"pay_Inner"
>
应收=订单应收总额,实收=订单 实收总额
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/qt.png"
alt=
""
/>
<span
class=
"pay_Title"
>
其他
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
应收
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
OtherIncomeReceive
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
实收
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
dataList
.
OtherIncomeActual
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
待收
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
getShiShou
(
dataList
.
OtherIncomeReceive
,
dataList
.
OtherIncomeActual
)
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
注
</div>
<div
class=
"pay_Inner"
>
此处不进入"利润"计算,单纯只统计除班级费外的其他总收入
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/zc.png"
alt=
""
/>
<span
class=
"pay_Title"
>
支出
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
应付
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
PayReceive
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
实付
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
dataList
.
PayActual
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
待付
</div>
<div
class=
"pay_Inner orangeStyle "
>
¥
{{
getShiShou
(
dataList
.
PayReceive
,
dataList
.
PayActual
)
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
注
</div>
<div
class=
"pay_Inner"
>
成本单据总额(含退款)+销售提成+ 课时费
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/lr.png"
alt=
""
/>
<span
class=
"pay_Title"
>
利润
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
实际利润
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
ProfitActual
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
当前利润
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
dataList
.
ProfitNow
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
注
</div>
<div
class=
"pay_Inner"
>
实收-(应付/实付)+其他收入-总支出
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/tc.png"
alt=
""
/>
<span
class=
"pay_Title"
>
提成
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
销售提成
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
SaleCommission
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
课时费
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
TeacherProfitNow
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
绩效奖励
</div>
<div
class=
"pay_Inner orangeStyle "
>
¥
{{
dataList
.
MeritsProfit
}}
</div>
</div>
</div>
</div>
<div
class=
"pay_InorOut"
>
<div
class=
"pay_TopTitle"
style=
"display:flex;justify-content: space-between;align-items:center;"
>
<div><span
class=
"Pay_Line"
></span>
收入
</div>
<q-btn
label=
"新增收款"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;"
@
click=
"goShoukuan(1)"
/>
</div>
<div
class=
"pay_TopTitle"
style=
"margin:15px 0 15px 20px;font-size:12px;"
>
<span
class=
"Pay_Line"
style=
"background-color:#02C499;"
></span>
学费收入
</div>
<table
class=
"payTable"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<tr
v-if=
"dataList && dataList.FiniceReciveList==0"
>
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
</tr>
<tr
v-for=
"(item,index) in dataList.FiniceReciveList"
:key=
"index"
>
<td>
<span
class=
"finince_Order"
@
click=
"goOrderDetail('FinancialDocumentsDetail',item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"subItem in item.CostTypeList"
:key=
"subItem.subCode"
>
{{
subItem
}}
</span></td>
<td
style=
"text-align:left;"
>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins orangeStyle"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
style=
"margin-left:10px;"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td>
<div
class=
"financeYing"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</div>
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
RB_CreateByName
}}
</div>
<div>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
<div
class=
"finice_pass"
>
{{
item
.
StatusStr
}}
</div>
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
AuditEmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</table>
<div
class=
"pay_TopTitle"
style=
"margin:30px 0 15px 20px;font-size:12px;"
>
<span
class=
"Pay_Line"
style=
"background-color:#02C499;"
></span>
其他收入
</div>
<table
class=
"payTable"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<tr
v-if=
"dataList && dataList.OtherFiniceReciveList==0"
>
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
</tr>
<tr
v-for=
"(item,index) in dataList.OtherFiniceReciveList"
:key=
"index"
>
<td>
<span
class=
"finince_Order"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"subItem in item.CostTypeList"
:key=
"subItem.subCode"
>
{{
subItem
}}
</span></td>
<td
style=
"text-align:left;"
>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins orangeStyle"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
style=
"margin-left:10px;"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td>
<div
class=
"financeYing"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</div>
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
RB_CreateByName
}}
</div>
<div>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
<div
class=
"finice_pass"
>
{{
item
.
StatusStr
}}
</div>
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
AuditEmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</table>
<div
class=
"pay_TopTitle"
style=
"margin-top:30px;display:flex;justify-content: space-between;align-items:center;"
>
<div><span
class=
"Pay_Line"
style=
"background:#F72E52;"
></span>
支出
</div>
<q-btn
label=
"新增付款"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;"
@
click=
"goShoukuan(2)"
/>
</div>
<div
class=
"pay_TopTitle"
style=
"margin:15px 0 15px 20px;font-size:12px;"
>
<span
class=
"Pay_Line"
style=
"background-color:#F28C1D;"
></span>
其他支出
</div>
<table
class=
"payTable"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<tr
v-if=
"dataList && dataList.OtherFinicePayList==0"
>
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
</tr>
<tr
v-for=
"(item,index) in dataList.OtherFinicePayList"
:key=
"index"
>
<td>
<span
class=
"finince_Order"
@
click=
"goOrderDetail('FinancialDocumentsDetail',item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"subItem in item.CostTypeList"
:key=
"subItem.subCode"
>
{{
subItem
}}
</span></td>
<td
style=
"text-align:left;"
>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins orangeStyle"
>
-
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
style=
"margin-left:10px;"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td>
<div
class=
"financeYing"
>
应付:
{{
item
.
Money
}}
<br
/>
实付:
{{
item
.
PayMoney
}}
</div>
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
RB_CreateByName
}}
</div>
<div>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
<div
class=
"finice_pass"
>
{{
item
.
StatusStr
}}
</div>
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
AuditEmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
GetClassBalanceSheet
,
}
from
'../../api/finance/index'
;
import
{
EduDownLoad
,
}
from
'../../api/common/common'
;
export
default
{
props
:
{},
components
:
{},
data
()
{
return
{
dataList
:
[],
//数据
msg
:
{
ClassId
:
0
,
School_Id
:
0
},
}
},
created
()
{},
mounted
()
{
if
(
this
.
$route
.
query
.
ClassId
&&
this
.
$route
.
query
.
School_Id
)
{
this
.
msg
.
ClassId
=
this
.
$route
.
query
.
ClassId
;
this
.
msg
.
School_Id
=
this
.
$route
.
query
.
School_Id
;
}
this
.
getData
();
},
methods
:
{
getData
()
{
GetClassBalanceSheet
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
})
},
//减法 得实收
getShiShou
(
num1
,
num2
)
{
if
(
num1
!==
''
&&
num2
!==
''
)
{
return
parseInt
(
num1
)
-
parseInt
(
num2
);
}
else
{
return
0
;
}
},
//跳转到订单详情
goOrderDetail
(
path
,
item
)
{
this
.
$router
.
push
({
path
:
'/financial/financalDocument/'
+
path
,
query
:
{
"id"
:
item
.
FrID
,
blank
:
'y'
,
tab
:
'单据详情'
}
})
},
//导出单据
exportOrder
()
{
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
EduDownLoad
(
"/Finance/GetClassBalanceSheetToExcel"
,
msg
,
"收支明细.xls"
)
},
//跳转到收款单
goShoukuan
(
type
)
{
let
TCIDARR
=
[]
TCIDARR
.
push
(
this
.
msg
.
ClassId
)
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
17
,
Obj
:
{},
SourceID
:
0
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
path
:
'/financial/financalDocument/ChoiceAddFinancialDocuments'
,
query
:
{
"Type"
:
type
,
"companyID"
:
this
.
msg
.
School_Id
,
"path"
:
""
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'tradeWay'
:
''
,
}
});
}
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/router/routes.js
View file @
fdc06738
...
...
@@ -675,6 +675,11 @@ const routes = [{
component
:
()
=>
import
(
"pages/activity/materialMan.vue"
)
},
{
path
:
"/activity/payment"
,
//活动 活动收支
component
:
()
=>
import
(
"pages/activity/payment.vue"
)
},
{
path
:
"/sale/appointManagement"
,
//销售 约课管理
component
:
()
=>
...
...
src/utils/erpindex.js
View file @
fdc06738
...
...
@@ -83,15 +83,21 @@ export default {
let
domainUrl
=
'http://192.168.20.24'
;
let
viewFileUrl
=
'http://192.168.20.214:8120'
;
let
mallUrl
=
"http://192.168.20.17:8014"
;
let
vtUploadUrl
=
"http://192.168.20.214:8120"
;
let
vtViewUrl
=
"http://192.168.20.214:8130"
;
let
locationName
=
window
.
location
.
hostname
;
if
(
locationName
.
indexOf
(
'testerp.oytour'
)
!==
-
1
)
{
domainUrl
=
"http://testapi.oytour.com"
;
viewFileUrl
=
"http://upload.oytour.com"
;
mallUrl
=
"https://mallapi.oytour.com"
;
vtUploadUrl
=
"http://upload.oytour.com"
;
vtViewUrl
=
"https://imgfile.oytour.com"
;
}
else
if
(
locationName
.
indexOf
(
'oytour'
)
!==
-
1
)
{
domainUrl
=
"http://reborn.oytour.com"
;
viewFileUrl
=
"http://upload.oytour.com"
;
mallUrl
=
"https://mallapi.oytour.com"
;
vtUploadUrl
=
"http://upload.oytour.com"
;
vtViewUrl
=
"https://imgfile.oytour.com"
;
}
var
obj
=
{
//主地址
...
...
@@ -106,7 +112,9 @@ export default {
LocalFileStreamDownLoadUrl
:
domainUrl
+
"/api/file/GetFileFromWebApi"
,
//文件预览地址
ViewFileUrl
:
viewFileUrl
,
mallUrl
:
mallUrl
mallUrl
:
mallUrl
,
VTUploadUrl
:
vtUploadUrl
,
vtViewUrl
:
vtViewUrl
};
return
obj
;
},
...
...
@@ -390,6 +398,125 @@ export default {
});
window
.
open
(
newUrl
.
href
,
'_blank'
);
},
//文件类型数组
Vue
.
prototype
.
FileType
=
function
()
{
var
fileTypeJson
=
{
//主地址npm
UserImg
:
"User"
,
//用户相图片
//常用提交数据URL
GoodsImg
:
"Goods"
,
//素材相关文件
SetImg
:
"Set"
,
//用户相图片
Video
:
"Video"
,
//视频
};
return
fileTypeJson
;
},
//上传文件到云存储
Vue
.
prototype
.
UploadFileToTencent
=
function
(
path
,
fileObj
,
callback
)
{
// debugger;
var
upInfo
=
JSON
.
parse
(
localStorage
.
uploadInfo
);
let
maxSize
=
500
*
1024
if
((
fileObj
.
type
==
"image/png"
||
fileObj
.
type
==
"image/jpeg"
)
&&
fileObj
.
size
>
maxSize
)
{
let
that
=
this
lrz
(
fileObj
,
{
width
:
750
,
quality
:
0.8
})
.
then
(
function
(
rst
)
{
//成功时执行
var
arr
=
rst
.
base64
.
split
(
','
);
var
mime
=
arr
[
0
].
match
(
/:
(
.*
?)
;/
)[
1
];
var
bstr
=
atob
(
arr
[
1
]);
var
n
=
bstr
.
length
;
var
u8arr
=
new
Uint8Array
(
n
);
while
(
n
--
)
{
u8arr
[
n
]
=
bstr
.
charCodeAt
(
n
);
}
var
newFile
=
new
File
([
u8arr
],
fileObj
.
name
,
{
type
:
mime
});
if
(
upInfo
&&
upInfo
.
IsDefault
==
1
)
{
if
(
upInfo
.
StoreType
==
1
)
{
that
.
uploadStart
(
path
,
newFile
,
callback
)
}
if
(
upInfo
.
StoreType
==
2
)
{
that
.
uploadToAli
(
path
,
newFile
,
callback
)
}
}
else
{
that
.
Error
(
'请先配置上传'
);
}
}).
catch
(
function
(
error
)
{
if
(
upInfo
&&
upInfo
.
IsDefault
==
1
)
{
if
(
upInfo
.
StoreType
==
1
)
{
that
.
uploadStart
(
path
,
fileObj
,
callback
)
}
if
(
upInfo
.
StoreType
==
2
)
{
that
.
uploadToAli
(
path
,
fileObj
,
callback
)
}
}
else
{
that
.
Error
(
'请先配置上传'
);
}
}).
always
(
function
()
{
//不管成功或失败,都会执行
})
}
else
{
if
(
upInfo
&&
upInfo
.
IsDefault
==
1
)
{
if
(
upInfo
.
StoreType
==
1
)
{
this
.
uploadStart
(
path
,
fileObj
,
callback
)
}
if
(
upInfo
.
StoreType
==
2
)
{
this
.
uploadToAli
(
path
,
fileObj
,
callback
)
}
}
else
{
this
.
Error
(
'请先配置上传'
);
}
}
},
Vue
.
prototype
.
uploadStart
=
function
(
path
,
fileObj
,
callback
)
{
var
upInfo
=
JSON
.
parse
(
localStorage
.
uploadInfo
);
//获取文件扩展名
var
filename
=
fileObj
.
name
;
var
index
=
filename
.
lastIndexOf
(
"."
);
var
suffix
=
filename
.
substr
(
index
);
var
timestamp1
=
Date
.
parse
(
new
Date
())
+
"_"
+
(
Math
.
ceil
(
Math
.
random
()
*
1000
));
let
str
=
''
;
if
(
this
.
isOnline
())
{
str
=
"/Test"
}
var
newFileName
=
str
+
'/Upload/'
+
path
+
"/"
+
timestamp1
+
""
+
suffix
;
var
uploadMsg
=
{
Bucket
:
upInfo
.
Bucket
,
Region
:
upInfo
.
Region
,
SecretId
:
upInfo
.
SecretId
,
SecretKey
:
upInfo
.
SecretKey
,
};
var
COS
=
require
(
'cos-js-sdk-v5'
);
var
cos
=
new
COS
({
SecretId
:
uploadMsg
.
SecretId
,
SecretKey
:
uploadMsg
.
SecretKey
,
});
cos
.
putObject
({
Bucket
:
uploadMsg
.
Bucket
,
Region
:
uploadMsg
.
Region
,
//存储桶所在地域,必须字段
Key
:
newFileName
,
//文件名
StorageClass
:
'STANDARD'
,
Body
:
fileObj
,
// 上传文件对象
onProgress
:
function
(
progressData
)
{
}
},
function
(
err
,
data
)
{
if
(
data
&&
data
.
statusCode
==
200
)
{
var
uploadResult
=
{
resultCode
:
1
,
FileName
:
fileObj
.
name
,
FileUrl
:
"https://"
+
data
.
Location
}
if
(
callback
)
{
callback
(
uploadResult
);
}
}
else
{
/*上传文件异常*/
console
.
log
(
err
||
data
);
}
});
},
//公用判断图片地址 判断是否包含http
Vue
.
prototype
.
getIconLink
=
function
(
url
)
{
let
str
=
''
...
...
@@ -401,6 +528,35 @@ export default {
}
return
str
;
}
},
//是否是线上环境【发布时修改为true】
Vue
.
prototype
.
isOnline
=
function
()
{
return
process
.
env
.
NODE_ENV
!==
'development'
;
},
//上传文件到本地服务器
Vue
.
prototype
.
UploadSelfFile
=
function
(
path
,
file
,
callback
)
{
var
that
=
this
;
that
.
Info
(
'上传中...'
)
var
newPath
=
'/Upload/'
+
path
+
"/"
;
var
formData
=
new
FormData
();
var
uploadUrl
=
that
.
domainManager
().
VTUploadUrl
+
"/Upload?filePath="
+
newPath
+
"&isCreateCover=1"
;
formData
.
append
(
"myfile"
,
file
);
that
.
$http
.
post
(
uploadUrl
,
formData
,
{})
.
then
(
res
=>
{
if
(
res
&&
res
.
status
==
200
&&
res
.
data
&&
res
.
data
.
FilePath
)
{
var
uploadResult
=
{
resultCode
:
1
,
FileName
:
file
.
name
,
FileUrl
:
that
.
domainManager
().
VTViewUrl
+
res
.
data
.
FilePath
,
VideoCoverImg
:
that
.
domainManager
().
VTViewUrl
+
res
.
data
.
VideoCoverImg
}
if
(
callback
)
{
callback
(
uploadResult
);
}
}
}).
catch
(
function
(
reason
)
{
console
.
log
(
reason
)
});
}
}
}
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