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
d9abab24
Commit
d9abab24
authored
Jun 22, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
a10397e9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2601 additions
and
82 deletions
+2601
-82
active-from.vue
src/components/activity/active-from.vue
+447
-0
activeType-from.vue
src/components/activity/activeType-from.vue
+37
-38
commonMap.vue
src/components/activity/commonMap.vue
+224
-0
index.template.html
src/index.template.html
+1
-0
activeSignUpList.vue
src/pages/activity/activeSignUpList.vue
+271
-0
activeSummary.vue
src/pages/activity/activeSummary.vue
+215
-0
activeType.vue
src/pages/activity/activeType.vue
+31
-34
activityList.vue
src/pages/activity/activityList.vue
+491
-0
materialMan.vue
src/pages/activity/materialMan.vue
+845
-0
activityList.vue
src/pages/sale/activityList.vue
+0
-0
routes.js
src/router/routes.js
+27
-10
erpindex.js
src/utils/erpindex.js
+12
-0
No files found.
src/components/activity/active-from.vue
0 → 100644
View file @
d9abab24
This diff is collapsed.
Click to expand it.
src/components/
sale/active
/activeType-from.vue
→
src/components/
activity
/activeType-from.vue
View file @
d9abab24
...
@@ -2,18 +2,18 @@
...
@@ -2,18 +2,18 @@
<q-dialog
v-model=
"persistent"
persistent
content-class=
"bg-grey-1"
transition-show=
"scale"
transition-hide=
"scale"
class=
"addactivetype"
>
<q-dialog
v-model=
"persistent"
persistent
content-class=
"bg-grey-1"
transition-show=
"scale"
transition-hide=
"scale"
class=
"addactivetype"
>
<q-card
style=
"width: 450px;max-width:500px;"
>
<q-card
style=
"width: 450px;max-width:500px;"
>
<q-card-section>
<q-card-section>
<div
class=
"text-h6"
>
{{
(
saveObj
&&
saveObj
.
Id
>
0
)?
"修改
班次"
:
"新增班次
"
}}
</div>
<div
class=
"text-h6"
>
{{
(
saveObj
&&
saveObj
.
Id
>
0
)?
"修改
活动类型"
:
"新增活动类型
"
}}
</div>
</q-card-section>
</q-card-section>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
<div
class=
"col-12"
>
<div
class=
"col-12"
>
<q-input
filled
stack-label
maxlength=
"20"
:dense=
"false"
v-model=
"
m
sg.TypeName"
ref=
"Name"
<q-input
filled
stack-label
maxlength=
"20"
:dense=
"false"
v-model=
"
addM
sg.TypeName"
ref=
"Name"
class=
"col-12 q-pb-lg"
label=
"活动类型名称"
:rules=
"[val => !!val || '请填写活动类型名称']"
/>
class=
"col-12 q-pb-lg"
label=
"活动类型名称"
:rules=
"[val => !!val || '请填写活动类型名称']"
/>
</div>
</div>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
<div
class=
"col-12"
>
<div
class=
"col-12"
>
<q-uploader
:style=
"
{ backgroundImage: 'url(' +
m
sg.CoverImage + ')' }" style="width:auto;height:500px;background-repeat:no-repeat;background-size:cover; border:1px solid #eee" flat
<q-uploader
:style=
"
{ backgroundImage: 'url(' +
addM
sg.CoverImage + ')' }" style="width:auto;height:500px;background-repeat:no-repeat;background-size:cover; border:1px solid #eee" flat
hide-upload-btn max-files="1" label="封面图" accept=".jpg, image/*" :factory="uploadFile" auto-upload>
hide-upload-btn max-files="1" label="封面图" accept=".jpg, image/*" :factory="uploadFile" auto-upload>
</q-uploader>
</q-uploader>
</div>
</div>
...
@@ -58,8 +58,8 @@
...
@@ -58,8 +58,8 @@
<
script
>
<
script
>
import
{
import
{
UploadSelfFile
UploadSelfFile
}
from
"../../
../
api/common/common"
;
}
from
"../../api/common/common"
;
import
Ueditor
from
"../
../
editor/UeEditor"
;
import
Ueditor
from
"../editor/UeEditor"
;
export
default
{
export
default
{
props
:
{
props
:
{
saveObj
:
{
saveObj
:
{
...
@@ -70,69 +70,69 @@ import {
...
@@ -70,69 +70,69 @@ import {
components
:
{
Ueditor
},
components
:
{
Ueditor
},
data
()
{
data
()
{
return
{
return
{
m
sg
:
{
addM
sg
:
{
Id
:
0
,
Id
:
0
,
TypeName
:
""
,
TypeName
:
""
,
CoverImage
:
""
,
CoverImage
:
""
,
LableNameList
:[],
TypeContent
:
""
,
},
},
persistent
:
true
,
persistent
:
true
,
//标签
dynamicTags
:
[],
//标签数组
dynamicTags
:
[],
//标签数组
inputVisible
:
false
,
inputVisible
:
false
,
inputValue
:
''
,
inputValue
:
''
,
//富文本
ueditor
:
{
ueditor
:
{
value
:
""
,
value
:
""
,
config
:
{
config
:
{
initialFrameWidth
:
null
,
initialFrameWidth
:
null
,
initialFrameHeight
:
2
0
,
initialFrameHeight
:
10
0
,
autoHeightEnabled
:
true
,
autoHeightEnabled
:
true
,
enableContextMenu
:
false
enableContextMenu
:
false
}
}
},
},
}
}
},
},
created
()
{},
mounted
()
{
mounted
()
{
console
.
log
(
93
,
this
.
saveObj
)
if
(
this
.
saveObj
&&
this
.
saveObj
.
Id
>
0
)
{
if
(
this
.
saveObj
&&
this
.
saveObj
.
Id
>
0
)
{
this
.
m
sg
.
Id
=
this
.
saveObj
.
Id
this
.
addM
sg
.
Id
=
this
.
saveObj
.
Id
this
.
m
sg
.
CoverImage
=
this
.
saveObj
.
CoverImage
this
.
addM
sg
.
CoverImage
=
this
.
saveObj
.
CoverImage
this
.
dynamicTags
=
this
.
saveObj
.
LableNameList
this
.
dynamicTags
=
this
.
saveObj
.
LableNameList
this
.
msg
.
TypeName
=
this
.
saveObj
.
TypeName
this
.
addMsg
.
TypeName
=
this
.
saveObj
.
TypeName
this
.
msg
.
TypeContent
=
this
.
saveObj
.
TypeContent
this
.
addMsg
.
TypeContent
=
this
.
saveObj
.
TypeContent
this
.
setVal
(
this
.
msg
.
TypeContent
);
this
.
setVal
(
this
.
addMsg
.
TypeContent
);
}
else
{
this
.
addMsg
.
Id
=
0
this
.
addMsg
.
CoverImage
=
""
this
.
dynamicTags
=
[]
this
.
addMsg
.
TypeName
=
""
this
.
addMsg
.
TypeContent
=
""
this
.
setVal
(
""
);
}
}
},
},
methods
:
{
methods
:
{
uploadFile
(
files
)
{
uploadFile
(
files
)
{
UploadSelfFile
(
"course"
,
files
[
0
],
res
=>
{
UploadSelfFile
(
"course"
,
files
[
0
],
res
=>
{
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
this
.
m
sg
.
CoverImage
=
res
.
FileUrl
;
this
.
addM
sg
.
CoverImage
=
res
.
FileUrl
;
}
}
});
});
},
},
//保存信息
//保存信息
saveRule
()
{
saveRule
()
{
this
.
$refs
.
Name
.
validate
();
this
.
$refs
.
Name
.
validate
();
this
.
$refs
.
School_Ids
.
validate
();
if
(
!
this
.
$refs
.
Name
.
hasError
)
{
this
.
$refs
.
StartTime
.
validate
();
this
.
addMsg
.
LableNameList
=
this
.
dynamicTags
;
this
.
$refs
.
EndTime
.
validate
();
this
.
apipostDS
(
"/api/Education/SetCommerceActivityType"
,
this
.
addMsg
,(
res
)
=>
{
if
(
!
this
.
$refs
.
Name
.
hasError
&&
if
(
res
.
data
.
resultCode
===
1
){
!
this
.
$refs
.
School_Ids
.
hasError
&&
this
.
Success
(
res
.
data
.
message
);
!
this
.
$refs
.
StartTime
.
hasError
&&
this
.
closeRuleForm
();
!
this
.
$refs
.
EndTime
.
hasError
)
{
this
.
$emit
(
'success'
);
if
(
this
.
schoolArr
&&
this
.
schoolArr
.
length
>
0
)
{
}
else
{
this
.
msg
.
School_Ids
=
this
.
schoolArr
.
map
(
item
=>
item
.
SId
).
toString
();
this
.
Error
(
res
.
data
.
message
);
}
else
{
}
this
.
msg
.
School_Ids
=
""
;
})
}
SetFrequency
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$emit
(
'success'
);
this
.
closeRuleForm
();
}
})
}
}
},
},
//关闭窗口
//关闭窗口
...
@@ -161,9 +161,8 @@ import {
...
@@ -161,9 +161,8 @@ import {
},
},
// 富文本
// 富文本
setVal
(
val
)
{
setVal
(
val
)
{
this
.
m
sg
.
TypeContent
=
val
;
this
.
addM
sg
.
TypeContent
=
val
;
this
.
ueditor
.
value
=
decodeURIComponent
(
val
);
this
.
ueditor
.
value
=
decodeURIComponent
(
val
);
},
},
},
},
}
}
...
...
src/components/activity/commonMap.vue
0 → 100644
View file @
d9abab24
<
template
id=
"app-map"
>
<div
class=
"app-map"
>
<el-form
label-width=
"80px"
size=
"small"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"地址搜索"
>
<el-input
placeholder=
"请输入具体地址"
@
keyup
.
enter
.
native=
"mapSearch"
v-model=
"mapKeyword"
>
<el-button
@
click=
"mapSearch"
slot=
"append"
icon=
"el-icon-search"
>
</el-button>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"地址"
>
<el-input
disabled
v-model=
"newAddress"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"纬度|经度"
>
<el-input
disabled
v-model=
"lat_long"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
class=
"app-map"
id=
"container"
:style=
"style"
></div>
<span
style=
"height:30px;display:none"
id=
"city"
></span>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align:right;margin-top:30px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"confirm"
>
确 定
</el-button>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
width
:
String
,
height
:
String
,
lat
:
String
,
long
:
String
,
address
:
{
type
:
String
,
default
:
''
,
},
title
:
String
,
},
data
()
{
return
{
longitude
:
''
,
// 经度(大)
latitude
:
''
,
// 纬度(小)
lat_long
:
''
,
markers
:
[],
map
:
[],
searchService
:
{},
mapKeyword
:
''
,
dialogVisible
:
false
,
newAddress
:
''
,
city
:
''
,
};
},
created
()
{
},
methods
:
{
// 初始化地图
initMap
()
{
let
self
=
this
;
let
center
=
new
qq
.
maps
.
LatLng
(
self
.
latitude
,
self
.
longitude
);
// 默认坐标
self
.
map
=
new
qq
.
maps
.
Map
(
document
.
getElementById
(
"container"
),
{
center
:
center
,
zoom
:
13
,
// 缩放级别
}
);
let
citylocation
=
new
qq
.
maps
.
CityService
({
map
:
self
.
map
,
complete
:
function
(
results
)
{
self
.
city
=
results
.
detail
.
name
;
self
.
map
.
setCenter
(
results
.
detail
.
latLng
);
let
marker
=
self
.
setMarker
(
results
.
detail
.
latLng
);
self
.
markers
.
push
(
marker
);
}
});
// 搜索服务 默认获取当前地址
if
(
!
self
.
lat
&&
!
self
.
long
)
{
citylocation
.
searchLocalCity
()
}
else
{
self
.
latitude
=
self
.
lat
;
self
.
longitude
=
self
.
long
;
self
.
lat_long
=
self
.
lat
+
','
+
self
.
long
;
citylocation
.
searchCityByLatLng
(
new
qq
.
maps
.
LatLng
(
self
.
latitude
,
self
.
longitude
));
}
this
.
clickEvent
(
center
);
this
.
initSearch
();
},
// 地图点击事件
clickEvent
(
center
)
{
let
self
=
this
;
let
listener
=
qq
.
maps
.
event
.
addListener
(
this
.
map
,
'click'
,
function
(
event
)
{
self
.
longitude
=
event
.
latLng
.
getLng
().
toFixed
(
6
);
self
.
latitude
=
event
.
latLng
.
getLat
().
toFixed
(
6
);
self
.
lat_long
=
self
.
latitude
+
','
+
self
.
longitude
;
self
.
getAddressBylatLong
();
let
coord
=
new
qq
.
maps
.
LatLng
(
self
.
latitude
,
self
.
longitude
);
let
marker
=
self
.
setMarker
(
coord
);
self
.
markers
.
push
(
marker
);
});
},
// 根据经纬度获取地址信息
getAddressBylatLong
()
{
let
self
=
this
;
// 根据经纬度查询城市信息
let
geocoder
=
new
qq
.
maps
.
Geocoder
({
complete
:
function
(
result
)
{
self
.
newAddress
=
result
.
detail
.
address
;
}
});
let
coord
=
new
qq
.
maps
.
LatLng
(
self
.
latitude
,
self
.
longitude
);
geocoder
.
getAddress
(
coord
);
},
// 添加标注
setMarker
(
coord
)
{
let
self
=
this
;
// 添加标注
let
marker
=
new
qq
.
maps
.
Marker
({
map
:
self
.
map
,
position
:
coord
});
//获取标记的点击事件
qq
.
maps
.
event
.
addListener
(
marker
,
'click'
,
function
(
event
)
{
self
.
longitude
=
event
.
latLng
.
getLng
().
toFixed
(
6
);
self
.
latitude
=
event
.
latLng
.
getLat
().
toFixed
(
6
);
self
.
lat_long
=
self
.
latitude
+
','
+
self
.
longitude
;
self
.
getAddressBylatLong
();
});
return
marker
;
},
// 清除地址坐标
clearOverLays
()
{
//清除地图上的marker
let
overlay
;
while
(
overlay
=
this
.
markers
.
pop
())
{
overlay
.
setMap
(
null
);
}
},
initSearch
()
{
let
self
=
this
;
let
latlngBounds
=
new
qq
.
maps
.
LatLngBounds
();
//设置Poi检索服务,用于本地检索、周边检索
self
.
searchService
=
new
qq
.
maps
.
SearchService
({
//设置搜索范围为
location
:
self
.
city
,
//设置动扩大检索区域。默认值true,会自动检索指定城市以外区域。
autoExtend
:
true
,
//检索成功的回调函数
complete
:
function
(
results
)
{
//设置回调函数参数
let
pois
=
results
.
detail
.
pois
;
if
(
!
pois
)
{
alert
(
"输入详细地址搜索更准确"
);
return
false
;
}
for
(
let
i
=
0
,
l
=
pois
.
length
;
i
<
l
;
i
++
)
{
let
poi
=
pois
[
i
];
//扩展边界范围,用来包含搜索到的Poi点
latlngBounds
.
extend
(
poi
.
latLng
);
let
marker
=
self
.
setMarker
(
poi
.
latLng
)
marker
.
setTitle
(
i
+
1
);
self
.
markers
.
push
(
marker
);
}
//调整地图视野
self
.
map
.
fitBounds
(
latlngBounds
);
},
//若服务请求失败,则运行以下函数
error
:
function
()
{
alert
(
"出错了。"
);
}
});
},
// 地址搜索
mapSearch
()
{
this
.
clearOverLays
();
this
.
searchService
.
search
(
this
.
mapKeyword
);
},
confirm
()
{
this
.
$emit
(
'map-submit'
,
{
lat
:
this
.
latitude
,
long
:
this
.
longitude
,
address
:
this
.
newAddress
});
},
},
computed
:
{
style
()
{
let
width
=
'100%'
;
let
height
=
'400px'
;
if
(
this
.
width
)
{
width
=
this
.
width
+
(
isNaN
(
this
.
width
)
?
''
:
'px'
);
}
if
(
this
.
height
)
{
height
=
this
.
height
+
(
isNaN
(
this
.
height
)
?
''
:
'px'
);
}
return
`width:
${
width
}
;height:
${
height
}
;`
;
},
},
mounted
()
{
this
.
newAddress
=
this
.
address
?
this
.
address
:
''
;
this
.
mapKeyword
=
this
.
newAddress
;
this
.
initMap
();
if
(
this
.
mapKeyword
!=
''
){
this
.
mapSearch
();
}
}
};
</
script
>
src/index.template.html
View file @
d9abab24
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
<link
rel=
"icon"
type=
"image/ico"
href=
"favicon.ico"
>
<link
rel=
"icon"
type=
"image/ico"
href=
"favicon.ico"
>
<link
rel=
"stylesheet"
href=
"https://g.alicdn.com/de/prismplayer/2.8.2/skins/default/aliplayer-min.css"
/>
<link
rel=
"stylesheet"
href=
"https://g.alicdn.com/de/prismplayer/2.8.2/skins/default/aliplayer-min.css"
/>
<script
type=
"text/javascript"
charset=
"utf-8"
src=
"https://g.alicdn.com/de/prismplayer/2.9.3/aliplayer-min.js"
></script>
<script
type=
"text/javascript"
charset=
"utf-8"
src=
"https://g.alicdn.com/de/prismplayer/2.9.3/aliplayer-min.js"
></script>
<script
charset=
"utf-8"
src=
"https://map.qq.com/api/js?v=2.exp&key=OV7BZ-ZT3HP-6W3DE-LKHM3-RSYRV-ULFZV"
></script>
</head>
</head>
<body>
<body>
<!-- DO NOT touch the following DIV -->
<!-- DO NOT touch the following DIV -->
...
...
src/pages/activity/activeSignUpList.vue
0 → 100644
View file @
d9abab24
<
style
>
li
{
list-style-type
:
none
;
}
.activeType
ul
{
padding
:
0px
;
}
.activeType
li
{
background
:
rgba
(
221
,
222
,
224
,
0.2
);
border-radius
:
4px
;
margin-top
:
15px
;
}
.activeType
li
.dline
{
display
:
table
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
}
.activeType
li
.d1
,
.activeType
li
.d2
,
.activeType
li
.d3
,
.activeType
li
.d4
,
.activeType
li
.d5
{
width
:
18%
;
padding
:
20px
20px
10px
;
}
.activeType
li
.d7
{
flex
:
1
;
width
:
1px
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
}
.activeType
li
.d1
.di-title
{
font-size
:
16px
;
color
:
#111111
;
}
.activeType
li
.d1
.di-c
{
font-size
:
14px
;
display
:
flex
;
line-height
:
28px
;
color
:
#111111
;
}
.activeType
li
.d6
{
padding
:
10px
20px
;
width
:
100%
;
height
:
inherit
;
position
:
relative
;
border-top
:
1px
solid
#dddee0
;
}
.activeType
li
.d6
.progress
{
width
:
100%
;
height
:
5px
;
position
:
absolute
;
left
:
0
;
bottom
:
0
;
}
.activeType
li
.d2
div
{
margin
:
2px
0
;
font-size
:
14px
;
color
:
#111111
;
}
.activeType
li
.d2-n
{
font-size
:
12px
;
color
:
#999999
;
margin-right
:
20px
;
}
.activeType
li
.d3
.d3-s
{
color
:
var
(
--q-color-negative
);
font-weight
:
bold
;
}
.activeType
li
.d3
div
{
margin
:
2px
0
;
font-size
:
14px
;
}
.activeType
li
.d4
div
{
font-size
:
14px
;
color
:
#111111
;
margin
:
2px
0
;
}
.activeType
li
.d5
div
{
font-size
:
14px
;
color
:
#111111
;
margin
:
2px
0
;
}
.activeType
.myCourseNName
{
width
:
25px
;
height
:
25px
;
border-radius
:
50%
;
color
:
#fff
!important
;
text-align
:
center
;
line-height
:
25px
;
background-color
:
#004d40
;
}
.activeType
.app-image
{
background-position
:
center
center
;
width
:
50px
;
height
:
50px
;
border-radius
:
0%
;
float
:
left
;
margin-right
:
8px
;
}
</
style
>
<
template
>
<div
class=
"page-body activeType"
>
<!--
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-input
@
input=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.TypeName"
label=
"类型名称"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
</div>
</div>
-->
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table"
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
label=
"返回"
@
click=
"goBack"
/>
<div
class=
"col-2 q-table__title"
>
活动报名列表
</div>
<q-space
/>
<!--
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增"
@
click=
"editQuotation(null)"
/>
</div>
-->
</
template
>
<!-- <template v-slot:body-cell-CoverImage="props">
<q-td :props="props">
<div class="app-image"
:style="{backgroundImage:'url(' + props.row.CoverImage + ')',backgroundSize:'cover'}">
</div>
</q-td>
</template> -->
<
template
v-slot:body-cell-Money=
"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
>
</q-td>
</
template
>
<!-- <template v-slot:body-cell-optioned="props">
<q-td :props="props">
<div>
<q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="编辑" @click="editQuotation(props.row)" />
<q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="删除" @click="delType(props.row)" />
</div>
</q-td>
</template> -->
<
template
v-slot:bottom
>
<!--
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
-->
</
template
>
</q-table>
</div>
</div>
</template>
<
script
>
export
default
{
meta
:
{
title
:
"报名列表"
},
data
()
{
return
{
data
:
[],
loading
:
true
,
msg
:
{
// pageIndex: 1,
// pageSize: 10,
LinkMan
:
''
,
EnrollState
:
1
,
ActivityId
:
0
},
pageCount
:
0
,
columns
:
[{
name
:
"LinkMan"
,
label
:
"联系人"
,
field
:
"LinkMan"
,
align
:
"left"
},
{
name
:
"LinkTel"
,
label
:
"联系电话"
,
field
:
"LinkTel"
,
align
:
"left"
},
{
name
:
"PeopleNum"
,
required
:
true
,
label
:
"人数"
,
field
:
"PeopleNum"
,
align
:
"left"
,
},
{
name
:
"Money"
,
label
:
"付款方式"
,
field
:
"Money"
,
align
:
"left"
},
{
name
:
"Remark"
,
label
:
"备注"
,
field
:
"Remark"
,
align
:
"left"
},
{
name
:
"CreateTimeStr"
,
label
:
"报名时间"
,
field
:
"CreateTimeStr"
,
align
:
"left"
},
// {
// name: 'optioned',
// label: '操作',
// align: "left"
// }
],
showForm
:
false
,
typeObj
:{}
}
},
mounted
()
{
if
(
this
.
$route
.
query
.
Id
){
this
.
msg
.
ActivityId
=
this
.
$route
.
query
.
Id
;
}
this
.
getList
();
},
methods
:
{
getList
(){
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/Education/GetCommerceConsultPage"
,
this
.
msg
,(
res
)
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
===
1
){
this
.
data
=
res
.
data
.
data
;
}
})
},
goBack
(){
this
.
$router
.
go
(
-
1
)
}
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/pages/activity/activeSummary.vue
0 → 100644
View file @
d9abab24
<
style
>
li
{
list-style-type
:
none
;
}
.activeType
ul
{
padding
:
0px
;
}
.activeType
li
{
background
:
rgba
(
221
,
222
,
224
,
0.2
);
border-radius
:
4px
;
margin-top
:
15px
;
}
.activeType
li
.dline
{
display
:
table
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
}
.activeType
li
.d1
,
.activeType
li
.d2
,
.activeType
li
.d3
,
.activeType
li
.d4
,
.activeType
li
.d5
{
width
:
18%
;
padding
:
20px
20px
10px
;
}
.activeType
li
.d7
{
flex
:
1
;
width
:
1px
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
}
.activeType
li
.d1
.di-title
{
font-size
:
16px
;
color
:
#111111
;
}
.activeType
li
.d1
.di-c
{
font-size
:
14px
;
display
:
flex
;
line-height
:
28px
;
color
:
#111111
;
}
.activeType
li
.d6
{
padding
:
10px
20px
;
width
:
100%
;
height
:
inherit
;
position
:
relative
;
border-top
:
1px
solid
#dddee0
;
}
.activeType
li
.d6
.progress
{
width
:
100%
;
height
:
5px
;
position
:
absolute
;
left
:
0
;
bottom
:
0
;
}
.activeType
li
.d2
div
{
margin
:
2px
0
;
font-size
:
14px
;
color
:
#111111
;
}
.activeType
li
.d2-n
{
font-size
:
12px
;
color
:
#999999
;
margin-right
:
20px
;
}
.activeType
li
.d3
.d3-s
{
color
:
var
(
--q-color-negative
);
font-weight
:
bold
;
}
.activeType
li
.d3
div
{
margin
:
2px
0
;
font-size
:
14px
;
}
.activeType
li
.d4
div
{
font-size
:
14px
;
color
:
#111111
;
margin
:
2px
0
;
}
.activeType
li
.d5
div
{
font-size
:
14px
;
color
:
#111111
;
margin
:
2px
0
;
}
.activeType
.myCourseNName
{
width
:
25px
;
height
:
25px
;
border-radius
:
50%
;
color
:
#fff
!important
;
text-align
:
center
;
line-height
:
25px
;
background-color
:
#004d40
;
}
.activeType
.app-image
{
background-position
:
center
center
;
width
:
50px
;
height
:
50px
;
border-radius
:
0%
;
float
:
left
;
margin-right
:
8px
;
}
</
style
>
<
template
>
<div
class=
"page-body activeType"
>
<div
class=
"q-mb-sm"
style=
"display:flex;align-items:center; justify-content:space-between"
>
<div
style=
"font-size: 20px;letter-spacing: .005em;"
>
活动总结
</div>
<div>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md q-mr-sm"
label=
"返回"
@
click=
"goBack"
/>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md q-mr-sm"
label=
"提交"
@
click=
"save"
/>
</div>
</div>
<div
class=
"page-content"
>
<Ueditor
:value=
"ueditor.value"
:config=
"ueditor.config"
@
input=
"setVal"
ref=
"ue"
no-margin
:isShowInsertImage=
"false"
:isShowAttachment=
"false"
:isShowVoice=
"false"
></Ueditor>
</div>
</div>
</
template
>
<
script
>
import
Ueditor
from
"../../components/editor/UeEditor"
;
export
default
{
meta
:
{
title
:
"活动总结"
},
components
:
{
Ueditor
},
data
()
{
return
{
msg
:{
Id
:
0
,
Summary
:
''
},
//富文本
ueditor
:
{
value
:
""
,
config
:
{
initialFrameWidth
:
null
,
initialFrameHeight
:
800
,
autoHeightEnabled
:
true
,
enableContextMenu
:
false
}
}
}
},
mounted
()
{
if
(
this
.
$route
.
query
.
Id
){
this
.
msg
.
Id
=
parseInt
(
this
.
$route
.
query
.
Id
)
this
.
getDetail
()
}
},
methods
:
{
goBack
(){
this
.
$router
.
go
(
-
1
)
}
,
// 富文本
setVal
(
val
)
{
this
.
msg
.
Summary
=
val
;
this
.
ueditor
.
value
=
decodeURIComponent
(
val
);
},
save
(){
this
.
apipostDS
(
"/api/Education/UpdateSummaryActivityModule"
,
this
.
msg
,(
res
)
=>
{
if
(
res
.
data
.
resultCode
===
1
){
this
.
Success
(
res
.
data
.
message
)
this
.
goBack
()
}
})
},
getDetail
(){
this
.
apipostDS
(
"/api/Education/GetActivity"
,{
Id
:
this
.
msg
.
Id
},(
res
)
=>
{
if
(
res
.
data
.
resultCode
===
1
){
this
.
msg
.
Summary
=
res
.
data
.
data
.
Summary
this
.
setVal
(
res
.
data
.
data
.
Summary
);
}
})
},
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/pages/
sale
/activeType.vue
→
src/pages/
activity
/activeType.vue
View file @
d9abab24
...
@@ -158,7 +158,7 @@
...
@@ -158,7 +158,7 @@
<q-btn
flat
size=
"xs"
icon=
"edit"
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"editQuotation(props.row)"
/>
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"editQuotation(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"删除"
@
click=
""
/>
color=
"accent"
style=
"font-weight:400"
label=
"删除"
@
click=
"
delType(props.row)
"
/>
</div>
</div>
</q-td>
</q-td>
</
template
>
</
template
>
...
@@ -175,7 +175,7 @@
...
@@ -175,7 +175,7 @@
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
ActiveTypeForm
from
'../../components/
sale/active
/activeType-from'
import
ActiveTypeForm
from
'../../components/
activity
/activeType-from'
export
default
{
export
default
{
meta
:
{
meta
:
{
title
:
"活动类型"
title
:
"活动类型"
...
@@ -185,7 +185,6 @@ import ActiveTypeForm from '../../components/sale/active/activeType-from'
...
@@ -185,7 +185,6 @@ import ActiveTypeForm from '../../components/sale/active/activeType-from'
},
},
data
()
{
data
()
{
return
{
return
{
currentUrl
:
""
,
data
:
[],
data
:
[],
loading
:
true
,
loading
:
true
,
msg
:
{
msg
:
{
...
@@ -223,62 +222,59 @@ import ActiveTypeForm from '../../components/sale/active/activeType-from'
...
@@ -223,62 +222,59 @@ import ActiveTypeForm from '../../components/sale/active/activeType-from'
align
:
"left"
align
:
"left"
}
}
],
],
//-----------
showOrderForm
:
false
,
//是否显示转订单表单
commonId
:
0
,
showEditPrice
:
false
,
//是否显示改价表单
isShowviewQuo
:
false
,
rId
:
0
,
isShowUpPrice
:
false
,
showStudyForm
:
false
,
//是否显示留学就业报价单
uppriceMsg
:
{
Id
:
0
,
ApplyReason
:
''
},
//-----------
showForm
:
false
,
showForm
:
false
,
typeObj
:{}
typeObj
:{}
}
}
},
},
mounted
()
{
mounted
()
{
this
.
currentUrl
=
this
.
$route
.
path
;
// this.msg.CreateBy = this.getLocalStorage().Id;
this
.
getList
();
this
.
getList
();
},
},
methods
:
{
methods
:
{
getList
(){
getList
(){
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/Education/GetActivityTypePage"
,
this
.
msg
,(
res
)
=>
{
this
.
apipostDS
(
"/api/Education/GetActivityTypePage"
,
this
.
msg
,(
res
)
=>
{
this
.
loading
=
false
this
.
loading
=
false
if
(
res
.
data
.
resultCode
===
1
){
this
.
data
=
res
.
data
.
data
.
pageData
;
this
.
data
=
res
.
data
.
data
.
pageData
;
this
.
pageCount
=
res
.
data
.
data
.
pageCount
;
this
.
pageCount
=
res
.
data
.
data
.
pageCount
;
}
console
.
log
(
254
,
this
.
data
,
this
.
pageCount
)
console
.
log
(
257
,
res
)
})
})
},
},
delType
(
item
){
let
that
=
this
;
that
.
Confirm
(
"是否删除?"
,
function
()
{
that
.
apipostDS
(
"/api/Education/RemoveCommerceActivityType"
,
{
Id
:
item
.
Id
,
Status
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getList
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
);
})
},
//刷新页面
//刷新页面
refreshPage
()
{
refreshPage
()
{
this
.
showForm
=
false
;
this
.
showForm
=
false
;
this
.
getList
();
this
.
getList
();
},
},
// gotoDetails(item) {
// // this.rId = item.Id;
// // this.isShowviewQuo = true;
// this.OpenNewUrl("/sale/quotation", {
// Id: item.Id
// });
// },
//显示修改
//显示修改
editQuotation
(
item
)
{
editQuotation
(
item
)
{
this
.
showForm
=
true
;
if
(
item
)
{
if
(
item
)
{
this
.
showForm
=
true
;
this
.
typeObj
=
item
;
this
.
typeObj
=
item
;
}
else
{
this
.
typeObj
=
{};
}
}
},
},
//重新查询
//重新查询
resetSearch
()
{
resetSearch
()
{
...
@@ -294,6 +290,7 @@ import ActiveTypeForm from '../../components/sale/active/activeType-from'
...
@@ -294,6 +290,7 @@ import ActiveTypeForm from '../../components/sale/active/activeType-from'
closeruleset
()
{
closeruleset
()
{
this
.
showForm
=
false
;
this
.
showForm
=
false
;
},
},
}
}
}
}
...
...
src/pages/activity/activityList.vue
0 → 100644
View file @
d9abab24
This diff is collapsed.
Click to expand it.
src/pages/activity/materialMan.vue
0 → 100644
View file @
d9abab24
This diff is collapsed.
Click to expand it.
src/pages/sale/activityList.vue
deleted
100644 → 0
View file @
a10397e9
src/router/routes.js
View file @
d9abab24
...
@@ -17,6 +17,7 @@ const routes = [{
...
@@ -17,6 +17,7 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"src/pages/Work.vue"
)
import
(
"src/pages/Work.vue"
)
},
},
{
{
path
:
"/school/manager"
,
path
:
"/school/manager"
,
component
:
()
=>
component
:
()
=>
...
@@ -580,16 +581,6 @@ const routes = [{
...
@@ -580,16 +581,6 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/sale/studyjob.vue"
)
import
(
"pages/sale/studyjob.vue"
)
},
},
{
path
:
"/sale/activeType"
,
//销售 活动类型
component
:
()
=>
import
(
"pages/sale/activeType.vue"
)
},
{
path
:
"/sale/activityList"
,
//销售 活动列表
component
:
()
=>
import
(
"pages/sale/activityList.vue"
)
},
{
{
path
:
"/sale/courseoffer"
,
//销售 报价单管理
path
:
"/sale/courseoffer"
,
//销售 报价单管理
component
:
()
=>
component
:
()
=>
...
@@ -655,6 +646,31 @@ const routes = [{
...
@@ -655,6 +646,31 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/sale/visitorRegistrat.vue"
)
import
(
"pages/sale/visitorRegistrat.vue"
)
},
},
{
path
:
"/activity/activeType"
,
//活动 活动类型
component
:
()
=>
import
(
"pages/activity/activeType.vue"
)
},
{
path
:
"/activity/activityList"
,
//活动 活动列表
component
:
()
=>
import
(
"pages/activity/activityList.vue"
)
},
{
path
:
"/activity/activeSignUpList"
,
//活动 活动报名列表
component
:
()
=>
import
(
"pages/activity/activeSignUpList.vue"
)
},
{
path
:
"/activity/activeSummary"
,
//活动 活动总结
component
:
()
=>
import
(
"pages/activity/activeSummary.vue"
)
},
{
path
:
"/activity/materialMan"
,
//活动 活动图片与视频
component
:
()
=>
import
(
"pages/activity/materialMan.vue"
)
},
{
{
path
:
"/course/teacherHours"
,
//教学奖励 教师课时统计
path
:
"/course/teacherHours"
,
//教学奖励 教师课时统计
component
:
()
=>
component
:
()
=>
...
@@ -806,6 +822,7 @@ const routes = [{
...
@@ -806,6 +822,7 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/classroom/courseInfo"
)
import
(
"pages/classroom/courseInfo"
)
},
},
],
],
},
},
...
...
src/utils/erpindex.js
View file @
d9abab24
...
@@ -389,6 +389,18 @@ export default {
...
@@ -389,6 +389,18 @@ export default {
query
:
queryObj
query
:
queryObj
});
});
window
.
open
(
newUrl
.
href
,
'_blank'
);
window
.
open
(
newUrl
.
href
,
'_blank'
);
},
//公用判断图片地址 判断是否包含http
Vue
.
prototype
.
getIconLink
=
function
(
url
)
{
let
str
=
''
if
(
url
&&
url
!=
''
)
{
if
(
url
.
indexOf
(
'http'
)
!=
-
1
)
{
str
=
url
}
else
{
str
=
this
.
domainManager
().
ImageUrl
+
url
;
}
return
str
;
}
}
}
}
}
}
}
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