Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
4de19274
提交
4de19274
编写于
6月 30, 2020
作者:
guangjun.yang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新建广告等
上级
24cfaca9
变更
3
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
1035 行增加
和
8 行删除
+1035
-8
router.js
src/router/router.js
+5
-0
advert-simple-manage.vue
src/views/education/advert-simple-manage.vue
+6
-8
edit-simple-manage.vue
src/views/education/edit-simple-manage.vue
+1024
-0
未找到文件。
src/router/router.js
浏览文件 @
4de19274
...
...
@@ -48,6 +48,7 @@ const editCustom = r => require.ensure([], () => r(require('../views/education/e
const
externalResourceManage
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/external-resource-manage.vue'
)),
'external-resource-manage'
)
const
auditCustomCourse
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/audit-custom-course.vue'
)),
'audit-custom-course'
)
const
advertSimpleManage
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/advert-simple-manage.vue'
)),
'advert-simple-manage'
)
const
editSimpleManage
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/edit-simple-manage.vue'
)),
'edit-simple-manage'
)
const
noticeEditor
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/notice-editor.vue'
)),
'notice-editor'
)
...
...
@@ -239,6 +240,10 @@ export default [{
path
:
'/advert-simple-manage'
,
component
:
advertSimpleManage
,
},
{
path
:
'/edit-simple-manage'
,
component
:
editSimpleManage
,
},
// {
// path: '/followup',
// name: 'followUp',
...
...
src/views/education/advert-simple-manage.vue
浏览文件 @
4de19274
...
...
@@ -119,6 +119,7 @@
},
methods
:
{
//
getHtmlStatus
(
status
)
{
if
(
status
==
0
)
{
return
`<span style="color:#666666;">未发布</span>`
;
...
...
@@ -134,7 +135,6 @@
// 查询列表
search
()
{
let
searchForm
=
Object
.
assign
({},
this
.
searchForm
);
this
.
GET
(
"contents/course/custom/check/v1/list"
,
searchForm
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
tableList
=
res
.
data
&&
res
.
data
.
courseList
||
[];
...
...
@@ -147,22 +147,19 @@
// 重置
reset
()
{
this
.
searchForm
=
{
courseName
:
''
,
projectId
:
''
,
status
:
-
1
,
createdDoctorName
:
''
,
pageNo
:
1
,
pageSize
:
15
,
};
},
// 查看
每种查看的方式不一样
// 查看
editAdvert
(
row
)
{
console
.
log
(
row
);
this
.
$router
.
push
({
path
:
'
audit-custom-cours
e'
,
path
:
'
edit-simple-manag
e'
,
query
:
{
courseId
:
row
.
courseId
,
createdDoctorName
:
row
.
createdDoctorName
,
id
:
row
.
id
,
}
})
},
...
...
@@ -172,6 +169,7 @@
this
.
$refs
[
formName
].
resetFields
();
},
// 切换每页个数
handleSizeChange
(
val
){
this
.
searchForm
.
pageSize
=
val
;
this
.
search
();
...
...
src/views/education/edit-simple-manage.vue
0 → 100644
浏览文件 @
4de19274
<
template
>
<div
class=
"edit-entry-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
></bread-crumb>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"header-title"
>
{{
title
}}
</div>
<el-form
ref=
"formData"
:model=
"formData"
:rules=
"rules"
label-width=
"150px"
class=
"basic-form"
>
<el-form-item
label=
"入口名称:"
prop=
"entryName"
>
<el-col
:span=
"13"
>
<el-input
size=
"small"
v-model=
"formData.entryName"
placeholder=
"请输入名称"
style=
"width:70%;"
:disabled=
"peopleLevel == 'L3'"
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
entryName
).
replace
(
/
\s
+/g
,
""
).
length
}}
/24
</span>
</el-col>
</el-form-item>
<!--
<el-form-item
label=
"发起机构:"
prop=
"organizationName"
>
-->
<el-form-item
label=
"发起机构:"
>
<el-col
:span=
"13"
v-for=
"(item, index) in formData.organizationNameList"
:key=
"index"
>
<el-input
size=
"small"
v-model=
"formData.organizationNameList[index]"
placeholder=
"请输入发起机构名称"
style=
"width:70%;"
maxlength=
16
:disabled=
"peopleLevel == 'L3'"
@
input=
"changeOrganizationName"
@
blur=
"blurName"
@
focus=
"focusName(index)"
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
organizationNameList
[
index
]).
replace
(
/
\s
+/g
,
""
).
length
}}
/16
</span>
<img
@
click=
"plusOrg(index)"
class=
"edit-img"
src=
"../../assets/image/plus.png"
/>
<img
@
click=
"deleteOrg(index)"
v-if=
"index >= 1"
class=
"edit-img"
src=
"../../assets/image/trash.png"
/>
</el-col>
<el-popover
class=
"popover-content"
:style=
"
{'top': orgListIndex * 41 + 'px'}"
placement="bottom"
:content="organizationContent"
v-model="visibleName"
@click="checkDefault"
>
<p
@
click=
"checkDefault"
>
我的机构:
{{
organizationContent
}}
</p>
</el-popover>
</el-form-item>
<el-form-item
label=
"项目时间:"
required
>
<el-col
:span=
"5"
>
<el-form-item
prop=
"entryBegintime"
>
<el-date-picker
v-model=
"formData.entryBegintime"
size=
"small"
type=
"datetime"
placeholder=
"请选择开始时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
:picker-options=
"pickerOptions0"
style=
"width: 100%;"
:disabled=
"peopleLevel == 'L3'"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
class=
"line"
:span=
"1"
>
~
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label
prop=
"entryEndtime"
>
<el-date-picker
v-model=
"formData.entryEndtime"
size=
"small"
type=
"datetime"
placeholder=
"请选择结束时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
:picker-options=
"pickerOptions1"
default-time=
"23:59:59"
style=
"width: 100%;"
:disabled=
"peopleLevel == 'L3'"
></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item
label=
"入口简介:"
prop=
"entryIntro"
>
<el-col
:span=
"13"
>
<el-input
size=
"small"
type=
"textarea"
:autosize=
"
{ minRows: 5}"
placeholder="请输入入口简介"
v-model="formData.entryIntro"
style="width:83%;"
:disabled="peopleLevel == 'L3'"
>
</el-input>
<span
class=
"word-num"
>
{{
(
formData
.
entryIntro
).
replace
(
/
\s
+/g
,
""
).
length
}}
/200
</span>
</el-col>
</el-form-item>
<div
class=
"basic-item-icon"
>
<span
class=
"require"
>
*
</span>
<el-form-item
label=
"列表图片:"
>
<el-upload
v-model=
"formData.attachmentUrl1"
class=
"bg-uploader"
action=
"#"
:show-file-list=
"false"
:before-upload=
"beforeUploadListPic"
:disabled=
"peopleLevel == 'L3'"
>
<img
v-if=
"formData.attachmentUrl1"
@
mouseover
.
stop=
"imgMouseOver=true && peopleLevel != 'L3'"
:src=
"formData.attachmentUrl1"
class=
"bg-img"
/>
<img
v-if=
"!formData.attachmentUrl1"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
class=
"img-delete"
v-show=
"imgMouseOver"
@
click
.
stop=
"deleteImg(1)"
@
mouseout
.
stop=
"imgMouseOver=false"
>
<i
class=
"el-icon-delete"
></i>
</div>
<div
class=
"limit-text"
>
<p>
尺寸:230*172
</p>
<p>
限制大小: 500Kb
</p>
<p>
支持.jpg,.png格式
</p>
</div>
</el-upload>
</el-form-item>
<p
class=
"upload-message"
v-if=
"uploadImgMessage"
>
请选择列表图片
</p>
</div>
<el-form-item
label=
"封面类型:"
>
<el-radio-group
size=
"small"
v-model=
"formData.type"
@
change=
"changeCover"
:disabled=
"peopleLevel == 'L3'"
>
<el-radio
:label=
"1"
>
图片
</el-radio>
<el-radio
:label=
"2"
>
视频
</el-radio>
</el-radio-group>
</el-form-item>
<div
class=
"basic-item-icon"
>
<span
class=
"require"
>
*
</span>
<el-form-item
label=
"封面文件:"
>
<el-upload
v-model=
"formData.attachmentUrl2"
class=
"bg-uploader"
action=
"#"
:show-file-list=
"false"
:before-upload=
"beforeUploadCoverPic"
:disabled=
"peopleLevel == 'L3'"
>
<img
v-if=
"formData.type == 1 && formData.attachmentUrl2"
:src=
"formData.attachmentUrl2"
@
mouseover
.
stop=
"imgMouseOver2=true && peopleLevel != 'L3'"
class=
"bg-img"
/>
<video
v-if=
"formData.type == 2 && formData.attachmentUrl2"
width=
"100"
controls
class=
"bg-video"
@
mouseover
.
stop=
"imgMouseOver2=true && peopleLevel != 'L3'"
>
<source
:src=
"formData.attachmentUrl2"
type=
"video/mp4"
/>
浏览器不支持mp4
</video>
<img
v-if=
"!formData.attachmentUrl2"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
class=
"img-delete"
v-show=
"imgMouseOver2"
@
click
.
stop=
"deleteImg(2)"
@
mouseout
.
stop=
"imgMouseOver2=false"
>
<i
class=
"el-icon-delete"
></i>
</div>
<div
v-show=
"formData.type == 1"
class=
"limit-text"
>
<p>
尺寸:750*420
</p>
<p>
限制大小: 2.0 Mb
</p>
<p>
支持.jpg,.png格式
</p>
</div>
<div
v-show=
"formData.type == 2"
class=
"limit-text"
>
<p></p>
<p>
限制大小: 500 Mb
</p>
<p>
支持.mp4
</p>
</div>
</el-upload>
</el-form-item>
<p
class=
"upload-message"
v-if=
"uploadImgMessage2"
>
请选择封面
</p>
</div>
<el-form-item
label=
"关联项目:"
>
<el-col
:span=
"10"
>
<!-- :disabled="projectStatus == 3 || projectStatus == 4 || projectStatus == 5 || projectStatus == 6" -->
<el-select
v-model=
"formData.project"
multiple
collapse-tags
style=
"width: 350px"
placeholder=
"关联项目"
@
change=
"changeValue"
filterable
>
<el-option
v-for=
"item in optionsProject"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:disabled=
"item.disabled"
></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item
label=
"已选择:"
class=
"check-project"
>
<el-col
:span=
"10"
class=
"tags-list"
>
<el-tag
class=
"tags-project"
v-for=
"tag in tagsProject"
v-bind:class=
"
{'tags-project-online': tag.disabled === true }"
:key="tag.value"
closable
:type="tag.type"
style="margin-left: 10px;"
@close="handleCloseProject(tag)"
>
{{
tag
.
name
}}
</el-tag>
</el-col>
</el-form-item>
</el-form>
<el-dialog
title=
"确认上架"
:visible
.
sync=
"dialogUp"
width=
"30%"
center
>
<p
class=
"dialog_p"
>
该项目已关联
<span>
0
</span>
个子项目
</p>
<p
class=
"dialog_p"
>
继续上架,将在APP端无法显示该项目
</p>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"insertOrUpdate(2)"
>
确认上架
</el-button>
<el-button
type=
"primary"
@
click=
"dialogUp = false"
>
取消
</el-button>
</span>
</el-dialog>
</div>
</div>
</
template
>
<
script
>
import
BreadCrumb
from
"../../components/breadcrumb.vue"
;
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
;
import
{
mapGetters
}
from
"vuex"
;
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
*
as
commonUtil
from
"../../utils/utils"
;
import
*
as
operationData
from
"../../utils/operation"
;
import
Sortable
from
"sortablejs"
;
let
vm
=
null
;
export
default
{
components
:
{
BreadCrumb
},
data
()
{
let
checkProjectStr
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
.
indexOf
(
"
\
\"
) != -1) {
callback(new Error("
请勿输入字符“
\\
”
"));
} else if (value.indexOf("
.
") != -1) {
callback(new Error("
请勿输入字符“
.
”
"));
} else {
callback();
}
};
return {
curmbFirst: "
广告位管理
",
// curmbSecond: "
项目组件
",
// curmbThird: "
编辑广告位
",
title: "
编辑广告位
",
showStorage: false,
entryId: null,
peopleLevel: null,
uploadImgMessage: false,
uploadImgMessage2: false,
imgMouseOver: false,
imgMouseOver2: false,
organizationContent: "
云鹊医
",
statusValue: 0,
dialogUp: false,
formData: {
entryName: "",
entryBegintime: "",
entryEndtime: "",
entryIntro: "",
type: 1,
attachmentUrl1: "",
attachmentUrl2: "",
attachmentMore1: {},
attachmentMore2: {},
organizationName: "",
organizationNameList: [''],
project: []
},
orgListIndex: 0,
optionsProject: [],
tagsProject: [],
visibleName: false,
entryOptionData: {},
pickerOptions0: {
disabledDate: time => {
if (
this.formData.entryEndtime != "" &&
this.formData.entryEndtime != null
) {
return (
time.getTime() > new Date(this.formData.entryEndtime).getTime()
);
}
}
},
pickerOptions1: {
disabledDate: time => {
return (
time.getTime() < new Date(this.formData.entryBegintime).getTime()
); //减去一天的时间代表可以选择同一天;
}
},
rules: {
entryName: [
{ required: true, message: "
请输入项目名称
", trigger: "
blur
" },
{
min: 2,
max: 24,
message: "
输入长度为
2
-
24
的内容,可包含中英文、数字及特殊符号
",
trigger: "
blur
"
},
{ validator: checkProjectStr, trigger: "
blur
" }
],
organizationName: [
{ required: true, message: "
请填写发起机构名称
", trigger: "
blur
" },
{
min: 1,
max: 16,
message: "
超过
12
个最大字数限制,请精简字数或使用简称
",
trigger: "
blur
"
}
],
entryBegintime: [
{
required: true,
message: "
请选择时间
",
trigger: "
change
"
}
],
entryEndtime: [
{
required: true,
message: "
请选择时间
",
trigger: "
change
"
}
],
type: [
{
type: "
array
",
required: true,
message: "
请至少选择一个活动性质
",
trigger: "
change
"
}
],
entryIntro: [
{ required: true, message: "
请填写项目简介
", trigger: "
blur
" },
{ min: 1, max: 200, message: "
超出可输入的最大长度
", trigger: "
blur
" }
],
attachmentUrl1: [
{ required: true, message: "
请选择列表图片
", trigger: "
blur
" }
],
attachmentUrl2: [
{ required: true, message: "
请选择封面
", trigger: "
blur
" }
]
}
};
},
computed: {
...mapGetters(["
_token
"])
},
created() {
vm = this;
vm.entryId = vm.getUrlSearch(window.location.href, "
entryId
");
vm.peopleLevel = vm.getUrlSearch(window.location.href, "
level
");
vm.initTitle();
vm.initOption();
// vm.getEntryData();
},
mounted: function() {
commonUtil.resizeHeight();
},
methods: {
plusOrg(index) {
vm.formData.organizationNameList.splice(index + 1, 0, '');
},
deleteOrg(index) {
vm.formData.organizationNameList.splice(index, 1);
},
initTitle() {
if (vm.id == null) {
vm.title = "
编辑广告位
";
vm.curmbThird = "
编辑广告位
";
vm.showStorage = true;
} else {
vm.title = "
编辑入口
";
vm.curmbThird = "
编辑入口
";
vm.showStorage = false;
}
},
setOption(data) {
let list = [];
for(let i = 0; i<data.length ; i++) {
let obj = {
value: data[i].projectId,
label: data[i].projectName,
}
list.push(obj);
}
return list;
},
initOption() {
vm.optionsProject = [];
let req = {};
openLoading(vm);
vm.GET("
portal
/
entryInfo
/
getProjectList
", req).then(res => {
closeLoading(vm);
if (res.code == "
000000
") {
vm.optionsProject = vm.setOption(res.data);
vm.getEntryData();
}
});
},
checkOrgNameList() {
let nameList = this.formData.organizationNameList;
for(let i = 0; i < nameList.length; i ++) {
if(!nameList[i]) {
this.$message.error('发起机构名称不可以为空');
return false;
}
}
for(let i = 0; i < nameList.length - 1; i ++) {
for(let j = i + 1; j < nameList.length; j ++) {
if(nameList[i] == nameList[j]) {
this.$message.error('发起机构名称不能重复');
return false;
}
}
}
return true;
},
submitForm(formName) {
let flag = null;
this.$refs[formName].validate(valid => {
if (valid) {
flag = true;
} else {
console.log("
error
submit
!!
");
flag = false;
}
});
return flag;
},
resetForm(formName) {
this.$refs[formName].resetFields();
},
// 删除图片
deleteImg(type) {
if (type == 1) {
vm.formData.attachmentUrl1 = "";
vm.imgMouseOver = false;
} else {
vm.formData.attachmentUrl2 = "";
vm.imgMouseOver2 = false;
}
},
changeCover(radio) {
this.formData.attachmentUrl2 = "";
},
beforeUploadListPic(file) {
let fileLimit = {
width: 230,
height: 172,
size: 0.5,
sizeText: "
500
K
",
key: "
attachmentUrl1
",
more: "
attachmentMore1
",
show: "
uploadImgMessage
"
};
this.beforeAvatarUpload(file, fileLimit);
},
beforeUploadCoverPic(file) {
let fileLimit = {
width: 750,
height: 420,
size: 2,
sizeText: "
2.0
M
",
key: "
attachmentUrl2
",
more: "
attachmentMore2
",
show: "
uploadImgMessage2
"
};
if (this.formData.type == 1) {
this.beforeAvatarUpload(file, fileLimit);
} else {
this.beforeUploadMp4(file);
}
},
beforeAvatarUpload(file, fileLimit) {
const isJPG = file.type === "
image
/
jpeg
";
const isPNG = file.type === "
image
/
png
";
const isLt2M = file.size / 1024 / 1024 < fileLimit.size;
if (!isJPG && !isPNG) {
this.$message.error("
图片不符合规范,请根据规范上传图片
");
return;
}
if (!isLt2M) {
this.$message.error("
图片不符合规范,请根据规范上传图片
");
return;
}
let _img = new FileReader();
_img.readAsDataURL(file);
_img.onload = function(theFile) {
let image = new Image();
image.src = theFile.target.result;
image.onload = function() {
let _this = this;
if (
_this.width != fileLimit.width ||
_this.height != fileLimit.height
) {
vm.$message.error("
图片不符合规范,请根据规范上传图片
");
} else {
openLoading(vm);
doUpload(
vm,
file,
getFilePath(file, null),
"
preview4
",
"
progress1
",
1
).then(function(path) {
closeLoading(vm);
console.log(path);
if (fileLimit.show == "
uploadImgMessage
") {
vm.uploadImgMessage = false;
} else if (fileLimit.show == "
uploadImgMessage2
") {
vm.uploadImgMessage2 = false;
}
vm.formData[fileLimit.key] = path.fullPath;
vm.formData[fileLimit.more] = {
attachmentName: path.name,
attachmentExt: path.ext,
attachmentSize: path.size
};
console.log("
!!!
" + vm.formData[fileLimit.key]);
vm.$message.success("
上传成功
");
});
}
};
};
return isJPG && isLt2M;
},
beforeUploadMp4(file) {
console.log(file);
const isMP4 = file.type === "
video
/
mp4
";
const isLt = file.size / 1024 / 1024 < 500;
if (!isLt) {
this.$message.error("
视频不符合规范,请根据规范上传视频
");
return;
}
if (!isMP4) {
this.$message.error("
视频不符合规范,请根据规范上传视频
");
} else {
openLoading(vm);
doUpload(
vm,
file,
getFilePath(file, null),
"
preview4
",
"
progress1
",
""
).then(function(path) {
closeLoading(vm);
console.log(path);
vm.uploadImgMessage2 = false;
vm.formData.attachmentUrl2 = path.fullPath;
vm.$message.success("
上传成功
");
});
}
},
checkDefault() {
// vm.formData.organizationNameList[0] = vm.organizationContent;
vm.formData.organizationNameList.splice(this.orgListIndex, 1, vm.organizationContent);
// vm.formData.organizationNameList.push(vm.organizationContent);
// vm.formData.organizationName = vm.organizationContent;
vm.visibleName = false;
},
blurName() {
vm.visibleName = false;
setTimeout(function() {
// console.log('失去焦点');
vm.submitForm("
formData
");
}, 200);
},
focusName(index) {
let textLength = vm.formData.organizationNameList[index].length;
if (textLength == 0) {
this.orgListIndex = index;
vm.visibleName = true;
} else {
vm.visibleName = false;
}
},
changeOrganizationName() {
let textLength = vm.formData.organizationName.length;
if (textLength == 0) {
vm.visibleName = true;
} else {
vm.visibleName = false;
}
},
tagDrop() {
this.$nextTick(function() {
if (vm.tagsProject.length > 0) {
const ele = document.querySelector("
.
check
-
project
.
el
-
col
-
10
");
// console.log('ele',ele);
Sortable.create(ele, {
onEnd({ newIndex, oldIndex }) {
const currRow = vm.tagsProject.splice(oldIndex, 1)[0];
vm.tagsProject.splice(newIndex, 0, currRow);
}
});
}
});
},
changeValue(value) {
this.tagsProject = [];
let len = 0;
for (let i = 0; i < value.length; i++) {
for (let j = 0; j < this.optionsProject.length; j++) {
if (value[i] == this.optionsProject[j].value) {
this.tagsProject[len] = {};
this.tagsProject[len] = this.optionsProject[j];
this.tagsProject[len].value = this.optionsProject[j].value;
this.tagsProject[len].name = this.optionsProject[j].label;
len++;
}
}
}
vm.tagDrop();
},
initTags(value) {
vm.tagsProject = [];
let len = 0;
for (let i = 0; i < value.length; i++) {
for (let j = 0; j < vm.optionsProject.length; j++) {
if (value[i] == vm.optionsProject[j].value) {
vm.tagsProject[len] = {};
vm.tagsProject[len].value = vm.optionsProject[j].value;
vm.tagsProject[len].name = vm.optionsProject[j].label;
len++;
}
}
}
},
handleCloseProject(tag) {
if (tag.disabled == true) {
return;
}
vm.tagsProject.splice(vm.tagsProject.indexOf(tag), 1);
vm.formData.project = [];
for (let j = 0; j < vm.tagsProject.length; j++) {
vm.formData.project[j] = vm.tagsProject[j].value;
}
},
getEntryData() {
if (vm.entryId == null) {
return;
}
let req = {
entryId: vm.entryId
};
openLoading(vm);
vm.GET("
portal
/
entryInfo
/
getEntry
", req).then(res => {
closeLoading(vm);
if (res.code == "
000000
") {
vm.setEditData(res.data);
vm.entryOptionData = res.data;
vm.statusValue = res.data.portalEntry.entryStatus;
// console.log("
portalEntryUniInfo
", vm.entryOptionData);
} else {
vm.$message(res.message);
}
});
},
setProject(data) {
let list = [];
for(let i = 0; i<data.length; i++) {
list.push(data[i]);
}
return list;
},
setEditData(data) {
if(data.portalEntry.entryStatus === 1) {
vm.showStorage = true;
}
vm.formData = {
entryName: data.portalEntry.entryName,
organizationName: data.portalEntry.organizationName,
organizationNameList: data.portalEntry.organizationNameList,
entryBegintime: data.portalEntry.entryBegintime,
entryEndtime: data.portalEntry.entryEndtime,
entryIntro: data.portalEntry.entryIntro,
// type: 1,
// attachmentUrl1: "",
// attachmentUrl2: "",
type: data.attachments[1].attachmentType,
attachmentUrl1: data.attachments[0].attachmentUrl,
attachmentUrl2: data.attachments[1].attachmentUrl,
attachmentMore1: {
attachmentName: data.attachments[0].attachmentName,
},
attachmentMore2: {
attachmentName: data.attachments[1].attachmentName,
},
project: data.projectIds,
};
let projectEdit = data.projectIds;
vm.initTags(projectEdit);
},
complete(type) {
//1是暂存,2是完成
if (type == 2) {
if(!this.checkOrgNameList()) return;
if (!vm.formData.attachmentUrl1) {
vm.uploadImgMessage = true;
} else {
vm.uploadImgMessage = false;
}
if (!vm.formData.attachmentUrl2) {
vm.uploadImgMessage2 = true;
} else {
vm.uploadImgMessage2 = false;
}
let completeState = vm.submitForm("
formData
");
if (
completeState === true &&
vm.formData.attachmentUrl1 != "" &&
vm.formData.attachmentUrl2 != ""
) {
if(vm.statusValue === 3 && vm.formData.project.length == 0) {
vm.dialogUp = true;
} else {
vm.insertOrUpdate(type);
}
}
//完成
} else {
//暂存
if(vm.formData.entryName == '') {
vm.$message('请输入入口名称!');
} else {
vm.insertOrUpdate(type);
}
}
},
insertOrUpdate(isCompleted) {
//option
let portalEntryUniInfo = {};
if (vm.entryId == null) {
portalEntryUniInfo = {
portalEntry: {
entryBegintime: vm.formData.entryBegintime,
entryEndtime: vm.formData.entryEndtime,
entryIntro: vm.formData.entryIntro,
entryName: vm.formData.entryName,
organizationName: vm.formData.organizationName,
organizationNameList: vm.formData.organizationNameList
},
attachments: [
{
attachmentType: 1,
attachmentUrl: vm.formData.attachmentUrl1,
attachmentName: vm.formData.attachmentMore1.attachmentName,
// attachmentExt: vm.formData.attachmentMore1.attachmentExt,
// attachmentSize: vm.formData.attachmentMore1.attachmentSize,
kind: 1,
// seqNo: 1
},
{
attachmentType: vm.formData.type,
attachmentUrl: vm.formData.attachmentUrl2,
attachmentName: vm.formData.attachmentMore2.attachmentName,
// attachmentExt: vm.formData.attachmentMore2.attachmentExt,
// attachmentSize: vm.formData.attachmentMore2.attachmentSize,
kind: 2,
// seqNo: 1
}
],
projectIds: []
};
for(let i = 0;i < vm.tagsProject.length ; i++) {
// portalEntryUniInfo.subprojects[i] = {
// projectId: vm.tagsProject[i].value,
// projectName: vm.tagsProject[i].label,
// }
portalEntryUniInfo.projectIds[i] = vm.tagsProject[i].value;
}
} else {
portalEntryUniInfo = {
portalEntry: {
createdId: vm.entryOptionData.portalEntry.createdId,
createdName: vm.entryOptionData.portalEntry.createdName,
createdTime: vm.entryOptionData.portalEntry.createdTime,
deleteFlag: vm.entryOptionData.portalEntry.deleteFlag,
entryBegintime: vm.formData.entryBegintime,
entryEndtime: vm.formData.entryEndtime,
entryIntro: vm.formData.entryIntro,
entryName: vm.formData.entryName,
entryStatus: vm.entryOptionData.portalEntry.entryStatus,
id: vm.entryOptionData.portalEntry.id,
organizationId: 0,
organizationName: vm.formData.organizationName,
organizationNameList: vm.formData.organizationNameList
},
attachments: [
{
attachmentType: 1,
attachmentUrl: vm.formData.attachmentUrl1,
attachmentName: vm.formData.attachmentMore1.attachmentName,
entryId: vm.entryOptionData.portalEntry.id,
id: vm.entryOptionData.portalEntry.id,
kind: 1,
// seqNo: 1
},
{
attachmentType: vm.formData.type,
attachmentUrl: vm.formData.attachmentUrl2,
attachmentName: vm.formData.attachmentMore2.attachmentName,
entryId: vm.entryOptionData.portalEntry.id,
id: vm.entryOptionData.portalEntry.id,
kind: 2,
// seqNo: 1
}
],
projectIds: []
};
for(let i = 0;i < vm.tagsProject.length ; i++) {
// portalEntryUniInfo.subprojects[i] = {
// projectId: vm.tagsProject[i].value,
// projectName: vm.tagsProject[i].label,
// }
portalEntryUniInfo.projectIds[i] = vm.tagsProject[i].value;
}
// console.log('tagsProject',vm.tagsProject);
}
// console.log("
portalEntryUniInfo
", portalEntryUniInfo);
openLoading(vm);
vm.POST(
"
portal
/
entryInfo
/
updateInsertEntry
?
isCompleted
=
" + isCompleted,
portalEntryUniInfo
).then(res => {
closeLoading(vm);
if (res.code == "
000000
") {
if(vm.statusValue === 3) {
vm.$message({
message: '发布成功',
type: 'success'
});
}
vm.$router.push("
entry
-
manager
");
} else {
if(vm.statusValue === 3) {
vm.$message.error('发布失败');
vm.$message(res.message);
} else {
vm.$message(res.message);
}
}
});
}
}
};
</
script
>
<
style
lang=
"scss"
>
.edit-entry-wrap
{
.component-content
{
position
:
relative
;
padding
:
10px
;
background
:
#fff
;
.dialog_p
{
text-align
:
center
;
span
{
font-weight
:
700
;
}
}
.header-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
.button-group
{
position
:
absolute
;
margin-top
:
10px
;
right
:
5%
;
z-index
:
999
;
}
.basic-form
{
::-webkit-scrollbar
{
width
:
4px
;
height
:
20px
;
background-color
:
#D8D8D8
;
}
::-webkit-scrollbar-thumb
{
background-color
:
#D8D8D8
;
}
position
:
relative
;
margin-top
:
10px
;
.basic-item-icon
{
position
:
relative
;
.require
{
position
:
absolute
;
left
:
67px
;
top
:
11px
;
color
:
#f56c6c
;
}
.upload-message
{
position
:
absolute
;
left
:
160px
;
top
:
105px
;
font-size
:
12px
;
color
:
#f56c6c
;
}
.img-delete
{
position
:
absolute
;
left
:
0px
;
top
:
0px
;
width
:
84px
;
height
:
100px
;
background
:
#000
;
opacity
:
0
.7
;
z-index
:
999
;
i
{
color
:
#fff
;
margin-top
:
39px
;
margin-left
:
0px
;
}
}
}
.word-num
{
font-size
:
12px
;
color
:
#999
;
padding-top
:
5px
;
}
.line
{
margin-left
:
10px
;
width
:
20px
;
}
.bg-uploader
{
img
{
float
:
left
;
}
.bg-img
{
width
:
84px
;
height
:
100px
;
}
.bg-video
{
float
:
left
;
width
:
84px
;
height
:
100px
;
}
.limit-text
{
float
:
left
;
margin-left
:
10px
;
margin-top
:
-10px
;
p
{
font-size
:
12px
;
color
:
#999
;
}
}
}
.el-popover--plain
{
padding
:
18px
20px
;
top
:
40px
;
}
.check-project
{
top
:
95%
;
right
:
5%
;
position
:
absolute
;
z-index
:
999
;
.tags-list
{
border
:
1px
#e8e8e8
solid
;
height
:
350px
;
min-width
:
280px
;
overflow-y
:
scroll
;
.el-tag
{
margin-top
:
5px
;
display
:
table
;
background-color
:
#e6f1fc
;
color
:
#389efe
;
}
.tags-project-online
{
color
:
#9aceff
;
background-color
:
#f3f8fe
;
border-color
:
#d5eafe
;
}
}
}
}
}
}
.popover-content
{
position
:
relative
;
top
:
0
;
left
:
0
;
}
</
style
>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录