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
8f42f0fd
Commit
8f42f0fd
authored
Nov 25, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
74fc3448
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1732 additions
and
1805 deletions
+1732
-1805
myOrder-form.vue
src/components/sale/myOrder-form.vue
+0
-1
orderlist.vue
src/components/sale/orderlist.vue
+0
-1
perCustomer-form.vue
src/components/sale/perCustomer-form.vue
+0
-1
visitorcreate-form.vue
src/components/schedul/visitorcreate-form.vue
+0
-1
feedback-form.vue
src/components/teacher/feedback-form.vue
+0
-2
SJBillModule.vue
src/pages/financial/components/SJBillModule.vue
+381
-364
mySJModule.vue
src/pages/financial/components/mySJModule.vue
+0
-1
CommissionUserDetailList.vue
...pages/financial/contribution/CommissionUserDetailList.vue
+220
-229
ordercommission.vue
src/pages/financial/studyabroad/ordercommission.vue
+0
-5
ChooseImg.vue
src/pages/teacher/components/ChooseImg.vue
+0
-1
alladdsc.vue
src/pages/teacher/components/alladdsc.vue
+20
-39
videomaterial.vue
src/pages/teacher/components/videomaterial.vue
+157
-157
addimageText.vue
src/pages/teacher/contribution/addimageText.vue
+601
-649
contributeManage.vue
src/pages/teacher/contribution/contributeManage.vue
+338
-342
graphicType.vue
src/pages/teacher/contribution/graphicType.vue
+0
-1
contributionUE.vue
src/pages/teacher/contribution/ue/contributionUE.vue
+15
-11
No files found.
src/components/sale/myOrder-form.vue
View file @
8f42f0fd
...
...
@@ -712,7 +712,6 @@
}
},
created
()
{
console
.
log
(
this
.
saveObj
)
if
(
this
.
saveObj
.
tab
)
{
this
.
tab
=
(
this
.
saveObj
.
tab
).
toString
();
}
...
...
src/components/sale/orderlist.vue
View file @
8f42f0fd
...
...
@@ -1737,7 +1737,6 @@
})
},
studyabroadorderconfirmation
(
item
)
{
//留学订单确认
console
.
log
(
item
)
let
that
=
this
this
.
$q
.
dialog
({
title
:
'提示信息'
,
...
...
src/components/sale/perCustomer-form.vue
View file @
8f42f0fd
...
...
@@ -230,7 +230,6 @@
CustomerId
:
this
.
customerObj
.
CustomerId
}
GetCustomer
(
msg
).
then
(
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
)
{
let
tempData
=
res
.
Data
;
this
.
objOption
.
CustomerId
=
tempData
.
CustomerId
;
...
...
src/components/schedul/visitorcreate-form.vue
View file @
8f42f0fd
...
...
@@ -64,7 +64,6 @@
this
.
getEmployeeList
();
},
mounted
()
{
console
.
log
(
"this.saveObj"
,
this
.
saveObj
)
if
(
this
.
saveObj
&&
this
.
saveObj
.
Id
>
0
)
{
this
.
objOption
.
Id
=
this
.
saveObj
.
Id
;
this
.
objOption
.
CreateBy
=
this
.
saveObj
.
CreateBy
;
...
...
src/components/teacher/feedback-form.vue
View file @
8f42f0fd
...
...
@@ -142,7 +142,6 @@ export default {
e
.
TeacherId
=
e
.
Teacher_Id
;
delete
e
.
Teacher_Id
;
});
console
.
log
(
this
.
dataList
);
setFeedBack
(
this
.
dataList
)
.
then
((
res
)
=>
{
this
.
saveLoading
=
false
;
...
...
@@ -161,7 +160,6 @@ export default {
});
},
uploadFile
(
files
,
index
)
{
console
.
log
(
files
,
index
,
this
.
dataList
);
let
type
=
files
.
type
.
indexOf
(
"video"
)
!=
-
1
||
files
.
type
.
indexOf
(
"image"
)
!=
-
1
;
if
(
type
)
{
...
...
src/pages/financial/components/SJBillModule.vue
View file @
8f42f0fd
...
...
@@ -239,8 +239,7 @@
</div>
<div
style=
"display: flex;align-items: center;margin-left: 10px;"
>
<span>
¥:
</span>
<span
class=
"sjbox_l_t_x"
style=
"width: 200px"
:class=
"[name==1?'':'color_bt']"
>
{{
GetDetail
.
Money
}}
</span>
<span
class=
"sjbox_l_t_x"
style=
"width: 200px"
:class=
"[name==1?'':'color_bt']"
>
{{
GetDetail
.
Money
}}
</span>
</div>
</div>
<div
class=
"sjbox_l_t"
style=
"margin-top: 30px;"
>
...
...
@@ -249,7 +248,8 @@
</div>
</div>
<div
style=
"display: flex;flex-direction: column;align-items: center;width: 20px;line-height: 17px;"
v-if=
"name==1"
>
<div
style=
"display: flex;flex-direction: column;align-items: center;width: 20px;line-height: 17px;"
v-if=
"name==1"
>
<div>
第
</div>
<div>
一
</div>
<div>
联
</div>
...
...
@@ -260,7 +260,8 @@
<div>
根
</div>
<div>
联
</div>
</div>
<div
style=
"display: flex;flex-direction: column;align-items: center;width: 20px;line-height: 17px;"
v-if=
"name==2"
>
<div
style=
"display: flex;flex-direction: column;align-items: center;width: 20px;line-height: 17px;"
v-if=
"name==2"
>
<div>
第
</div>
<div>
二
</div>
<div>
联
</div>
...
...
@@ -311,9 +312,22 @@
currentMoney
:
0
,
benMoney
:
0
,
GetDetail
:
{},
AuditSteps
:
[{
Id
:
1
,
Name
:
'单位盖章'
},
{
Id
:
2
,
Name
:
'出纳'
},
{
Id
:
3
,
Name
:
'交款方式'
},
{
Id
:
4
,
Name
:
'开票人'
},],
AuditSteps
:
[{
Id
:
1
,
Name
:
'单位盖章'
},
{
Id
:
2
,
Name
:
'出纳'
},
{
Id
:
3
,
Name
:
'交款方式'
},
{
Id
:
4
,
Name
:
'开票人'
},
],
}
},
created
()
{
},
created
()
{
let
date
=
new
Date
(),
y
=
date
.
getFullYear
(),
m
=
date
.
getMonth
()
<
10
?
"0"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
,
...
...
@@ -322,7 +336,8 @@
min
=
date
.
getMinutes
()
<
10
?
"0"
+
date
.
getMinutes
()
:
date
.
getMinutes
(),
s
=
date
.
getSeconds
()
<
10
?
"0"
+
date
.
getSeconds
()
:
date
.
getSeconds
();
this
.
printTime
=
y
+
''
+
m
+
''
+
d
+
' '
+
h
+
':'
+
min
+
':'
+
s
;
},
methods
:
{
},
methods
:
{
sendMsg
()
{
this
.
$emit
(
'helloPP'
,
'1'
)
},
...
...
@@ -341,21 +356,22 @@
Financial_post_GetDetail
(
id
)
{
//获取单据详情
if
(
!
id
)
return
;
this
.
loading
=
true
;
getReceiptInfoForFinanceId
({
FinanceId
:
id
}).
then
(
res
=>
{
getReceiptInfoForFinanceId
({
FinanceId
:
id
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
loading
=
false
;
let
data
=
res
.
Data
;
data
.
ChinesePayMoney
=
this
.
$commonUtils
.
changeMoneyToChinese
(
data
.
Money
)
data
.
Money
=
this
.
$commonUtils
.
addCommas
(
Math
.
round
(
data
.
Money
*
100
)
/
100
)
this
.
GetDetail
=
data
;
console
.
log
(
this
.
GetDetail
)
this
.
$set
(
this
.
$data
,
"GetDetail"
,
data
);
}
})
},
},
mounted
()
{
},
mounted
()
{
const
myDate
=
new
Date
();
let
yaer
=
myDate
.
getFullYear
();
//获取完整的年份(4位,1970-????)
let
month
=
myDate
.
getMonth
()
+
1
;
//获取当前月份(0-11,0代表1月)
...
...
@@ -365,7 +381,8 @@
let
userInfo
=
this
.
getLocalStorage
();
this
.
EmployeeId
=
userInfo
.
EmployeeId
;
this
.
Financial_post_GetDetail
(
this
.
ID
);
},
watch
:
{
// 监听参数变化
},
watch
:
{
// 监听参数变化
ID
:
{
handler
:
function
(
val
,
oldVal
)
{
...
...
src/pages/financial/components/mySJModule.vue
View file @
8f42f0fd
...
...
@@ -314,7 +314,6 @@
this
.
$nextTick
(()
=>
{
this
.
$refs
.
imgcode
.
src
=
this
.
imgUrl
;
})
console
.
log
(
this
.
imgUrl
)
tipLoadding
.
hide
();
}
else
{
tipLoadding
.
hide
();
...
...
src/pages/financial/contribution/CommissionUserDetailList.vue
View file @
8f42f0fd
...
...
@@ -71,9 +71,11 @@
<el-table-column
prop=
"ContributeType"
label=
"投稿类型"
>
</el-table-column>
<el-table-column
width=
'80'
prop=
"ContributeId"
label=
"投稿编码"
>
<template
slot-scope=
"scope"
>
<div
style=
"cursor: pointer;text-decoration: underline;"
@
click=
"showXQ(scope.row.ContributeId)"
>
{{
scope
.
row
.
ContributeId
}}
</div>
<div
style=
"cursor: pointer;text-decoration: underline;"
@
click=
"showXQ(scope.row.ContributeId)"
>
{{
scope
.
row
.
ContributeId
}}
</div>
</
template
>
</el-table-column>
<el-table-column
width=
'250'
prop=
"ContributeTitle"
label=
"投稿标题"
>
</el-table-column>
</el-table-column>
<el-table-column
width=
'250'
prop=
"ContributeTitle"
label=
"投稿标题"
>
</el-table-column>
<el-table-column
prop=
"CommissionMoney"
label=
"提成金额"
>
</el-table-column>
<el-table-column
width=
'90'
prop=
"Periods"
label=
"期数"
>
</el-table-column>
<el-table-column
prop=
"Remark"
width=
'160'
label=
"备注"
>
</el-table-column>
...
...
@@ -103,7 +105,9 @@
title
:
"用户提成明细"
},
props
:
{},
components
:
{
contributionXQ
},
components
:
{
contributionXQ
},
data
()
{
return
{
loading
:
false
,
...
...
@@ -111,7 +115,7 @@
msg
:
{
PeriodId
:
0
,
TeacherId
:
0
,
TeacherIds
:
''
TeacherIds
:
''
},
pageCount
:
0
,
persistent
:
false
,
...
...
@@ -123,11 +127,11 @@
allClassList
:
[],
TeacherList
:
[],
allTeacherList
:
[],
ContributeId
:
0
,
isDetails
:
false
,
ContributeId
:
0
,
isDetails
:
false
,
}
},
created
()
{
},
created
()
{
},
mounted
()
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
userId
)
{
...
...
@@ -140,7 +144,6 @@
this
.
msg
.
TeacherIds
=
this
.
$route
.
query
.
TeacherIds
}
this
.
getList
()
// this.setClass()
this
.
GetTeacherList
()
},
methods
:
{
...
...
@@ -148,14 +151,12 @@
getList
()
{
if
(
this
.
msg
)
this
.
loading
=
true
;
getTeaConCommissionUserDetailList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
Data
if
(
this
.
tableData
.
length
>
0
)
{
this
.
getAskfor
()
}
}
})
...
...
@@ -171,35 +172,31 @@
};
})
this
.
tableData
.
push
(
obj
)
},
accAdd
(
arg1
,
arg2
)
{
//js 加法精确计算
var
r1
,
r2
,
m
;
try
{
r1
=
arg1
.
toString
().
split
(
"."
)[
1
].
length
;
}
catch
(
e
)
{
r1
=
0
;
}
try
{
r2
=
arg2
.
toString
().
split
(
"."
)[
1
].
length
;
}
catch
(
e
)
{
r2
=
0
;
}
m
=
Math
.
pow
(
10
,
Math
.
max
(
r1
,
r2
));
return
(
arg1
*
m
+
arg2
*
m
)
/
m
;
},
//获取教师下拉
GetTeacherList
()
{
getTeacherDropDownList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
var
jsonData
=
res
.
Data
;
jsonData
.
unshift
({
TeacherName
:
'不限'
,
TId
:
0
})
// this.allTeacherList = JSON.parse(JSON.stringify(jsonData));;
jsonData
.
unshift
({
TeacherName
:
'不限'
,
TId
:
0
})
this
.
TeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));
}
})
...
...
@@ -222,7 +219,6 @@
},
//筛选老师
filterFn
(
val
,
update
)
{
console
.
log
(
val
)
update
(()
=>
{
if
(
val
===
''
)
{
this
.
TeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
allTeacherList
))
...
...
@@ -233,18 +229,13 @@
this
.
$forceUpdate
();
})
},
goreturn
()
{
this
.
$router
.
go
(
-
1
);
},
showXQ
(
ContributeId
){
//弹出显示详情
this
.
ContributeId
=
ContributeId
;
showXQ
(
ContributeId
)
{
//弹出显示详情
this
.
ContributeId
=
ContributeId
;
this
.
isDetails
=
true
}
},
}
</
script
>
...
...
src/pages/financial/studyabroad/ordercommission.vue
View file @
8f42f0fd
...
...
@@ -6,7 +6,6 @@
}
.userCommissionDetails
.border-bottom
{
/* border-bottom: 1px dashed #EEE; */
padding-bottom
:
5px
;
margin-bottom
:
5px
;
}
...
...
@@ -83,8 +82,6 @@
<div
v-if=
"scope.row.OrderId"
style=
"cursor: pointer;text-decoration: underline;"
@
click=
"goUrlorderList('/sale/orderStatistics',scope.row)"
>
{{
scope
.
row
.
OrderId
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"CommissionMoney"
label=
"订单提成"
></el-table-column>
...
...
@@ -156,7 +153,6 @@
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
OrderId
)
{
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
}
console
.
log
(
this
.
msg
.
PeriodId
)
this
.
getList
()
this
.
getStudyAbroad
()
},
...
...
@@ -318,6 +314,5 @@
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
\ No newline at end of file
src/pages/teacher/components/ChooseImg.vue
View file @
8f42f0fd
...
...
@@ -223,7 +223,6 @@
},
//选择图片
PageSelect
(
item
)
{
console
.
log
(
item
,
'item'
);
if
(
this
.
type
!=
1
){
//单选
this
.
emitmsg
=
[];
this
.
emitmsg
.
push
(
item
)
...
...
src/pages/teacher/components/alladdsc.vue
View file @
8f42f0fd
...
...
@@ -29,7 +29,8 @@
<q-img
v-else
:src=
"imgPath"
style=
"width: 110px;height: 110px;border-radius: 6px;display: flex;"
>
</q-img>
</el-upload>
<q-img
v-else
:src=
"imgPath"
style=
"width: 110px;height: 110px;border-radius: 6px;display: flex;"
v-if=
"ismodify"
></q-img>
<q-img
v-else
:src=
"imgPath"
style=
"width: 110px;height: 110px;border-radius: 6px;display: flex;"
v-if=
"ismodify"
></q-img>
<!--
<el-upload
class=
"avatar-uploader materialupload"
action=
""
:before-upload=
"uploadFile"
accept=
"image/gif,image/jpeg,image/png,image/jpg,image/bmp"
:show-file-list=
"false"
>
<i
class=
"el-icon-plus avatar-uploader-icon"
style=
"font-size: 30px;"
v-if=
"addMsg.Path==''"
></i>
...
...
@@ -79,7 +80,8 @@
</span>
</q-circular-progress>
<div
style=
"margin-top: 15px;"
>
<el-upload
class=
"avatar-uploader "
action=
""
:before-upload=
"uploadFile"
:show-file-list=
"false"
v-if=
"ismodify==false"
>
<el-upload
class=
"avatar-uploader "
action=
""
:before-upload=
"uploadFile"
:show-file-list=
"false"
v-if=
"ismodify==false"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"cloud_upload"
label=
"上传"
@
click=
'stopPlayVoice()'
>
</q-btn>
...
...
@@ -114,11 +116,13 @@
v-model=
"addMsg.PlatformType"
@
input=
"$forceUpdate()"
ref=
"Id"
:options=
"platTypeList"
label=
"平台类型"
:dense=
"false"
emit-value
map-options
/>
-->
<q-input
clearable
filled
v-model=
"addMsg.MediaName"
placeholder=
"请输入视频名称"
class=
"q-mt-lg"
maxlength=
"20"
/>
<q-input
clearable
filled
v-model=
"addMsg.Description"
placeholder=
"请输入视频介绍"
class=
"q-mt-lg"
type=
"textarea"
maxlength=
"300"
counter
/>
<q-input
clearable
filled
v-model=
"addMsg.Description"
placeholder=
"请输入视频介绍"
class=
"q-mt-lg"
type=
"textarea"
maxlength=
"300"
counter
/>
<div
style=
"margin-top: 15px;"
>
<div
style=
"width:80px"
>
视频封面图:
</div>
<div
style=
"margin-top: 15px;"
>
<div
style=
"width:100px;height:100px;border:1px solid #d1d1d1;text-align:center;line-height:100px;"
@
click=
"getImgChoice=true"
>
<div
style=
"width:100px;height:100px;border:1px solid #d1d1d1;text-align:center;line-height:100px;"
@
click=
"getImgChoice=true"
>
<i
class=
"el-icon-plus avatar-uploader-icon"
style=
"font-size: 30px;"
v-if=
"addMsg.VideoWXImage==''"
></i>
<q-img
v-else
:src=
"addMsg.VideoWXImage"
style=
"width: 100%;height: 100%;"
>
...
...
@@ -142,7 +146,8 @@
<source
:src=
"addMsg.Path"
type=
"video/mp4"
/>
</video>
<div
style=
"margin-top: 15px;"
>
<el-upload
class=
"avatar-uploader "
action=
""
:before-upload=
"uploadFile"
:show-file-list=
"false"
v-if=
"ismodify==false"
>
<el-upload
class=
"avatar-uploader "
action=
""
:before-upload=
"uploadFile"
:show-file-list=
"false"
v-if=
"ismodify==false"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"cloud_upload"
label=
"上传"
>
</q-btn>
</el-upload>
...
...
@@ -222,19 +227,19 @@
imgPath
:
''
,
importFileUrl2
:
''
,
getImgChoice
:
false
,
ismodify
:
false
,
//是否修改
ismodify
:
false
,
//是否修改
}
},
created
()
{
if
(
this
.
editobj
!=
null
)
{
this
.
addMsg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
editobj
))
this
.
ismodify
=
true
if
(
this
.
type
==
1
)
{
if
(
this
.
type
==
1
)
{
this
.
imgPath
=
this
.
addMsg
.
ImageUrl
;
}
}
let
address
=
process
.
env
.
API
;
this
.
importFileUrl2
=
address
+
'/upload/UploadTemporaryFile'
this
.
importFileUrl2
=
address
+
'/upload/UploadTemporaryFile'
},
mounted
()
{
this
.
getPlatForm
();
...
...
@@ -247,7 +252,6 @@
//获取已开放平台
getPlatForm
()
{
GetContributePlatfrom
({}).
then
(
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
)
{
this
.
platTypeList
=
res
.
Data
;
}
...
...
@@ -262,7 +266,6 @@
message
:
res
.
Message
,
position
:
'top'
})
//this.gettype()
this
.
$emit
(
'editsuccess'
)
})
},
...
...
@@ -273,7 +276,7 @@
if
(
file
.
Code
==
1
)
{
let
address
=
process
.
env
.
API
;
let
aOne
=
address
.
split
(
'/api'
)[
0
];
this
.
imgPath
=
aOne
+
file
.
Data
.
HttpPath
;
this
.
imgPath
=
aOne
+
file
.
Data
.
HttpPath
;
this
.
addMsg
.
Path
=
file
.
Data
.
Path
;
this
.
addMsg
.
MediaName
=
file
.
Data
.
Name
;
}
...
...
@@ -298,12 +301,7 @@
position
:
'top'
})
}
else
{
// UploadSelfFile('wechatcatalogue', files, res => {
// console.log(res, '数据');
// if (res.Code == 1) {
// this.addMsg.Path = res.FileUrl;
// }
// })
}
}
if
(
this
.
type
==
2
)
{
//音频上传
...
...
@@ -313,14 +311,6 @@
const
isLt2M
=
files
.
size
/
1024
/
1024
<
2
;
let
Times
=
this
.
getTimes
(
files
)
const
isTime60S
=
Times
>=
60
?
true
:
false
;
// 获取时长
// if (!isAudio) {
// this.$q.notify({
// type: 'negative',
// message: `上传文件只能是mp3、wma、wav、amr格式!`,
// position: 'top'
// })
// } else {
if
(
!
isLt2M
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
...
...
@@ -350,9 +340,8 @@
}
else
{
that
.
$forceUpdate
();
that
.
addMsg
.
Path
=
res
.
FileUrl
;
that
.
addMsg
.
MediaName
=
res
.
FileName
?
res
.
FileName
:
''
;
that
.
addMsg
.
MediaName
=
res
.
FileName
?
res
.
FileName
:
''
;
that
.
addMsg
.
Minutes
=
parseInt
(
that
.
duration
.
toFixed
());
console
.
log
(
that
.
addMsg
.
Minutes
,
'Minutes'
);
}
}).
catch
((
e
)
=>
{
...
...
@@ -360,13 +349,11 @@
}
})
}
// }
}
}
if
(
this
.
type
==
3
)
{
//视频上传
// 文件类型进行判断
const
isLt10M
=
files
.
size
/
1024
/
1024
<
10
;
if
([
'video/mp4'
].
indexOf
(
files
.
type
)
==
-
1
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
...
...
@@ -387,18 +374,15 @@
isCreateCover
:
1
}
UploadSelfFile
(
'wechatcatalogue'
,
files
,
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
)
{
let
amr
=
new
BenzAMRRecorder
()
let
that
=
this
amr
.
initWithUrl
(
res
.
FileUrl
).
then
(
function
()
{
that
.
duration
=
amr
.
getDuration
();
that
.
addMsg
.
Path
=
res
.
FileUrl
;
that
.
addMsg
.
MediaName
=
res
.
FileName
?
res
.
FileName
:
''
;
that
.
addMsg
.
MediaName
=
res
.
FileName
?
res
.
FileName
:
''
;
that
.
addMsg
.
Minutes
=
parseInt
(
that
.
duration
.
toFixed
());
}).
catch
((
e
)
=>
{
})
}).
catch
((
e
)
=>
{})
}
})
}
...
...
@@ -408,7 +392,6 @@
let
audioDuration
=
0
//获取录音时长
var
url
=
URL
.
createObjectURL
(
content
);
console
.
log
(
url
,
'进入url'
);
//经测试,发现audio也可获取视频的时长
var
audioElement
=
new
Audio
(
url
);
audioElement
.
addEventListener
(
"loadedmetadata"
,
function
(
_event
)
{
...
...
@@ -534,7 +517,6 @@
}
}
</
script
>
<
style
>
...
...
@@ -641,5 +623,4 @@
.fullscreen
{
z-index
:
999
;
}
</
style
>
\ No newline at end of file
src/pages/teacher/components/videomaterial.vue
View file @
8f42f0fd
...
...
@@ -7,10 +7,11 @@
@
click=
"goadd()"
></q-btn>
<q-btn
color=
"accent"
style=
"float:right;"
size=
"sm"
class=
"q-mr-md"
icon=
"delete"
label=
"批量删除"
@
click=
"pldelete()"
></q-btn>
<q-btn
color=
"accent"
style=
"float:right;"
size=
"sm"
class=
"q-mr-md"
icon=
"edit"
label=
"修改分组"
@
click=
"plmove()"
>
</q-btn>
<q-btn
color=
"accent"
style=
"float:right;"
size=
"sm"
class=
"q-mr-md"
icon=
"edit"
label=
"修改分组"
@
click=
"plmove()"
>
</q-btn>
</div>
<div
style=
"width: 100%;display: flex;align-items: center;flex-wrap: wrap;padding: 10px 20px;"
v-if=
"dataList.length>0"
>
<div
style=
"width: 100%;display: flex;align-items: center;flex-wrap: wrap;padding: 10px 20px;"
v-if=
"dataList.length>0"
>
<q-card
class=
"imgcard"
v-for=
"(x,y) in dataList"
:key=
'y'
:style=
"
{border:x.check==true?'2px solid #91d5ff':'2px solid #FFF'}"
@click="dataList[y].check = !dataList[y].check,$forceUpdate()">
...
...
@@ -19,8 +20,7 @@
<div>
{{
x
.
UpdateTime
}}
</div>
<div>
<i
class=
"el-icon-edit-outline"
style=
"font-size: 20px;color: #1890ff;"
@
click
.
stop=
"goedit(x)"
></i>
<i
class=
"el-icon-edit-outline"
style=
"font-size: 20px;color: #1890ff;"
@
click
.
stop=
"goedit(x)"
></i>
</div>
</div>
<video
width=
"260"
height=
"180"
:src=
"x.Path"
controls=
"controls"
v-if=
"x.Path"
>
...
...
@@ -29,8 +29,10 @@
<div
class=
"onetext"
style=
"margin-top: 5px;"
>
{{
x
.
MediaName
}}
</div>
<div
style=
"margin-top: 5px;display: flex;justify-content: space-between;align-items: center;"
>
<span
class=
"onetext"
style=
"width: 50%;"
><i
class=
"iconfont icon-ico-64"
style=
"font-size: 12px;color: #1890ff;margin-right: 3px;"
></i>
{{
x
.
MediaGroupName
}}
</span>
<span
class=
"onetext"
style=
"width: 50%;text-align: right;"
><i
class=
"iconfont icon-ren-"
style=
"font-size: 14px;color: #1890ff;margin-right: 3px;"
></i>
{{
x
.
UpdateByName
}}
</span>
<span
class=
"onetext"
style=
"width: 50%;"
><i
class=
"iconfont icon-ico-64"
style=
"font-size: 12px;color: #1890ff;margin-right: 3px;"
></i>
{{
x
.
MediaGroupName
}}
</span>
<span
class=
"onetext"
style=
"width: 50%;text-align: right;"
><i
class=
"iconfont icon-ren-"
style=
"font-size: 14px;color: #1890ff;margin-right: 3px;"
></i>
{{
x
.
UpdateByName
}}
</span>
</div>
</q-card-section>
</q-card>
...
...
@@ -40,7 +42,8 @@
</div>
<div
v-if=
"Isadd==true"
>
<alladdsc
:allclassifyList=
"allclassifyList"
type=
'3'
@
editsuccess=
"getchildren"
:editobj=
'editobj'
@
getcancel=
'Isadd=false'
></alladdsc>
<alladdsc
:allclassifyList=
"allclassifyList"
type=
'3'
@
editsuccess=
"getchildren"
:editobj=
'editobj'
@
getcancel=
'Isadd=false'
></alladdsc>
</div>
...
...
@@ -60,7 +63,7 @@
type
:
Array
,
default
:
[],
},
allclassifyList
:
{
allclassifyList
:
{
type
:
Array
,
default
:
[],
}
...
...
@@ -69,7 +72,7 @@
return
{
loading
:
false
,
Isadd
:
false
,
editobj
:
null
editobj
:
null
}
},
created
()
{
...
...
@@ -78,27 +81,24 @@
methods
:
{
goadd
()
{
this
.
Isadd
=
true
;
this
.
editobj
=
null
this
.
editobj
=
null
},
goedit
(
row
){
console
.
log
(
row
,
'row'
);
this
.
editobj
=
row
goedit
(
row
)
{
this
.
editobj
=
row
this
.
Isadd
=
true
},
getchildren
(){
getchildren
()
{
this
.
$emit
(
'editsuccess'
)
this
.
Isadd
=
false
},
pldelete
()
{
pldelete
()
{
this
.
$emit
(
'getdelete'
)
},
plmove
()
{
plmove
()
{
this
.
$emit
(
'getmove'
)
}
}
}
</
script
>
<
style
>
...
...
src/pages/teacher/contribution/addimageText.vue
View file @
8f42f0fd
...
...
@@ -54,39 +54,18 @@
</
style
>
<
template
>
<div
class=
"addimageText"
>
<!--
<div
class=
"box_l"
style=
"display:none;"
>
<div
class=
"box_l_center"
>
<div
class=
"appmsg_account"
>
<img
style=
"width: 24px;height: 24px;border-radius: 50%;margin-right: 10px;"
src=
"http://wx.qlogo.cn/mmopen/B2EfAOZfS1hP0WNR9tGwEFJibrib3NcWYd4VXF10YAia2Fy6OmkzicpibHmabNRic4Yqj9wtImErdG3picwY3ia3AjVoZaBZAFQTnBJl/64"
alt=
""
>
赞羊生活
</div>
<div
class=
"appmsg"
v-for=
"(x,y) in list"
:key=
'y'
:style=
"
{border:x.Id==select?'2px solid #07c160':''}"
@click="select=x.Id">
<div
class=
"appmsg_one"
v-if=
"y==0"
>
<span>
{{
x
.
Name
!=
''
?
x
.
Name
:
'标题'
}}
</span>
</div>
<div
class=
"appmsg_two"
v-if=
"y!=0"
>
<span>
{{
x
.
Name
!=
''
?
x
.
Name
:
'标题'
}}
</span>
</div>
</div>
</div>
</div>
-->
<div
style=
"width: 100%;height: 40px;display: flex;align-items: center;position: fixed;top: 20px;left: 0;justify-content: center;"
>
<div
style=
"width: 100%;height: 40px;display: flex;align-items: center;position: fixed;top: 20px;left: 0;justify-content: center;"
>
<div
style=
"width: 800px;position: relative;"
>
<div
style=
"position: absolute;top: 5px;left: -160px;"
v-if=
"addMsg.Type==1 || addMsg.Type==2"
>
<q-btn-group
push
>
<q-btn
push
label=
"图片"
@
click=
"getChoice(1),iscover=false"
:disable=
"addMsg.Type==2?true:false"
/>
<q-btn
push
label=
"图片"
@
click=
"getChoice(1),iscover=false"
:disable=
"addMsg.Type==2?true:false"
/>
<q-btn
push
label=
"小程序"
@
click=
"getapplet"
/>
</q-btn-group>
</div>
</div>
</div>
<div
class=
"box_r"
>
<q-input
clearable
filled
v-model=
"addMsg.Title"
label=
"标题"
maxlength=
"64"
counter
v-if=
"this.addMsg.Type != 2 && this.addMsg.Type != 5"
style=
"margin-top: 20px;"
/>
<q-input
clearable
filled
v-model=
"addMsg.Author"
label=
"作者"
maxlength=
"8"
counter
v-if=
"addMsg.Type == 1"
...
...
@@ -105,18 +84,18 @@
<span
style=
"font-size: 40px;"
>
+
</span>
<span
style=
"display: block; color: #7e8081;font-size: 14px;"
>
选择封面
</span>
</div>
<div
v-if=
"addMsg.CoverImageId && addMsg.CoverImageId>0 && coverimg!=''
"
style=
"width:210px;height:90px"
@
click=
"getChoice(0),iscover=true"
>
<div
v-if=
"addMsg.CoverImageId && addMsg.CoverImageId>0 && coverimg!='' "
style=
"width:210px;height:90px
"
@
click=
"getChoice(0),iscover=true"
>
<el-image
style=
"width: 100%; height: 100%"
:src=
"coverimg"
fit=
"cover"
></el-image>
</div>
<q-input
clearable
filled
v-model=
"addMsg.Description"
label=
"描述/摘要"
maxlength=
"120"
counter
type=
"textarea"
bottom-slots
style=
"margin-left: 20px;width: 500px;"
/>
<q-input
clearable
filled
v-model=
"addMsg.Description"
label=
"描述/摘要"
maxlength=
"120"
counter
type=
"textarea"
bottom-slots
style=
"margin-left: 20px;width: 500px;"
/>
</div>
<!-- 音频 -->
<div
v-if=
"addMsg.Type == 4"
>
<q-input
clearable
filled
v-model=
"addMsg.Description"
label=
"可以输入140字以内的推荐语(选填)"
maxlength=
"140"
counter
type=
"textarea"
bottom-slots
style=
"width: 100%;"
/>
<q-input
clearable
filled
v-model=
"addMsg.Description"
label=
"可以输入140字以内的推荐语(选填)"
maxlength=
"140"
counter
type=
"textarea"
bottom-slots
style=
"width: 100%;"
/>
<div
style=
"display: flex;align-items: center;"
>
<audio
:src=
"audiourl"
controls=
"controls"
></audio>
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"替换素材"
@
click=
"getChoice(2),iscover=true"
size=
"sm"
...
...
@@ -126,15 +105,15 @@
</div>
<!-- 图片 -->
<div
v-if=
"addMsg.Type == 5"
>
<q-input
clearable
filled
v-model=
"addMsg.Description"
label=
"可以输入140字以内的推荐语(选填)"
maxlength=
"140"
counter
type=
"textarea"
bottom-slots
style=
"width: 100%;margin-top: 20px;"
/>
<q-input
clearable
filled
v-model=
"addMsg.Description"
label=
"可以输入140字以内的推荐语(选填)"
maxlength=
"140"
counter
type=
"textarea"
bottom-slots
style=
"width: 100%;margin-top: 20px;"
/>
<div
style=
"display: flex;flex-wrap: wrap;width: 100%;"
>
<draggable
v-model=
"imgsList"
style=
"display: flex;flex-wrap: wrap;width: 100%;"
>
<div
style=
"width: 178px;height: 178px;margin: 0 5px 10px;position: relative;cursor: grab"
v-for=
"(x,y) in imgsList"
:key=
'y'
>
<el-image
style=
"width: 100%; height: 100%"
:src=
"x.ImageUrl"
fit=
"cover"
></el-image>
<q-icon
style=
"position: absolute;right: 5px;top: 5px;color: #F56C6C;
"
name=
"iconfont icon-yiquxiao"
size=
"24px"
@
click=
"ClearCarouse(y)"
></q-icon>
<q-icon
style=
"position: absolute;right: 5px;top: 5px;color: #F56C6C;"
name=
"iconfont icon-yiquxiao
"
size=
"24px"
@
click=
"ClearCarouse(y)"
></q-icon>
</div>
</draggable>
<div
@
click=
"getChoice(1)"
class=
"cursor-pointer"
v-if=
"imgsList.length
<9
"
...
...
@@ -176,8 +155,7 @@
<q-radio
v-model=
"IsShowCover"
val=
"0"
label=
"不显示"
/>
<span
style=
"font-size: 11px;color: red;margin-left: 20px;"
>
*注:封面图是否在正文中显示
</span>
</div>
<div
style=
"display: flex;align-items: center;margin: 10px 0 ;"
v-if=
"addMsg.Type==1 || addMsg.Type==5 "
>
<div
style=
"display: flex;align-items: center;margin: 10px 0 ;"
v-if=
"addMsg.Type==1 || addMsg.Type==5 "
>
打开评论:
<q-radio
v-model=
"IsOpenComment"
val=
"1"
label=
"打开"
/>
<q-radio
v-model=
"IsOpenComment"
val=
"0"
label=
"不打开"
/>
...
...
@@ -199,8 +177,6 @@
<!--
<q-btn
class=
"q-mr-md"
label=
"推送"
@
click=
"tuisong()"
style=
"width: 60px;"
/>
-->
</div>
</div>
</div>
<!-- 选择文件 -->
<q-dialog
title=
"选择文件"
v-model=
"getImgChoice"
width=
"1200px"
>
...
...
@@ -220,13 +196,13 @@
:options=
"platTypeList"
label=
"发布平台"
:dense=
"false"
emit-value
map-options
/>
<q-input
v-if=
'IsPreview==1'
clearable
filled
v-model=
"TagId"
label=
"输入微信号"
maxlength=
"30"
style=
"margin-top: 20px;"
/>
<q-select
v-if=
'IsPreview==2'
clearable
filled
stack-label
option-value=
"id"
option-label=
"name"
v-model=
"TagId"
style=
"margin-top: 20px;"
:options=
"tagList"
label=
"用户标签"
:dense=
"false"
emit-value
map-options
/>
<q-select
v-if=
'IsPreview==2'
clearable
filled
stack-label
option-value=
"id"
option-label=
"name"
v-model=
"TagId"
style=
"margin-top: 20px;"
:options=
"tagList"
label=
"用户标签"
:dense=
"false"
emit-value
map-options
/>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeCourseForm"
/>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeCourseForm"
/>
<q-btn
label=
"立即提交"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
:loading=
"loading"
@
click=
"saveCourse"
/>
</q-card-actions>
...
...
@@ -248,7 +224,7 @@
getGZHUserTagList
}
from
'../../../api/teacher/contribution'
;
import
{
GetContributePlatfrom
,
//获取平台
GetContributePlatfrom
,
//获取平台
}
from
'../../../api/system/wechat'
;
export
default
{
meta
:
{
...
...
@@ -278,7 +254,7 @@
getImgChoice
:
false
,
getappletChoice
:
false
,
type
:
-
1
,
ContributionType
:
1
,
//进入的类型
ContributionType
:
1
,
//进入的类型
addMsg
:
{
Id
:
0
,
Type
:
1
,
...
...
@@ -290,23 +266,23 @@
ImageList
:
[],
Content
:
''
,
AuditState
:
0
,
SendContent
:
''
,
SendContent
:
''
,
},
loading
:
false
,
iscover
:
false
,
//是否选择封面
iscover
:
false
,
//是否选择封面
coverimg
:
''
,
audiourl
:
''
,
//音频地址
imgsList
:
[],
//图片消息的数据
isManage
:
false
,
//是否是管理端
IsPreview
:
0
,
//1预览 2群发 0 只保存投稿 不发送
TagId
:
''
,
//预览 =》 微信号(必传); 群发 =》 标签ID
PlatformId
:
1
,
//发布的平台
IsShowCover
:
'0'
,
//是否显示封面,1为显示,0为不显示 (图文)
SourceUrl
:
''
,
// 原文地址 (图文)
IsOpenComment
:
'0'
,
//是否打开评论,0不打开,1打开(图文 + 图片)
IsFansCanComment
:
'0'
,
//是否粉丝才可评论,0所有人可评论,1粉丝才
platTypeList
:
[],
//平台列表
tagList
:[],
//用户标签列表
audiourl
:
''
,
//音频地址
imgsList
:
[],
//图片消息的数据
isManage
:
false
,
//是否是管理端
IsPreview
:
0
,
//1预览 2群发 0 只保存投稿 不发送
TagId
:
''
,
//预览 =》 微信号(必传); 群发 =》 标签ID
PlatformId
:
1
,
//发布的平台
IsShowCover
:
'0'
,
//是否显示封面,1为显示,0为不显示 (图文)
SourceUrl
:
''
,
// 原文地址 (图文)
IsOpenComment
:
'0'
,
//是否打开评论,0不打开,1打开(图文 + 图片)
IsFansCanComment
:
'0'
,
//是否粉丝才可评论,0所有人可评论,1粉丝才
platTypeList
:
[],
//平台列表
tagList
:
[],
//用户标签列表
}
},
created
()
{
...
...
@@ -314,39 +290,38 @@
this
.
addMsg
.
Type
=
this
.
$route
.
query
.
type
;
if
(
this
.
addMsg
.
Type
==
2
||
this
.
addMsg
.
Type
==
3
)
{
this
.
config
.
initialFrameHeight
=
200
;
this
.
config
.
toolbars
=
[[
'undo'
,
'redo'
,
'link'
,
'unlink'
,
]]
this
.
config
.
toolbars
=
[
[
'undo'
,
'redo'
,
'link'
,
'unlink'
,
]
]
}
if
(
this
.
addMsg
.
Type
==
2
)
{
this
.
config
.
maximumWords
=
300
;
this
.
config
.
wordCount
=
true
;
}
// Todo 暂时不弄视频相关的东西
}
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
Id
)
{
//编辑
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
Id
)
{
//编辑
this
.
addMsg
.
Id
=
this
.
$route
.
query
.
Id
;
this
.
getdetails
()
//获取投稿详情
}
else
{
//没有id的话新增
this
.
getdetails
()
//获取投稿详情
}
else
{
//没有id的话新增
if
(
this
.
addMsg
.
Type
==
4
)
{
this
.
getImgChoice
=
true
;
this
.
iscover
=
true
this
.
type
=
2
;
//音频 这个自定义type 2为音频
this
.
type
=
2
;
//音频 这个自定义type 2为音频
}
if
(
this
.
addMsg
.
Type
==
5
)
{
this
.
getImgChoice
=
true
;
this
.
iscover
=
true
this
.
type
=
1
;
//音频 这个自定义type 1为图片
this
.
type
=
1
;
//音频 这个自定义type 1为图片
}
}
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
isM
)
{
//是否是管理端isM
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
isM
)
{
//是否是管理端isM
this
.
isManage
=
true
;
this
.
getPlatForm
()
}
},
mounted
()
{
this
.
getGZHUserTagList
()
//获取公众号的用户标签
this
.
getGZHUserTagList
()
//获取公众号的用户标签
},
methods
:
{
//获取已开放平台
...
...
@@ -365,7 +340,9 @@
})
},
getdetails
()
{
getContributeInfo
({
ContributeId
:
this
.
addMsg
.
Id
}).
then
(
res
=>
{
getContributeInfo
({
ContributeId
:
this
.
addMsg
.
Id
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
addMsg
=
res
.
Data
if
(
this
.
addMsg
.
Type
==
1
)
{
...
...
@@ -378,7 +355,6 @@
}
}
}).
catch
(()
=>
{
})
},
getChoice
(
type
)
{
...
...
@@ -409,42 +385,39 @@
}
data
.
push
(
a
)
})
if
(
this
.
type
==
0
)
{
//图片单选
if
(
this
.
type
==
0
)
{
//图片单选
this
.
coverimg
=
obj
[
0
].
ImageUrl
;
this
.
addMsg
.
CoverImageId
=
obj
[
0
].
Id
}
else
if
(
this
.
type
==
1
)
{
//图片多选
if
(
this
.
addMsg
.
Type
==
1
)
{
//图文
}
else
if
(
this
.
type
==
1
)
{
//图片多选
if
(
this
.
addMsg
.
Type
==
1
)
{
//图文
this
.
$refs
.
UE_cb
.
instertImage
(
data
)
}
else
{
//图片消息
}
else
{
//图片消息
if
(
this
.
imgsList
.
length
==
0
)
{
this
.
coverimg
=
obj
[
0
].
ImageUrl
;
this
.
addMsg
.
CoverImageId
=
obj
[
0
].
Id
}
this
.
imgsList
=
this
.
imgsList
.
concat
(
obj
)
if
(
this
.
imgsList
.
length
>
9
)
{
this
.
imgsList
.
slice
(
0
,
9
)
}
}
}
if
(
this
.
type
==
2
)
{
if
(
this
.
iscover
==
true
)
{
//选择的音频
if
(
this
.
iscover
==
true
)
{
//选择的音频
this
.
audiourl
=
obj
[
0
].
Path
;
this
.
addMsg
.
VideoMediumId
=
obj
[
0
].
Id
;
this
.
addMsg
.
Title
=
obj
[
0
].
MediaName
}
else
{
//选择音频插入富文本
}
else
{
//选择音频插入富文本
this
.
$refs
.
UE_cb
.
insertaudio
(
data
)
}
}
if
(
this
.
type
==
3
)
{
this
.
$refs
.
UE_cb
.
insertVideo
(
data
)
}
this
.
getImgChoice
=
false
;
}
},
ClearCarouse
(
index
)
{
//删除图片
ClearCarouse
(
index
)
{
//删除图片
this
.
imgsList
.
splice
(
index
,
1
);
},
successUpload
(
file
)
{
...
...
@@ -456,8 +429,7 @@
this
.
$refs
.
UE_cb
.
instertImage
(
data
)
}
},
savemove
(
type
)
{
//普通的用户保存
savemove
(
type
)
{
//普通的用户保存
this
.
loading
=
true
if
(
this
.
addMsg
.
Type
==
5
)
{
this
.
addMsg
.
ImageList
=
[]
...
...
@@ -480,14 +452,12 @@
message
:
res
.
Message
,
position
:
'top'
})
// this.goblck()
}
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
savemoveManage
(
type
)
{
//管理的保存
savemoveManage
(
type
)
{
//管理的保存
if
(
this
.
addMsg
.
Type
==
5
)
{
this
.
addMsg
.
ImageList
=
[]
this
.
imgsList
.
forEach
(
x
=>
{
...
...
@@ -522,13 +492,11 @@
message
:
res
.
Message
,
position
:
'top'
})
// this.goblck()
}
}).
catch
(()
=>
{
this
.
loading
=
false
})
}
else
{
//预览 和 群发
}
else
{
//预览 和 群发
this
.
TagId
=
''
this
.
releasedialog
=
true
this
.
IsPreview
=
type
...
...
@@ -577,17 +545,14 @@
message
:
res
.
Message
,
position
:
'top'
})
// this.goblck()
this
.
releasedialog
=
false
}
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
goblck
()
{
//返回上一个页面
if
(
this
.
isManage
==
true
)
{
//是管理端的时候返回投稿发布
goblck
()
{
//返回上一个页面
if
(
this
.
isManage
==
true
)
{
//是管理端的时候返回投稿发布
this
.
$router
.
push
({
path
:
'/teacher/contribution/contributemanage'
,
});
...
...
@@ -596,7 +561,6 @@
path
:
'/teacher/contribution/imageTextlist'
,
});
}
},
tuisong
()
{
setContributeInfoPublish
({
...
...
@@ -605,28 +569,22 @@
IsPreview
:
1
,
TagId
:
'goodluck_cattle'
,
}).
then
(
res
=>
{
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
getapplet
()
{
//小程序弹窗
getapplet
()
{
//小程序弹窗
this
.
getappletChoice
=
true
},
getresult
(
data
)
{
//选择小程序的结果
getresult
(
data
)
{
//选择小程序的结果
this
.
getappletChoice
=
false
this
.
$refs
.
UE_cb
.
applet
(
data
)
},
getcontnet
(
data
,
length
)
{
if
(
this
.
addMsg
.
Type
==
2
)
{
let
obj
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
let
a
=
obj
.
replace
(
/<
\/
p>/g
,
'</p>
\
n'
)
//处理换行的问题
this
.
addMsg
.
Description
=
a
.
replace
(
/<
\/?
p
[^
>
]
*>/gi
,
''
)
let
a
=
obj
.
replace
(
/<
\/
p>/g
,
'</p>
\
n'
)
//处理换行的问题
this
.
addMsg
.
Description
=
a
.
replace
(
/<
\/?
p
[^
>
]
*>/gi
,
''
)
}
else
{
this
.
addMsg
.
Content
=
data
this
.
addMsg
.
SendContent
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
...
...
@@ -650,30 +608,24 @@
//_res 二维数维中保存了 值和值的重复数
var
_newArr
=
[];
for
(
var
i
=
0
;
i
<
_res
.
length
;
i
++
)
{
_newArr
.
push
(
{
name
:
_res
[
i
][
0
],
num
:
_res
[
i
][
1
]}
);
}
_newArr
.
forEach
(
x
=>
{
if
(
x
.
num
==
2
)
{
let
a
=
new
RegExp
(
`<mp-miniprogram
${
x
.
name
}
[^>]*>(.|\n)*<\/mp-miniprogram><span
${
x
.
name
}
></span>`
,
'g'
)
this
.
addMsg
.
SendContent
=
this
.
addMsg
.
SendContent
.
replace
(
a
,
''
)
_newArr
.
push
({
name
:
_res
[
i
][
0
],
num
:
_res
[
i
][
1
]
});
}
_newArr
.
forEach
(
x
=>
{
if
(
x
.
num
==
2
)
{
let
a
=
new
RegExp
(
`<mp-miniprogram
${
x
.
name
}
[^>]*>(.|\n)*<\/mp-miniprogram><span
${
x
.
name
}
></span>`
,
'g'
)
this
.
addMsg
.
SendContent
=
this
.
addMsg
.
SendContent
.
replace
(
a
,
''
)
}
// 清楚sengConent 里面不用的iframe
let
b
=
new
RegExp
(
`<iframe[^>]*>(.|\n)*<\/iframe><span
${
x
.
name
}
></span>`
,
'g'
)
this
.
addMsg
.
SendContent
=
this
.
addMsg
.
SendContent
.
replace
(
b
,
''
)
let
b
=
new
RegExp
(
`<iframe[^>]*>(.|\n)*<\/iframe><span
${
x
.
name
}
></span>`
,
'g'
)
this
.
addMsg
.
SendContent
=
this
.
addMsg
.
SendContent
.
replace
(
b
,
''
)
})
}
// console.log(this.addMsg.Content)
}
},
}
}
</
script
>
\ No newline at end of file
src/pages/teacher/contribution/contributeManage.vue
View file @
8f42f0fd
...
...
@@ -3,18 +3,16 @@
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-select
filled
stack-label
@
input=
"changePage(1)"
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.Type"
ref=
"Id"
:options=
"TypeList"
label=
"类型"
:dense=
"false"
emit-value
map-options
/>
<q-select
filled
stack-label
@
input=
"changePage(1)"
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.Type"
ref=
"Id"
:options=
"TypeList"
label=
"类型"
:dense=
"false"
emit-value
map-options
/>
</div>
<div
class=
"col-3"
>
<q-select
filled
stack-label
@
input=
"changePage(1)"
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.AuditState"
ref=
"Id"
:options=
"StateList"
label=
"状态"
:dense=
"false"
emit-value
map-options
/>
v-model=
"msg.AuditState"
ref=
"Id"
:options=
"StateList"
label=
"状态"
:dense=
"false"
emit-value
map-options
/>
</div>
<div
class=
"col-3"
>
<q-input
@
keyup
.
enter
.
native=
"changePage(1)"
@
clear=
"changePage(1)"
clearable
filled
v-model=
"msg.Title"
label=
"输入标题内容"
maxlength=
"20"
/>
<q-input
@
keyup
.
enter
.
native=
"changePage(1)"
@
clear=
"changePage(1)"
clearable
filled
v-model=
"msg.Title"
label=
"输入标题内容"
maxlength=
"20"
/>
</div>
</div>
</div>
...
...
@@ -29,9 +27,8 @@
</
template
>
<
template
v-slot:body-cell-CoverImagePath=
"props"
>
<q-td
:props=
"props"
>
<el-image
v-if=
"props.row.Type==1 || props.row.Type==5"
style=
"width: 200px;height: 100px;padding: 10px 0 ;"
:src=
"props.row.CoverImagePath"
fit=
"cover"
></el-image>
<el-image
v-if=
"props.row.Type==1 || props.row.Type==5"
style=
"width: 200px;height: 100px;padding: 10px 0 ;"
:src=
"props.row.CoverImagePath"
fit=
"cover"
></el-image>
<div
v-if=
"props.row.Type==4"
style=
"width: 200px;height: 80px;display: flex;align-items: center;justify-content: center;background: #f6f7f8;"
>
<img
src=
"../../../assets/images/Noticen.png"
alt=
""
style=
"width: 41px;height: 39px;"
>
...
...
@@ -43,7 +40,8 @@
<
template
v-slot:body-cell-Title=
"props"
>
<q-td
:props=
"props"
>
<span>
{{
props
.
row
.
Title
}}
</span>
<div
style=
"width: 200px;overflow: hidden ;max-height: 78px;display: inline-block;white-space:pre-wrap"
v-if=
"props.row.Type==2"
v-html=
"props.row.Description"
></div>
<div
style=
"width: 200px;overflow: hidden ;max-height: 78px;display: inline-block;white-space:pre-wrap"
v-if=
"props.row.Type==2"
v-html=
"props.row.Description"
></div>
<div
v-if=
"props.row.Type==5"
style=
"width: 200px;overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
...
...
@@ -56,15 +54,15 @@
<!--
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-view"
style=
"font-weight:400;color: #3FC4FF"
class=
"q-mr-xs"
label=
"详情"
@
click=
"viewDetails(props.row)"
/>
-->
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #3FC4FF"
class=
"q-mr-xs
"
label=
"修改"
@
click=
"goedit(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #3FC4FF"
class=
"q-mr-xs"
label=
"修改
"
@
click=
"goedit(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-fabu"
style=
"font-weight:400;color: purple"
class=
"q-mr-xs"
label=
"发布"
@
click=
"release(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-lianluojilu"
style=
"font-weight:400;color: purple"
class=
"q-mr-xs"
label=
"发布记录"
@
click=
"releaserecord(props.row)"
>
label=
"发布记录"
@
click=
"releaserecord(props.row)"
>
<q-popup-proxy
transition-show=
"flip-up"
transition-hide=
"flip-down"
>
<div
style=
"padding: 10px;"
>
<el-table
:data=
"recordDate"
border
>
<el-table
:data=
"recordDate"
border
>
<el-table-column
width=
"100"
property=
"PlatfromName"
label=
"平台"
></el-table-column>
<el-table-column
width=
"200"
property=
"Content"
label=
"内容"
>
<template
slot-scope=
"scope"
>
...
...
@@ -74,7 +72,7 @@
<el-table-column
width=
"100"
property=
"UpdateByName"
label=
"操作人"
></el-table-column>
<el-table-column
width=
"100"
property=
"UpdateByName"
label=
"状态"
>
<
template
slot-scope=
"scope"
>
<div
>
{{
scope
.
row
.
Msg_Id
!=
null
&&
scope
.
row
.
Msg_Id
!=
''
?
'已发布'
:
'-'
}}
</div>
<div
>
{{
scope
.
row
.
Msg_Id
!=
null
&&
scope
.
row
.
Msg_Id
!=
''
?
'已发布'
:
'-'
}}
</div>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
property=
"UpdateTime"
label=
"操作时间"
></el-table-column>
...
...
@@ -86,8 +84,8 @@
</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"
/>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount
"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
</div>
...
...
@@ -97,13 +95,13 @@
<div
class=
"text-h6"
>
投稿发布
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"publishMsg.Platform
Id"
ref=
"Id"
:options=
"platTypeList"
label=
"发布平台"
:dense=
"false"
emit-value
map-options
/>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"publishMsg.PlatformId"
ref=
"
Id"
:options=
"platTypeList"
label=
"发布平台"
:dense=
"false"
emit-value
map-options
/>
<div
style=
"display: flex;align-items: center;margin: 10px 0 ;"
>
展示方式:
<q-radio
v-model=
"publishMsg.IsPreview"
val=
"0"
label=
"上传不发布"
v-if=
"publishMsg.Type==1"
/>
<q-radio
v-model=
"publishMsg.IsPreview"
val=
"1"
label=
"预览"
@
input=
"publishMsg.TagId=''"
/>
<q-radio
v-model=
"publishMsg.IsPreview"
val=
"2"
label=
"群发"
@
input=
"publishMsg.TagId=''"
/>
<q-radio
v-model=
"publishMsg.IsPreview"
val=
"0"
label=
"上传不发布"
v-if=
"publishMsg.Type==1"
/>
<q-radio
v-model=
"publishMsg.IsPreview"
val=
"1"
label=
"预览"
@
input=
"publishMsg.TagId=''"
/>
<q-radio
v-model=
"publishMsg.IsPreview"
val=
"2"
label=
"群发"
@
input=
"publishMsg.TagId=''"
/>
</div>
<div
style=
"color: red;font-size: 12px;margin: 5px 0 10px;"
>
<span
v-if=
'publishMsg.IsPreview==0'
>
注:只上传到公众号平台不发布
</span>
...
...
@@ -112,15 +110,14 @@
</div>
<q-input
v-if=
'publishMsg.IsPreview==1'
clearable
filled
v-model=
"publishMsg.TagId"
label=
"输入微信号"
maxlength=
"30"
/>
<q-select
v-if=
'publishMsg.IsPreview==2'
clearable
filled
stack-label
option-value=
"id"
option-label=
"name"
v-model=
"publishMsg.TagId
"
:options=
"tagList"
label=
"用户标签"
:dense=
"false"
emit-value
map-options
/>
<q-select
v-if=
'publishMsg.IsPreview==2'
clearable
filled
stack-label
option-value=
"id"
option-label=
"name
"
v-model=
"publishMsg.TagId"
:options=
"tagList"
label=
"用户标签"
:dense=
"false"
emit-value
map-options
/>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeCourseForm"
/>
<q-btn
label=
"立即提交"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
:loading=
"saveCourseLoading"
@
click=
"saveCourse"
/>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeCourseForm"
/>
<q-btn
label=
"立即提交"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
:loading=
"saveCourseLoading"
@
click=
"saveCourse"
/>
</q-card-actions>
</q-card>
</q-dialog>
...
...
@@ -138,7 +135,7 @@
getGZHUserTagList
}
from
'../../../api/teacher/contribution'
;
import
{
GetContributePlatfrom
,
//获取平台
GetContributePlatfrom
,
//获取平台
}
from
'../../../api/system/wechat'
;
export
default
{
meta
:
{
...
...
@@ -155,11 +152,11 @@
pageSize
:
15
,
rowsPerPage
:
15
,
AuditState
:
"-1"
,
//审核状态
Type
:
'-1'
,
//类型
Title
:
''
,
//标题
Type
:
'-1'
,
//类型
Title
:
''
,
//标题
},
TypeList
:
[],
//类型
StateList
:
[],
//状态
TypeList
:
[],
//类型
StateList
:
[],
//状态
data
:
[],
pageCount
:
0
,
columns
:
[{
...
...
@@ -211,15 +208,15 @@
}
],
TypeList2
:
[],
platTypeList
:
[],
//平台列表
platTypeList
:
[],
//平台列表
publishMsg
:
{
ContributeId
:
0
,
PlatformId
:
1
,
IsPreview
:
0
,
TagId
:
''
},
recordDate
:
[],
tagList
:
[],
recordDate
:
[],
tagList
:
[],
}
},
...
...
@@ -228,13 +225,12 @@
this
.
getPlatForm
()
this
.
getStateList
()
this
.
getList
()
this
.
getGZHUserTagList
()
//获取公众号的用户标签
this
.
getGZHUserTagList
()
//获取公众号的用户标签
},
methods
:
{
//获取已开放平台
getPlatForm
()
{
GetContributePlatfrom
({}).
then
(
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
)
{
this
.
platTypeList
=
res
.
Data
;
}
...
...
@@ -293,27 +289,28 @@
})
},
release
(
row
)
{
//发布
release
(
row
)
{
//发布
this
.
publishMsg
.
ContributeId
=
row
.
Id
;
this
.
publishMsg
.
PlatformId
=
1
;
//默认为微信公众号
this
.
publishMsg
.
PlatformId
=
1
;
//默认为微信公众号
this
.
publishMsg
.
IsPreview
=
'1'
;
this
.
publishMsg
.
TagId
=
''
;
this
.
publishMsg
.
Type
=
row
.
Type
;
this
.
releasedialog
=
true
},
releaserecord
(
row
){
getContributeInfoPublishLogList
({
ContributeId
:
row
.
Id
}).
then
(
res
=>
{
releaserecord
(
row
)
{
getContributeInfoPublishLogList
({
ContributeId
:
row
.
Id
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
recordDate
=
res
.
Data
this
.
recordDate
=
res
.
Data
}
}).
catch
(()
=>
{
})
}).
catch
(()
=>
{})
},
closeCourseForm
()
{
this
.
releasedialog
=
false
},
saveCourse
()
{
//发布投稿
saveCourse
()
{
//发布投稿
if
(
this
.
publishMsg
.
PlatformId
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
...
...
@@ -322,7 +319,7 @@
})
return
}
if
(
this
.
publishMsg
.
IsPreview
==
1
&&
this
.
publishMsg
.
TagId
==
''
)
{
if
(
this
.
publishMsg
.
IsPreview
==
1
&&
this
.
publishMsg
.
TagId
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
`请输入预览的微信号`
,
...
...
@@ -330,7 +327,7 @@
})
return
}
this
.
saveCourseLoading
=
true
this
.
saveCourseLoading
=
true
//推送
setContributeInfoPublish
(
this
.
publishMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
...
...
@@ -351,14 +348,14 @@
},
goedit
(
row
)
{
//编辑
goedit
(
row
)
{
//编辑
this
.
OpenNewUrl
(
"/teacher/contribution/addimageText"
,
{
type
:
row
.
Type
,
Id
:
row
.
Id
,
isM
:
1
,
isM
:
1
,
});
},
goadd
(
type
)
{
//新增
goadd
(
type
)
{
//新增
this
.
OpenNewUrl
(
"/teacher/contribution/addimageText"
,
{
type
:
type
...
...
@@ -367,7 +364,6 @@
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
...
...
src/pages/teacher/contribution/graphicType.vue
View file @
8f42f0fd
...
...
@@ -34,7 +34,6 @@
}
},
created
()
{
// console.log(this.$route.query)
if
(
this
.
$route
.
query
){
this
.
Image
=
this
.
$route
.
query
.
Image
;
this
.
Name
=
this
.
$route
.
query
.
Name
;
...
...
src/pages/teacher/contribution/ue/contributionUE.vue
View file @
8f42f0fd
...
...
@@ -116,7 +116,8 @@
let
html
=
''
;
//s视频
fileArray
.
forEach
(
item
=>
{
html
+=
"<iframe frameborder='0' width='100%' height='200px' src='https://v.qq.com/iframe/player.html?vid=v326875u4ek' allowfullscreen='true'></iframe>"
html
+=
"<iframe frameborder='0' width='100%' height='200px' src='https://v.qq.com/iframe/player.html?vid=v326875u4ek' allowfullscreen='true'></iframe>"
})
if
(
html
&&
html
!=
''
)
{
...
...
@@ -157,24 +158,29 @@
},
applet
(
data
)
{
let
html
=
''
;
if
(
data
.
type
==
1
)
{
//文字小程序
html
+=
`<p><a data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
" href="">
${
data
.
title
}
</a></p>`
;
if
(
data
.
type
==
1
)
{
//文字小程序
html
+=
`<p><a data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
" href="">
${
data
.
title
}
</a></p>`
;
}
else
if
(
data
.
type
==
2
)
{
//图片小程序
html
+=
`<p><a data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
" href=""><img src="
${
data
.
imgUrl
}
" alt="" data-width="null" ></a></p>`
}
else
if
(
data
.
type
==
2
)
{
//图片小程序
html
+=
`<p><a data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
" href=""><img src="
${
data
.
imgUrl
}
" alt="" data-width="null" ></a></p>`
}
else
if
(
data
.
type
==
3
)
{
let
dataTime
=
Date
.
parse
(
new
Date
())
// 给公众号的写法
html
+=
`<mp-miniprogram data-time="
${
dataTime
}
" data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
"
html
+=
`<mp-miniprogram data-time="
${
dataTime
}
" data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
"
data-miniprogram-title="
${
data
.
title
}
"
data-miniprogram-imageurl="
${
data
.
imgUrl
}
"
data-miniprogram-type="card" data-miniprogram-servicetype="0"></mp-miniprogram><span data-time="
${
dataTime
}
"></span>`
//自己看的写法
html
+=
'<p><iframe height="320" width="auto" data-time='
+
dataTime
+
' data-miniprogram-appid='
+
data
.
appletmsg
.
AppID
+
' frameborder="0" allowtransparency="true" '
+
html
+=
'<p><iframe height="320" width="auto" data-time='
+
dataTime
+
' data-miniprogram-appid='
+
data
.
appletmsg
.
AppID
+
' frameborder="0" allowtransparency="true" '
+
' style="background-color:transparent;border-radius: 3px;overflow: hidden;z-index: 0;" scrolling="no" '
+
' src="http://edu.oytour.com/#/teacher/contribution/graphicType?Name='
+
data
.
appletmsg
.
Name
+
'&Image='
+
data
.
appletmsg
.
Image
+
'&title='
+
data
.
title
+
'&imgUrl='
+
data
.
imgUrl
+
'" class="ans-insertaudio-module" module="_insertaudio">'
+
' </iframe><span data-time='
+
dataTime
+
'></span></p>'
;
'" class="ans-insertaudio-module" module="_insertaudio">'
+
' </iframe><span data-time='
+
dataTime
+
'></span></p>'
;
}
...
...
@@ -254,7 +260,6 @@
});
this
.
ue
.
addListener
(
'keyup'
,
editor
=>
{
this
.
isInputChange
=
true
;
// this.$emit('input', this.ue.getContent());
});
this
.
ue
.
addListener
(
'contentChange'
,
(
editor
,
e
)
=>
{
this
.
isInputChange
=
true
;
...
...
@@ -268,7 +273,7 @@
this
.
$emit
(
'focus'
);
});
this
.
ue
.
addListener
(
'selectionchange'
,
editor
=>
{
// console.log(this.ue.selection.getStart() )
})
this
.
ue
.
addListener
(
'click'
,
(
editor
,
a
)
=>
{
...
...
@@ -276,7 +281,6 @@
}
},
}
</
script
>
<
style
scoped
>
...
...
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