Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
N
national_museum_vod
Project
Project
Details
Activity
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
qzhxx
national_museum_vod
Commits
3cb268bd
Commit
3cb268bd
authored
Mar 31, 2021
by
xulili
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://111.203.232.171:8888/qzhxx/national_museum_vod
into dev_xll
parents
9ec0ae76
aa1aa971
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
3252 additions
and
1527 deletions
+3252
-1527
menu.js
src/config/menu.js
+2
-1
index.vue
src/page/check/display/index.vue
+2
-2
index.vue
src/page/check/learn/index.vue
+2
-2
index.vue
src/page/check/video/index.vue
+2
-2
audioPlay.vue
src/page/content/components/audioPlay.vue
+0
-0
addCopyright.vue
src/page/content/components/dialog/addCopyright.vue
+211
-0
mulDisplay.vue
src/page/content/components/mulClassify/mulDisplay.vue
+81
-0
mulVideo.vue
src/page/content/components/mulClassify/mulVideo.vue
+72
-0
uploadAudio.vue
src/page/content/components/uploadVue/uploadAudio.vue
+46
-0
uploadDatum.vue
src/page/content/components/uploadVue/uploadDatum.vue
+46
-0
uploadFile.vue
src/page/content/components/uploadVue/uploadFile.vue
+46
-0
uploadImg.vue
src/page/content/components/uploadVue/uploadImg.vue
+52
-0
uploadQrcode.vue
src/page/content/components/uploadVue/uploadQrcode.vue
+52
-0
videoPlay.vue
src/page/content/components/videoPlay.vue
+43
-0
index.vue
src/page/content/display/classify/index.vue
+13
-20
add-.vue
src/page/content/display/content/add-.vue
+199
-0
add.vue
src/page/content/display/content/add.vue
+468
-168
details.vue
src/page/content/display/content/details.vue
+123
-261
index.vue
src/page/content/display/content/index.vue
+60
-90
index---.vue
src/page/content/display/copyright/index---.vue
+395
-0
index.vue
src/page/content/display/copyright/index.vue
+322
-104
add.vue
src/page/content/learn/content/add.vue
+314
-45
index.vue
src/page/content/learn/content/index.vue
+4
-4
index.vue
src/page/content/learn/project/index.vue
+19
-17
index.vue
src/page/content/video/classify/index.vue
+12
-10
add--.vue
src/page/content/video/content/add--.vue
+0
-343
add.vue
src/page/content/video/content/add.vue
+322
-168
index.vue
src/page/content/video/content/index.vue
+164
-150
add.vue
src/page/content/video/copyright/add.vue
+159
-135
index.vue
src/page/content/video/copyright/index.vue
+6
-4
global.less
src/style/global.less
+15
-1
No files found.
src/config/menu.js
View file @
3cb268bd
...
...
@@ -38,8 +38,9 @@ export const menuList = [
color
:
''
,
url
:
''
,
children
:
[
{
name
:
'学习内容制作'
,
icon
:
'icon-pen'
,
color
:
'index-pink'
,
avatar
:
''
,
url
:
'/learnContent'
},
{
name
:
'学习项目管理'
,
icon
:
'icon-data'
,
color
:
'index-blue'
,
avatar
:
''
,
url
:
'/learnProject'
},
{
name
:
'学习内容制作'
,
icon
:
'icon-pen'
,
color
:
'index-pink'
,
avatar
:
''
,
url
:
'/learnContent'
},
]
},
...
...
src/page/check/display/index.vue
View file @
3cb268bd
...
...
@@ -341,7 +341,7 @@ export default {
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
@@ -383,7 +383,7 @@ export default {
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
src/page/check/learn/index.vue
View file @
3cb268bd
...
...
@@ -334,7 +334,7 @@ export default {
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
@@ -376,7 +376,7 @@ export default {
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
src/page/check/video/index.vue
View file @
3cb268bd
...
...
@@ -334,7 +334,7 @@ export default {
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
@@ -376,7 +376,7 @@ export default {
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
src/page/content/
video/content/details
.vue
→
src/page/content/
components/audioPlay
.vue
View file @
3cb268bd
File moved
src/page/content/components/dialog/addCopyright.vue
0 → 100644
View file @
3cb268bd
<
template
>
<!--新增弹框-->
<el-dialog
custom-class=
"party-dialog"
title=
"新建视频分类"
width=
"468px"
:visible
.
sync=
"dialogVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"140px"
class=
"party-form form-inline"
>
<el-form-item
label=
"页面说明:"
class=
"addTipMsg"
>
可新建版权方信息。“*”为必填项。预设视频分类中没有合适的选项,可点击“新建视频分类”在弹框中新建分类
</el-form-item>
<el-form-item
label=
"版权方名称"
prop=
"name"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"版权方有效期"
required
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"value1"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item
class=
"addTip"
>
<span>
若没有相应的视频分类,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoClass"
>
新建视频分类
</el-button>
</el-form-item>
<el-form-item
class=
"selectH100"
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
@
focus=
"getAssetTypeData"
multiple
v-model=
"ruleForm.assetTypeIdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"ruleForm.remarks"
></el-input>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"save('classForm')"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
ruleForm
:
{
assetTypeIdList
:
[],
name
:
""
,
ownerType
:
"ASSET"
},
ruleForm
:
{
assetTypeIdList
:
[],
name
:
""
,
ownerType
:
"ASSET"
},
assetType
:
[
{
value
:
"Beijing"
,
label
:
"北京"
},
{
value
:
"Shanghai"
,
label
:
"上海"
}
],
checkedThing
:
false
,
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
paddingRight
:
"10px"
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
}
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
date1
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择日期"
,
trigger
:
"change"
}
],
date2
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择时间"
,
trigger
:
"change"
}
],
type
:
[
{
type
:
"array"
,
required
:
true
,
message
:
"请至少选择一个活动性质"
,
trigger
:
"change"
}
],
resource
:
[
{
required
:
true
,
message
:
"请选择活动资源"
,
trigger
:
"change"
}
],
desc
:
[{
required
:
true
,
message
:
"请填写活动形式"
,
trigger
:
"blur"
}]
}
};
},
methods
:
{
// 弹窗保存
save
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
];
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
];
if
(
valid
)
{
this
.
$https
(
{
url
:
"assetType/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
this
.
classForm
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"新增分类成功!"
});
this
.
dialogVisible
=
false
;
})
.
catch
(
function
(
err
)
{
this
.
$message
({
type
:
"fail"
,
message
:
"新增失败!"
+
err
.
response
.
data
.
msg
});
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
// 新增关闭
close
()
{
this
.
dialogVisible
=
false
;
for
(
let
key
in
this
.
classForm
)
{
this
.
classForm
[
key
]
=
null
;
}
this
.
$refs
[
"classForm"
].
resetFields
();
},
// 获取视频分类列表
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"assetType/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType
=
data
;
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
getSelectDep
(
assetTypeIdList
)
{
if
(
assetTypeIdList
.
length
===
this
.
assetType
.
length
)
{
this
.
checkedThing
=
true
;
}
else
{
this
.
checkedThing
=
false
;
}
},
selectAllThing
()
{
// debugger
this
.
ruleForm
.
assetTypeIdList
=
[];
if
(
this
.
checkedThing
)
{
this
.
assetType
.
map
(
item
=>
{
this
.
ruleForm
.
assetTypeIdList
.
push
(
item
.
id
);
});
}
else
{
this
.
ruleForm
.
assetTypeIdList
=
[];
}
}
}
};
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/components/mulClassify/mulDisplay.vue
0 → 100644
View file @
3cb268bd
<
template
>
<el-select
placeholder=
"请选择视频版权方"
@
focus=
"getAssetTypeData"
multiple
v-model=
"assetTypeIdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
assetType
:
[],
assetTypeIdList
:
[],
checkedThing
:
false
,
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
paddingRight
:
"10px"
}
};
},
watch
:
{
assetTypeIdList
(
val
,
newval
)
{
console
.
log
(
val
)
this
.
$emit
(
'videoCopyright'
,
val
)
}
},
methods
:
{
// this.$refs.mulDisplay.assetType // 使用时父组件直接获取此值即可
// 获取视频版权方
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"copyrightOwner/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
// _this.$qs.stringify(_this.permisform)
{
copyrightOwnerType
:
'ASSET'
}
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType
=
data
;
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
getSelectDep
(
assetTypeIdList
)
{
if
(
assetTypeIdList
.
length
===
this
.
assetType
.
length
)
{
this
.
checkedThing
=
true
;
}
else
{
this
.
checkedThing
=
false
;
}
},
selectAllThing
()
{
// debugger
this
.
assetTypeIdList
=
[];
if
(
this
.
checkedThing
)
{
this
.
assetType
.
map
(
item
=>
{
this
.
assetTypeIdList
.
push
(
item
.
id
);
});
}
else
{
this
.
assetTypeIdList
=
[];
}
}
}
};
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/components/mulClassify/mulVideo.vue
0 → 100644
View file @
3cb268bd
<
template
>
<el-select
placeholder=
"请选择预设视频分类"
@
focus=
"getAssetTypeData"
multiple
v-model=
"assetTypeIdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
assetType
:
[],
assetTypeIdList
:
[],
checkedThing
:
false
,
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
paddingRight
:
"10px"
}
};
},
methods
:
{
// this.$refs.mulDisplay.assetType // 使用时父组件直接获取此值即可
// 获取视频分类列表
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"assetType/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType
=
data
;
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
getSelectDep
(
assetTypeIdList
)
{
if
(
assetTypeIdList
.
length
===
this
.
assetType
.
length
)
{
this
.
checkedThing
=
true
;
}
else
{
this
.
checkedThing
=
false
;
}
},
selectAllThing
()
{
// debugger
this
.
assetTypeIdList
=
[];
if
(
this
.
checkedThing
)
{
this
.
assetType
.
map
(
item
=>
{
this
.
assetTypeIdList
.
push
(
item
.
id
);
});
}
else
{
this
.
assetTypeIdList
=
[];
}
}
}
};
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/components/uploadVue/uploadAudio.vue
0 → 100644
View file @
3cb268bd
<
template
>
<el-upload
class=
"upload-demo"
ref=
"upload"
action=
"http://192.168.110.67/mall/file/audio/upload"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:file-list=
"fileList"
:on-success=
"handleAvatarSuccess"
:auto-upload=
"false"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选取文件
</el-button>
<el-button
style=
"margin-left: 10px;"
size=
"small"
type=
"success"
@
click=
"submitUpload"
>
上传到服务器
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)
</div>
</el-upload>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
fileList
:
[]
};
},
methods
:
{
handleAvatarSuccess
(
res
,
file
)
{
console
.
log
(
res
)
console
.
log
(
res
.
url
)
this
.
$emit
(
'audioList'
,
res
.
urlList
)
},
submitUpload
()
{
this
.
$refs
.
upload
.
submit
();
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
handlePreview
(
file
)
{
console
.
log
(
file
);
}
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/components/uploadVue/uploadDatum.vue
0 → 100644
View file @
3cb268bd
<
template
>
<el-upload
class=
"upload-demo"
ref=
"upload"
action=
"http://192.168.110.67/mall/file/datum/upload"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:file-list=
"fileList"
:on-success=
"handleAvatarSuccess"
:auto-upload=
"false"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选取文件
</el-button>
<el-button
style=
"margin-left: 10px;"
size=
"small"
type=
"success"
@
click=
"submitUpload"
>
上传到服务器
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)
</div>
</el-upload>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
fileList
:
[]
};
},
methods
:
{
handleAvatarSuccess
(
res
,
file
)
{
console
.
log
(
res
)
console
.
log
(
res
.
url
)
this
.
$emit
(
'datumList'
,
res
.
urlList
)
},
submitUpload
()
{
this
.
$refs
.
upload
.
submit
();
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
handlePreview
(
file
)
{
console
.
log
(
file
);
}
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/components/uploadVue/uploadFile.vue
0 → 100644
View file @
3cb268bd
<
template
>
<el-upload
class=
"upload-demo"
ref=
"upload"
action=
"http://192.168.110.67/mall/file/video/upload"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:file-list=
"fileList"
:on-success=
"handleAvatarSuccess"
:auto-upload=
"false"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选取文件
</el-button>
<el-button
style=
"margin-left: 10px;"
size=
"small"
type=
"success"
@
click=
"submitUpload"
>
上传到服务器
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)
</div>
</el-upload>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
fileList
:
[]
};
},
methods
:
{
handleAvatarSuccess
(
res
,
file
)
{
console
.
log
(
res
)
console
.
log
(
res
.
url
)
this
.
$emit
(
'videoList'
,
res
.
urlList
)
},
submitUpload
()
{
this
.
$refs
.
upload
.
submit
();
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
handlePreview
(
file
)
{
console
.
log
(
file
);
}
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/components/uploadVue/uploadImg.vue
0 → 100644
View file @
3cb268bd
<
template
>
<div>
<el-upload
action=
"http://192.168.110.67/mall/file/image/upload"
list-type=
"picture-card"
:on-preview=
"handlePictureCardPreview"
:on-remove=
"handleRemove"
:on-success=
"handleAvatarSuccess"
:headers=
"headers"
>
<i
class=
"el-icon-plus"
></i>
</el-upload>
<el-dialog
:visible
.
sync=
"dialogVisible"
>
<img
width=
"100%"
:src=
"dialogImageUrl"
alt
/>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
dialogImageUrl
:
""
,
dialogVisible
:
false
};
},
computed
:
{
headers
()
{
// return { 'token': this.backToken }
}
},
methods
:
{
// 图片上传成功的返回值
handleAvatarSuccess
(
res
,
file
)
{
console
.
log
(
res
)
console
.
log
(
res
.
url
)
this
.
$emit
(
'imgUrl'
,
res
.
url
)
// this.imageUrl = URL.createObjectURL(file.raw);
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
handlePictureCardPreview
(
file
)
{
this
.
dialogImageUrl
=
file
.
url
;
this
.
dialogVisible
=
true
;
}
}
};
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/components/uploadVue/uploadQrcode.vue
0 → 100644
View file @
3cb268bd
<
template
>
<div>
<el-upload
action=
"http://192.168.110.67/mall/file/image/upload"
list-type=
"picture-card"
:on-preview=
"handlePictureCardPreview"
:on-remove=
"handleRemove"
:on-success=
"handleAvatarSuccess"
:headers=
"headers"
>
<i
class=
"el-icon-plus"
></i>
</el-upload>
<el-dialog
:visible
.
sync=
"dialogVisible"
>
<img
width=
"100%"
:src=
"dialogImageUrl"
alt
/>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
dialogImageUrl
:
""
,
dialogVisible
:
false
};
},
computed
:
{
headers
()
{
// return { 'token': this.backToken }
}
},
methods
:
{
// 图片上传成功的返回值
handleAvatarSuccess
(
res
,
file
)
{
console
.
log
(
res
)
console
.
log
(
res
.
url
)
this
.
$emit
(
'qrcodeUrl'
,
res
.
url
)
// this.imageUrl = URL.createObjectURL(file.raw);
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
handlePictureCardPreview
(
file
)
{
this
.
dialogImageUrl
=
file
.
url
;
this
.
dialogVisible
=
true
;
}
}
};
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/components/videoPlay.vue
0 → 100644
View file @
3cb268bd
<
template
>
<div>
<!--
<video
:src=
"videoSrc"
:poster=
"videoImg"
:autoplay=
"playStatus"
height=
"421"
width=
"700"
:muted=
"muteStatus"
>
your browser does not support the video tag
</video>
<button
@
click=
"playClick"
:class=
"
{hide: isPlay}">点击播放
</button>
-->
<!--class="video-js vjs-default-skin vjs-big-play-centered" -->
<video
:preload=
"preload"
:poster=
"videoImg"
:height=
"height"
:width=
"width"
align=
"center"
:controls=
"controls"
:autoplay=
"autoplay"
>
<source
:src=
"videoSrc"
type=
"video/mp4"
>
</video>
</div>
</
template
>
<
script
>
export
default
{
name
:
'Video'
,
data
()
{
return
{
videoSrc
:
'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4'
,
videoImg
:
'https://sm.ms/image/ueRFCZfk2xTONGb'
,
playStatus
:
''
,
muteStatus
:
''
,
isMute
:
true
,
isPlay
:
false
,
width
:
'820'
,
// 设置视频播放器的显示宽度(以像素为单位)
height
:
'500'
,
// 设置视频播放器的显示高度(以像素为单位)
preload
:
'auto'
,
// 建议浏览器是否应在
<
video
>
加载元素后立即开始下载视频数据。
controls
:
true
,
// 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay
:
''
}
}
// 自动播放属性,muted:静音播放
// autoplay: 'muted',
}
</
script
>
<
style
scoped
>
</
style
>
src/page/content/display/classify/index.vue
View file @
3cb268bd
...
...
@@ -6,7 +6,7 @@
<el-input
size=
"mini"
placeholder=
"请输入版权方名称"
v-model=
"form.name"
v-model=
"form.name
OrCode
"
@
keyup
.
enter
.
native=
"Search"
clearable
></el-input>
...
...
@@ -174,17 +174,10 @@ export default {
name
:
""
},
editform
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
,
id
:
""
},
classForm
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
},
typeList
:
[],
rules
:
{
...
...
@@ -246,7 +239,7 @@ export default {
let
vm
=
this
;
vm
.
$https
(
{
url
:
"
assetType
/getPageList"
,
url
:
"
exhibitionBoardCat
/getPageList"
,
method
:
"post"
,
authType
:
this
.
backToken
},
...
...
@@ -280,7 +273,7 @@ export default {
let
searchObj
=
{
_index
:
1
,
_size
:
_this
.
page
.
pageSize
,
name
:
_this
.
form
.
nam
e
name
OrCode
:
_this
.
form
.
nameOrCod
e
};
this
.
getTableData
(
searchObj
);
},
...
...
@@ -318,13 +311,13 @@ export default {
if
(
valid
)
{
_this
.
$https
(
{
url
:
"
assetType
/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
//
_this.$qs.stringify(_this.classForm)
_this
.
classForm
{
url
:
"
exhibitionBoardCat
/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
_this
.
classForm
)
//
_this.classForm
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
@@ -360,16 +353,16 @@ export default {
if
(
valid
)
{
_this
.
$https
(
{
url
:
"
assetType
/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
{
url
:
"
exhibitionBoardCat
/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
_this
.
classForm
)
// _this.classForm
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'
新建
成功!'
message
:
'
修改
成功!'
});
//跳回用户列表
_this
.
onSearch
();
...
...
@@ -431,7 +424,7 @@ export default {
let
vm
=
this
;
vm
.
$https
(
{
url
:
"
assetType
/get/"
+
id
,
url
:
"
exhibitionBoardCat
/get/"
+
id
,
method
:
"get"
,
authType
:
this
.
backToken
},
...
...
@@ -461,7 +454,7 @@ export default {
.
then
(()
=>
{
_this
.
$https
({
method
:
'delete'
,
url
:
'
assetType
/delete/'
+
row
.
id
,
url
:
'
exhibitionBoardCat
/delete/'
+
row
.
id
,
authType
:
this
.
backToken
}).
then
((
res
)
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
...
...
src/page/content/display/content/add-.vue
0 → 100644
View file @
3cb268bd
<
template
>
<el-form
:model=
"dealForm"
>
<el-form-item
prop=
"uploadFile"
label=
"上传文件"
>
<el-upload
ref=
"fileUpload"
:auto-upload=
"false"
:limit=
"3"
:on-change=
"fileOnChange"
:before-upload=
"fileBeforeUpload"
:before-remove=
"fileBeforeRemove"
size=
"mini"
class=
"upload-file"
action=
"/"
multiple
>
<el-button
class=
"upload-button"
size=
"small"
type=
"primary"
>
请选择文件
</el-button>
<!--
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传jpg/png文件,且不超过500kb
</div>
-->
</el-upload>
</el-form-item>
<el-form-item
prop=
"uploadImg"
label=
"上传图片"
>
<!--:on-remove="imgRemoveList"-->
<el-upload
ref=
"imgUpload"
:auto-upload=
"false"
:limit=
"3"
:on-change=
"imgOnChange"
:before-upload=
"imgBeforeUpload"
:before-remove=
"imgBeforeRemove"
size=
"mini"
class=
"upload-img"
action=
"/"
accept=
".jpg,.jpeg,.png"
list-type=
"picture-card"
multiple
>
<!--
<i
class=
"el-icon-plus"
/>
-->
<i
class=
"icon-tupian"
/>
<!--
<div
class=
"el-upload__text"
>
将文件拖到此处
</div>
-->
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传jpg/png文件,大小不超过20M
</div>
</el-upload>
</el-form-item>
<el-button
@
click=
"saveDealEvent"
>
提交
</el-button>
</el-form>
</
template
>
<
script
>
export
default
{
data
()
{
let
validateLicense
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
(
this
.
imgSizeIsSatisfy
.
length
===
0
))
{
callback
(
new
Error
(
'上传图片大小不能超过 5MB!'
));
}
else
{
callback
();
}
};
let
fileValidate
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
(
this
.
fileSizeIsSatisfy
.
length
===
0
))
{
callback
(
new
Error
(
'上传图片大小不能超过 10MB!'
));
}
else
{
callback
();
}
};
return
{
dealForm
:
{
solutions
:
'111'
,
dealStatus
:
'ww'
,
dealFunction
:
'qq'
},
dealFormRules
:
{
uploadImg
:
[{
validator
:
validateLicense
}],
uploadFile
:
[{
validator
:
fileValidate
}]
},
uploadFile
:
[],
uploadImg
:
[],
imgSizeIsSatisfy
:
[],
fileSizeIsSatisfy
:
[]
};
},
methods
:
{
imgBeforeUpload
(
file
)
{
this
.
uploadImg
.
push
(
file
);
return
false
;
// 返回false,停止上传
},
fileBeforeUpload
(
file
)
{
this
.
uploadFile
.
push
(
file
);
return
false
;
},
saveDealEvent
()
{
// this.$refs.dealForm.validate(valid => {
// if (valid) {
this
.
$confirm
(
'确认提交吗?'
,
'提示'
,
{})
.
then
(()
=>
{
// 创建一个formData对象
const
formData
=
new
FormData
();
// 把表单双向绑定的数据添加到formData对象里面
Object
.
keys
(
this
.
dealForm
).
forEach
(
key
=>
{
formData
.
append
(
key
,
this
.
dealForm
[
key
]);
});
console
.
log
(
formData
)
// 添加eventId到formData对象里面
// formData.append('eventId', this.evtId);
// 手动上传文件列表
this
.
$refs
.
fileUpload
.
submit
();
this
.
$refs
.
imgUpload
.
submit
();
// 把要上传的文件添加到formData对象里面
for
(
let
i
=
0
;
i
<
this
.
uploadFile
.
length
;
i
++
)
{
formData
.
append
(
'fileFiles'
,
this
.
uploadFile
[
i
]);
}
for
(
let
i
=
0
;
i
<
this
.
uploadImg
.
length
;
i
++
)
{
formData
.
append
(
'imgFiles'
,
this
.
uploadImg
[
i
]);
}
console
.
log
(
formData
,
'formData'
)
let
vm
=
this
;
vm
.
$https
(
{
url
:
"asset/dddddgetPageList"
,
method
:
"post"
,
authType
:
this
.
backToken
},
// vm.$qs.stringify(this.dealForm)
vm
.
$qs
.
stringify
(
formData
)
// param
)
.
then
(
res
=>
{
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
// // 提交表单
// saveDealEvent(formData).then(res => {
// // 提交后置空
// this.dealForm = {};
// this.uploadFile = [];
// this.uploadImg = [];
// this.$refs['dealForm'].resetFields();
// this.$message({
// message: '提交成功',
// type: 'success'
// });
// });
})
.
catch
(
e
=>
{
console
.
log
(
e
);
});
// }
// });
},
imgOnChange
(
file
,
fileList
)
{
console
.
log
(
file
,
'eeeee'
)
this
.
dealForm
.
imgFile
=
file
this
.
imgSizeIsSatisfy
.
push
(
file
.
name
);
this
.
$refs
.
dealForm
.
validateField
(
'uploadImg'
);
const
isLt2M
=
file
.
size
/
1024
/
1024
<
5
;
// if (!isLt2M) {
// this.imgSizeIsSatisfy.push(file.name);
// this.$refs.dealForm.validateField('uploadImg');
// }
},
imgBeforeRemove
(
file
)
{
if
(
!
(
this
.
imgSizeIsSatisfy
.
indexOf
(
file
.
name
)
===
-
1
))
{
let
temp
=
this
.
imgSizeIsSatisfy
.
indexOf
(
file
.
name
);
this
.
imgSizeIsSatisfy
.
splice
(
temp
,
1
);
this
.
$refs
.
dealForm
.
validateField
(
'uploadImg'
);
}
},
fileOnChange
(
file
,
fileList
)
{
const
isLt2M
=
file
.
size
/
1024
/
1024
<
10
;
if
(
!
isLt2M
)
{
this
.
fileSizeIsSatisfy
.
push
(
file
.
name
);
this
.
$refs
.
dealForm
.
validateField
(
'uploadFile'
);
}
},
fileBeforeRemove
(
file
)
{
if
(
!
(
this
.
fileSizeIsSatisfy
.
indexOf
(
file
.
name
)
===
-
1
))
{
let
temp
=
this
.
fileSizeIsSatisfy
.
indexOf
(
file
.
name
);
this
.
fileSizeIsSatisfy
.
splice
(
temp
,
1
);
this
.
$refs
.
dealForm
.
validateField
(
'uploadFile'
);
}
}
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/page/content/display/content/add.vue
View file @
3cb268bd
<
template
>
<el-form
:model=
"dealForm"
>
<el-form-item
prop=
"uploadFile"
label=
"上传文件"
>
<el-upload
ref=
"fileUpload"
:auto-upload=
"false"
:limit=
"3"
:on-change=
"fileOnChange"
:before-upload=
"fileBeforeUpload"
:before-remove=
"fileBeforeRemove"
size=
"mini"
class=
"upload-file"
action=
"/"
multiple
>
<el-button
class=
"upload-button"
size=
"small"
type=
"primary"
>
请选择文件
</el-button>
<!--
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传jpg/png文件,且不超过500kb
</div>
-->
</el-upload>
</el-form-item>
<el-form-item
prop=
"uploadImg"
label=
"上传图片"
>
<!--:on-remove="imgRemoveList"-->
<el-upload
ref=
"imgUpload"
:auto-upload=
"false"
:limit=
"3"
:on-change=
"imgOnChange"
:before-upload=
"imgBeforeUpload"
:before-remove=
"imgBeforeRemove"
size=
"mini"
class=
"upload-img"
action=
"/"
accept=
".jpg,.jpeg,.png"
list-type=
"picture-card"
multiple
>
<!--
<i
class=
"el-icon-plus"
/>
-->
<i
class=
"icon-tupian"
/>
<!--
<div
class=
"el-upload__text"
>
将文件拖到此处
</div>
-->
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传jpg/png文件,大小不超过20M
</div>
</el-upload>
</el-form-item>
<el-button
@
click=
"saveDealEvent"
>
提交
</el-button>
</el-form>
<div
class=
"info"
>
<div
class=
"info-header"
>
新建展板
</div>
<div
class=
"info-container"
>
<div
class=
"info-wrapper"
>
<div
class=
"pageTips"
>
<strong>
页面说明:
</strong>
可新建视频。“*”为必填项。若没有对应的视频版权方或视频分类可点击图标快速新建。
</div>
<el-collapse
v-model=
"activeNames"
@
change=
"handleChange"
>
<el-collapse-item
title=
"展板基本信息"
name=
"1"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"140px"
class=
"demo-form-inline party-form"
:inline=
"true"
label-position=
"top"
>
<el-form-item
label=
"展板名称"
prop=
"name"
class=
"w100"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"展板版权方"
class=
"w50"
>
<el-select
placeholder=
"请选择展板版权方"
@
focus=
"getBoardCopyrightOwnerId"
v-model=
"ruleForm.boardCopyrightOwnerId"
>
<el-option
v-for=
"item in boardCopyrightOwnerId"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"展板分类"
>
<el-select
placeholder=
"请选择展板分类"
@
focus=
"getExhibitionBoardCatId"
v-model=
"ruleForm.exhibitionBoardCatId"
>
<el-option
v-for=
"item in exhibitionBoardCatId"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"展板图片"
class=
"w50"
prop=
"cover"
>
<upload-img
@
imgUrl=
"imgUrl"
></upload-img>
</el-form-item>
<el-form-item
label=
"展板二维码"
class
prop=
"qrcodeUrl"
>
<upload-qrcode
@
qrcodeUrl=
"qrcodeUrl"
></upload-qrcode>
</el-form-item>
<el-form-item
label=
"展板简介"
style=
"width:640px"
prop=
"introduction"
>
<el-input
type=
"textarea"
v-model=
"ruleForm.remarks"
></el-input>
</el-form-item>
</el-form>
</el-collapse-item>
<el-collapse-item
title=
"展板影音信息"
name=
"2"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"140px"
class=
"demo-form-inline party-form"
:inline=
"true"
label-position=
"top"
>
<el-form-item
label=
"请选择视频版权方"
class=
"w50"
>
<el-select
placeholder=
"请选择视频版权方"
@
focus=
"getAssetCopyrightData"
v-model=
"ruleForm.assetCopyrightOwnerId"
>
<el-option
v-for=
"item in copyrightOwner"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
@
focus=
"getAssetTypeData"
v-model=
"ruleForm.assetTypeId"
@
change=
"getAssetType"
>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"请选择视频"
>
<el-select
placeholder=
"请选择视频"
@
focus=
"getVideoData"
v-model=
"ruleForm.assetId"
>
<el-option
v-for=
"item in assetId"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"w50"
prop=
"audioUrlList"
></el-form-item>
<el-form-item
label=
"导览音频"
class=
"w50"
>
<!--
<upload-img
@
imgUrl=
"imgUrl"
></upload-img>
-->
<upload-audio
@
audioList=
"audioList"
></upload-audio>
</el-form-item>
<el-form-item
label=
"参考资料"
class
prop=
"materialUrlList"
>
<upload-datum
@
datumList=
"datumList"
></upload-datum>
</el-form-item>
</el-form>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div
class=
"info-footer"
>
<div
class=
"btn-group"
>
<!-- 确定、取消 -->
<el-button
v-show=
"type === 'add'"
size=
"mini"
type=
"primary"
class=
"btn_form_search"
@
click=
"submitForm('ruleForm')"
>
提交审核
</el-button>
<el-button
v-show=
"type === 'Update'"
size=
"mini"
type=
"primary"
class=
"btn_form_search"
@
click=
"updateForm('ruleForm')"
>
提交审核
</el-button>
<el-button
size=
"mini"
class=
"btn_form_search"
@
click=
"close"
>
关闭
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
uploadImg
from
"@/page/content/components/uploadVue/uploadImg"
;
import
uploadQrcode
from
"@/page/content/components/uploadVue/uploadQrcode"
;
import
uploadFile
from
"@/page/content/components/uploadVue/uploadFile"
;
import
uploadDatum
from
"@/page/content/components/uploadVue/uploadDatum"
;
import
uploadAudio
from
"@/page/content/components/uploadVue/uploadAudio"
;
import
mulDisplay
from
"@/page/content/components/mulClassify/mulDisplay"
;
import
addCopyright
from
"@/page/content/components/dialog/addCopyright"
;
export
default
{
components
:
{
uploadImg
,
uploadFile
,
uploadDatum
,
uploadAudio
,
mulDisplay
,
addCopyright
,
uploadQrcode
},
data
()
{
let
validateLicense
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
(
this
.
imgSizeIsSatisfy
.
length
===
0
))
{
callback
(
new
Error
(
'上传图片大小不能超过 5MB!'
));
}
else
{
callback
();
}
};
let
fileValidate
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
(
this
.
fileSizeIsSatisfy
.
length
===
0
))
{
callback
(
new
Error
(
'上传图片大小不能超过 10MB!'
));
}
else
{
callback
();
}
};
return
{
dealForm
:
{
solutions
:
'111'
,
dealStatus
:
'ww'
,
dealFunction
:
'qq'
type
:
this
.
$route
.
query
.
type
,
copyrightOwner
:
[],
boardCopyrightOwnerId
:[],
exhibitionBoardCatId
:[],
assetId
:[],
type
:
this
.
$route
.
query
.
type
,
dialogVisible
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
},
classForm
:
{},
value1
:
[],
ruleForm
:
{
name
:
""
,
boardCopyrightOwnerId
:
""
,
assetCopyrightOwnerId
:
""
,
assetTypeId
:
""
,
videoUrlList
:
[]
},
assetType
:
[
{
value
:
"Beijing"
,
label
:
"北京"
},
{
value
:
"Shanghai"
,
label
:
"上海"
}
],
checkedThing
:
false
,
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
paddingRight
:
"10px"
},
dealFormRules
:
{
uploadImg
:
[{
validator
:
validateLicense
}],
uploadFile
:
[{
validator
:
fileValidate
}]
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
}
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
date1
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择日期"
,
trigger
:
"change"
}
],
date2
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择时间"
,
trigger
:
"change"
}
],
},
uploadFile
:
[],
uploadImg
:
[],
imgSizeIsSatisfy
:
[],
fileSizeIsSatisfy
:
[]
activeNames
:
[
"1"
,
"2"
]
};
},
mounted
(){
this
.
init
()
},
methods
:
{
imgBeforeUpload
(
file
)
{
this
.
uploadImg
.
push
(
file
);
return
false
;
// 返回false,停止上传
},
fileBeforeUpload
(
file
)
{
this
.
uploadFile
.
push
(
file
);
return
false
;
},
saveDealEvent
()
{
// this.$refs.dealForm.validate(valid => {
// if (valid) {
this
.
$confirm
(
'确认提交吗?'
,
'提示'
,
{})
.
then
(()
=>
{
// 创建一个formData对象
const
formData
=
new
FormData
();
// 把表单双向绑定的数据添加到formData对象里面
Object
.
keys
(
this
.
dealForm
).
forEach
(
key
=>
{
formData
.
append
(
key
,
this
.
dealForm
[
key
]);
});
console
.
log
(
formData
)
// 添加eventId到formData对象里面
// formData.append('eventId', this.evtId);
// 手动上传文件列表
this
.
$refs
.
fileUpload
.
submit
();
this
.
$refs
.
imgUpload
.
submit
();
// 把要上传的文件添加到formData对象里面
for
(
let
i
=
0
;
i
<
this
.
uploadFile
.
length
;
i
++
)
{
formData
.
append
(
'fileFiles'
,
this
.
uploadFile
[
i
]);
}
for
(
let
i
=
0
;
i
<
this
.
uploadImg
.
length
;
i
++
)
{
formData
.
append
(
'imgFiles'
,
this
.
uploadImg
[
i
]);
}
console
.
log
(
formData
,
'formData'
)
let
vm
=
this
;
audioList
(
list
){
this
.
ruleForm
.
audioUrlList
=
list
;
},
datumList
(
list
){
this
.
ruleForm
.
materialUrlList
=
list
;
},
// 视频版权方名称id
videoCopyright
(
idlist
)
{
this
.
ruleForm
.
assetCopyrightOwnerId
=
idlist
;
},
// 缩略图地址
imgUrl
(
url
)
{
console
.
log
(
url
,
"图片服务器地址"
);
this
.
ruleForm
.
cover
=
url
;
},
// 二维码
qrcodeUrl
(
url
){
this
.
ruleForm
.
qrcodeUrl
=
url
},
// 视频列表地址
videoList
(
list
)
{
this
.
ruleForm
.
videoUrlList
=
list
;
},
getAssetType
(
data
)
{
console
.
log
(
data
);
console
.
log
(
this
.
ruleForm
.
assetTypeId
);
},
init
()
{
if
(
this
.
$route
.
query
.
type
===
"Update"
)
{
this
.
getInfo
(
this
.
$route
.
query
.
id
);
this
.
getAssetTypeData
();
this
.
getAssetCopyrightData
();
this
.
getExhibitionBoardCatId
();
this
.
getBoardCopyrightOwnerId
();
this
.
getVideoData
();
}
},
// 获取版权方详情
getInfo
(
id
)
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"
asset/dddddgetPageList"
,
method
:
"
pos
t"
,
url
:
"
exhibitionBoard/get/"
+
id
,
method
:
"
ge
t"
,
authType
:
this
.
backToken
},
// vm.$qs.stringify(this.dealForm)
vm
.
$qs
.
stringify
(
formData
)
}
// param
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
// this.ruleForm = data;
console
.
log
(
this
.
ruleForm
)
this
.
ruleForm
=
{
assetCopyrightOwnerId
:
data
.
assetCopyrightOwnerId
,
assetId
:
data
.
assetId
,
assetTypeId
:
data
.
assetTypeId
,
boardCopyrightOwnerId
:
data
.
boardCopyrightOwnerId
,
cover
:
data
.
cover
,
exhibitionBoardCatId
:
data
.
exhibitionBoardCatId
,
guideAudioUrl
:
data
.
guideAudioUrl
,
id
:
data
.
id
,
name
:
data
.
name
,
qrcodeUrl
:
data
.
qrcodeUrl
,
refMaterialUrl
:
data
.
refMaterialUrl
,
remarks
:
data
.
remarks
,
audioUrlList
:
data
.
audioUrlList
,
materialUrlList
:
data
.
materialUrlList
// videoUrlList:data.videoUrlList
// 字段对不上
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
// // 提交表单
// saveDealEvent(formData).then(res => {
// // 提交后置空
// this.dealForm = {};
// this.uploadFile = [];
// this.uploadImg = [];
// this.$refs['dealForm'].resetFields();
// this.$message({
// message: '提交成功',
// type: 'success'
// });
// });
},
// 新建视频分类
addVideoClass
()
{
this
.
dialogVisible
=
true
;
},
// 弹窗保存
save
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
];
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
];
if
(
valid
)
{
this
.
$https
(
{
url
:
"assetType/save"
,
method
:
"post"
,
// headers: {
// 'Content-Type': 'application/json'
// },
authType
:
this
.
backToken
},
this
.
classForm
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"新增分类成功!"
});
this
.
dialogVisible
=
false
;
})
.
catch
(
function
(
err
)
{
this
.
$message
({
type
:
"fail"
,
message
:
"新增失败!"
+
err
.
response
.
data
.
msg
});
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
// 新增
submitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
console
.
log
(
this
.
ruleForm
)
if
(
valid
)
{
this
.
$https
(
{
url
:
"/exhibitionBoard/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
// this.ruleForm
this
.
$qs
.
stringify
(
this
.
ruleForm
)
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
});
history
.
go
(
-
1
);
})
.
catch
(
e
=>
{
console
.
log
(
e
);
.
catch
(
function
(
err
)
{
console
.
log
(
e
rr
);
});
// }
// });
},
imgOnChange
(
file
,
fileList
)
{
console
.
log
(
file
,
'eeeee'
)
this
.
dealForm
.
imgFile
=
file
this
.
imgSizeIsSatisfy
.
push
(
file
.
name
);
this
.
$refs
.
dealForm
.
validateField
(
'uploadImg'
);
const
isLt2M
=
file
.
size
/
1024
/
1024
<
5
;
// if (!isLt2M) {
// this.imgSizeIsSatisfy.push(file.name);
// this.$refs.dealForm.validateField('uploadImg');
// }
},
imgBeforeRemove
(
file
)
{
if
(
!
(
this
.
imgSizeIsSatisfy
.
indexOf
(
file
.
name
)
===
-
1
))
{
let
temp
=
this
.
imgSizeIsSatisfy
.
indexOf
(
file
.
name
);
this
.
imgSizeIsSatisfy
.
splice
(
temp
,
1
);
this
.
$refs
.
dealForm
.
validateField
(
'uploadImg'
);
}
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
fileOnChange
(
file
,
fileList
)
{
const
isLt2M
=
file
.
size
/
1024
/
1024
<
10
;
if
(
!
isLt2M
)
{
this
.
fileSizeIsSatisfy
.
push
(
file
.
name
);
this
.
$refs
.
dealForm
.
validateField
(
'uploadFile'
);
}
// 修改版权方
updateForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
$https
(
{
url
:
"exhibitionBoard/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
this
.
$qs
.
stringify
(
this
.
ruleForm
)
// this.ruleForm
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
fileBeforeRemove
(
file
)
{
if
(
!
(
this
.
fileSizeIsSatisfy
.
indexOf
(
file
.
name
)
===
-
1
))
{
let
temp
=
this
.
fileSizeIsSatisfy
.
indexOf
(
file
.
name
);
this
.
fileSizeIsSatisfy
.
splice
(
temp
,
1
);
this
.
$refs
.
dealForm
.
validateField
(
'uploadFile'
);
}
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
history
.
go
(
-
1
);
},
// 获取视频版权方
getAssetCopyrightData
()
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"copyrightOwner/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
{
copyrightOwnerType
:
"ASSET"
}
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
copyrightOwner
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取展板版权方
getBoardCopyrightOwnerId
()
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"copyrightOwner/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
{
copyrightOwnerType
:
"EXHIBITION_BOARD"
}
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
boardCopyrightOwnerId
=
data
;
console
.
log
(
this
.
boardCopyrightOwnerId
)
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
//获取展板分类
getExhibitionBoardCatId
(){
let
vm
=
this
;
vm
.
$https
({
url
:
"exhibitionBoardCat/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
exhibitionBoardCatId
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取视频分类列表
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"assetType/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取视频列表
getVideoData
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"asset/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetId
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
close
()
{
history
.
go
(
-
1
);
},
handleChange
(
val
)
{
console
.
log
(
val
);
}
}
}
}
;
</
script
>
<
style
>
<
style
lang=
"less"
>
</
style
>
\ No newline at end of file
src/page/content/display/content/details.vue
View file @
3cb268bd
<
template
>
<div
class=
"addFormBox"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"140px"
class=
"addForm"
label-position=
"top"
>
<el-form-item
label=
"页面说明:"
class=
"addTipMsg"
>
可新建版权方信息。创建展板内容,“*”为必填项,音频资料支持汉语、蒙语、藏语、维吾尔语、英语五种言音频上传,参考资料支持多文件上传。
</el-form-item>
<div
class=
"addTitle"
>
展板基本信息
</div>
<el-form-item
label=
"展板名称"
prop=
"name"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"展板版权方"
>
<el-select
v-model=
"ruleForm.desc"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"展板分类"
>
<el-select
v-model=
"ruleForm.desc"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"展板图片"
>
</el-form-item>
<el-form-item
label=
"展板二维码"
>
</el-form-item>
<div
class=
"info"
>
<div
class=
"info-header"
>
学习内容详情
</div>
<div
class=
"info-container"
>
<div
class=
"info-wrapper"
>
<el-collapse
v-model=
"activeNames"
@
change=
"handleChange"
>
<el-collapse-item
title=
"审核意见"
name=
"1"
>
<el-form
class=
"demo-form-inline"
:inline=
"true"
:model=
"formInline"
label-position=
"top"
>
<el-form-item
label=
"审核层级"
class=
"w100"
>
<span
class=
"w50 l-float"
>
<strong>
初审
</strong>
2021/02/02
</span>
<span
class=
"w50"
>
<strong>
复审
</strong>
2021/02/23
</span>
</el-form-item>
<el-form-item
label=
"审核结果"
class=
"w50"
>
驳回
</el-form-item>
<el-form-item
label=
"驳回原因"
>
各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给
</el-form-item>
</el-form>
</el-collapse-item>
<el-collapse-item
title=
"展板基本信息"
name=
"2"
>
<el-form
class=
"demo-form-inline"
:inline=
"true"
:model=
"formInline"
label-position=
"top"
>
<el-form-item
label=
"版权方"
class=
"w50"
>
xxxxxxx
</el-form-item>
<el-form-item
label=
"创建时间"
>
2021/02/23
</el-form-item>
<el-form-item
label=
"展板分类"
class=
"w50"
>
反腐类
</el-form-item>
<el-form-item
label=
"上架情况"
>
已上架
</el-form-item>
<el-form-item
label=
"审核情况"
class=
"w50"
>
已审核
</el-form-item>
<el-form-item
label=
"展板图片"
class=
"w50"
>
<img
class=
"imgSize"
src
alt
/>
</el-form-item>
<el-form-item
label=
"展板简介"
>
各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给
</el-form-item>
</el-form>
</el-collapse-item>
<el-collapse-item
title=
"展板影音信息"
name=
"3"
>
<el-form
class=
"demo-form-inline"
:inline=
"true"
:model=
"formInline"
label-position=
"top"
>
<el-form-item
label=
"展板视频"
class=
"w100"
>
<div>
<img
class=
"iconImg"
src
alt
/>
<span>
xxx.mp4
</span>
<el-form-item
label=
"展板介绍"
>
<el-input
type=
"textarea"
v-model=
"ruleForm.desc"
></el-input>
</el-form-item>
<div
class=
"addTitle"
>
展板影音信息
</div>
<el-form-item
label=
"视频版权方"
>
<el-select
v-model=
"ruleForm.desc"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"视频类别"
>
<el-select
v-model=
"ruleForm.desc"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"视频"
>
<el-select
v-model=
"ruleForm.desc"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"导览音频"
>
</el-form-item>
<el-form-item
label=
"参考资料"
>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
确定
</el-button>
<el-button
@
click=
"resetForm('ruleForm')"
>
取消
</el-button>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class=
"party-dialog"
title=
"新建视频分类"
width=
"468px"
:visible
.
sync=
"dialogVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"classForm"
ref=
"classForm"
label-width=
"80px"
label-position=
"top"
:rules=
"rules"
id=
"ruleo"
class=
"party-form"
>
<el-form-item
label=
"视频分类名称"
prop=
"name"
>
<el-input
v-model=
"classForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"classForm.desc"
></el-input>
</el-form-item>
</el-form>
<img
class=
"iconImg"
src
alt
/>
<span>
xxx.mp4
</span>
</div>
</el-form-item>
<el-form-item
label=
"展板音频"
>
<div>
<img
class=
"iconImg"
src
alt
/>
<span>
xxx.mp3
</span>
</div>
</el-form-item>
<el-form-item
label=
"展板图片"
class=
"w100"
>
<img
class=
"imgSize"
src
alt
/>
<img
class=
"imgSize"
src
alt
/>
<img
class=
"imgSize"
src
alt
/>
<img
class=
"imgSize"
src
alt
/>
</el-form-item>
<el-form-item
label=
"展板文档"
>
<div>
<img
class=
"iconImg"
src
alt
/>
<span>
xxx.pdf
</span>
</div>
</el-form-item>
</el-form>
</el-collapse-item>
</el-collapse>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"save"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
<div
class=
"info-footer"
>
<div
class=
"btn-group"
>
<!-- 确定、取消 -->
<el-button
size=
"mini"
type=
"primary"
class=
"btn_form_search"
@
click=
"close"
>
关闭
</el-button>
</div>
</
el-dialog
>
</
div
>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
options
:
[
{
value
:
"选项1"
,
label
:
"黄金糕"
},
{
value
:
"选项2"
,
label
:
"双皮奶"
},
tableData
:
[
{
value
:
"选项3
"
,
label
:
"蚵仔煎
"
id
:
"1
"
,
name
:
"1
"
},
{
value
:
"选项4
"
,
label
:
"龙须面
"
id
:
"2
"
,
name
:
"2
"
},
{
value
:
"选项5
"
,
label
:
"北京烤鸭
"
id
:
"3
"
,
name
:
"3
"
}
],
dialogVisible
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
},
classForm
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
},
value1
:
""
,
ruleForm
:
{
name
:
""
,
region
:
""
,
date1
:
""
,
date2
:
""
,
delivery
:
false
,
type
:
[],
resource
:
""
,
desc
:
""
},
departments
:
[
{
value
:
"Beijing"
,
label
:
"北京"
},
{
value
:
"Shanghai"
,
label
:
"上海"
},
{
value
:
"Nanjing"
,
label
:
"南京"
},
{
value
:
"Chengdu"
,
label
:
"成都"
},
{
value
:
"Shenzhen"
,
label
:
"深圳"
},
{
value
:
"Guangzhou"
,
label
:
"广州"
}
],
checkedThing
:
false
,
department
:
[],
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
paddingRight
:
"10px"
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
},
{
min
:
3
,
max
:
5
,
message
:
"长度在 3 到 5 个字符"
,
trigger
:
"blur"
}
],
region
:
[
{
required
:
true
,
message
:
"请选择活动区域"
,
trigger
:
"change"
}
],
date1
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择日期"
,
trigger
:
"change"
}
],
date2
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择时间"
,
trigger
:
"change"
}
],
type
:
[
{
type
:
"array"
,
required
:
true
,
message
:
"请至少选择一个活动性质"
,
trigger
:
"change"
}
],
resource
:
[
{
required
:
true
,
message
:
"请选择活动资源"
,
trigger
:
"change"
}
],
desc
:
[{
required
:
true
,
message
:
"请填写活动形式"
,
trigger
:
"blur"
}]
activeNames
:
[
"1"
,
"2"
,
"3"
],
formInline
:
{
user
:
""
,
region
:
""
}
};
},
methods
:
{
// 新建视频分类
addVideoClass
()
{
this
.
dialogVisible
=
true
;
},
save
()
{
this
.
dialogVisible
=
false
;
},
// 新增关闭
close
()
{
this
.
dialogVisible
=
false
;
for
(
let
key
in
this
.
classForm
)
{
this
.
classForm
[
key
]
=
null
;
}
this
.
$refs
[
"classForm"
].
resetFields
();
},
submitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
alert
(
"submit!"
);
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
history
.
go
(
-
1
);
},
getSelectDep
(
department
)
{
// debugger
if
(
department
.
length
===
this
.
departments
.
length
)
{
this
.
checkedThing
=
true
;
handleChange
(
val
)
{
console
.
log
(
val
);
},
moveUpward
(
row
,
index
)
{
if
(
index
>
0
)
{
let
upData
=
this
.
tableData
[
index
-
1
];
this
.
tableData
.
splice
(
index
-
1
,
1
);
this
.
tableData
.
splice
(
index
,
0
,
upData
);
}
else
{
this
.
checkedThing
=
false
;
this
.
$message
({
message
:
"已经是第一条,上移失败"
,
type
:
"warning"
});
}
},
selectAllThing
()
{
// debugger
this
.
department
=
[];
if
(
this
.
checkedThing
)
{
this
.
departments
.
map
(
item
=>
{
this
.
department
.
push
(
item
.
label
);
moveDown
(
row
,
index
)
{
if
(
index
+
1
==
this
.
tableData
.
length
)
{
this
.
$message
({
message
:
"已经是最后一条,下移失败"
,
type
:
"warning"
});
}
else
{
this
.
department
=
[];
let
downData
=
this
.
tableData
[
index
+
1
];
this
.
tableData
.
splice
(
index
+
1
,
1
);
this
.
tableData
.
splice
(
index
,
0
,
downData
);
}
}
}
};
</
script
>
<
style
lang=
"less"
>
@import "../../style/add";
@import "../../../../style/dialog";
</
style
>
\ No newline at end of file
src/page/content/display/content/index.vue
View file @
3cb268bd
...
...
@@ -6,7 +6,7 @@
<el-input
size=
"mini"
placeholder=
"请输入版权方名称"
v-model=
"form.name"
v-model=
"form.name
OrCode
"
@
keyup
.
enter
.
native=
"Search"
clearable
></el-input>
...
...
@@ -39,19 +39,24 @@
<div
class=
"party-table"
>
<el-table
border
style=
"width: 100%;height:100%"
height=
"100%"
style=
"width: 100%;height:100%"
height=
"100%"
ref=
"multipleTable"
:data=
"tableData"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"index"
width=
"120"
label=
"序号"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"版权方名称"
prop=
"menuName"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"视频分类"
prop=
"menuUrl"
></el-table-column>
<el-table-column
label=
"创建时间"
prop=
"sort"
></el-table-column>
<el-table-column
label=
"版权方有效期"
prop=
"sort"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"备注"
prop=
"menuName"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"展板名称"
prop=
"name"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"展板版权方"
prop=
"boardCopyrightOwnerName"
></el-table-column>
<el-table-column
label=
"展板分类"
prop=
"createTime"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"展板简介"
prop=
"remarks"
></el-table-column>
<el-table-column
label=
"关联视频名称"
prop=
"createTime"
></el-table-column>
<el-table-column
label=
"视频版权方"
prop=
"expireDateEnd"
></el-table-column>
<el-table-column
label=
"创建时间"
prop=
"createTime"
></el-table-column>
<el-table-column
label=
"审核状态"
prop=
"auditStatus"
></el-table-column>
<el-table-column
label=
"是否上架"
prop=
"createTime"
></el-table-column>
<el-table-column
label=
"操作"
header-align=
"center"
align=
"center"
>
<template
slot-scope=
"scope"
width=
"
22
0"
>
<template
slot-scope=
"scope"
width=
"
36
0"
>
<el-button-group>
<el-button
title=
"编辑"
...
...
@@ -59,13 +64,16 @@
type=
"text"
@
click=
"openEdit(scope.row)"
>
编辑
</el-button>
<el-button
title=
"删除"
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"displayInfo(scope.row)"
>
展板详情
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
下架
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
上架
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</el-button-group>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"partyt-pagination"
>
<div
class=
"partyt-pagination"
>
<el-pagination
small
background
...
...
@@ -75,7 +83,7 @@
layout=
"prev, pager, next, jumper"
:total=
"page.total"
></el-pagination>
</div>
</div>
</div>
</div>
</template>
...
...
@@ -99,7 +107,7 @@ export default {
FormVisible1
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
name
OrCode
:
""
},
editform
:
{
menuName
:
""
,
...
...
@@ -140,7 +148,7 @@ export default {
computed
:
{},
mounted
()
{
this
.
onSearch
();
this
.
getPermis
();
//
this.getPermis();
},
components
:
{},
methods
:
{
...
...
@@ -174,14 +182,15 @@ export default {
let
vm
=
this
;
vm
.
$https
(
{
url
:
"
menu/getMenu
List"
,
method
:
"
ge
t"
,
url
:
"
exhibitionBoard/getPage
List"
,
method
:
"
pos
t"
,
authType
:
this
.
backToken
},
param
vm
.
$qs
.
stringify
(
param
)
// param
)
.
then
(
res
=>
{
let
data
=
res
.
data
;
let
data
=
res
.
data
.
data
;
vm
.
page
.
pageSize
=
data
.
size
;
vm
.
page
.
total
=
data
.
total
;
vm
.
tableData
=
data
.
records
;
...
...
@@ -202,9 +211,10 @@ export default {
_this
.
getTableData
(
param
);
},
// 重置
Reset
(){
this
.
form
=
{}
this
.
Search
()
Reset
()
{
// this.$refs["form"].resetFields();
this
.
form
=
{};
this
.
Search
();
},
Search
()
{
let
_this
=
this
;
...
...
@@ -212,7 +222,7 @@ export default {
let
searchObj
=
{
_index
:
1
,
_size
:
_this
.
page
.
pageSize
,
name
:
_this
.
form
.
nam
e
name
OrCode
:
_this
.
form
.
nameOrCod
e
};
this
.
getTableData
(
searchObj
);
},
...
...
@@ -230,11 +240,15 @@ export default {
}
return
searchObj
;
},
//
添加
//
添加
addPermis
()
{
this
.
$router
.
push
({
path
:
"displayContentAdd"
,
query
:
{
type
:
"add"
}
});
// $('.el-dialog__title').html('新建');
// this.FormVisible1 = true;
this
.
$router
.
push
({
path
:
"displayContentAdd"
,
query
:
{
type
:
"add"
}
});
// $('.el-dialog__title').html('新建'); // this.FormVisible1 = true;
},
displayInfo
(
row
)
{
this
.
$router
.
push
({
path
:
"displayContentDetails"
,
query
:
{
id
:
row
.
id
,
}
});
},
// 添加权限
permisSave
()
{
...
...
@@ -294,7 +308,7 @@ export default {
openEdit
(
row
)
{
this
.
$router
.
push
({
path
:
"displayContentUpdate"
,
query
:
{
type
:
"Update"
}
query
:
{
type
:
"Update"
,
id
:
row
.
id
}
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
...
...
@@ -315,17 +329,24 @@ export default {
type
:
"warning"
})
.
then
(()
=>
{
// _this.$https({
// method: 'delete',
// url: 'menu/delete?menuId='+ row.id,
// authType: this.backToken
// }).then((res) => {
// this.$message({type: 'success', message: '删除成功!'});
// _this.Search();
// }, (error) => {
// this.$message({type: 'fail', message: "删除失败!" + error.response.data});
// }
// )
_this
.
$https
({
method
:
"delete"
,
url
:
"exhibitionBoard/delete/"
+
row
.
id
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
});
_this
.
Search
();
},
error
=>
{
this
.
$message
({
type
:
"fail"
,
message
:
"删除失败!"
+
error
.
response
.
data
});
}
);
})
.
catch
(()
=>
{});
},
...
...
@@ -385,57 +406,6 @@ export default {
handleSelectionChange
(
selection
)
{
let
_this
=
this
;
_this
.
selection
=
selection
;
},
getMultipleSelect
()
{
let
_this
=
this
;
let
arr
=
[];
let
str
=
""
;
if
(
_this
.
selection
)
{
_this
.
selection
.
forEach
(
function
(
e
)
{
arr
.
push
(
e
.
id
);
});
str
=
arr
.
join
(
","
);
}
else
{
str
=
""
;
}
return
str
;
},
// 批量删除
multipleDelete
()
{
let
_this
=
this
;
let
str
=
_this
.
getMultipleSelect
();
if
(
str
)
{
this
.
$confirm
(
"此操作将删除选中菜单, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
_this
.
$https
({
url
:
"menu/batchDel?menuIds="
+
str
,
method
:
"DELETE"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
if
(
res
.
data
.
status
==
201
||
res
.
data
.
status
==
200
)
{
this
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
});
}
//重新查询数据
_this
.
onSearch
();
},
error
=>
{}
);
});
}
else
{
this
.
$message
({
type
:
"info"
,
message
:
"请至少选择一个选项!"
});
}
}
}
};
...
...
@@ -444,6 +414,6 @@ export default {
<
style
lang=
"less"
>
// @import "../../../../style/common";
// @import "../../style/list";
@import
'../../../../style/table.less'
;
@import
'../../../../style/pagination.less'
;
@import
"../../../../style/table.less"
;
@import
"../../../../style/pagination.less"
;
</
style
>
src/page/content/display/copyright/index---.vue
0 → 100644
View file @
3cb268bd
<
template
>
<div
class=
"listPage H100"
>
<div
class=
"search-container"
>
<el-form
:inline=
"true"
:model=
"form"
class=
"search-form"
onsubmit=
"return false;"
>
<el-form-item
label=
"版权方名称"
>
<el-input
size=
"mini"
placeholder=
"请输入版权方名称"
v-model=
"form.name"
@
keyup
.
enter
.
native=
"Search"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"版权方有效期"
>
<el-date-picker
v-model=
"value1"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<div
class=
"btn-group"
>
<el-button
size=
"mini"
type=
"primary"
class=
"btn_form_search"
@
click=
"Search"
>
查询
</el-button>
<el-button
size=
"mini"
class=
"btn_form_search"
>
重置
</el-button>
</div>
</el-form-item>
</el-form>
<div
class=
"page-tip"
>
<span
class=
"page-tip-title"
>
页面说明:
</span>
<span
class=
"page-tips"
>
展示所有单位的互动频次统计图及统计表格
</span>
</div>
</div>
<div
class=
"table-content"
>
<div
class=
"btn-group"
>
<el-button
type=
"primary"
@
click=
"addPermis()"
>
新建版权方
</el-button>
</div>
<div
class=
"party-table"
>
<el-table
border
style=
"width: 100%;height:100%"
height=
"100%"
ref=
"multipleTable"
:data=
"tableData"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"index"
width=
"120"
label=
"序号"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"版权方名称"
prop=
"name"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"展板分类"
prop=
"assetTypeNames"
></el-table-column>
<el-table-column
label=
"创建时间"
prop=
"createTime"
></el-table-column>
<el-table-column
label=
"版权方有效期"
prop=
"expireDateEnd"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"备注"
prop=
"remarks"
></el-table-column>
<el-table-column
label=
"操作"
header-align=
"center"
align=
"center"
>
<template
slot-scope=
"scope"
width=
"220"
>
<el-button-group>
<el-button
title=
"编辑"
size=
"mini"
type=
"text"
@
click=
"openEdit(scope.row)"
>
编辑
</el-button>
<el-button
title=
"删除"
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</el-button-group>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"partyt-pagination"
>
<el-pagination
small
background
@
current-change=
"handleCurrentChange"
:current-page=
"page.currentPage"
:page-size=
"page.pageSize"
layout=
"prev, pager, next, jumper"
:total=
"page.total"
></el-pagination>
</div>
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
var
checkIsNull
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
)
{
if
(
value
.
trim
()
==
""
)
{
callback
(
new
Error
(
"不允许只输入空格"
));
}
else
{
callback
();
}
}
};
return
{
value1
:
""
,
page
:
{
currentPage
:
1
,
pageSize
:
10
,
total
:
0
},
tableData
:
[],
FormVisible
:
false
,
FormVisible1
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
,
ownerType
:
'EXHIBITION_BOARD'
},
editform
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
,
id
:
""
},
permisform
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
},
typeList
:
[],
rules
:
{
sort
:
[
{
required
:
true
,
message
:
"请输入顺序值"
,
trigger
:
"change"
},
{
pattern
:
/^
(\d{1,5})?
$/
,
message
:
"排序值为低于5位数的纯数字"
}
],
menuName
:
[
{
required
:
true
,
message
:
"请输入菜单名称"
,
trigger
:
"change"
},
{
max
:
20
,
message
:
"不能超过20个字符"
,
trigger
:
"change"
},
{
validator
:
checkIsNull
,
trigger
:
"blur"
}
],
menuUrl
:
[
{
required
:
true
,
message
:
"请输入菜单地址"
,
trigger
:
"change"
},
{
validator
:
checkIsNull
,
trigger
:
"blur"
}
],
parentId
:
[
{
required
:
true
,
message
:
"请输入父级菜单"
,
trigger
:
"change"
}
]
},
value
:
""
,
name
:
""
};
},
computed
:
{},
mounted
()
{
this
.
onSearch
();
// this.getPermis();
},
components
:
{},
methods
:
{
// 渲染父级权限
getPermis
()
{
let
vm
=
this
;
vm
.
$https
({
method
:
"get"
,
url
:
"menu/getRoleMenu?roleId="
+
sessionStorage
.
getItem
(
"roleId"
),
authType
:
this
.
backToken
}).
then
(
res
=>
{
let
data
=
res
.
data
;
vm
.
typeList
=
data
.
map
((
e
,
i
)
=>
{
return
{
id
:
e
.
id
,
name
:
e
.
menuName
.
indexOf
(
"-"
)
==
-
1
?
e
.
menuName
:
e
.
menuName
.
split
(
"-"
)[
1
]
};
});
},
error
=>
{
console
.
log
(
error
);
}
);
},
// 获得数据接口
getTableData
(
param
)
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"copyrightOwner/getPageList"
,
method
:
"post"
,
authType
:
this
.
backToken
},
vm
.
$qs
.
stringify
(
param
)
// param
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
vm
.
page
.
pageSize
=
data
.
size
;
vm
.
page
.
total
=
data
.
total
;
vm
.
tableData
=
data
.
records
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 分页
handleCurrentChange
(
val
)
{
let
_this
=
this
;
_this
.
page
.
currentPage
=
val
;
_this
.
onSearch
();
},
onSearch
()
{
let
_this
=
this
;
let
param
=
_this
.
getSearchQuery
();
_this
.
getTableData
(
param
);
},
Search
()
{
let
_this
=
this
;
_this
.
page
.
currentPage
=
1
;
let
searchObj
=
{
_index
:
1
,
_size
:
_this
.
page
.
pageSize
,
name
:
_this
.
form
.
name
};
this
.
getTableData
(
searchObj
);
},
// // 获取当前查询参数
getSearchQuery
()
{
let
_this
=
this
;
let
searchObj
=
{
_index
:
_this
.
page
.
currentPage
,
_size
:
_this
.
page
.
pageSize
};
for
(
let
key
in
_this
.
form
)
{
if
(
_this
.
form
[
key
])
{
searchObj
[
key
]
=
_this
.
form
[
key
];
}
}
return
searchObj
;
},
// 添加
addPermis
()
{
this
.
$router
.
push
({
path
:
"videoCopyrightAdd"
,
query
:
{
type
:
"add"
}
});
// $('.el-dialog__title').html('新建');
// this.FormVisible1 = true;
},
// 添加权限
permisSave
()
{
let
_this
=
this
;
_this
.
$refs
.
permisform
.
validate
(
valid
=>
{
if
(
valid
)
{
_this
.
$https
(
{
url
:
"menu/add"
,
method
:
"post"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
_this
.
permisform
)
)
.
then
(
res
=>
{
if
(
res
.
data
.
status
==
200
||
res
.
data
.
status
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
res
.
data
.
message
});
//跳回用户列表
_this
.
onSearch
();
_this
.
FormVisible1
=
false
;
for
(
let
key
in
_this
.
permisform
)
{
_this
.
permisform
[
key
]
=
null
;
}
_this
.
$refs
[
"permisform"
].
resetFields
();
}
else
{
_this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
message
});
}
},
error
=>
{
_this
.
$message
({
type
:
"error"
,
message
:
error
});
}
);
}
});
},
// 编辑关闭
close
()
{
this
.
FormVisible
=
false
;
this
.
$refs
[
"editform"
].
resetFields
();
},
// 新增关闭
close1
()
{
this
.
FormVisible1
=
false
;
for
(
let
key
in
this
.
permisform
)
{
this
.
permisform
[
key
]
=
null
;
}
this
.
$refs
[
"permisform"
].
resetFields
();
},
// 编辑弹框
openEdit
(
row
)
{
this
.
$router
.
push
({
path
:
"videoCopyrightUpdate"
,
query
:
{
type
:
"Update"
,
id
:
row
.
id
}
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
// let _this=this;
// //成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
// _this.FormVisible = true;
},
// 删除
handleDelete
(
row
)
{
let
_this
=
this
;
this
.
$confirm
(
"此操作将永久删除, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
_this
.
$https
({
method
:
'delete'
,
url
:
'copyrightOwner/delete/'
+
row
.
id
,
authType
:
this
.
backToken
}).
then
((
res
)
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
_this
.
Search
();
},
(
error
)
=>
{
this
.
$message
({
type
:
'fail'
,
message
:
"删除失败!"
+
error
.
response
.
data
});
}
)
})
.
catch
(()
=>
{});
},
// 保存编辑信息
submitForm
()
{
let
_this
=
this
;
_this
.
$refs
.
editform
.
validate
(
valid
=>
{
if
(
valid
)
{
let
searchObj
=
{};
for
(
let
key
in
_this
.
editform
)
{
if
(
this
.
editform
[
key
])
{
searchObj
[
key
]
=
_this
.
editform
[
key
];
}
}
let
str
=
_this
.
editform
.
menuName
;
let
index
=
str
.
lastIndexOf
(
"-"
);
str
=
str
.
substring
(
index
+
1
,
str
.
length
);
searchObj
.
menuName
=
str
;
_this
.
$https
(
{
url
:
"menu/edit"
,
method
:
"put"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
searchObj
)
)
.
then
(
res
=>
{
if
(
res
.
data
.
status
==
200
||
res
.
data
.
status
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
res
.
data
.
message
});
_this
.
onSearch
();
_this
.
FormVisible
=
false
;
_this
.
$refs
[
"editform"
].
resetFields
();
}
else
{
_this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
message
});
}
},
error
=>
{
_this
.
$message
({
type
:
"error"
,
message
:
error
});
}
);
}
});
},
// 批量操作
handleSelectionChange
(
selection
)
{
let
_this
=
this
;
_this
.
selection
=
selection
;
}
}
};
</
script
>
<
style
lang=
"less"
>
// @import "../../../../style/common";
// @import "../../style/list";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
</
style
>
src/page/content/display/copyright/index.vue
View file @
3cb268bd
<
template
>
<div
class=
"listPage H100"
>
<div
class=
"search-container"
>
<el-form
:inline=
"true"
:model=
"form"
class=
"search-form"
onsubmit=
"return false;"
>
<el-form
:inline=
"true"
:model=
"form"
ref=
"form"
class=
"search-form"
onsubmit=
"return false;"
>
<el-form-item
label=
"版权方名称"
>
<el-input
size=
"mini"
...
...
@@ -23,18 +23,18 @@
<el-form-item>
<div
class=
"btn-group"
>
<el-button
size=
"mini"
type=
"primary"
class=
"btn_form_search"
@
click=
"Search"
>
查询
</el-button>
<el-button
size=
"mini"
class=
"btn_form_search"
>
重置
</el-button>
<el-button
size=
"mini"
class=
"btn_form_search"
@
click=
"Reset"
>
重置
</el-button>
</div>
</el-form-item>
</el-form>
<div
class=
"page-tip"
>
<span
class=
"page-tip-title"
>
页面说明:
</span>
<span
class=
"page-tips"
>
展示所有单位的互动频次统计图及统计表格
</span>
<span
class=
"page-tips"
>
可通过创建时间、视频分类名称模糊搜索快速筛选视频分类信息,可对视频分类信息进行修改、删除。可新建视频分类。
</span>
</div>
</div>
<div
class=
"table-content"
>
<div
class=
"btn-group"
>
<el-button
type=
"primary"
@
click=
"addPermis()"
>
新建
版权方
</el-button>
<el-button
type=
"primary"
@
click=
"addPermis()"
>
新建
视频分类
</el-button>
</div>
<div
class=
"party-table"
>
<el-table
...
...
@@ -44,25 +44,30 @@
:data=
"tableData"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"index"
width=
"120"
label=
"序号"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"版权方名称"
prop=
"name"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"展板分类"
prop=
"assetTypeNames"
></el-table-column>
<el-table-column
label=
"创建时间"
prop=
"createTime"
></el-table-column>
<el-table-column
label=
"版权方有效期"
prop=
"expireDateEnd"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"备注"
prop=
"remarks"
></el-table-column>
<el-table-column
label=
"操作"
header-align=
"center"
align=
"center"
>
<template
slot-scope=
"scope"
width=
"220"
>
<el-button-group>
<el-button
title=
"编辑"
size=
"mini"
type=
"text"
@
click=
"openEdit(scope.row)"
>
编辑
</el-button>
<el-button
title=
"删除"
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</el-button-group>
</
template
>
</el-table-column>
<el-table-column
type=
"index"
width=
"120"
label=
"序号"
></el-table-column>
<el-table-column
label=
"视频分类"
prop=
"name"
></el-table-column>
<el-table-column
label=
"版权方"
prop=
"copyrightOwnerName"
></el-table-column>
<el-table-column
label=
"创建时间"
prop=
"createTime"
></el-table-column>
<el-table-column
label=
"备注"
prop=
"remarks"
></el-table-column>
<el-table-column
label=
"操作"
header-align=
"center"
align=
"center"
>
<template
slot-scope=
"scope"
width=
"220"
>
<el-button-group>
<el-button
title=
"删除"
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
<el-button
title=
"编辑"
size=
"mini"
type=
"text"
@
click=
"openEdit(scope.row)"
>
编辑
</el-button>
<!--
<el-button
title=
"编辑"
size=
"mini"
type=
"text"
@
click=
"openDetails(scope.row)"
>
查看详情
</el-button>
-->
</el-button-group>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"partyt-pagination"
>
...
...
@@ -77,6 +82,82 @@
></el-pagination>
</div>
</div>
<!--新增弹框-->
<el-dialog
title=
"新建版权方"
custom-class=
"party-dialog"
width=
"468px"
:visible
.
sync=
"FormVisible1"
:before-close=
"close1"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"classForm"
ref=
"classForm"
label-width=
"80px"
label-position=
"top"
:rules=
"rules"
id=
"ruleo"
class=
"party-form"
>
<el-form-item
label=
"版权方名称"
prop=
"name"
>
<el-input
v-model=
"classForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"版权方有效期"
required
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"valueDate"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"classForm.remarks"
></el-input>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
v-show=
"type"
type=
"primary"
@
click=
"permisSave"
>
确定
</el-button>
<el-button
size=
"mini"
v-show=
"!type"
type=
"primary"
@
click=
"permisEdit"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close1"
>
取 消
</el-button>
</div>
</el-dialog>
<!--编辑-->
<el-dialog
custom-class=
"party-dialog"
title=
"编辑"
width=
"468px"
:visible
.
sync=
"FormVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"editform"
disabled
class=
"party-form"
ref=
"editform"
label-width=
"80px"
label-position=
"right"
:rules=
"rules"
>
<el-form-item
label=
"审核层级:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.sort"
auto-complete=
"off"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"审核时间:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.menuName"
auto-complete=
"off"
clearable
onkeyup=
"this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item
label=
"审核结果:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.menuUrl"
auto-complete=
"off"
clearable
onkeyup=
"this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item
label=
"驳回原因:"
:label-width=
"formLabelWidth"
>
<el-input
type=
"textarea"
v-model=
"editform.desc"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"submitForm('editform')"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<
script
>
...
...
@@ -92,6 +173,8 @@ export default {
}
};
return
{
valueDate
:
[],
type
:
true
,
value1
:
""
,
page
:
{
currentPage
:
1
,
pageSize
:
10
,
total
:
0
},
tableData
:
[],
...
...
@@ -99,7 +182,8 @@ export default {
FormVisible1
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
name
:
""
,
ownerType
:
'EXHIBITION_BOARD'
},
editform
:
{
menuName
:
""
,
...
...
@@ -108,11 +192,8 @@ export default {
sort
:
""
,
id
:
""
},
permisform
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
classForm
:
{
ownerType
:
'EXHIBITION_BOARD'
,
},
typeList
:
[],
rules
:
{
...
...
@@ -212,12 +293,19 @@ export default {
};
this
.
getTableData
(
searchObj
);
},
// 重置
Reset
(){
// this.$refs["form"].resetFields();
this
.
form
=
{
ownerType
:
'EXHIBITION_BOARD'
}
this
.
Search
()
},
// // 获取当前查询参数
getSearchQuery
()
{
let
_this
=
this
;
let
searchObj
=
{
_index
:
_this
.
page
.
currentPage
,
_size
:
_this
.
page
.
pageSize
_size
:
_this
.
page
.
pageSize
,
ownerType
:
'EXHIBITION_BOARD'
};
for
(
let
key
in
_this
.
form
)
{
if
(
_this
.
form
[
key
])
{
...
...
@@ -228,38 +316,89 @@ export default {
},
// 添加
addPermis
()
{
this
.
$router
.
push
({
path
:
"videoCopyrightAdd"
,
query
:
{
type
:
"add"
}
});
// $('.el-dialog__title').html('新建');
// this.FormVisible1 = true;
// this.$router.push({ path: "videoContentAdd", query: { type: "add" } });
$
(
'.el-dialog__title'
).
html
(
'新建'
);
this
.
FormVisible1
=
true
;
this
.
type
=
true
},
//
添加权限
//
新建视频分类确认保存
permisSave
()
{
this
.
classForm
.
ownerType
=
'EXHIBITION_BOARD'
this
.
classForm
.
expireDateEnd
=
this
.
valueDate
[
1
];
this
.
classForm
.
expireDateStart
=
this
.
valueDate
[
0
];
let
_this
=
this
;
_this
.
$refs
.
permisf
orm
.
validate
(
valid
=>
{
_this
.
$refs
.
classF
orm
.
validate
(
valid
=>
{
if
(
valid
)
{
_this
.
$https
(
{
url
:
"menu/add"
,
method
:
"post"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
_this
.
permisform
)
{
url
:
"copyrightOwner/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
_this
.
classForm
)
// _this.classForm
)
.
then
(
res
=>
{
if
(
res
.
data
.
status
==
200
||
res
.
data
.
status
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultCode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
res
.
data
.
message
message
:
'新建成功!'
});
//跳回用户列表
_this
.
onSearch
();
_this
.
FormVisible1
=
false
;
for
(
let
key
in
_this
.
permisf
orm
)
{
_this
.
permisf
orm
[
key
]
=
null
;
for
(
let
key
in
_this
.
classF
orm
)
{
_this
.
classF
orm
[
key
]
=
null
;
}
_this
.
$refs
[
"permisform"
].
resetFields
();
_this
.
$refs
[
"classForm"
].
resetFields
();
_this
.
valueDate
=
[]
}
else
{
_this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
message
message
:
res
.
data
.
msg
});
}
},
error
=>
{
_this
.
$message
({
type
:
"error"
,
message
:
error
});
}
);
}
});
},
// 编辑视频分类确认保存
permisEdit
()
{
this
.
classForm
.
ownerType
=
'EXHIBITION_BOARD'
this
.
classForm
.
expireDateEnd
=
this
.
valueDate
[
1
];
this
.
classForm
.
expireDateStart
=
this
.
valueDate
[
0
];
let
_this
=
this
;
_this
.
$refs
.
classForm
.
validate
(
valid
=>
{
if
(
valid
)
{
_this
.
$https
(
{
url
:
"copyrightOwner/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
_this
.
classForm
)
// _this.classForm
)
.
then
(
res
=>
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultCode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'修改成功!'
});
//跳回用户列表
_this
.
onSearch
();
_this
.
FormVisible1
=
false
;
for
(
let
key
in
_this
.
classForm
)
{
_this
.
classForm
[
key
]
=
null
;
}
_this
.
$refs
[
"classForm"
].
resetFields
();
}
else
{
_this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
msg
});
}
},
...
...
@@ -275,32 +414,59 @@ export default {
},
// 编辑关闭
close
()
{
this
.
FormVisible
=
false
;
this
.
$refs
[
"editform"
].
resetFields
();
this
.
FormVisible1
=
false
;
for
(
let
key
in
this
.
classForm
)
{
this
.
classForm
[
key
]
=
null
;
}
this
.
$refs
[
"classForm"
].
resetFields
();
// this.FormVisible = false;
// this.$refs["editform"].resetFields();
},
// 新增关闭
close1
()
{
this
.
FormVisible1
=
false
;
for
(
let
key
in
this
.
permisf
orm
)
{
this
.
permisf
orm
[
key
]
=
null
;
for
(
let
key
in
this
.
classF
orm
)
{
this
.
classF
orm
[
key
]
=
null
;
}
this
.
$refs
[
"
permisf
orm"
].
resetFields
();
this
.
$refs
[
"
classF
orm"
].
resetFields
();
},
// 编辑弹框
openEdit
(
row
)
{
this
.
$router
.
push
({
path
:
"videoCopyrightUpdate"
,
query
:
{
type
:
"Update"
,
id
:
row
.
id
}
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
// let _this=this;
// //成功之后清除数据
this
.
type
=
false
$
(
'.el-dialog__title'
).
html
(
'编辑'
);
let
_this
=
this
;
//成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
// _this.FormVisible = true;
_this
.
FormVisible1
=
true
;
this
.
getAssetTypeInfo
(
row
.
id
)
},
// 获取视频分类详情
getAssetTypeInfo
(
id
){
let
vm
=
this
;
vm
.
$https
(
{
url
:
"copyrightOwner/get/"
+
id
,
method
:
"get"
,
authType
:
this
.
backToken
},
// param
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
valueDate
=
[
data
.
expireDateStart
,
data
.
expireDateEnd
];
this
.
classForm
=
data
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
openDetails
()
{
let
_this
=
this
;
_this
.
FormVisible
=
true
;
},
// 删除
handleDelete
(
row
)
{
...
...
@@ -325,62 +491,113 @@ export default {
})
.
catch
(()
=>
{});
},
// 保存编辑信息
submitForm
()
{
// // 保存编辑信息
// submitForm() {
// let _this = this;
// _this.$refs.editform.validate(valid => {
// if (valid) {
// let searchObj = {};
// for (let key in _this.editform) {
// if (this.editform[key]) {
// searchObj[key] = _this.editform[key];
// }
// }
// let str = _this.editform.menuName;
// let index = str.lastIndexOf("-");
// str = str.substring(index + 1, str.length);
// searchObj.menuName = str;
// _this
// .$https(
// {
// url: "menu/edit",
// method: "put",
// authType: this.backToken
// },
// _this.$qs.stringify(searchObj)
// )
// .then(
// res => {
// if (res.data.status == 200 || res.data.status == 201) {
// _this.$message({
// type: "success",
// message: res.data.message
// });
// _this.onSearch();
// _this.FormVisible = false;
// _this.$refs["editform"].resetFields();
// } else {
// _this.$message({
// type: "error",
// message: res.data.message
// });
// }
// },
// error => {
// _this.$message({
// type: "error",
// message: error
// });
// }
// );
// }
// });
// },
// 批量操作
handleSelectionChange
(
selection
)
{
let
_this
=
this
;
_this
.
selection
=
selection
;
},
getMultipleSelect
()
{
let
_this
=
this
;
_this
.
$refs
.
editform
.
validate
(
valid
=>
{
if
(
valid
)
{
let
searchObj
=
{};
for
(
let
key
in
_this
.
editform
)
{
if
(
this
.
editform
[
key
])
{
searchObj
[
key
]
=
_this
.
editform
[
key
];
}
}
let
str
=
_this
.
editform
.
menuName
;
let
index
=
str
.
lastIndexOf
(
"-"
);
str
=
str
.
substring
(
index
+
1
,
str
.
length
);
searchObj
.
menuName
=
str
;
let
arr
=
[];
let
str
=
""
;
if
(
_this
.
selection
)
{
_this
.
selection
.
forEach
(
function
(
e
)
{
arr
.
push
(
e
.
id
);
});
str
=
arr
.
join
(
","
);
}
else
{
str
=
""
;
}
return
str
;
},
// 批量删除
multipleDelete
()
{
let
_this
=
this
;
let
str
=
_this
.
getMultipleSelect
();
if
(
str
)
{
this
.
$confirm
(
"此操作将删除选中菜单, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
_this
.
$https
(
{
url
:
"menu/edit"
,
method
:
"put"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
searchObj
)
)
.
$https
({
url
:
"menu/batchDel?menuIds="
+
str
,
method
:
"DELETE"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
if
(
res
.
data
.
status
==
20
0
||
res
.
data
.
status
==
201
)
{
_
this
.
$message
({
if
(
res
.
data
.
status
==
20
1
||
res
.
data
.
status
==
200
)
{
this
.
$message
({
type
:
"success"
,
message
:
res
.
data
.
message
});
_this
.
onSearch
();
_this
.
FormVisible
=
false
;
_this
.
$refs
[
"editform"
].
resetFields
();
}
else
{
_this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
message
message
:
"删除成功!"
});
}
//重新查询数据
_this
.
onSearch
();
},
error
=>
{
_this
.
$message
({
type
:
"error"
,
message
:
error
});
}
error
=>
{}
);
}
});
},
// 批量操作
handleSelectionChange
(
selection
)
{
let
_this
=
this
;
_this
.
selection
=
selection
;
});
}
else
{
this
.
$message
({
type
:
"info"
,
message
:
"请至少选择一个选项!"
});
}
}
}
};
...
...
@@ -389,6 +606,7 @@ export default {
<
style
lang=
"less"
>
// @import "../../../../style/common";
// @import "../../style/list";
@import "../../../../style/dialog.less";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
</
style
>
src/page/content/learn/content/add.vue
View file @
3cb268bd
...
...
@@ -3,24 +3,50 @@
<div
class=
"info-header"
>
新建学习内容
</div>
<div
class=
"info-container"
>
<div
class=
"info-wrapper"
>
<el-form
class=
"demo-form-inline"
:inline=
"true"
:model=
"ruleForm"
label-position=
"top"
>
<el-form-item
label=
"学习内容名称"
class=
"w50"
style=
"padding-right:100px;"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"140px"
class=
"demo-form-inline party-form"
:inline=
"true"
label-position=
"top"
>
<el-form-item
label=
"学习内容名称"
prop=
"name"
class=
"w50"
style=
"padding-right:100px;"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"适用范围"
>
<el-form-item
label=
"适用范围"
>
<!-- ALL_PLAT,THIS_ORGAN,THIS_ORGAN_SUB -->
全平台
<!--
<el-input
v-model=
"ruleForm.name"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.applicableScope"
></el-input>
-->
<!--
<el-radio-group
v-model=
"ruleForm.applicableScope"
>
<el-radio
label=
"THIS_ORGAN"
></el-radio>
<el-radio
label=
"THIS_ORGAN_SUB"
></el-radio>
</el-radio-group>
-->
</el-form-item>
<el-form-item
label=
"学习内容宣传图"
class=
"w100"
>
<img
class=
"imgSize"
src
alt
/>
<el-form-item
label=
"所属学习项目"
class=
"w50"
>
<el-select
placeholder=
"请选所属学习项目"
@
focus=
"getLearnProject"
v-model=
"ruleForm.learningProjectId"
>
<el-option
v-for=
"item in learningProjectIdList"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"学习内容宣传图"
prop=
"cover"
class=
"w100"
>
<!--
<img
class=
"imgSize"
src
alt
/>
-->
<upload-img
@
imgUrl=
"imgUrl"
></upload-img>
</el-form-item>
<el-form-item
class=
"selectH100 w50"
label=
"
请选择预设视频分类
"
>
<el-form-item
class=
"selectH100 w50"
label=
"
展板类别"
prop=
"exhibitionBoardCatIdList
"
>
<el-select
placeholder=
"请选择
预设展板分类
"
placeholder=
"请选择
展板类别
"
@
focus=
"getAssetTypeData"
multiple
v-model=
"ruleForm.
assetType
IdList"
v-model=
"ruleForm.
exhibitionBoardCat
IdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
...
...
@@ -32,17 +58,17 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"selectH100"
label=
"
请选择预设视频分类
"
>
<el-form-item
class=
"selectH100"
label=
"
版权方"
prop=
"copyrightOwnerIdList
"
>
<el-select
placeholder=
"请选择
预设视频分类
"
@
focus=
"getAssetTypeData"
placeholder=
"请选择
版权方
"
@
focus=
"getAssetTypeData
2
"
multiple
v-model=
"ruleForm.
assetType
IdList"
@
change=
"getSelectDep"
v-model=
"ruleForm.
copyrightOwner
IdList"
@
change=
"getSelectDep
2
"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing
"
@
change=
"selectAllThing
"
>
全选
</el-checkbox>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing
2"
@
change=
"selectAllThing2
"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
v-for=
"item in assetType
2
"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
...
...
@@ -52,29 +78,33 @@
<el-form-item
label=
"展板备选清单"
class=
"w100"
></el-form-item>
</el-form>
<div
class
>
<!--
{{
multipleSelection
}}
-->
<!--
{{
ruleForm
.
exhibitionBoardIdList
}}
-->
<el-table
border
@
selection-change=
"handleSelectionChange"
style=
"width: 100%;height:300px;overflow:auto;"
height=
"100%"
ref=
"multipleTable"
:data=
"tableData"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
type=
"index"
width=
"120"
label=
"序号"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"版权方名称"
prop=
"name"
></el-table-column>
<el-table-column
label=
"操作"
>
<el-table-column
show-overflow-tooltip
label=
"展板类别"
prop=
"name"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"展板版权方"
prop=
"name"
></el-table-column>
<el-table-column
label=
"操作"
width=
"180"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
style=
"padding:0"
:disabled=
"scope.$index == 0"
@
click=
"moveUpward(scope.row, scope.$index)"
>
上移
</el-button>
>
视频预览
</el-button>
<el-button
type=
"text"
style=
"padding:0"
:disabled=
"(scope.$index + 1) == tableData.length"
@
click=
"moveDown(scope.row, scope.$index)"
>
下移
</el-button>
>
展板预览
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -84,7 +114,8 @@
<div
class=
"info-footer"
>
<div
class=
"btn-group"
>
<!-- 确定、取消 -->
<el-button
size=
"mini"
type=
"primary"
class=
"btn_form_search"
@
click=
"addSubmit"
>
确定
</el-button>
<el-button
v-show=
"type === 'add'"
size=
"mini"
type=
"primary"
class=
"btn_form_search"
@
click=
"submitForm('ruleForm')"
>
提交审核
</el-button>
<el-button
v-show=
"type === 'Update'"
size=
"mini"
type=
"primary"
class=
"btn_form_search"
@
click=
"updateForm('ruleForm')"
>
提交审核
</el-button>
<el-button
size=
"mini"
class=
"btn_form_search"
@
click=
"close"
>
取消
</el-button>
</div>
</div>
...
...
@@ -92,61 +123,280 @@
</template>
<
script
>
import
uploadImg
from
'@/page/content/components/uploadVue/uploadImg'
export
default
{
components
:{
uploadImg
},
data
()
{
return
{
type
:
this
.
$route
.
query
.
type
,
learningProjectIdList
:
''
,
assetType
:
[],
assetType2
:[],
checkedThing
:
false
,
checkedThing2
:
false
,
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
paddingRight
:
"10px"
},
tableData
:
[
{
id
:
"1"
,
name
:
"1"
},
{
id
:
"2"
,
name
:
"2"
},
{
id
:
"3"
,
name
:
"3"
}
],
tableData
:
[],
ruleForm
:
{
user
:
""
,
region
:
""
}
applicableScope
:
"ALL_PLAT"
,
exhibitionBoardIdList
:[]
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
}
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
date1
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择日期"
,
trigger
:
"change"
}
],
date2
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择时间"
,
trigger
:
"change"
}
],
},
multipleSelection
:[]
};
},
mounted
(){
this
.
init
()
},
methods
:
{
getSelectDep
(
assetTypeIdList
)
{
if
(
assetTypeIdList
.
length
===
this
.
assetType
.
length
)
{
init
()
{
if
(
this
.
$route
.
query
.
type
===
"Update"
)
{
this
.
getInfo
(
this
.
$route
.
query
.
id
);
this
.
getLearnProject
()
this
.
getAssetTypeData
()
this
.
getAssetTypeData2
()
this
.
getLearnContentBoard
()
}
},
// 获取版权方详情
getInfo
(
id
)
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"learningContent/get/"
+
id
,
method
:
"get"
,
authType
:
this
.
backToken
}
// param
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
ruleForm
=
data
;
console
.
log
(
this
.
ruleForm
)
// this.ruleForm = {
// assetCopyrightOwnerId :data.assetCopyrightOwnerId,
// assetId:data.assetId,
// assetTypeId:data.assetTypeId,
// boardCopyrightOwnerId:data.boardCopyrightOwnerId,
// cover:data.cover,
// exhibitionBoardCatId:data.exhibitionBoardCatId,
// guideAudioUrl:data.guideAudioUrl,
// id:data.id,
// name:data.name,
// qrcodeUrl:data.qrcodeUrl,
// refMaterialUrl:data.refMaterialUrl,
// remarks:data.remarks,
// audioUrlList:data.audioUrlList,
// materialUrlList:data.materialUrlList
// }
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取获取学习内容展板全部列表
getLearnContentBoard
(){
let
vm
=
this
;
vm
.
$https
({
url
:
"learningContentBoard/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
{
learningContentId
:
this
.
$route
.
query
.
id
}
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
tableData
=
data
this
.
multipleSelection
=
data
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 多选赋值
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
// this.ruleForm.exhibitionBoardIdList = val
let
newArray
=
val
.
map
((
item
)
=>
{
return
item
.
id
;
})
this
.
ruleForm
.
exhibitionBoardIdList
=
newArray
},
// 新增
submitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
console
.
log
(
this
.
ruleForm
)
if
(
valid
)
{
this
.
$https
(
{
url
:
"/learningContent/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
// this.ruleForm
this
.
$qs
.
stringify
(
this
.
ruleForm
)
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
// 修改版权方
updateForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
$https
(
{
url
:
"learningContent/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
this
.
$qs
.
stringify
(
this
.
ruleForm
)
// this.ruleForm
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
// 获取学习项目列表
getLearnProject
(){
let
vm
=
this
;
vm
.
$https
({
url
:
"learningProject/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
learningProjectIdList
=
data
;
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
imgUrl
(
url
){
console
.
log
(
url
,
'图片服务器地址'
)
this
.
ruleForm
.
cover
=
url
},
getSelectDep
(
exhibitionBoardCatIdList
)
{
if
(
exhibitionBoardCatIdList
.
length
===
this
.
assetType
.
length
)
{
this
.
checkedThing
=
true
;
}
else
{
this
.
checkedThing
=
false
;
}
},
//
getSelectDep2
(
exhibitionBoardCatIdList
)
{
if
(
exhibitionBoardCatIdList
.
length
===
this
.
assetType2
.
length
)
{
this
.
checkedThing2
=
true
;
}
else
{
this
.
checkedThing2
=
false
;
}
console
.
log
(
this
.
ruleForm
.
exhibitionBoardCatIdList
,
"分类"
)
console
.
log
(
this
.
ruleForm
.
copyrightOwnerIdList
,
"展板"
)
const
param
=
{
boardCopyrightOwnerIdList
:
this
.
ruleForm
.
copyrightOwnerIdList
,
exhibitionBoardCatIdList
:
this
.
ruleForm
.
exhibitionBoardCatIdList
}
this
.
getTableData
(
param
)
},
// 根据展板类别,版权方获取展板备选清单
getTableData
(
param
)
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"exhibitionBoard/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
vm
.
$qs
.
stringify
(
param
)
// param
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
console
.
log
(
data
)
vm
.
tableData
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
selectAllThing
()
{
// debugger
this
.
ruleForm
.
assetType
IdList
=
[];
this
.
ruleForm
.
exhibitionBoardCat
IdList
=
[];
if
(
this
.
checkedThing
)
{
this
.
assetType
.
map
(
item
=>
{
this
.
ruleForm
.
assetTypeIdList
.
push
(
item
.
id
);
this
.
ruleForm
.
exhibitionBoardCatIdList
.
push
(
item
.
id
);
});
}
else
{
this
.
ruleForm
.
exhibitionBoardCatIdList
=
[];
}
},
selectAllThing2
()
{
// debugger
this
.
ruleForm
.
copyrightOwnerIdList
=
[];
if
(
this
.
checkedThing2
)
{
this
.
assetType2
.
map
(
item
=>
{
this
.
ruleForm
.
copyrightOwnerIdList
.
push
(
item
.
id
);
});
}
else
{
this
.
ruleForm
.
assetType
IdList
=
[];
this
.
ruleForm
.
copyrightOwner
IdList
=
[];
}
},
// 获取视频分类列表
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"
assetType
/getList"
,
url
:
"
exhibitionBoardCat
/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
...
...
@@ -159,6 +409,25 @@ export default {
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取展板列表
getAssetTypeData2
()
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"copyrightOwner/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
{
copyrightOwnerType
:
"EXHIBITION_BOARD"
}
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType2
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 新增
addSubmit
()
{
...
...
src/page/content/learn/content/index.vue
View file @
3cb268bd
...
...
@@ -150,7 +150,7 @@ export default {
let
vm
=
this
;
vm
.
$https
({
method
:
"get"
,
url
:
"menu/getRoleMenu?roleId="
+
sessionStorage
.
ge
tItem
(
"roleId"
),
url
:
"menu/getRoleMenu?roleId="
+
sessionStorage
.
ge
learningContent
(
"roleId"
),
authType
:
this
.
backToken
}).
then
(
res
=>
{
...
...
@@ -175,7 +175,7 @@ export default {
let
vm
=
this
;
vm
.
$https
(
{
url
:
"
copyrightOwner
/getPageList"
,
url
:
"
learningContent
/getPageList"
,
method
:
"post"
,
authType
:
this
.
backToken
},
...
...
@@ -300,7 +300,7 @@ export default {
// 编辑弹框
openEdit
(
row
)
{
this
.
$router
.
push
({
path
:
"
videoCopyrigh
tUpdate"
,
path
:
"
learnConten
tUpdate"
,
query
:
{
type
:
"Update"
,
id
:
row
.
id
}
});
// alert('编辑')
...
...
@@ -324,7 +324,7 @@ export default {
.
then
(()
=>
{
_this
.
$https
({
method
:
'delete'
,
url
:
'
copyrightOwner
/delete/'
+
row
.
id
,
url
:
'
learningContent
/delete/'
+
row
.
id
,
authType
:
this
.
backToken
}).
then
((
res
)
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
...
...
src/page/content/learn/project/index.vue
View file @
3cb268bd
...
...
@@ -29,12 +29,12 @@
</el-form>
<div
class=
"page-tip"
>
<span
class=
"page-tip-title"
>
页面说明:
</span>
<span
class=
"page-tips"
>
可通过创建时间、视频分类名称模糊搜索快速筛选视频分类信息,可对视频分类信息进行修改、删除。可新建视频分类
。
</span>
<span
class=
"page-tips"
>
展示系统所有的学习项目,可按照时间及相关名称进行快速信息搜索
。
</span>
</div>
</div>
<div
class=
"table-content"
>
<div
class=
"btn-group"
>
<el-button
type=
"primary"
@
click=
"addPermis()"
>
新建
视频分类
</el-button>
<el-button
type=
"primary"
@
click=
"addPermis()"
>
新建
学习项目
</el-button>
</div>
<div
class=
"party-table"
>
<el-table
...
...
@@ -181,10 +181,9 @@ export default {
id
:
""
},
classForm
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
id
:
""
,
name
:
""
,
remarks
:
""
},
typeList
:
[],
rules
:
{
...
...
@@ -246,7 +245,7 @@ export default {
let
vm
=
this
;
vm
.
$https
(
{
url
:
"
assetType
/getPageList"
,
url
:
"
learningProject
/getPageList"
,
method
:
"post"
,
authType
:
this
.
backToken
},
...
...
@@ -318,13 +317,13 @@ export default {
if
(
valid
)
{
_this
.
$https
(
{
url
:
"
assetType
/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
//
_this.$qs.stringify(_this.classForm)
_this
.
classForm
{
url
:
"
learningProject
/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
_this
.
classForm
)
//
_this.classForm
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
@@ -360,16 +359,16 @@ export default {
if
(
valid
)
{
_this
.
$https
(
{
url
:
"
assetType
/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
{
url
:
"
learningProject
/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
_this
.
$qs
.
stringify
(
_this
.
classForm
)
// _this.classForm
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'
新建
成功!'
message
:
'
修改
成功!'
});
//跳回用户列表
_this
.
onSearch
();
...
...
@@ -431,7 +430,7 @@ export default {
let
vm
=
this
;
vm
.
$https
(
{
url
:
"
assetType
/get/"
+
id
,
url
:
"
learningProject
/get/"
+
id
,
method
:
"get"
,
authType
:
this
.
backToken
},
...
...
@@ -440,7 +439,10 @@ export default {
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
classForm
=
data
// this.classForm = data
this
.
classForm
.
id
=
data
.
id
this
.
classForm
.
name
=
data
.
name
this
.
classForm
.
remarks
=
data
.
remarks
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
...
...
@@ -461,7 +463,7 @@ export default {
.
then
(()
=>
{
_this
.
$https
({
method
:
'delete'
,
url
:
'
assetType
/delete/'
+
row
.
id
,
url
:
'
learningProject
/delete/'
+
row
.
id
,
authType
:
this
.
backToken
}).
then
((
res
)
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
...
...
src/page/content/video/classify/index.vue
View file @
3cb268bd
...
...
@@ -181,10 +181,9 @@ export default {
id
:
""
},
classForm
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
id
:
""
,
name
:
""
,
remarks
:
""
},
typeList
:
[],
rules
:
{
...
...
@@ -319,12 +318,12 @@ export default {
_this
.
$https
(
{
url
:
"assetType/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
//
_this.$qs.stringify(_this.classForm)
_this
.
classForm
_this
.
$qs
.
stringify
(
_this
.
classForm
)
//
_this.classForm
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'新建成功!'
...
...
@@ -366,10 +365,10 @@ export default {
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
==
200
||
res
.
data
.
c
ode
==
201
)
{
if
(
res
.
data
.
resultCode
==
200
||
res
.
data
.
resultC
ode
==
201
)
{
_this
.
$message
({
type
:
"success"
,
message
:
'
新建
成功!'
message
:
'
修改
成功!'
});
//跳回用户列表
_this
.
onSearch
();
...
...
@@ -440,7 +439,10 @@ export default {
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
classForm
=
data
// this.classForm = data
this
.
classForm
.
id
=
data
.
id
this
.
classForm
.
name
=
data
.
name
this
.
classForm
.
remarks
=
data
.
remarks
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
...
...
src/page/content/video/content/add--.vue
deleted
100644 → 0
View file @
9ec0ae76
<
template
>
<div
class=
"addFormBox"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"140px"
class=
"addForm"
>
<el-form-item
label=
"页面说明:"
class=
"addTipMsg"
>
可新建版权方信息。“*”为必填项。预设视频分类中没有合适的选项,可点击“新建视频分类”在弹框中新建分类
</el-form-item>
<el-form-item
label=
"版权方名称"
prop=
"name"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
class=
"addTip"
>
<span>
若没有相应的视频分类,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoClass"
>
新建视频分类
</el-button>
</el-form-item>
<el-form-item
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
@
focus=
"getAssetTypeData"
multiple
v-model=
"ruleForm.assetTypeIdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"addTip"
>
<span>
若没有相应的展板分类,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoClass"
>
新建分类
</el-button>
</el-form-item>
<el-form-item
label=
"请选择预设展板分类"
>
<el-select
placeholder=
"请选择预设展板分类"
@
focus=
"getAssetTypeData"
multiple
v-model=
"ruleForm.assetTypeIdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"ruleForm.remarks"
></el-input>
</el-form-item>
<el-form-item>
<div
class=
" btn-group"
>
<el-button
type=
"primary"
v-show=
"type === 'add'"
@
click=
"submitForm('ruleForm')"
>
确定
</el-button>
<el-button
type=
"primary"
v-show=
"type === 'Update'"
@
click=
"updateForm('ruleForm')"
>
确定
</el-button>
<el-button
@
click=
"resetForm('ruleForm')"
>
取消
</el-button>
</div>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class=
"party-dialog"
title=
"新建视频分类"
width=
"468px"
:visible
.
sync=
"dialogVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"classForm"
ref=
"classForm"
label-width=
"80px"
label-position=
"top"
:rules=
"rules"
id=
"ruleo"
class=
"party-form"
>
<el-form-item
label=
"视频分类名称"
prop=
"name"
>
<el-input
v-model=
"classForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"classForm.remarks"
></el-input>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"save('classForm')"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
type
:
this
.
$route
.
query
.
type
,
dialogVisible
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
},
classForm
:
{
},
value1
:
[],
ruleForm
:
{
assetTypeIdList
:[],
name
:
""
,
copyrightOwnerType
:
'ASSET'
},
assetType
:
[
{
value
:
"Beijing"
,
label
:
"北京"
},
{
value
:
"Shanghai"
,
label
:
"上海"
}
],
checkedThing
:
false
,
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
paddingRight
:
"10px"
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
},
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
date1
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择日期"
,
trigger
:
"change"
}
],
date2
:
[
{
type
:
"date"
,
required
:
true
,
message
:
"请选择时间"
,
trigger
:
"change"
}
],
type
:
[
{
type
:
"array"
,
required
:
true
,
message
:
"请至少选择一个活动性质"
,
trigger
:
"change"
}
],
resource
:
[
{
required
:
true
,
message
:
"请选择活动资源"
,
trigger
:
"change"
}
],
desc
:
[{
required
:
true
,
message
:
"请填写活动形式"
,
trigger
:
"blur"
}]
}
};
},
mounted
(){
this
.
init
()
},
methods
:
{
init
(){
if
(
this
.
$route
.
query
.
type
===
'Update'
){
this
.
getInfo
()
}
},
// 获取版权方详情
getInfo
(){
let
vm
=
this
;
vm
.
$https
(
{
url
:
"copyrightOwner/get/"
+
this
.
$route
.
query
.
id
,
method
:
"get"
,
authType
:
this
.
backToken
},
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
// this.assetType = data
this
.
ruleForm
=
data
this
.
value1
=
[
data
.
expireDateStart
,
data
.
expireDateEnd
]
// this.ruleForm.assetTypeIdList[0] = data.expireDateStart
// this.ruleForm.assetTypeIdList[1] = data.expireDateEnd
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取视频分类列表
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"assetType/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType
=
data
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 新建视频分类
addVideoClass
()
{
this
.
dialogVisible
=
true
;
},
save
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
if
(
valid
)
{
this
.
$https
(
{
url
:
"assetType/save"
,
method
:
"post"
,
// headers: {
// 'Content-Type': 'application/json'
// },
authType
:
this
.
backToken
},
this
.
classForm
)
.
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'新增分类成功!'
});
this
.
dialogVisible
=
false
;
})
.
catch
(
function
(
err
)
{
this
.
$message
({
type
:
'fail'
,
message
:
"新增失败!"
+
err
.
response
.
data
.
msg
});
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
// 新增关闭
close
()
{
this
.
dialogVisible
=
false
;
for
(
let
key
in
this
.
classForm
)
{
this
.
classForm
[
key
]
=
null
;
}
this
.
$refs
[
"classForm"
].
resetFields
();
},
// 新增
submitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
if
(
valid
)
{
this
.
$https
(
{
url
:
"copyrightOwner/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
// this.ruleForm
this
.
$qs
.
stringify
(
this
.
ruleForm
)
)
.
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'新增成功!'
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
// 修改版权方
updateForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
id
=
this
.
$route
.
query
.
id
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
if
(
valid
)
{
this
.
$https
(
{
url
:
"copyrightOwner/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
this
.
$qs
.
stringify
(
this
.
ruleForm
)
// this.ruleForm
)
.
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'修改成功!'
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
history
.
go
(
-
1
);
},
getSelectDep
(
assetTypeIdList
)
{
if
(
assetTypeIdList
.
length
===
this
.
assetType
.
length
)
{
this
.
checkedThing
=
true
;
}
else
{
this
.
checkedThing
=
false
;
}
},
selectAllThing
()
{
// debugger
this
.
ruleForm
.
assetTypeIdList
=
[];
if
(
this
.
checkedThing
)
{
this
.
assetType
.
map
(
item
=>
{
this
.
ruleForm
.
assetTypeIdList
.
push
(
item
.
label
);
});
}
else
{
this
.
ruleForm
.
assetTypeIdList
=
[];
}
}
}
};
</
script
>
<
style
lang=
"less"
>
@import "../../style/add";
@import "../../../../style/dialog";
</
style
>
\ No newline at end of file
src/page/content/video/content/add.vue
View file @
3cb268bd
<
template
>
<div
class=
"addFormBox"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"180px"
class=
"addForm"
>
<el-form-item
label=
"视频名称"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
class=
"addTip"
>
<span>
若没有相应的版权方,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoCopyright"
>
新建版权方
</el-button>
</el-form-item>
<el-form-item
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
multiple
v-model=
"department"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"(item, index) in departments"
:label=
"item.label"
:value=
"item.label"
:key=
"index"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"addTip"
>
<span>
若没有相应的视频分类,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoClass"
>
新建视频分类
</el-button>
</el-form-item>
<el-form-item
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
multiple
v-model=
"department"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"(item, index) in departments"
:label=
"item.label"
:value=
"item.label"
:key=
"index"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"视频缩略图"
>
<el-upload
action=
"#"
list-type=
"picture-card"
:auto-upload=
"false"
>
<i
slot=
"default"
class=
"el-icon-plus"
></i>
<div
slot=
"file"
slot-scope=
"
{file}">
<img
class=
"el-upload-list__item-thumbnail"
:src=
"file.url"
alt
/>
<span
class=
"el-upload-list__item-actions"
>
<span
class=
"el-upload-list__item-preview"
@
click=
"handlePictureCardPreview(file)"
>
<i
class=
"el-icon-zoom-in"
></i>
</span>
<span
v-if=
"!disabled"
class=
"el-upload-list__item-delete"
@
click=
"handleDownload(file)"
>
<i
class=
"el-icon-download"
></i>
</span>
<span
v-if=
"!disabled"
class=
"el-upload-list__item-delete"
@
click=
"handleRemove(file)"
>
<i
class=
"el-icon-delete"
></i>
</span>
</span>
</div>
</el-upload>
<el-dialog
:visible
.
sync=
"dialogVisible"
>
<img
width=
"100%"
:src=
"dialogImageUrl"
alt
/>
</el-dialog>
</el-form-item>
<el-form-item
label=
"上传视频"
>
<el-upload
class=
"upload-demo"
drag
action=
"https://jsonplaceholder.typicode.com/posts/"
multiple
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
点击上传
</div>
</el-upload>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
提交审核
</el-button>
<el-button
@
click=
"resetForm('ruleForm')"
>
取消
</el-button>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class=
"party-dialog"
title=
"新建视频分类"
width=
"468px"
:visible
.
sync=
"dialogVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<div
class=
"info"
>
<div
class=
"info-header"
>
新建视频
</div>
<div
class=
"info-container"
>
<div
class=
"info-wrapper"
>
<div
class=
"pageTips"
>
<strong>
页面说明:
</strong>
可新建视频。“*”为必填项。若没有对应的视频版权方或视频分类可点击图标快速新建。
</div>
<el-form
:model=
"classForm"
ref=
"classForm"
label-width=
"80px"
label-position=
"top"
:model=
"ruleForm"
:rules=
"rules"
id=
"ruleo"
class=
"party-form"
ref=
"ruleForm"
label-width=
"140px"
class=
"party-form form-inline"
>
<el-form-item
label=
"视频分类名称"
prop=
"name"
>
<el-input
v-model=
"classForm.name"
></el-input>
<el-form-item
label=
"视频名称"
prop=
"name"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<!--
<el-form-item
label=
"版权方"
>
<mul-display
@
videoCopyright=
"videoCopyright"
></mul-display>
</el-form-item>
-->
<!--
<el-form-item
class=
"addTip"
>
<span>
若没有相应的视频分类,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoClass"
>
新建视频分类
</el-button>
</el-form-item>
<el-form-item
class=
"selectH100"
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
@
focus=
"getAssetTypeData"
multiple
v-model=
"ruleForm.assetTypeIdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
-->
<el-form-item
label=
"请选择视频版权方"
>
<el-select
placeholder=
"请选择视频版权方"
@
focus=
"getAssetCopyrightData"
v-model=
"ruleForm.assetCopyrightOwnerId"
>
<el-option
v-for=
"item in copyrightOwner"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"addTip"
>
<span>
若没有相应的视频分类,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoClass"
>
新建视频分类
</el-button>
</el-form-item>
<el-form-item
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
@
focus=
"getAssetTypeData"
v-model=
"ruleForm.assetTypeId"
@
change=
"getAssetType"
>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"视频缩略图"
>
<upload-img
@
imgUrl=
"imgUrl"
></upload-img>
</el-form-item>
<el-form-item
label=
"
备注
"
>
<
el-input
type=
"textarea"
v-model=
"classForm.desc"
></el-input
>
<el-form-item
label=
"
上传视频
"
>
<
upload-file
@
videoList=
"videoList"
></upload-file
>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class=
"party-dialog"
title=
"新建视频分类"
width=
"468px"
:visible
.
sync=
"dialogVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"classForm"
ref=
"classForm"
label-width=
"80px"
label-position=
"top"
:rules=
"rules"
id=
"ruleo"
class=
"party-form"
>
<el-form-item
label=
"视频分类名称"
prop=
"name"
>
<el-input
v-model=
"classForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"classForm.remarks"
></el-input>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"save('classForm')"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"save"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
<div
class=
"info-footer"
>
<div
class=
"btn-group"
>
<div
class=
"btn-group"
>
<el-button
type=
"primary"
v-show=
"type === 'add'"
class=
"btn_form_search"
@
click=
"submitForm('ruleForm')"
>
确定
</el-button>
<el-button
type=
"primary"
v-show=
"type === 'Update'"
class=
"btn_form_search"
@
click=
"updateForm('ruleForm')"
>
确定
</el-button>
<el-button
@
click=
"resetForm('ruleForm')"
>
取消
</el-button>
</div>
</div>
</
el-dialog
>
</
div
>
</div>
</
template
>
<
script
>
import
uploadImg
from
'@/page/content/components/uploadVue/uploadImg'
import
uploadFile
from
'@/page/content/components/uploadVue/uploadFile'
import
uploadDatum
from
'@/page/content/components/uploadVue/uploadDatum'
import
mulDisplay
from
'@/page/content/components/mulClassify/mulDisplay'
import
addCopyright
from
'@/page/content/components/dialog/addCopyright'
export
default
{
components
:{
uploadImg
,
uploadFile
,
uploadDatum
,
mulDisplay
,
addCopyright
},
data
()
{
return
{
dialogImageUrl
:
""
,
copyrightOwner
:[],
type
:
this
.
$route
.
query
.
type
,
dialogVisible
:
false
,
disabled
:
false
,
dialogVisibleForm
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
},
classForm
:
{
menuName
:
""
,
menuUrl
:
""
,
parentId
:
""
,
sort
:
""
},
value1
:
""
,
classForm
:
{},
value1
:
[],
ruleForm
:
{
name
:
""
,
region
:
""
,
date1
:
""
,
date2
:
""
,
delivery
:
false
,
type
:
[],
resource
:
""
,
desc
:
""
assetCopyrightOwnerId
:
""
,
assetTypeId
:
""
,
thumbnail
:
""
,
videoUrlList
:[]
},
departments
:
[
assetType
:
[
{
value
:
"Beijing"
,
label
:
"北京"
...
...
@@ -150,28 +176,10 @@ export default {
{
value
:
"Shanghai"
,
label
:
"上海"
},
{
value
:
"Nanjing"
,
label
:
"南京"
},
{
value
:
"Chengdu"
,
label
:
"成都"
},
{
value
:
"Shenzhen"
,
label
:
"深圳"
},
{
value
:
"Guangzhou"
,
label
:
"广州"
}
],
checkedThing
:
false
,
department
:
[],
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
...
...
@@ -179,11 +187,8 @@ export default {
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
},
{
min
:
3
,
max
:
5
,
message
:
"长度在 3 到 5 个字符"
,
trigger
:
"blur"
}
],
region
:
[
{
required
:
true
,
message
:
"请选择活动区域"
,
trigger
:
"change"
}
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
}
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
date1
:
[
{
...
...
@@ -216,25 +221,97 @@ export default {
}
};
},
mounted
()
{
this
.
init
();
},
methods
:
{
handleRemove
(
file
)
{
console
.
log
(
file
);
// 视频版权方名称id
videoCopyright
(
idlist
){
this
.
ruleForm
.
assetCopyrightOwnerId
=
idlist
},
handlePictureCardPreview
(
file
)
{
this
.
dialogImageUrl
=
file
.
url
;
this
.
dialogVisible
=
true
;
// 缩略图地址
imgUrl
(
url
){
console
.
log
(
url
,
'图片服务器地址'
)
this
.
ruleForm
.
thumbnail
=
url
},
// 视频列表地址
videoList
(
list
){
this
.
ruleForm
.
videoUrlList
=
list
},
init
()
{
if
(
this
.
$route
.
query
.
type
===
"Update"
)
{
this
.
getInfo
(
this
.
$route
.
query
.
id
);
this
.
getAssetTypeData
()
this
.
getAssetCopyrightData
()
}
},
handleDownload
(
file
)
{
console
.
log
(
file
);
getAssetType
(
data
){
console
.
log
(
data
)
console
.
log
(
this
.
ruleForm
.
assetTypeId
)
},
// 新建版权方
addVideoCopyright
()
{},
// 获取版权方详情
getInfo
(
id
)
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"asset/get/"
+
id
,
method
:
"get"
,
authType
:
this
.
backToken
}
// param
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
// this.ruleForm = data;
this
.
ruleForm
.
id
=
data
.
id
this
.
ruleForm
.
name
=
data
.
name
this
.
ruleForm
.
assetCopyrightOwnerId
=
data
.
assetCopyrightOwnerId
this
.
ruleForm
.
assetTypeId
=
data
.
assetTypeId
this
.
ruleForm
.
thumbnail
=
data
.
thumbnail
this
.
ruleForm
.
videoUrlList
=
data
.
videoUrlList
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 新建视频分类
addVideoClass
()
{
this
.
dialogVisible
Form
=
true
;
this
.
dialogVisible
=
true
;
},
save
()
{
this
.
dialogVisibleForm
=
false
;
// 弹窗保存
save
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
];
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
];
if
(
valid
)
{
this
.
$https
(
{
url
:
"assetType/save"
,
method
:
"post"
,
// headers: {
// 'Content-Type': 'application/json'
// },
authType
:
this
.
backToken
},
this
.
classForm
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"新增分类成功!"
});
this
.
dialogVisible
=
false
;
})
.
catch
(
function
(
err
)
{
this
.
$message
({
type
:
"fail"
,
message
:
"新增失败!"
+
err
.
response
.
data
.
msg
});
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
// 新增关闭
close
()
{
...
...
@@ -244,10 +321,58 @@ export default {
}
this
.
$refs
[
"classForm"
].
resetFields
();
},
// 新增
submitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
// this.ruleForm.assetCopyrightOwnerId = ["1373225989501456385"]
// this.ruleForm.assetTypeIdList = []
// this.ruleForm.videoUrlList = [
// "http://111.203.232.175:8085/group1/M00/00/39/wKhuVWBgIvaANgtZAAAAAAAAAAA947.mp4"
// ]
if
(
valid
)
{
alert
(
"submit!"
);
this
.
$https
(
{
url
:
"/asset/save"
,
method
:
"post"
,
authType
:
this
.
backToken
},
// this.ruleForm
this
.
$qs
.
stringify
(
this
.
ruleForm
)
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
// 修改版权方
updateForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
$https
(
{
url
:
"asset/update"
,
method
:
"put"
,
authType
:
this
.
backToken
},
this
.
$qs
.
stringify
(
this
.
ruleForm
)
// this.ruleForm
)
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
...
...
@@ -258,31 +383,60 @@ export default {
this
.
$refs
[
formName
].
resetFields
();
history
.
go
(
-
1
);
},
getSelectDep
(
department
)
{
// debugger
if
(
department
.
length
===
this
.
departments
.
length
)
{
getAssetCopyrightData
(){
let
vm
=
this
;
vm
.
$https
({
url
:
"copyrightOwner/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
{
copyrightOwnerType
:
'ASSET'
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
copyrightOwner
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取视频分类列表
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"assetType/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
getSelectDep
(
assetTypeIdList
)
{
if
(
assetTypeIdList
.
length
===
this
.
assetType
.
length
)
{
this
.
checkedThing
=
true
;
}
else
{
this
.
checkedThing
=
false
;
}
},
selectAllThing
()
{
// debugger
this
.
departmen
t
=
[];
this
.
ruleForm
.
assetTypeIdLis
t
=
[];
if
(
this
.
checkedThing
)
{
this
.
departments
.
map
(
item
=>
{
this
.
department
.
push
(
item
.
label
);
this
.
assetType
.
map
(
item
=>
{
this
.
ruleForm
.
assetTypeIdList
.
push
(
item
.
id
);
});
}
else
{
this
.
departmen
t
=
[];
this
.
ruleForm
.
assetTypeIdLis
t
=
[];
}
}
}
};
</
script
>
<
style
lang=
"less"
>
@import "../../style/add";
@import "../../../../style/dialog";
</
style
>
\ No newline at end of file
src/page/content/video/content/index.vue
View file @
3cb268bd
...
...
@@ -39,38 +39,37 @@
<div
class=
"party-table"
>
<el-table
border
style=
"width: 100%;height:100%"
height=
"100%"
style=
"width: 100%;height:100%"
height=
"100%"
ref=
"multipleTable"
:data=
"tableData"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"index"
width=
"120"
label=
"序号"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"视频名称"
prop=
"name"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"版权方"
prop=
"assetCopyrightOwnerName"
></el-table-column>
<el-table-column
label=
"视频分类"
prop=
"assetTypeName"
></el-table-column>
<el-table-column
label=
"审核状态"
prop=
"auditStatus"
></el-table-column>
<el-table-column
label=
"操作"
header-align=
"center"
align=
"center"
>
<template
slot-scope=
"scope"
width=
"220"
>
<el-button-group>
<el-button
title=
"删除"
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
<el-button
title=
"编辑"
size=
"mini"
type=
"text"
@
click=
"openEdit(scope.row)"
>
编辑
</el-button>
<el-button
title=
"编辑"
size=
"mini"
type=
"text"
@
click=
"openDetails(scope.row)"
>
查看详情
</el-button>
</el-button-group>
</
template
>
</el-table-column>
<el-table-column
type=
"index"
width=
"120"
label=
"序号"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"视频名称"
prop=
"name"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"版权方"
prop=
"assetCopyrightOwnerName"
></el-table-column>
<el-table-column
label=
"视频分类"
prop=
"assetTypeName"
></el-table-column>
<el-table-column
label=
"审核状态"
prop=
"auditStatus"
></el-table-column>
<el-table-column
label=
"操作"
header-align=
"center"
align=
"center"
>
<template
slot-scope=
"scope"
width=
"220"
>
<el-button-group>
<el-button
type=
"text"
size=
"mini"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"openEdit(scope.row)"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"openDetails(scope.row)"
>
查看详情
</el-button>
</el-button-group>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"partyt-pagination"
>
<div
class=
"partyt-pagination"
>
<el-pagination
small
background
...
...
@@ -80,110 +79,119 @@
layout=
"prev, pager, next, jumper"
:total=
"page.total"
></el-pagination>
</div>
</div>
</div>
<!--新增弹框-->
<el-dialog
title=
"新建"
class=
"newPermis"
:visible
.
sync=
"FormVisible1"
:before-close=
"close1"
>
<div
class=
"form_box"
>
<el-form
:model=
"permisform"
ref=
"permisform"
:rules=
"rules"
id=
"ruleo"
label-position=
"left"
>
<el-form-item
label=
"排序值:"
prop=
"sort"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"permisform.sort"
auto-complete=
"off"
clearable
placeholder=
"请输入排序值"
></el-input>
</el-form-item>
<el-form-item
label=
"菜单名称:"
prop=
"menuName"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"permisform.menuName"
onkeyup=
"this.value=this.value.replace(/\s+/g,'')"
auto-complete=
"off"
clearable
placeholder=
"请输入您的菜单名称"
></el-input>
</el-form-item>
<el-form-item
label=
"地址:"
prop=
"menuUrl"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"permisform.menuUrl"
onkeyup=
"this.value=this.value.replace(/\s+/g,'')"
auto-complete=
"off"
clearable
placeholder=
"请输入您的菜单地址"
></el-input>
</el-form-item>
<el-form-item
label=
"父级菜单:"
prop=
"parentId"
:label-width=
"formLabelWidth"
>
<el-select
size=
"small"
v-model=
"permisform.parentId"
value-key=
"name"
clearable
placeholder=
"请选择父级菜单"
>
<el-option
v-for=
"(item,index) in typeList"
:key=
"index"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
class=
"r-float"
size=
"mini"
type=
"primary"
@
click=
"permisSave"
>
确定
</el-button>
<el-button
class=
"r-float"
size=
"mini"
@
click=
"close1"
>
取 消
</el-button>
</div>
</div>
</el-dialog>
<!--查看详情-->
<el-dialog
custom-class=
"party-dialog"
title=
"查看详情"
width=
"468px"
:visible
.
sync=
"FormVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"editform"
disabled
class=
"party-form"
ref=
"editform"
label-width=
"80px"
label-position=
"right"
:rules=
"rules"
>
<el-form-item
label=
"审核层级:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.sort"
auto-complete=
"off"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"审核时间:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.menuName"
auto-complete=
"off"
clearable
onkeyup=
"this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item
label=
"审核结果:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.menuUrl"
auto-complete=
"off"
clearable
onkeyup=
"this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item
label=
"驳回原因:"
:label-width=
"formLabelWidth"
>
<el-input
type=
"textarea"
v-model=
"editform.desc"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"submitForm('editform')"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
<!--新增弹框-->
<el-dialog
title=
"新建"
class=
"newPermis"
:visible
.
sync=
"FormVisible1"
:before-close=
"close1"
>
<div
class=
"form_box"
>
<el-form
:model=
"permisform"
ref=
"permisform"
:rules=
"rules"
id=
"ruleo"
label-position=
"left"
>
<el-form-item
label=
"排序值:"
prop=
"sort"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"permisform.sort"
auto-complete=
"off"
clearable
placeholder=
"请输入排序值"
></el-input>
</el-form-item>
<el-form-item
label=
"菜单名称:"
prop=
"menuName"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"permisform.menuName"
onkeyup=
"this.value=this.value.replace(/\s+/g,'')"
auto-complete=
"off"
clearable
placeholder=
"请输入您的菜单名称"
></el-input>
</el-form-item>
<el-form-item
label=
"地址:"
prop=
"menuUrl"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"permisform.menuUrl"
onkeyup=
"this.value=this.value.replace(/\s+/g,'')"
auto-complete=
"off"
clearable
placeholder=
"请输入您的菜单地址"
></el-input>
</el-form-item>
<el-form-item
label=
"父级菜单:"
prop=
"parentId"
:label-width=
"formLabelWidth"
>
<el-select
size=
"small"
v-model=
"permisform.parentId"
value-key=
"name"
clearable
placeholder=
"请选择父级菜单"
>
<el-option
v-for=
"(item,index) in typeList"
:key=
"index"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
class=
"r-float"
size=
"mini"
type=
"primary"
@
click=
"permisSave"
>
确定
</el-button>
<el-button
class=
"r-float"
size=
"mini"
@
click=
"close1"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</el-dialog>
<!--查看详情-->
<el-dialog
custom-class=
"party-dialog"
title=
"查看详情"
width=
"468px"
:visible
.
sync=
"FormVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"editform"
disabled
class=
"party-form"
ref=
"editform"
label-width=
"80px"
label-position=
"right"
:rules=
"rules"
>
<el-form-item
label=
"审核层级:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.sort"
auto-complete=
"off"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"审核时间:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.menuName"
auto-complete=
"off"
clearable
onkeyup=
"this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item
label=
"审核结果:"
:label-width=
"formLabelWidth"
>
<el-input
size=
"small"
v-model=
"editform.menuUrl"
auto-complete=
"off"
clearable
onkeyup=
"this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item
label=
"驳回原因:"
:label-width=
"formLabelWidth"
>
<el-input
type=
"textarea"
v-model=
"editform.desc"
></el-input>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"submitForm('editform')"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
...
...
@@ -310,9 +318,9 @@ export default {
_this
.
getTableData
(
param
);
},
// 重置
Reset
(){
this
.
form
=
{}
this
.
Search
()
Reset
()
{
this
.
form
=
{}
;
this
.
Search
()
;
},
Search
()
{
let
_this
=
this
;
...
...
@@ -402,7 +410,7 @@ export default {
openEdit
(
row
)
{
this
.
$router
.
push
({
path
:
"videoContentUpdate"
,
query
:
{
type
:
"Update"
}
query
:
{
type
:
"Update"
,
id
:
row
.
id
}
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
...
...
@@ -419,23 +427,22 @@ export default {
let
_this
=
this
;
_this
.
FormVisible
=
true
;
// 获取详情
this
.
getAssetInfo
(
row
.
id
)
this
.
getAssetInfo
(
row
.
id
);
},
// 获取视频分类详情
getAssetInfo
(
id
){
getAssetInfo
(
id
)
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"asset/get/"
+
id
,
method
:
"get"
,
authType
:
this
.
backToken
}
,
}
// param
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
editform
=
data
this
.
editform
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
...
...
@@ -450,17 +457,24 @@ export default {
type
:
"warning"
})
.
then
(()
=>
{
_this
.
$https
({
method
:
'delete'
,
url
:
'asset/delete/'
+
row
.
id
,
authType
:
this
.
backToken
}).
then
((
res
)
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
_this
.
Search
();
},
(
error
)
=>
{
this
.
$message
({
type
:
'fail'
,
message
:
"删除失败!"
+
error
.
response
.
data
});
}
)
_this
.
$https
({
method
:
"delete"
,
url
:
"asset/delete/"
+
row
.
id
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
});
_this
.
Search
();
},
error
=>
{
this
.
$message
({
type
:
"fail"
,
message
:
"删除失败!"
+
error
.
response
.
data
});
}
);
})
.
catch
(()
=>
{});
},
...
...
@@ -580,7 +594,7 @@ export default {
// @import "../../../../style/common";
// @import "../../style/list";
@import
'../../../../style/table.less'
;
@import
'../../../../style/pagination.less'
;
@import
"../../../../style/table.less"
;
@import
"../../../../style/pagination.less"
;
@import "../../../../style/dialog.less";
</
style
>
src/page/content/video/copyright/add.vue
View file @
3cb268bd
<
template
>
<div
class=
"addFormBox"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"140px"
class=
"addForm"
>
<el-form-item
label=
"页面说明:"
class=
"addTipMsg"
>
可新建版权方信息。“*”为必填项。预设视频分类中没有合适的选项,可点击“新建视频分类”在弹框中新建分类
</el-form-item>
<el-form-item
label=
"版权方名称"
prop=
"name"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"版权方有效期"
required
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"value1"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item
class=
"addTip"
>
<span>
若没有相应的视频分类,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoClass"
>
新建视频分类
</el-button>
</el-form-item>
<el-form-item
class=
"selectH100"
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
@
focus=
"getAssetTypeData"
multiple
v-model=
"ruleForm.assetTypeIdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"ruleForm.remarks"
></el-input>
</el-form-item>
<el-form-item>
<div
class=
" btn-group"
>
<el-button
type=
"primary"
v-show=
"type === 'add'"
class=
"btn_form_search"
@
click=
"submitForm('ruleForm')"
>
确定
</el-button>
<el-button
type=
"primary"
v-show=
"type === 'Update'"
class=
"btn_form_search"
@
click=
"updateForm('ruleForm')"
>
确定
</el-button>
<el-button
@
click=
"resetForm('ruleForm')"
>
取消
</el-button>
</div>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class=
"party-dialog"
title=
"新建视频分类"
width=
"468px"
:visible
.
sync=
"dialogVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<div
class=
"info"
>
<div
class=
"info-header"
>
新建版权方
</div>
<div
class=
"info-container"
>
<div
class=
"info-wrapper"
>
<div
class=
"pageTips"
>
<strong>
页面说明:
</strong>
可新建版权方信息。“*”为必填项。预设视频分类中没有合适的选项,可点击“新建视频分类”在弹框中新建分类
</div>
<el-form
:model=
"classForm"
ref=
"classForm"
label-width=
"80px"
label-position=
"top"
:model=
"ruleForm"
:rules=
"rules"
id=
"ruleo"
class=
"party-form"
ref=
"ruleForm"
label-width=
"140px"
class=
"party-form form-inline"
>
<el-form-item
label=
"视频分类名称"
prop=
"name"
>
<el-input
v-model=
"classForm.name"
></el-input>
<el-form-item
label=
"版权方名称"
prop=
"name"
>
<el-input
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"版权方有效期"
required
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"value1"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item
class=
"addTip"
>
<span>
若没有相应的视频分类,请点击
</span>
<el-button
type=
"text"
@
click=
"addVideoClass"
>
新建视频分类
</el-button>
</el-form-item>
<el-form-item
class=
"selectH100"
label=
"请选择预设视频分类"
>
<el-select
placeholder=
"请选择预设视频分类"
@
focus=
"getAssetTypeData"
multiple
v-model=
"ruleForm.assetTypeIdList"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"
class
Form.remarks"
></el-input>
<el-input
type=
"textarea"
v-model=
"
rule
Form.remarks"
></el-input>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class=
"party-dialog"
title=
"新建视频分类"
width=
"468px"
:visible
.
sync=
"dialogVisible"
:before-close=
"close"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"classForm"
ref=
"classForm"
label-width=
"80px"
label-position=
"top"
:rules=
"rules"
id=
"ruleo"
class=
"party-form"
>
<el-form-item
label=
"视频分类名称"
prop=
"name"
>
<el-input
v-model=
"classForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"classForm.remarks"
></el-input>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"save('classForm')"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"save('classForm')"
>
确定
</el-button>
<el-button
size=
"mini"
@
click=
"close"
>
取 消
</el-button>
</div>
<div
class=
"info-footer"
>
<div
class=
"btn-group"
>
<div
class=
"btn-group"
>
<el-button
type=
"primary"
v-show=
"type === 'add'"
class=
"btn_form_search"
@
click=
"submitForm('ruleForm')"
>
确定
</el-button>
<el-button
type=
"primary"
v-show=
"type === 'Update'"
class=
"btn_form_search"
@
click=
"updateForm('ruleForm')"
>
确定
</el-button>
<el-button
@
click=
"resetForm('ruleForm')"
>
取消
</el-button>
</div>
</div>
</
el-dialog
>
</
div
>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
type
:
this
.
$route
.
query
.
type
,
type
:
this
.
$route
.
query
.
type
,
dialogVisible
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
},
classForm
:
{
},
classForm
:
{},
value1
:
[],
ruleForm
:
{
assetTypeIdList
:[],
assetTypeIdList
:
[],
name
:
""
,
copyrightOwnerType
:
'ASSET'
ownerType
:
"ASSET"
},
assetType
:
[
{
...
...
@@ -116,7 +143,7 @@ export default {
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
}
,
{
required
:
true
,
message
:
"请输入版权方名称"
,
trigger
:
"blur"
}
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
date1
:
[
...
...
@@ -150,70 +177,49 @@ export default {
}
};
},
mounted
(){
this
.
init
()
mounted
()
{
this
.
init
()
;
},
methods
:
{
init
(){
if
(
this
.
$route
.
query
.
type
===
'Update'
){
this
.
getInfo
()
init
()
{
if
(
this
.
$route
.
query
.
type
===
"Update"
)
{
this
.
getInfo
();
this
.
getAssetTypeData
()
}
},
// 获取版权方详情
getInfo
(){
getInfo
()
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"copyrightOwner/get/"
+
this
.
$route
.
query
.
id
,
method
:
"get"
,
authType
:
this
.
backToken
},
)
vm
.
$https
({
url
:
"copyrightOwner/get/"
+
this
.
$route
.
query
.
id
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
// this.assetType = data
this
.
ruleForm
=
data
this
.
value1
=
[
data
.
expireDateStart
,
data
.
expireDateEnd
]
this
.
ruleForm
=
data
;
this
.
value1
=
[
data
.
expireDateStart
,
data
.
expireDateEnd
];
// this.ruleForm.assetTypeIdList[0] = data.expireDateStart
// this.ruleForm.assetTypeIdList[1] = data.expireDateEnd
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取视频分类列表
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"assetType/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
},
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType
=
data
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 新建视频分类
addVideoClass
()
{
this
.
dialogVisible
=
true
;
},
// 弹窗保存
save
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
;
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
;
if
(
valid
)
{
this
.
$https
(
this
.
$https
(
{
url
:
"assetType/save"
,
method
:
"post"
,
...
...
@@ -223,13 +229,16 @@ export default {
authType
:
this
.
backToken
},
this
.
classForm
)
)
.
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'新增分类成功!'
});
this
.
$message
({
type
:
"success"
,
message
:
"新增分类成功!"
});
this
.
dialogVisible
=
false
;
})
.
catch
(
function
(
err
)
{
this
.
$message
({
type
:
'fail'
,
message
:
"新增失败!"
+
err
.
response
.
data
.
msg
});
this
.
$message
({
type
:
"fail"
,
message
:
"新增失败!"
+
err
.
response
.
data
.
msg
});
console
.
log
(
err
);
});
}
else
{
...
...
@@ -237,7 +246,6 @@ export default {
return
false
;
}
});
},
// 新增关闭
close
()
{
...
...
@@ -250,10 +258,10 @@ export default {
// 新增
submitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
;
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
;
if
(
valid
)
{
this
.
$https
(
this
.
$https
(
{
url
:
"copyrightOwner/save"
,
method
:
"post"
,
...
...
@@ -261,9 +269,9 @@ export default {
},
// this.ruleForm
this
.
$qs
.
stringify
(
this
.
ruleForm
)
)
)
.
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'新增成功!'
});
this
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
...
...
@@ -278,12 +286,12 @@ export default {
// 修改版权方
updateForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
ruleForm
.
id
=
this
.
$route
.
query
.
id
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
this
.
ruleForm
.
id
=
this
.
$route
.
query
.
id
;
this
.
ruleForm
.
expireDateEnd
=
this
.
value1
[
1
]
;
this
.
ruleForm
.
expireDateStart
=
this
.
value1
[
0
]
;
if
(
valid
)
{
this
.
$https
(
this
.
$https
(
{
url
:
"copyrightOwner/update"
,
method
:
"put"
,
...
...
@@ -291,9 +299,9 @@ export default {
},
this
.
$qs
.
stringify
(
this
.
ruleForm
)
// this.ruleForm
)
)
.
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'修改成功!'
});
this
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
});
history
.
go
(
-
1
);
})
.
catch
(
function
(
err
)
{
...
...
@@ -309,15 +317,31 @@ export default {
this
.
$refs
[
formName
].
resetFields
();
history
.
go
(
-
1
);
},
// 获取视频分类列表
getAssetTypeData
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"assetType/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
assetType
=
data
;
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
getSelectDep
(
assetTypeIdList
)
{
if
(
assetTypeIdList
.
length
===
this
.
assetType
.
length
)
{
this
.
checkedThing
=
true
;
}
else
{
this
.
checkedThing
=
false
;
}
},
selectAllThing
()
{
// debugger
this
.
ruleForm
.
assetTypeIdList
=
[];
...
...
@@ -332,7 +356,7 @@ export default {
}
};
</
script
>
<
style
lang=
"less"
>
@import "../../style/add";
@import "../../../../style/dialog";
</
style
>
\ No newline at end of file
src/page/content/video/copyright/index.vue
View file @
3cb268bd
...
...
@@ -6,7 +6,7 @@
<el-input
size=
"mini"
placeholder=
"请输入版权方名称"
v-model=
"form.name"
v-model=
"form.name
OrCode
"
@
keyup
.
enter
.
native=
"Search"
clearable
></el-input>
...
...
@@ -99,7 +99,8 @@ export default {
FormVisible1
:
false
,
formLabelWidth
:
"100px"
,
form
:
{
name
:
""
nameOrCode
:
""
,
ownerType
:
'ASSET'
},
editform
:
{
menuName
:
""
,
...
...
@@ -205,7 +206,7 @@ export default {
// 重置
Reset
(){
// this.$refs["form"].resetFields();
this
.
form
=
{}
this
.
form
=
{
ownerType
:
'ASSET'
}
this
.
Search
()
},
Search
()
{
...
...
@@ -214,7 +215,8 @@ export default {
let
searchObj
=
{
_index
:
1
,
_size
:
_this
.
page
.
pageSize
,
name
:
_this
.
form
.
name
nameOrCode
:
_this
.
form
.
nameOrCode
,
ownerType
:
'ASSET'
};
this
.
getTableData
(
searchObj
);
},
...
...
src/style/global.less
View file @
3cb268bd
...
...
@@ -299,7 +299,7 @@
height:100px;
overflow: auto;
}
// 详情页
//
内容、审核
详情页
.info {
height: 100%;
width: 100%;
...
...
@@ -319,6 +319,16 @@
width: 640px;
margin: 0 auto;
background: #fff;
.pageTips{
height: 72px;
padding:16px;
background: #F7F5F2;
border-radius: 8px;
margin:10px 0;
}
.el-collapse-item__header.is-active {
border-bottom-color: #eeeeee;
}
}
.info-container {
width: 100%;
...
...
@@ -331,6 +341,10 @@
border-top: 2px solid #eee;
padding: 20px;
text-align: center;
.el-button{
width: 160px;
height: 40px;
}
}
}
// 适用于统计详情样式
...
...
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