|
@@ -3,7 +3,7 @@ import { reactiveTableAndAny } from '@/api/ApiModel'
|
3
|
3
|
import _ from 'lodash'
|
4
|
4
|
|
5
|
5
|
//变量声明
|
6
|
|
-export function materialDeclare () {
|
|
6
|
+export function materialDeclare() {
|
7
|
7
|
const CreativeMaterialRef = ref<{
|
8
|
8
|
switchShow: (val: boolean, isEdit: boolean, arr: any) => void,
|
9
|
9
|
clearAllEvent: () => void, creatice_reuseEvent: () => void, deleAcEvent: (arr: any, haveAssign: boolean) => void
|
|
@@ -38,78 +38,60 @@ export function handleMultiple({
|
38
|
38
|
cMaterial
|
39
|
39
|
}) {
|
40
|
40
|
//处理素材返回来的值
|
41
|
|
- const handle_resResult = (resResult: any, val: any) => {
|
42
|
|
- // let str_imageorVideo: any = originalityBasicInfoData?.receiveForm?.originalityForm?.api_value?.originalityForm
|
|
41
|
+ const handle_resResult = (resResult: any) => {
|
43
|
42
|
let resArr: any = []
|
44
|
43
|
console.log('resResultresResult', resResult)
|
45
|
|
- resResult.forEach(item => {
|
46
|
|
- if (item) {
|
47
|
|
- let obj: any = {}
|
48
|
|
- obj.account_id = item.account_id
|
49
|
|
- obj.list = []
|
|
44
|
+ resResult.forEach(main => {
|
|
45
|
+ if (!main) return;//跳出本次循环
|
|
46
|
+ let itemObj: any = _.cloneDeep(cMaterial.imgOrVideoInfo)
|
|
47
|
+ let imageArr: any = []
|
|
48
|
+ let self_info_arr:any = []
|
|
49
|
+ let obj: any = {}
|
|
50
|
+ obj.account_id = main.account_id
|
|
51
|
+ obj.list = []
|
|
52
|
+ main.list?.forEach((list_item) => {
|
|
53
|
+ let item = _.cloneDeep(list_item)
|
|
54
|
+ self_info_arr.push(item.self_info)
|
50
|
55
|
for (let i in item) {
|
51
|
|
- let arr = val.filter((v) => {
|
52
|
|
- return v.itemId == i
|
53
|
|
- })
|
54
|
|
- if(item[i]?.material_res){
|
55
|
|
- let itemObj: any = _.cloneDeep(cMaterial.imgOrVideoInfo)
|
56
|
|
- itemObj = Object.assign(itemObj, {self_info: arr.length > 0 ? arr[0] : {}})
|
57
|
|
- if(cMaterial.haveCoverOrVideo == 1) {//视频和图片
|
|
56
|
+ if (item[i]?.material_res) {
|
|
57
|
+ if (cMaterial.haveCoverOrVideo == 1) {//视频和图片
|
58
|
58
|
if (item[i]?.material_res?.video_id) {
|
59
|
59
|
setValueInNestedObject(itemObj, 'video_id', item[i].material_res.video_id);
|
|
60
|
+ setValueInNestedObject(itemObj, 'self_video_count', 1);
|
60
|
61
|
}
|
61
|
62
|
if (item[i]?.material_res?.cover?.image_id) {
|
62
|
63
|
setValueInNestedObject(itemObj, 'image_id', item[i].material_res.cover.image_id);
|
|
64
|
+ setValueInNestedObject(itemObj, 'self_image_count', 1);
|
63
|
65
|
}
|
64
|
66
|
if (cMaterial.haveShowVideoObj.show && cMaterial.haveShowVideoObj.name) {
|
65
|
67
|
itemObj[cMaterial.haveShowVideoObj.name] = cMaterial.haveShowVideoObj.val
|
66
|
68
|
}
|
67
|
69
|
}
|
68
|
|
- if(cMaterial.haveCoverOrVideo == 2) {//视频
|
|
70
|
+ if (cMaterial.haveCoverOrVideo == 2) {//视频
|
69
|
71
|
if (item[i]?.material_res?.video_id) {
|
70
|
72
|
setValueInNestedObject(itemObj, 'video_id', item[i].material_res.video_id);
|
|
73
|
+ setValueInNestedObject(itemObj, 'self_video_count', 1);
|
71
|
74
|
}
|
72
|
75
|
}
|
73
|
|
- if(cMaterial.haveCoverOrVideo == 3) {//图片
|
74
|
|
- if(itemObj.image && item[i]?.material_res?.image_id) {
|
|
76
|
+ if (cMaterial.haveCoverOrVideo == 3) {//图片
|
|
77
|
+ if (itemObj.image && item[i]?.material_res?.image_id) {
|
75
|
78
|
setValueInNestedObject(itemObj, 'image_id', item[i].material_res.cover.image_id);
|
|
79
|
+ setValueInNestedObject(itemObj, 'self_image_count', 1);
|
76
|
80
|
}
|
77
|
|
- if(itemObj.image_list && item[i]?.material_res?.image_id) {
|
78
|
|
- let imageArr: any = []
|
|
81
|
+ if (itemObj.image_list && item[i]?.material_res?.image_id) {
|
79
|
82
|
imageArr.push(item[i]?.material_res?.image_id)
|
80
|
|
- setValueInNestedObject(itemObj, 'image_list', imageArr);
|
81
|
83
|
}
|
82
|
84
|
}
|
83
|
|
- obj.list.push(itemObj)
|
84
|
85
|
}
|
85
|
|
-
|
86
|
|
-
|
87
|
|
- // if (str_imageorVideo == 'video' && item[i]?.material_res) {
|
88
|
|
- // let itemObj: any = {
|
89
|
|
- // self_info: arr.length > 0 ? arr[0] : {}
|
90
|
|
- // }
|
91
|
|
- // if (item[i]?.material_res?.video_id) {
|
92
|
|
- // itemObj.video = item[i].material_res.video_id
|
93
|
|
- // } else if (item[i]?.material_res?.cover?.image_id) {
|
94
|
|
- // itemObj.image = item[i].material_res.cover.image_id
|
95
|
|
- // }
|
96
|
|
- // if (cMaterial.haveShowVideoObj.show && cMaterial.haveShowVideoObj.name) {
|
97
|
|
- // itemObj[cMaterial.haveShowVideoObj.name] = cMaterial.haveShowVideoObj.val
|
98
|
|
- // }
|
99
|
|
- // obj.list.push(itemObj)
|
100
|
|
- // } else if (str_imageorVideo == 'img' && item[i]?.material_res) {
|
101
|
|
- // if (item[i]?.material_res?.image_id) {
|
102
|
|
- // let imageArr: any = []
|
103
|
|
- // imageArr.push(item[i]?.material_res?.image_id)
|
104
|
|
- // obj.list.push({
|
105
|
|
- // image_list: imageArr,
|
106
|
|
- // self_info: arr.length > 0 ? arr[0] : {}
|
107
|
|
- // })
|
108
|
|
- // }
|
109
|
|
- // }
|
110
|
86
|
}
|
111
|
|
- resArr.push(obj)
|
|
87
|
+ })
|
|
88
|
+ if(imageArr.length > 0) {//说明是多图片
|
|
89
|
+ setValueInNestedObject(itemObj, 'image_list', imageArr);
|
|
90
|
+ setValueInNestedObject(itemObj, 'self_image_count', imageArr.length);
|
112
|
91
|
}
|
|
92
|
+ itemObj = Object.assign(itemObj, { self_info: self_info_arr})
|
|
93
|
+ obj.list.push(itemObj)
|
|
94
|
+ resArr.push(obj)
|
113
|
95
|
})
|
114
|
96
|
return resArr
|
115
|
97
|
}
|
|
@@ -117,18 +99,38 @@ export function handleMultiple({
|
117
|
99
|
const assignEvent_CreativeMaterial = async (val: any, videoOnPuse?: any) => {
|
118
|
100
|
cMaterial.list_copy = _.cloneDeep(val)
|
119
|
101
|
cMaterial.haveShowVideoObj.val = videoOnPuse
|
120
|
|
- console.log('val',val)
|
|
102
|
+ console.log('val', val)
|
121
|
103
|
//所有素材列表,此时的素材个数已是正确的
|
122
|
104
|
let cMaterial_resResult_list: any = []
|
123
|
105
|
val.forEach(vItem => {
|
124
|
|
- vItem.list.forEach(sub=>{
|
125
|
|
- cMaterial_resResult_list = cMaterial_resResult_list.concat(sub.resResult)
|
|
106
|
+ let arr = []
|
|
107
|
+ vItem.list.forEach(sub => {
|
|
108
|
+ let sub_resResult = _.cloneDeep(sub.resResult);
|
|
109
|
+ sub_resResult.forEach((v) => {
|
|
110
|
+ v['self_info'] = _.cloneDeep(sub)
|
|
111
|
+ });
|
|
112
|
+ arr = arr.concat(sub_resResult)
|
126
|
113
|
})
|
|
114
|
+
|
|
115
|
+ let acc_arr: any[] = []
|
|
116
|
+ arr.forEach((item: any) => {
|
|
117
|
+ let acc_item_arr = acc_arr.filter((v) => v.account_id == item.account_id)
|
|
118
|
+ if (acc_item_arr.length > 0) {
|
|
119
|
+ acc_item_arr[0].list.push(item)
|
|
120
|
+ } else {
|
|
121
|
+ acc_arr.push({
|
|
122
|
+ account_id: item.account_id,
|
|
123
|
+ list: [item]
|
|
124
|
+ })
|
|
125
|
+ }
|
|
126
|
+ })
|
|
127
|
+
|
|
128
|
+ cMaterial_resResult_list = cMaterial_resResult_list.concat(acc_arr)
|
127
|
129
|
})
|
128
|
|
- console.log(cMaterial_resResult_list,'cMaterial_resResult_list');
|
|
130
|
+ console.log(cMaterial_resResult_list, 'cMaterial_resResult_list');
|
129
|
131
|
|
130
|
132
|
let arr_: any = []
|
131
|
|
- let cloneRes: any = await handle_resResult(_.cloneDeep(cMaterial_resResult_list), _.cloneDeep(val))
|
|
133
|
+ let cloneRes: any = await handle_resResult(_.cloneDeep(cMaterial_resResult_list))
|
132
|
134
|
//图片形式的originalityBasicInfoData.params格式需要给
|
133
|
135
|
console.log(cloneRes, 'cloneRes');
|
134
|
136
|
await originalityBasicInfoData.params.forEach(item => {
|
|
@@ -215,12 +217,14 @@ export function handleMultiple({
|
215
|
217
|
cMaterial.array_property = obj?.image_list?.array_property;
|
216
|
218
|
cMaterial.imgOrVideoInfo['image_list'] = 'image_list'
|
217
|
219
|
}
|
|
220
|
+ cMaterial.imgOrVideoInfo['self_image_count'] = 'self_image_count'
|
|
221
|
+ cMaterial.imgOrVideoInfo['self_video_count'] = 'self_video_count'
|
218
|
222
|
// 留口子 现在逻辑是image video image_list不共存 暂未发现共存的情况
|
219
|
|
- situationArr.forEach((item)=>{
|
220
|
|
- if(item.type == 'video'){
|
|
223
|
+ situationArr.forEach((item) => {
|
|
224
|
+ if (item.type == 'video') {
|
221
|
225
|
cMaterial.video_tips = item._tips
|
222
|
226
|
}
|
223
|
|
- if(item.type == 'image' || item.type == 'image_list'){
|
|
227
|
+ if (item.type == 'image' || item.type == 'image_list') {
|
224
|
228
|
cMaterial.image_tips = item._tips
|
225
|
229
|
}
|
226
|
230
|
})
|