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
094290d5
Commit
094290d5
authored
Jul 03, 2021
by
胡冲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改学习学习内容展板资料不联动
parent
ab1bb0b7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1485 additions
and
668 deletions
+1485
-668
index.js
config/index.js
+4
-3
env.js
src/config/env.js
+34
-33
addCopyright.vue
src/page/content/components/dialog/addCopyright.vue
+221
-221
add.vue
src/page/content/learn/content/add.vue
+63
-34
add1.vue
src/page/content/learn/content/add1.vue
+787
-0
add.vue
src/page/content/video/copyright/add.vue
+376
-376
api.json
static/json/api.json
+0
-1
No files found.
config/index.js
View file @
094290d5
...
@@ -13,6 +13,7 @@ module.exports = {
...
@@ -13,6 +13,7 @@ module.exports = {
proxyTable
:
{
proxyTable
:
{
'/mall'
:
{
'/mall'
:
{
target
:
"http://111.203.232.175:8088/mall"
,
target
:
"http://111.203.232.175:8088/mall"
,
// target: "http://wdzc.digitalfod.com/wdzcfwpt/mall",// 阿里云
// target: "http://192.168.0.106:8088/mall",
// target: "http://192.168.0.106:8088/mall",
// target: "http://192.168.204.66:8088/mall",
// target: "http://192.168.204.66:8088/mall",
changeOrigin
:
true
,
changeOrigin
:
true
,
...
@@ -34,7 +35,7 @@ module.exports = {
...
@@ -34,7 +35,7 @@ module.exports = {
// Various Dev Server settings
// Various Dev Server settings
// host: 'localhost', // can be overwritten by process.env.HOST
// host: 'localhost', // can be overwritten by process.env.HOST
host
:
'0.0.0.0'
,
// can be overwritten by process.env.HOST
host
:
'0.0.0.0'
,
// can be overwritten by process.env.HOST
port
:
300
0
,
// can be overwritten by process.env.PORT, if port is in use, a free one will be determined
port
:
300
1
,
// can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser
:
false
,
autoOpenBrowser
:
false
,
errorOverlay
:
true
,
errorOverlay
:
true
,
notifyOnErrors
:
true
,
notifyOnErrors
:
true
,
...
@@ -63,7 +64,7 @@ module.exports = {
...
@@ -63,7 +64,7 @@ module.exports = {
// Paths
// Paths
assetsRoot
:
path
.
resolve
(
__dirname
,
'../plat'
),
assetsRoot
:
path
.
resolve
(
__dirname
,
'../plat'
),
assetsSubDirectory
:
'static'
,
assetsSubDirectory
:
'static'
,
assetsPublicPath
:
'
.
/'
,
assetsPublicPath
:
'
/wdzcfwpt
/'
,
/**
/**
* Source Maps
* Source Maps
...
...
src/config/env.js
View file @
094290d5
/**
/**
* Created by supervisor on 2018/2/28.
* Created by supervisor on 2018/2/28.
*/
*/
let
baseUrl
=
""
;
let
baseUrl
=
"/mall/"
;
// let baseUrl="http://wdzc.digitalfod.com/wdzcfwpt/mall/"; // 阿里云
let
routerMode
=
'history'
;
let
routerMode
=
'history'
;
let
backToken
=
"back"
;
let
backToken
=
"back"
;
...
...
src/page/content/components/dialog/addCopyright.vue
View file @
094290d5
...
@@ -121,7 +121,7 @@ export default {
...
@@ -121,7 +121,7 @@ export default {
this
.
$message
({
type
:
"success"
,
message
:
"新建视频版权方成功!"
});
this
.
$message
({
type
:
"success"
,
message
:
"新建视频版权方成功!"
});
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
}
else
{
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
res
.
message
});
this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
message
});
}
}
...
...
src/page/content/learn/content/add.vue
View file @
094290d5
...
@@ -296,7 +296,8 @@ export default {
...
@@ -296,7 +296,8 @@ export default {
},
},
multipleSelection
:
[],
multipleSelection
:
[],
multipleSelection1
:[],
multipleSelection1
:[],
userType
:
""
userType
:
""
,
tableInitFlag
:
false
};
};
},
},
mounted
()
{
mounted
()
{
...
@@ -325,6 +326,8 @@ export default {
...
@@ -325,6 +326,8 @@ export default {
async
init
()
{
async
init
()
{
if
(
this
.
$route
.
query
.
type
===
"Update"
)
{
if
(
this
.
$route
.
query
.
type
===
"Update"
)
{
await
this
.
getInfo
(
this
.
$route
.
query
.
id
);
await
this
.
getInfo
(
this
.
$route
.
query
.
id
);
}
else
{
this
.
tableInitFlag
=
true
;
}
}
await
this
.
getLearnProject
();
await
this
.
getLearnProject
();
// this.getAssetTypeData();
// this.getAssetTypeData();
...
@@ -372,18 +375,27 @@ export default {
...
@@ -372,18 +375,27 @@ export default {
this
.
getTableData
(
param
,
"update"
);
this
.
getTableData
(
param
,
"update"
);
},
},
async
setSelctTable
()
{
async
setSelctTable
()
{
// console.info(this.multipleSelection)
// console.info(this.tableData)
if
(
!
this
.
multipleSelection
.
length
)
{
if
(
!
this
.
multipleSelection
.
length
)
{
return
false
;
return
false
;
}
}
let
arr
=
[]
this
.
multipleSelection
.
map
(
item
=>
{
arr
.
push
(
item
.
id
)
})
// console.info(arr)
let
_this
=
this
;
let
_this
=
this
;
let
tableData
=
this
.
tableData
;
let
tableData
=
this
.
tableData
;
let
multipleSelection
=
this
.
multipleSelection
;
let
tempNum
=
0
;
tableData
.
forEach
(
v
=>
{
tableData
.
forEach
(
v
=>
{
multipleSelection
.
forEach
(
m
=>
{
if
(
arr
.
includes
(
v
.
id
))
{
if
(
v
.
id
==
m
.
id
)
{
_this
.
$refs
.
multipleTable
.
toggleRowSelection
(
v
);
_this
.
$refs
.
multipleTable
.
toggleRowSelection
(
v
);
tempNum
++
;
if
(
tempNum
===
arr
.
length
){
this
.
tableInitFlag
=
true
}
}
}
});
});
});
await
this
.
getTableParam1
()
await
this
.
getTableParam1
()
},
},
...
@@ -392,16 +404,17 @@ export default {
...
@@ -392,16 +404,17 @@ export default {
if
(
!
this
.
multipleSelection1
.
length
)
{
if
(
!
this
.
multipleSelection1
.
length
)
{
return
false
;
return
false
;
}
}
let
arr
=
[]
this
.
multipleSelection1
.
map
(
item
=>
{
arr
.
push
(
item
.
id
)
})
let
_this
=
this
;
let
_this
=
this
;
let
tableData1
=
this
.
tableData1
;
let
tableData1
=
this
.
tableData1
;
let
multipleSelection1
=
this
.
multipleSelection1
;
tableData1
.
forEach
(
v
=>
{
tableData1
.
forEach
(
v
=>
{
multipleSelection1
.
forEach
(
m
=>
{
if
(
arr
.
includes
(
v
.
id
))
{
if
(
v
.
id
==
m
.
id
)
{
_this
.
$refs
.
multipleTable1
.
toggleRowSelection
(
v
);
_this
.
$refs
.
multipleTable1
.
toggleRowSelection
(
v
);
}
}
});
});
});
},
},
// 获取展板类别列表
// 获取展板类别列表
getAssetTypeData
()
{
getAssetTypeData
()
{
...
@@ -428,6 +441,8 @@ export default {
...
@@ -428,6 +441,8 @@ export default {
this
.
getAssetTypeData2
()
this
.
getAssetTypeData2
()
this
.
ruleForm
.
copyrightOwnerIdList
=
[]
this
.
ruleForm
.
copyrightOwnerIdList
=
[]
this
.
ruleForm
.
exhibitionBoardCatIdList
=
[]
this
.
ruleForm
.
exhibitionBoardCatIdList
=
[]
this
.
tableData
=
[]
this
.
tableData1
=
[]
},
},
// 获取版权方列表
// 获取版权方列表
getAssetTypeData2
()
{
getAssetTypeData2
()
{
...
@@ -487,14 +502,25 @@ export default {
...
@@ -487,14 +502,25 @@ export default {
},
},
// 展板多选赋值
// 展板多选赋值
handleSelectionChange
(
val
)
{
handleSelectionChange
(
val
)
{
if
(
this
.
tableInitFlag
){
// console.info(this.tableData.length)
// this.getTableParam1()
if
(
val
.
length
===
0
){
this
.
multipleSelection1
=
[]
this
.
tableData1
=
[]
}
// console.info('tableInitFlag='+this.tableInitFlag)
this
.
multipleSelection
=
val
;
this
.
multipleSelection
=
val
;
let
newArray
=
val
.
map
(
item
=>
{
let
newArray
=
[]
return
item
.
id
;
val
.
map
((
item
,
index
)
=>
{
});
newArray
.
push
(
item
.
id
)
this
.
ruleForm
.
exhibitionBoardIdList
=
newArray
;
this
.
ruleForm
.
exhibitionBoardIdList
=
newArray
;
if
(
this
.
type
===
'add'
)
{
// console.info(index === (val.length-1))
if
(
index
===
(
val
.
length
-
1
)){
this
.
getTableParam1
()
this
.
getTableParam1
()
}
}
});
}
},
},
// 展板资料多选赋值
// 展板资料多选赋值
handleSelectionChange1
(
val
)
{
handleSelectionChange1
(
val
)
{
...
@@ -624,6 +650,10 @@ export default {
...
@@ -624,6 +650,10 @@ export default {
},
},
getTableData1
()
{
getTableData1
()
{
let
vm
=
this
;
let
vm
=
this
;
// console.log(vm.ruleForm.exhibitionBoardIdList.length+1)
if
(
vm
.
ruleForm
.
exhibitionBoardIdList
.
length
===
0
){
vm
.
tableData1
=
[]
}
else
{
vm
.
$https
(
vm
.
$https
(
{
{
url
:
"asset/getAssetByBoard"
,
url
:
"asset/getAssetByBoard"
,
...
@@ -640,21 +670,20 @@ export default {
...
@@ -640,21 +670,20 @@ export default {
// 选中表格数据
// 选中表格数据
// console.log(this.type)
// console.log(this.type)
if
(
this
.
type
===
'add'
){
if
(
this
.
type
===
'add'
){
vm
.
multipleSelection1
=
res
.
data
.
data
vm
.
multipleSelection1
=
data
setTimeout
(()
=>
{
vm
.
setSelctTable1
();
},
1000
);
}
else
{
}
else
{
// console.log(this.multipleSelection1)
// console.log(this.multipleSelection1)
vm
.
multipleSelection1
=
this
.
multipleSelection1
vm
.
multipleSelection1
=
this
.
multipleSelection1
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
vm
.
setSelctTable1
();
vm
.
setSelctTable1
();
},
1000
);
},
1000
);
}
})
})
.
catch
(
function
(
err
)
{
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
console
.
log
(
err
);
});
});
}
},
},
// 根据展板类别,版权方获取展板备选清单
// 根据展板类别,版权方获取展板备选清单
async
getTableData
(
param
,
type
)
{
async
getTableData
(
param
,
type
)
{
...
...
src/page/content/learn/content/add1.vue
0 → 100644
View file @
094290d5
<
template
>
<div
class=
"info"
>
<video-dialog
ref=
"videoDialog"
></video-dialog>
<!--
<div
class=
"info-header"
>
新建学习内容
</div>
-->
<div
class=
"info-header"
>
{{
type
===
'Update'
?
'修改'
:
'新建'
}}
学习内容
</div>
<div
class=
"info-container"
>
<div
class=
"info-wrapper"
>
<div
class=
"pageTips"
>
<strong>
页面说明:
</strong>
“*”为必填项。展板类别及版权方支持多选。展板备选清单中可预览备选展板详情及展板内包含的视频。
</div>
<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
oninput=
"value = value.trim()"
v-model=
"ruleForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"适用范围"
prop=
"applicableScope"
>
<!--
<span
v-show=
"userType === '1'"
value=
"ALL_PLAT"
>
全平台
</span>
-->
<el-radio-group
v-show=
"userType === '1'"
v-model=
"ruleForm.applicableScope"
>
<el-radio
v-show=
"userType === '1'"
label=
"ALL_PLAT"
>
全平台
</el-radio>
</el-radio-group>
<el-radio-group
v-show=
"userType !== '1'"
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=
"w50"
prop=
"learningProjectId"
>
<el-select
placeholder=
"请选所属学习项目"
v-model=
"ruleForm.learningProjectId"
@
change=
"getSelect(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"
>
<upload-img
ref=
"uploadImg"
@
imgUrl=
"imgUrl"
></upload-img>
</el-form-item>
<el-form-item
label=
"展板版权方"
class=
"w50"
prop=
"copyrightOwnerIdList"
>
<el-select
placeholder=
"请选择版权方"
multiple
v-model=
"ruleForm.copyrightOwnerIdList"
@
change=
"getSelectDep2"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing2"
@
change=
"selectAllThing2"
>
全选
</el-checkbox>
<el-option
v-for=
"item in assetType2"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"展板类别"
prop=
"exhibitionBoardCatIdList"
>
<el-select
placeholder=
"请选择展板类别"
multiple
v-model=
"ruleForm.exhibitionBoardCatIdList"
@
focus=
"getAssetTypeData"
@
change=
"getSelectDep"
>
<el-checkbox
:style=
"selfstyle"
v-model=
"checkedThing"
@
change=
"selectAllThing"
>
全选
</el-checkbox>
<el-option
v-for=
"item in videoContentCat"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"展板备选清单"
class=
"w100"
prop=
"exhibitionBoardIdList"
>
<div
class=
"party-table"
>
<el-table
border
@
selection-change=
"handleSelectionChange"
style=
"width: 100%"
max-height=
"400"
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
show-overflow-tooltip
label=
"展板类别"
prop=
"exhibitionBoardCatName"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"展板版权方"
prop=
"boardCopyrightOwnerName"
></el-table-column>
<el-table-column
label=
"操作"
width=
"180"
>
<template
slot-scope=
"scope"
>
<div
class=
"table-btn-group"
>
<el-tooltip
content=
"视频预览"
placement=
"top"
>
<el-button
circle
@
click=
"videoPreview(scope.row)"
>
<i
class=
"icon-table icon-video"
></i>
</el-button>
</el-tooltip>
<el-tooltip
content=
"展板预览"
placement=
"top"
>
<el-button
circle
@
click=
"displayPreview(scope.row)"
>
<i
class=
"icon-table icon-board"
></i>
</el-button>
</el-tooltip>
</div>
<!--
<el-button
type=
"text"
style=
"padding: 0"
@
click=
"videoPreview(scope.row)"
>
视频预览
</el-button
>
<el-button
type=
"text"
style=
"padding: 0"
@
click=
"displayPreview(scope.row)"
>
展板预览
</el-button
>
-->
</
template
>
</el-table-column>
</el-table>
</div>
</el-form-item>
<el-form-item
label=
"展板参考资料备选清单"
class=
"w100"
prop=
"fileList"
>
<div
class=
"party-table"
>
<el-table
border
@
selection-change=
"handleSelectionChange1"
style=
"width: 100%"
max-height=
"400"
ref=
"multipleTable1"
:data=
"tableData1"
>
<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=
"boardName"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"参考资料名称"
prop=
"fileName"
></el-table-column>
<el-table-column
show-overflow-tooltip
label=
"参考资料类型"
prop=
"fileType"
></el-table-column>
</el-table>
</div>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class=
"party-dialog"
title=
"展板预览区"
width=
"468px"
:visible
.
sync=
"dialogVisible"
:before-close=
"closeDialog"
>
<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=
"展板名称"
>
<el-input
v-model=
"classForm.name"
readonly
></el-input>
</el-form-item>
<el-form-item
label=
"版权方"
>
<el-input
v-model=
"classForm.boardCopyrightOwnerName"
readonly
></el-input>
</el-form-item>
<el-form-item
label=
"展板分类"
>
<el-input
v-model=
"classForm.exhibitionBoardCatName"
readonly
></el-input>
</el-form-item>
<el-form-item
label=
"展板宣传图"
>
<img
class=
"imgSize"
:src=
"classForm.cover"
alt
/>
</el-form-item>
<el-form-item
label=
"简介"
>
<el-input
type=
"textarea"
v-model=
"classForm.remarks"
readonly
></el-input>
</el-form-item>
</el-form>
</div>
</el-dialog>
</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
>
let
Base64
=
require
(
'js-base64'
).
Base64
import
uploadImg
from
"@/page/content/components/uploadVue/uploadImg"
;
import
videoDialog
from
"@/page/content/components/dialog/videoDialog"
;
import
audioPlay
from
"@/page/content/components/audioPlay"
;
export
default
{
components
:
{
uploadImg
,
videoDialog
,
audioPlay
},
data
()
{
return
{
dialogVisible
:
false
,
classForm
:
{},
type
:
this
.
$route
.
query
.
type
,
learningProjectIdList
:
""
,
videoContentCat
:
[],
assetType2
:
[],
// 版权方列表
checkedThing
:
false
,
checkedThing2
:
false
,
selfstyle
:
{
textAlign
:
"right"
,
width
:
"100%"
,
paddingRight
:
"10px"
},
tableData
:
[],
tableData1
:
[],
ruleForm
:
{
name
:
""
,
//学习内容名称
applicableScope
:
""
,
//适用范围
cover
:
""
,
//宣传图
projectId
:
''
,
learningProjectId
:
""
,
//所属学习项目
exhibitionBoardCatIdList
:
[],
//展板类别
copyrightOwnerIdList
:
[],
//版权方
exhibitionBoardIdList
:
[],
// 展板备选
fileList
:[]
// 展板资料备选
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入学习内容名称"
,
trigger
:
"blur"
},
{
min
:
1
,
max
:
20
,
message
:
"请输入1到20个字"
},
],
applicableScope
:
[
{
required
:
true
,
message
:
"请选择适用范围"
}
],
cover
:
[
{
required
:
true
,
message
:
"请选择学习内容宣传图"
}
],
learningProjectId
:
[
{
required
:
true
,
message
:
"请选择所属学习项目"
,
trigger
:
"change"
}
],
exhibitionBoardCatIdList
:
[
{
required
:
true
,
type
:
"array"
,
message
:
"请选择展板类别"
,
trigger
:
"change"
}
],
copyrightOwnerIdList
:
[
{
required
:
true
,
type
:
"array"
,
message
:
"请选择版权方"
,
trigger
:
"change"
}
],
exhibitionBoardIdList
:
[
{
required
:
true
,
type
:
"array"
,
message
:
"请选择展板"
,
trigger
:
"change"
}
]
},
multipleSelection
:
[],
multipleSelection1
:[],
userType
:
""
};
},
mounted
()
{
this
.
userType
=
localStorage
.
getItem
(
"userType"
);
this
.
init
();
},
methods
:
{
// 视频预览
videoPreview
(
row
)
{
this
.
$refs
.
videoDialog
.
dialogVisible
=
true
;
const
videos
=
row
.
videoList
for
(
var
i
=
0
;
i
<
videos
.
length
;
i
++
){
videos
[
i
].
fileUrl
=
Base64
.
decode
(
videos
[
i
].
intro
)
}
this
.
$refs
.
videoDialog
.
videoList
=
videos
},
// 展板预览
displayPreview
(
row
)
{
this
.
dialogVisible
=
true
;
this
.
classForm
=
row
;
},
// 关闭弹窗
closeDialog
()
{
this
.
dialogVisible
=
false
;
},
async
init
()
{
if
(
this
.
$route
.
query
.
type
===
"Update"
)
{
await
this
.
getInfo
(
this
.
$route
.
query
.
id
);
}
await
this
.
getLearnProject
();
// this.getAssetTypeData();
},
// 获取版权方详情
async
getInfo
(
id
)
{
let
vm
=
this
;
vm
.
$https
({
url
:
"learningContent/get/"
+
id
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
this
.
ruleForm
=
data
;
// console.log(11111,this.ruleForm.learningProjectId)
this
.
ruleForm
=
{
name
:
data
.
name
,
applicableScope
:
data
.
applicableScope
,
copyrightOwnerIdList
:
data
.
copyrightOwnerIdList
,
cover
:
data
.
cover
,
learningProjectId
:
data
.
learningProjectId
,
exhibitionBoardCatIdList
:
data
.
exhibitionBoardCatIdList
,
id
:
data
.
id
,
exhibitionBoardIdList
:
data
.
exhibitionBoardIdList
,
};
// this.tableData = data.exhibitionBoardList;
this
.
multipleSelection
=
data
.
exhibitionBoardList
;
this
.
multipleSelection1
=
data
.
assetList
this
.
$refs
.
uploadImg
.
showImg
(
this
.
ruleForm
.
cover
);
this
.
getExhibitionBoardTable
();
this
.
getAssetTypeData
()
this
.
getAssetTypeData2
();
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
getExhibitionBoardTable
()
{
const
param
=
{
boardCopyrightOwnerIdList
:
this
.
ruleForm
.
copyrightOwnerIdList
.
toString
(),
exhibitionBoardCatIdList
:
this
.
ruleForm
.
exhibitionBoardCatIdList
.
toString
(),
learningProjectId
:
this
.
ruleForm
.
learningProjectId
};
this
.
getTableData
(
param
,
"update"
);
},
// async setSelctTable() {
// if (!this.multipleSelection.length) {
// return false;
// }
// let _this = this;
// let tableData = this.tableData;
// let multipleSelection = this.multipleSelection;
// tableData.forEach(v => {
// multipleSelection.forEach(m => {
// if (v.id == m.id) {
// _this.$refs.multipleTable.toggleRowSelection(v);
// }
// });
// });
// await this.getTableParam1()
// },
// setSelctTable1() {
// // console.log(this.multipleSelection1)
// if (!this.multipleSelection1.length) {
// return false;
// }
// let _this = this;
// let tableData1 = this.tableData1;
// let multipleSelection1 = this.multipleSelection1;
// tableData1.forEach(v => {
// multipleSelection1.forEach(m => {
// if (v.id == m.id) {
// _this.$refs.multipleTable1.toggleRowSelection(v);
// }
// });
// });
// },
async
setSelctTable
()
{
console
.
info
(
this
.
multipleSelection
)
console
.
info
(
this
.
tableData
)
if
(
!
this
.
multipleSelection
.
length
)
{
return
false
;
}
let
arr
=
[]
this
.
multipleSelection
.
map
(
item
=>
{
arr
.
push
(
item
.
id
)
})
console
.
info
(
arr
)
let
_this
=
this
;
let
tableData
=
this
.
tableData
;
tableData
.
forEach
(
v
=>
{
if
(
arr
.
includes
(
v
.
id
))
{
_this
.
$refs
.
multipleTable
.
toggleRowSelection
(
v
);
}
});
await
this
.
getTableParam1
()
},
setSelctTable1
()
{
// console.log(this.multipleSelection1)
if
(
!
this
.
multipleSelection1
.
length
)
{
return
false
;
}
let
arr
=
[]
this
.
multipleSelection
.
map
(
item
=>
{
arr
.
push
(
item
.
id
)
})
let
_this
=
this
;
let
tableData1
=
this
.
tableData1
;
tableData1
.
forEach
(
v
=>
{
if
(
arr
.
includes
(
v
.
id
))
{
_this
.
$refs
.
multipleTable1
.
toggleRowSelection
(
v
);
}
});
},
// 获取展板类别列表
getAssetTypeData
()
{
let
vm
=
this
;
if
(
this
.
ruleForm
.
copyrightOwnerIdList
.
length
>
0
){
vm
.
$https
({
url
:
"exhibitionBoardCat/getListByProjectAndCopyright"
,
method
:
"post"
,
authType
:
this
.
backToken
},
this
.
$qs
.
stringify
({
copyrightIds
:
this
.
ruleForm
.
copyrightOwnerIdList
.
toString
(),
learningProjectId
:
this
.
ruleForm
.
learningProjectId
}))
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
vm
.
videoContentCat
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
this
.
$message
.
warning
(
"请先选择展板版权方!"
)
}
},
getSelect
()
{
this
.
getAssetTypeData2
()
this
.
ruleForm
.
copyrightOwnerIdList
=
[]
this
.
ruleForm
.
exhibitionBoardCatIdList
=
[]
this
.
tableData
=
[]
this
.
tableData1
=
[]
},
// 获取版权方列表
getAssetTypeData2
()
{
let
vm
=
this
;
// console.log(this.ruleForm)
vm
.
$https
(
{
url
:
"copyrightOwner/getListByLearningProjectId"
,
method
:
"get"
,
authType
:
this
.
backToken
},
{
copyrightOwnerType
:
"EXHIBITION_BOARD"
,
learningProjectId
:
vm
.
ruleForm
.
learningProjectId
}
)
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
// console.log(data,"dhwdhwid")
vm
.
assetType2
=
data
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 获取学习项目列表
getLearnProject
()
{
let
vm
=
this
;
vm
.
$https
({
url
:
"learningProject/getList"
,
method
:
"get"
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
let
data
=
res
.
data
.
data
;
vm
.
learningProjectIdList
=
data
;
})
.
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
;
// console.log(data);
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 展板多选赋值
async
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
let
newArray
=
val
.
map
(
item
=>
{
return
item
.
id
;
});
this
.
ruleForm
.
exhibitionBoardIdList
=
newArray
;
await
this
.
getTableParam1
()
},
// 展板资料多选赋值
handleSelectionChange1
(
val
)
{
this
.
multipleSelection1
=
this
.
multipleSelection1
.
concat
(
val
);
let
newArray
=
val
.
map
(
item
=>
{
return
item
.
id
;
});
this
.
ruleForm
.
fileList
=
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
=>
{
if
(
res
.
data
.
resultCode
===
"200"
){
if
(
this
.
userType
===
'1'
){
this
.
$message
({
type
:
"success"
,
message
:
"新增学习内容申请已提交,待审核!"
});
}
else
{
this
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
});
}
history
.
go
(
-
1
);
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
message
});
}
})
.
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
=>
{
if
(
res
.
data
.
resultCode
===
"200"
){
if
(
this
.
userType
===
'1'
){
this
.
$message
({
type
:
"success"
,
message
:
"修改学习内容申请已提交,待审核!"
});
}
else
{
this
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
});
}
history
.
go
(
-
1
);
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
message
});
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
imgUrl
(
url
)
{
this
.
ruleForm
.
cover
=
url
;
this
.
$refs
.
ruleForm
.
validateField
(
"cover"
);
},
// 展板类别发生变化
getSelectDep
(
exhibitionBoardCatIdList
)
{
if
(
exhibitionBoardCatIdList
.
length
===
this
.
videoContentCat
.
length
)
{
this
.
checkedThing
=
true
;
}
else
{
this
.
checkedThing
=
false
;
}
this
.
getTableParam
()
},
getSelectDep2
(
exhibitionBoardCatIdList
)
{
if
(
exhibitionBoardCatIdList
.
length
===
this
.
assetType2
.
length
)
{
this
.
checkedThing2
=
true
;
}
else
{
this
.
checkedThing2
=
false
;
}
// this.getTableParam()
},
// 筛选展板备选清单选项条件
getTableParam
(){
// debugger
const
param
=
{
boardCopyrightOwnerIdList
:
this
.
ruleForm
.
copyrightOwnerIdList
.
toString
(),
exhibitionBoardCatIdList
:
this
.
ruleForm
.
exhibitionBoardCatIdList
.
toString
(),
learningProjectId
:
this
.
ruleForm
.
learningProjectId
};
if
((
param
.
boardCopyrightOwnerIdList
.
length
>
0
)
&&
(
param
.
exhibitionBoardCatIdList
.
length
>
0
)){
this
.
getTableData
(
param
);
}
else
{
this
.
tableData
=
[]
}
},
// 筛选展板资料备选清单选项条件
getTableParam1
(){
const
param
=
{
boardList
:
this
.
ruleForm
.
exhibitionBoardIdList
.
toString
()
};
if
(
param
.
boardList
.
length
>
0
){
this
.
getTableData1
(
param
);
}
else
{
this
.
tableData1
=
[]
}
},
getTableData1
()
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"asset/getAssetByBoard"
,
method
:
"get"
,
authType
:
this
.
backToken
},
{
boardList
:
vm
.
ruleForm
.
exhibitionBoardIdList
.
toString
()
}
)
.
then
(
res
=>
{
// alert(1)
const
data
=
res
.
data
.
data
;
// console.log(data)
vm
.
tableData1
=
data
;
// 选中表格数据
// console.log(this.type)
if
(
this
.
type
===
'add'
){
vm
.
multipleSelection1
=
res
.
data
.
data
setTimeout
(()
=>
{
vm
.
setSelctTable1
();
},
1000
);
}
else
{
// console.log(this.multipleSelection1)
vm
.
multipleSelection1
=
this
.
multipleSelection1
setTimeout
(()
=>
{
vm
.
setSelctTable1
();
},
1000
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
// 根据展板类别,版权方获取展板备选清单
async
getTableData
(
param
,
type
)
{
let
vm
=
this
;
vm
.
$https
(
{
url
:
"exhibitionBoard/getListByLearningId"
,
method
:
"post"
,
authType
:
this
.
backToken
},
vm
.
$qs
.
stringify
(
param
)
)
.
then
(
res
=>
{
// alert(1)
// console.log(res)
let
data
=
res
.
data
.
data
;
vm
.
tableData
=
data
;
if
(
type
)
{
// 选中表格数据
setTimeout
(()
=>
{
vm
.
setSelctTable
();
},
1000
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
},
selectAllThing
()
{
// debugger
this
.
ruleForm
.
exhibitionBoardCatIdList
=
[];
if
(
this
.
checkedThing
)
{
this
.
videoContentCat
.
map
(
item
=>
{
this
.
ruleForm
.
exhibitionBoardCatIdList
.
push
(
item
.
id
);
});
}
else
{
this
.
ruleForm
.
exhibitionBoardCatIdList
=
[];
}
this
.
getTableParam
()
},
selectAllThing2
()
{
// debugger
this
.
ruleForm
.
copyrightOwnerIdList
=
[];
if
(
this
.
checkedThing2
)
{
this
.
assetType2
.
map
(
item
=>
{
this
.
ruleForm
.
copyrightOwnerIdList
.
push
(
item
.
id
);
});
}
else
{
this
.
ruleForm
.
copyrightOwnerIdList
=
[];
}
},
// 新增
addSubmit
()
{
// 至少选一个备选清单 提示
alert
(
"请先至少选择一个展板备选清单"
);
},
close
()
{
history
.
go
(
-
1
);
},
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
.
$message
({
message
:
"已经是第一条,上移失败"
,
type
:
"warning"
});
}
},
moveDown
(
row
,
index
)
{
if
(
index
+
1
==
this
.
tableData
.
length
)
{
this
.
$message
({
message
:
"已经是最后一条,下移失败"
,
type
:
"warning"
});
}
else
{
let
downData
=
this
.
tableData
[
index
+
1
];
this
.
tableData
.
splice
(
index
+
1
,
1
);
this
.
tableData
.
splice
(
index
,
0
,
downData
);
}
}
}
};
</
script
>
<
style
lang=
"less"
>
@import "../../../../style/table.less";
</
style
>
src/page/content/video/copyright/add.vue
View file @
094290d5
static/json/api.json
View file @
094290d5
...
@@ -3,4 +3,3 @@
...
@@ -3,4 +3,3 @@
"baseUrl"
:
"/mall/"
,
"baseUrl"
:
"/mall/"
,
"directory"
:
"/plat"
"directory"
:
"/plat"
}
}
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