|
@@ -310,7 +310,7 @@
|
|
<a-card :bordered="false">
|
|
<a-card :bordered="false">
|
|
<!-- 查询区域 -->
|
|
<!-- 查询区域 -->
|
|
<div class="table-page-search-wrapper">
|
|
<div class="table-page-search-wrapper">
|
|
- <a-form layout="inline">
|
|
|
|
|
|
+ <a-form layout="inline" :selfUpdate="true">
|
|
<a-row :gutter="24">
|
|
<a-row :gutter="24">
|
|
<a-col :md="8" :sm="8">
|
|
<a-col :md="8" :sm="8">
|
|
<!-- <a-form-item label="项目名称"> -->
|
|
<!-- <a-form-item label="项目名称"> -->
|
|
@@ -658,6 +658,18 @@
|
|
<a-form :form="form">
|
|
<a-form :form="form">
|
|
<a-form-item :label-col="labelCol" :wrapper-col="wrapperCol" label="项目选择">
|
|
<a-form-item :label-col="labelCol" :wrapper-col="wrapperCol" label="项目选择">
|
|
<!-- <selectTable :projectId.sync="projectId" /> -->
|
|
<!-- <selectTable :projectId.sync="projectId" /> -->
|
|
|
|
+ <!-- <a-select v-decorator="[
|
|
|
|
+ 'projectId', // 给表单赋值或拉取表单时,该input对应的key
|
|
|
|
+ { rules: [{ required: true, message: '请选择项目!' }] }
|
|
|
|
+ ]" @change="getProjectId" showSearch optionFilterProp="children" :filterOption="filterOption"
|
|
|
|
+ :default-active-first-option="false" :show-arrow="false" :not-found-content="null" :disabled="!add"
|
|
|
|
+ @search="getParticipateList">
|
|
|
|
+ <a-select-option :value="item.projectId" v-for="item of dataElse" :key="item.id">
|
|
|
|
+ {{ item.projectName }} {{
|
|
|
|
+ item.mediaId == "1" ? '头条' :item.mediaId == "2"? '快手':item.mediaId == "3"?'头条内广':'快手内广'
|
|
|
|
+ }} {{ item.advertiserName }}
|
|
|
|
+ </a-select-option>
|
|
|
|
+ </a-select> -->
|
|
<a-select v-decorator="[
|
|
<a-select v-decorator="[
|
|
'projectId', // 给表单赋值或拉取表单时,该input对应的key
|
|
'projectId', // 给表单赋值或拉取表单时,该input对应的key
|
|
{ rules: [{ required: true, message: '请选择项目!' }] }
|
|
{ rules: [{ required: true, message: '请选择项目!' }] }
|
|
@@ -758,13 +770,42 @@
|
|
<a-form-item :label-col="labelCol" :wrapper-col="{
|
|
<a-form-item :label-col="labelCol" :wrapper-col="{
|
|
xs: { span: 24 },
|
|
xs: { span: 24 },
|
|
sm: { span: 12 }
|
|
sm: { span: 12 }
|
|
- }" label="标签" v-if="add">
|
|
|
|
- <el-cascader placeholder="搜索你想要的标签" :options="departTree" v-decorator="[
|
|
|
|
- 'tagList', // 给表单赋值或拉取表单时,该input对应的key
|
|
|
|
- { rules: [{ required: true, message: '请选择标签!' }] }
|
|
|
|
|
|
+ }" label="形式标签" v-if="add">
|
|
|
|
+ <el-cascader placeholder="搜索你想要的形式标签" :options="departTreeModality" v-decorator="[
|
|
|
|
+ 'modalityTagList', // 给表单赋值或拉取表单时,该input对应的key
|
|
|
|
+ { rules: [{ required: true, message: '请选择形式标签!' }] }
|
|
|
|
+ ]" :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
|
|
+ </el-cascader>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
|
|
+ xs: { span: 24 },
|
|
|
|
+ sm: { span: 12 }
|
|
|
|
+ }" label="内容标签" v-if="add">
|
|
|
|
+ <el-cascader placeholder="搜索你想要的内容标签" :options="departTreeContent" v-decorator="[
|
|
|
|
+ 'contentTagList', // 给表单赋值或拉取表单时,该input对应的key
|
|
|
|
+ { rules: [{ required: true, message: '请选择内容标签!' }] }
|
|
|
|
+ ]" :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
|
|
+ </el-cascader>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
|
|
+ xs: { span: 24 },
|
|
|
|
+ sm: { span: 12 }
|
|
|
|
+ }" label="场景标签" v-if="add">
|
|
|
|
+ <el-cascader placeholder="搜索你想要的场景标签" :options="departTreeSence" v-decorator="[
|
|
|
|
+ 'senceTagList', // 给表单赋值或拉取表单时,该input对应的key
|
|
|
|
+ { rules: [{ required: true, message: '请选择场景标签!' }] }
|
|
|
|
+ ]" :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
|
|
+ </el-cascader>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
|
|
+ xs: { span: 24 },
|
|
|
|
+ sm: { span: 12 }
|
|
|
|
+ }" label="基调标签" v-if="add">
|
|
|
|
+ <el-cascader placeholder="搜索你想要的基调标签" :options="departTreeMod" v-decorator="[
|
|
|
|
+ 'modTagList', // 给表单赋值或拉取表单时,该input对应的key
|
|
|
|
+ { rules: [{ required: true, message: '请选择基调标签!' }] }
|
|
]" :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
]" :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
</el-cascader>
|
|
</el-cascader>
|
|
- <a @click="handleAdd({status:0})" style="margin-top:25px">自定义标签新增</a>
|
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<a-form-item :label-col="labelCol" :wrapper-col="{
|
|
<a-form-item :label-col="labelCol" :wrapper-col="{
|
|
xs: { span: 24 },
|
|
xs: { span: 24 },
|
|
@@ -1092,18 +1133,53 @@
|
|
</a-modal>
|
|
</a-modal>
|
|
<a-modal title="标签修改" v-model="tagInfoListVisible">
|
|
<a-modal title="标签修改" v-model="tagInfoListVisible">
|
|
<template slot="footer">
|
|
<template slot="footer">
|
|
- <a-button key="back" @click="(tagInfoListVisible=false);(departValueInfo=[]);(tagCode=null)">取消</a-button>
|
|
|
|
|
|
+ <a-button key="back"
|
|
|
|
+ @click="(tagInfoListVisible=false);(departValueInfoModality=[]);(departValueInfoMod=[]);(departValueInfoContent=[]);(departValueInfoSence=[]);(tagCode=null)">
|
|
|
|
+ 取消
|
|
|
|
+ </a-button>
|
|
<a-button key="submit" type="primary" :loading="loadingTag" @click="handleOkTag">
|
|
<a-button key="submit" type="primary" :loading="loadingTag" @click="handleOkTag">
|
|
确定
|
|
确定
|
|
</a-button>
|
|
</a-button>
|
|
</template>
|
|
</template>
|
|
- <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
|
|
|
|
+ <!-- <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
xs: { span: 24 },
|
|
xs: { span: 24 },
|
|
sm: { span: 12 }
|
|
sm: { span: 12 }
|
|
}" label="标签">
|
|
}" label="标签">
|
|
<el-cascader placeholder="搜索你想要的标签" :options="departTree" v-model="departValueInfo"
|
|
<el-cascader placeholder="搜索你想要的标签" :options="departTree" v-model="departValueInfo"
|
|
:props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
:props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
</el-cascader>
|
|
</el-cascader>
|
|
|
|
+ </a-form-item> -->
|
|
|
|
+ <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
|
|
+ xs: { span: 24 },
|
|
|
|
+ sm: { span: 12 }
|
|
|
|
+ }" label="形式">
|
|
|
|
+ <el-cascader placeholder="搜索你想要的形式标签" :options="departTreeModality" v-model="departValueInfoModality"
|
|
|
|
+ :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
|
|
+ </el-cascader>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
|
|
+ xs: { span: 24 },
|
|
|
|
+ sm: { span: 12 }
|
|
|
|
+ }" label="内容">
|
|
|
|
+ <el-cascader placeholder="搜索你想要的内容标签" :options="departTreeContent" v-model="departValueInfoContent"
|
|
|
|
+ :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
|
|
+ </el-cascader>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
|
|
+ xs: { span: 24 },
|
|
|
|
+ sm: { span: 12 }
|
|
|
|
+ }" label="场景">
|
|
|
|
+ <el-cascader placeholder="搜索你想要的场景标签" :options="departTreeSence" v-model="departValueInfoSence"
|
|
|
|
+ :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
|
|
+ </el-cascader>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <a-form-item :label-col="labelCol" :wrapper-col="{
|
|
|
|
+ xs: { span: 24 },
|
|
|
|
+ sm: { span: 12 }
|
|
|
|
+ }" label="基调">
|
|
|
|
+ <el-cascader placeholder="搜索你想要的基调标签" :options="departTreeMod" v-model="departValueInfoMod"
|
|
|
|
+ :props="{ multiple: true,value:'id',label:'tagName',emitPath:false}" filterable style="width:100%">
|
|
|
|
+ </el-cascader>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
</a-modal>
|
|
</a-modal>
|
|
<a-modal title="推荐封面" v-model="chouzhen" width="60%">
|
|
<a-modal title="推荐封面" v-model="chouzhen" width="60%">
|
|
@@ -1164,7 +1240,7 @@
|
|
import accountCheck from './accountCheck'
|
|
import accountCheck from './accountCheck'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
- name: 'YardList',
|
|
|
|
|
|
+ name: 'video-material',
|
|
mixins: [JeecgListMixin],
|
|
mixins: [JeecgListMixin],
|
|
components: {
|
|
components: {
|
|
JEllipsis,
|
|
JEllipsis,
|
|
@@ -1178,8 +1254,16 @@
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
departTree: [],
|
|
departTree: [],
|
|
|
|
+ departTreeModality: [],
|
|
|
|
+ departTreeContent: [],
|
|
|
|
+ departTreeSence: [],
|
|
|
|
+ departTreeMod: [],
|
|
departValue: [],
|
|
departValue: [],
|
|
departValueInfo: [],
|
|
departValueInfo: [],
|
|
|
|
+ departValueInfoModality: [],
|
|
|
|
+ departValueInfoContent: [],
|
|
|
|
+ departValueInfoSence: [],
|
|
|
|
+ departValueInfoMod: [],
|
|
tagInfoList: [],
|
|
tagInfoList: [],
|
|
tagInfoListVisible: false,
|
|
tagInfoListVisible: false,
|
|
tagCode: null,
|
|
tagCode: null,
|
|
@@ -1377,7 +1461,7 @@
|
|
this.active = localStorage.getItem('key') ? localStorage.getItem('key') : '0'
|
|
this.active = localStorage.getItem('key') ? localStorage.getItem('key') : '0'
|
|
// this.queryParam.status = key
|
|
// this.queryParam.status = key
|
|
this.ipagination.pageSize = 8
|
|
this.ipagination.pageSize = 8
|
|
- this.getParticipateList()
|
|
|
|
|
|
+ this.getParticipateList()
|
|
// /sys/user/getRoleInfo
|
|
// /sys/user/getRoleInfo
|
|
getAction('/sys/user/getRoleInfo', {
|
|
getAction('/sys/user/getRoleInfo', {
|
|
userId: this.userInfo().id
|
|
userId: this.userInfo().id
|
|
@@ -1416,23 +1500,30 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- modalFormOkElse(){
|
|
|
|
|
|
+ modalFormOkElse() {
|
|
this.getTagListAll()
|
|
this.getTagListAll()
|
|
},
|
|
},
|
|
handleOkTag(e) {
|
|
handleOkTag(e) {
|
|
this.loadingTag = true
|
|
this.loadingTag = true
|
|
|
|
+ var data = [...this.departValueInfoModality, ...this.departValueInfoMod, ...this.departValueInfoContent,
|
|
|
|
+ ...this.departValueInfoSence
|
|
|
|
+ ]
|
|
postAction('/ctop/materialTagInfo/mark', {
|
|
postAction('/ctop/materialTagInfo/mark', {
|
|
code: this.tagCode,
|
|
code: this.tagCode,
|
|
- tagList: this.departValueInfo
|
|
|
|
|
|
+ tagList: data
|
|
}).then(res => {
|
|
}).then(res => {
|
|
- console.log(res)
|
|
|
|
- if(res.success){
|
|
|
|
- this.loadingTag = false
|
|
|
|
- this.tagInfoListVisible = false
|
|
|
|
- }else{
|
|
|
|
- this.loadingTag = false
|
|
|
|
- this.$message.error(res.message)
|
|
|
|
- }
|
|
|
|
|
|
+ console.log(res)
|
|
|
|
+ if (res.success) {
|
|
|
|
+ this.departValueInfoModality = []
|
|
|
|
+ this.departValueInfoMod = []
|
|
|
|
+ this.departValueInfoContent = []
|
|
|
|
+ this.departValueInfoSence = []
|
|
|
|
+ this.loadingTag = false
|
|
|
|
+ this.tagInfoListVisible = false
|
|
|
|
+ } else {
|
|
|
|
+ this.loadingTag = false
|
|
|
|
+ this.$message.error(res.message)
|
|
|
|
+ }
|
|
})
|
|
})
|
|
},
|
|
},
|
|
editTagList(item) {
|
|
editTagList(item) {
|
|
@@ -1442,16 +1533,26 @@
|
|
},
|
|
},
|
|
getTagListAll() {
|
|
getTagListAll() {
|
|
this.departTree = []
|
|
this.departTree = []
|
|
- getAction('/ctop/tagInfo/queryTreeList').then((res) => {
|
|
|
|
|
|
+ this.departTreeModality = [] //形式
|
|
|
|
+ this.departTreeContent = [] // 内容
|
|
|
|
+ this.departTreeSence = [] // 场景
|
|
|
|
+ this.departTreeMod = [] //基调
|
|
|
|
+ this.getQueryTree(1, 'departTreeModality')
|
|
|
|
+ this.getQueryTree(2, 'departTreeMod')
|
|
|
|
+ this.getQueryTree(3, 'departTreeContent')
|
|
|
|
+ this.getQueryTree(4, 'departTreeSence')
|
|
|
|
+ },
|
|
|
|
+ getQueryTree(type, arr) {
|
|
|
|
+ getAction('/ctop/tagInfo/queryTreeList', {
|
|
|
|
+ categoryId: type
|
|
|
|
+ }).then((res) => {
|
|
if (res.success) {
|
|
if (res.success) {
|
|
//部门全选后,再添加部门,选中数量增多
|
|
//部门全选后,再添加部门,选中数量增多
|
|
- for (let i = 0; i < res.result.length; i++) {
|
|
|
|
- let temp = res.result[i]
|
|
|
|
- this.departTree.push(temp)
|
|
|
|
- }
|
|
|
|
|
|
+ this[arr].push(...res.result)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+
|
|
showBoHui(item) {
|
|
showBoHui(item) {
|
|
this.bohui = item
|
|
this.bohui = item
|
|
this.bohuiShow = true
|
|
this.bohuiShow = true
|
|
@@ -1672,11 +1773,19 @@
|
|
},
|
|
},
|
|
getList(value) {
|
|
getList(value) {
|
|
if (value) {
|
|
if (value) {
|
|
- this.mediaId = this.dataElse.filter(item => {
|
|
|
|
- if (value == item.projectId) {
|
|
|
|
- return item
|
|
|
|
- }
|
|
|
|
- })[0].mediaId
|
|
|
|
|
|
+ this.mediaId = this.dataElse.filter(item => {
|
|
|
|
+ if (value == item.projectId) {
|
|
|
|
+ return item
|
|
|
|
+ }
|
|
|
|
+ })[0].mediaId
|
|
|
|
+ // getAction('/ctop/projectMember/participateListV2', {
|
|
|
|
+ // userId: this.userInfo().id,
|
|
|
|
+ // projectId: value
|
|
|
|
+ // }).then(res => {
|
|
|
|
+ // if (res.code == 0) {
|
|
|
|
+ // this.mediaId = res.result.records[0].mediaId
|
|
|
|
+ // }
|
|
|
|
+ // })
|
|
}
|
|
}
|
|
this.loadData()
|
|
this.loadData()
|
|
},
|
|
},
|
|
@@ -1792,13 +1901,28 @@
|
|
this.getTagListInfo(item.code)
|
|
this.getTagListInfo(item.code)
|
|
},
|
|
},
|
|
getTagListInfo(md5) {
|
|
getTagListInfo(md5) {
|
|
- getAction('/ctop/materialTagInfo/list', {
|
|
|
|
|
|
+ this.departValueInfoModality = []
|
|
|
|
+ this.departValueInfoMod = []
|
|
|
|
+ this.departValueInfoContent = []
|
|
|
|
+ this.departValueInfoSence = []
|
|
|
|
+ getAction('/ctop/materialTagInfo/detail', {
|
|
code: md5
|
|
code: md5
|
|
}).then(res => {
|
|
}).then(res => {
|
|
if (res.success) {
|
|
if (res.success) {
|
|
- this.tagInfoList = res.result.records
|
|
|
|
|
|
+ this.tagInfoList = [...res.modalityTagList, ...res.contentTagList, ...res
|
|
|
|
+ .senceTagList, ...res.modTagList
|
|
|
|
+ ]
|
|
if (this.tagInfoListVisible) {
|
|
if (this.tagInfoListVisible) {
|
|
- this.departValueInfo = res.result.records.map(item => {
|
|
|
|
|
|
+ this.departValueInfoModality = res.modalityTagList.map(item => {
|
|
|
|
+ return item.tagId
|
|
|
|
+ })
|
|
|
|
+ this.departValueInfoMod = res.modTagList.map(item => {
|
|
|
|
+ return item.tagId
|
|
|
|
+ })
|
|
|
|
+ this.departValueInfoContent = res.contentTagList.map(item => {
|
|
|
|
+ return item.tagId
|
|
|
|
+ })
|
|
|
|
+ this.departValueInfoSence = res.senceTagList.map(item => {
|
|
return item.tagId
|
|
return item.tagId
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -1991,7 +2115,10 @@
|
|
if (err) {
|
|
if (err) {
|
|
// 这里做逻辑处理
|
|
// 这里做逻辑处理
|
|
} else {
|
|
} else {
|
|
- var params = {}
|
|
|
|
|
|
+
|
|
|
|
+ var params = {
|
|
|
|
+ ...values
|
|
|
|
+ }
|
|
var roleCode = {}
|
|
var roleCode = {}
|
|
for (const key in this.role) {
|
|
for (const key in this.role) {
|
|
if (key == 'roleCode') {
|
|
if (key == 'roleCode') {
|
|
@@ -2010,7 +2137,7 @@
|
|
params.projectId = values.projectId
|
|
params.projectId = values.projectId
|
|
params.materialDescribe = values.materialDescribe
|
|
params.materialDescribe = values.materialDescribe
|
|
params.type = 'VIDEO'
|
|
params.type = 'VIDEO'
|
|
- params.tagList = values.tagList
|
|
|
|
|
|
+ // params.tagList = values.tagList
|
|
params.ascription =
|
|
params.ascription =
|
|
this.activeKey == 'image' ?
|
|
this.activeKey == 'image' ?
|
|
roleCode : {
|
|
roleCode : {
|
|
@@ -2092,12 +2219,14 @@
|
|
}
|
|
}
|
|
|
|
|
|
})
|
|
})
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
close() {
|
|
close() {
|
|
this.visible = false
|
|
this.visible = false
|
|
|
|
+ this.dataElse = []
|
|
this.form.resetFields()
|
|
this.form.resetFields()
|
|
this.urlList = {
|
|
this.urlList = {
|
|
url: '',
|
|
url: '',
|
|
@@ -2335,7 +2464,7 @@
|
|
},
|
|
},
|
|
getParticipateList() {
|
|
getParticipateList() {
|
|
getAction('/ctop/projectMember/participateList', {
|
|
getAction('/ctop/projectMember/participateList', {
|
|
- userId: this.userInfo().id
|
|
|
|
|
|
+ userId: this.userInfo().id,
|
|
}).then(res => {
|
|
}).then(res => {
|
|
if (res.code == 0) {
|
|
if (res.code == 0) {
|
|
this.dataElse = res.result
|
|
this.dataElse = res.result
|