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
43d5758b
Commit
43d5758b
authored
Jun 23, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
9da0db4e
27c137cb
Expand all
Show 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 @
43d5758b
This diff is collapsed.
Click to expand it.
src/components/
sale/active
/activeType-from.vue
→
src/components/
activity
/activeType-from.vue
View file @
43d5758b
...
@@ -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,67 +70,67 @@ import {
...
@@ -70,67 +70,67 @@ 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
.
$refs
.
EndTime
.
hasError
)
{
if
(
this
.
schoolArr
&&
this
.
schoolArr
.
length
>
0
)
{
this
.
msg
.
School_Ids
=
this
.
schoolArr
.
map
(
item
=>
item
.
SId
).
toString
();
}
else
{
this
.
msg
.
School_Ids
=
""
;
}
SetFrequency
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$emit
(
'success'
);
this
.
closeRuleForm
();
this
.
closeRuleForm
();
this
.
$emit
(
'success'
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}
})
})
}
}
...
@@ -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 @
43d5758b
<
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 @
43d5758b
...
@@ -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 @
43d5758b
<
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 @
43d5758b
<
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 @
43d5758b
...
@@ -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
)
{
if
(
item
)
{
this
.
showForm
=
true
;
this
.
showForm
=
true
;
if
(
item
)
{
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 @
43d5758b
This diff is collapsed.
Click to expand it.
src/pages/activity/materialMan.vue
0 → 100644
View file @
43d5758b
This diff is collapsed.
Click to expand it.
src/pages/sale/activityList.vue
deleted
100644 → 0
View file @
9da0db4e
src/router/routes.js
View file @
43d5758b
...
@@ -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
:
()
=>
...
@@ -584,16 +585,6 @@ const routes = [{
...
@@ -584,16 +585,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
:
()
=>
...
@@ -659,6 +650,31 @@ const routes = [{
...
@@ -659,6 +650,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
:
"/sale/appointManagement"
,
//销售 约课管理
path
:
"/sale/appointManagement"
,
//销售 约课管理
component
:
()
=>
component
:
()
=>
...
@@ -820,6 +836,7 @@ const routes = [{
...
@@ -820,6 +836,7 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/classroom/courseInfo"
)
import
(
"pages/classroom/courseInfo"
)
},
},
],
],
},
},
...
...
src/utils/erpindex.js
View file @
43d5758b
...
@@ -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