jufubao-admin-library 1.1.91-beta1 → 1.1.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/library/viewModules/viewsCorporateActivities/schemas/activity_manage.js +1 -0
- package/library/viewModules/viewsCorporateActivities/viewsCorporateActivities/components/CommentBox.vue +8 -4
- package/library/viewModules/viewsCorporateActivities/viewsCorporateActivities/components/ContentBox.vue +8 -55
- package/library/viewModules/viewsCorporateActivities/viewsCorporateActivities/create.vue +20 -6
- package/library/viewModules/viewsCorporateActivities/viewsCorporateActivities/result.vue +5 -2
- package/library/viewModules/viewsCorporateActivities/viewsCorporateActivities/sign_result.vue +33 -23
- package/library/viewModules/viewsCycle/viewsCycle/create.vue +10 -5
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<img :src="item.user_avatar" alt="">
|
|
10
10
|
</div>
|
|
11
11
|
<div class="app-container-card-right">
|
|
12
|
-
<div><div>{{item.username}}</div><div v-if="isShow"><i @click="handleShow(item.id,item.is_show,true)" v-if="item.is_show==='Y'" class="xd_admin_iconfont xdicon_chakan"></i><i @click="handleShow(item.id,item.is_show,true)" v-else class="xd_admin_iconfont xdicon_biyan"></i></div></div>
|
|
12
|
+
<div><div>{{item.username}}</div><div v-if="isShow"><i @click="handleShow(item.id,item.is_show,true,index)" v-if="item.is_show==='Y'" class="xd_admin_iconfont xdicon_chakan cuspoint"></i><i @click="handleShow(item.id,item.is_show,true,index)" v-else class="xd_admin_iconfont xdicon_biyan cuspoint"></i></div></div>
|
|
13
13
|
<div>{{item.comment_content}}</div>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
<img :src="item.user_avatar" alt="">
|
|
28
28
|
</div>
|
|
29
29
|
<div class="app-container-card-right">
|
|
30
|
-
<div><div>{{item.username}}</div><div v-if="isShow"><i @click="handleShow(item.id,item.is_show,false)" v-if="item.is_show==='Y'" class="xd_admin_iconfont xdicon_chakan"></i><i @click="handleShow(item.id,item.is_show,false)" v-else class="xd_admin_iconfont xdicon_biyan"></i></div></div>
|
|
30
|
+
<div><div>{{item.username}}</div><div v-if="isShow"><i @click="handleShow(item.id,item.is_show,false,index)" v-if="item.is_show==='Y'" class="xd_admin_iconfont xdicon_chakan cuspoint"></i><i @click="handleShow(item.id,item.is_show,false,index)" v-else class="xd_admin_iconfont xdicon_biyan cuspoint"></i></div></div>
|
|
31
31
|
<div>{{item.comment_content}}</div>
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<xd-pagination
|
|
37
37
|
:total="total"
|
|
38
38
|
:limit.sync="limit"
|
|
39
|
-
:page="
|
|
39
|
+
:page="page_token"
|
|
40
40
|
:auto-scroll="false"
|
|
41
41
|
@onPagination="handlePagination"
|
|
42
42
|
></xd-pagination>
|
|
@@ -147,9 +147,10 @@ export default {
|
|
|
147
147
|
this.getList(false);
|
|
148
148
|
this.showDialog = true;
|
|
149
149
|
},
|
|
150
|
-
handleShow(id,is_show,isFirst){
|
|
150
|
+
handleShow(id,is_show,isFirst,index){
|
|
151
151
|
this.companyCommentIsShow({id:id,is_show:is_show==='Y'?'N':'Y'})
|
|
152
152
|
.then(res=>{
|
|
153
|
+
this.$set(this.commentData['comments'][index],'is_show',is_show==='Y'?'N':'Y')
|
|
153
154
|
this.$message.success('操作成功')
|
|
154
155
|
this.getList(isFirst)
|
|
155
156
|
})
|
|
@@ -205,5 +206,8 @@ export default {
|
|
|
205
206
|
}
|
|
206
207
|
}
|
|
207
208
|
}
|
|
209
|
+
.cuspoint{
|
|
210
|
+
cursor: pointer;
|
|
211
|
+
}
|
|
208
212
|
</style>
|
|
209
213
|
|
|
@@ -5,11 +5,16 @@
|
|
|
5
5
|
</div>
|
|
6
6
|
<div class="app-container-right">
|
|
7
7
|
<div class="app-container-right-title">
|
|
8
|
-
|
|
8
|
+
<!-- #ifdef saas-admin -->
|
|
9
|
+
<div class="app-container-right-title-name">{{contentData['username']}} {ID:{{contentData['user_id']}}}</div>
|
|
10
|
+
<!-- #endif -->
|
|
11
|
+
<!-- #ifdef app-activity -->
|
|
12
|
+
<div class="app-container-right-title-name">{{contentData['username']}} {ID:{{contentData['passport_user_id']}}}</div>
|
|
13
|
+
<!-- #endif -->
|
|
9
14
|
<div class="app-container-right-title-time">{{contentData['created_time']}}</div>
|
|
10
15
|
</div>
|
|
11
16
|
<div class="app-container-right-img" v-if="contentData['work_ext_content']['type']==='image'">
|
|
12
|
-
<img v-for="(item,index) in contentData['work_ext_content']['
|
|
17
|
+
<img v-for="(item,index) in contentData['work_ext_content']['media_list']" :key="index" :src="item.url" alt="">
|
|
13
18
|
</div>
|
|
14
19
|
<div class="app-container-right-video" v-if="contentData['work_ext_content']['type']==='video'">
|
|
15
20
|
<video ref="videoPlayer" :src="contentData['work_ext_content']['media_list'][0]['url']" controls></video>
|
|
@@ -66,59 +71,7 @@ export default {
|
|
|
66
71
|
this.contentData = this.$xdHelper.cloneDeep(this.list)
|
|
67
72
|
},
|
|
68
73
|
methods: {
|
|
69
|
-
|
|
70
|
-
'getCompanyEligibleUserItems',
|
|
71
|
-
'deleteCompanyEligibleUser',
|
|
72
|
-
'createAsyncTask',
|
|
73
|
-
'getAsyncTask'
|
|
74
|
-
]),
|
|
75
|
-
onJfbTagForReload () {
|
|
76
|
-
this.getList()
|
|
77
|
-
},
|
|
78
|
-
getList () {
|
|
79
|
-
// //请求数据
|
|
80
|
-
// let params = {
|
|
81
|
-
// filters:{
|
|
82
|
-
// prize_activity_id:this.activityId.toString(),
|
|
83
|
-
// ...this.searchParams,
|
|
84
|
-
// },
|
|
85
|
-
// page_token: this.page_token.toString(),
|
|
86
|
-
// page_size: this.page_size
|
|
87
|
-
// }
|
|
88
|
-
// let loading = Loading.service({})
|
|
89
|
-
// this.getCompanyEligibleUserItems(params).then((res) => {
|
|
90
|
-
// loading.close();
|
|
91
|
-
// this.tables = res.data.list.map(item => {
|
|
92
|
-
// item['created_time'] = window['getTimeFormat'](item.created_time);
|
|
93
|
-
// return item;
|
|
94
|
-
// });
|
|
95
|
-
// this.total = res.data.total_size;
|
|
96
|
-
// }).catch(err => {
|
|
97
|
-
// loading.close()
|
|
98
|
-
// })
|
|
99
|
-
},
|
|
100
|
-
/**
|
|
101
|
-
* @description 点击搜索进行搜索操作
|
|
102
|
-
* @param action 动作
|
|
103
|
-
* @param form 搜索请求参数
|
|
104
|
-
*/
|
|
105
|
-
handleSearch ({ action, form }) {
|
|
106
|
-
console.log(action,'aaa')
|
|
107
|
-
this.page_token = 1
|
|
108
|
-
this.hasNextPage = true
|
|
109
|
-
this.getList()
|
|
110
|
-
},
|
|
111
|
-
/**
|
|
112
|
-
* @description 翻页处理方法
|
|
113
|
-
* @param page {Number} 访问页面页码数
|
|
114
|
-
*/
|
|
115
|
-
handlePagination (page) {
|
|
116
|
-
this.page_token = page
|
|
117
|
-
this.getList()
|
|
118
|
-
},
|
|
119
|
-
onJfbTagForReload () {
|
|
120
|
-
this.getList()
|
|
121
|
-
},
|
|
74
|
+
|
|
122
75
|
}
|
|
123
76
|
}
|
|
124
77
|
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
<div v-for="(item,index) in contentList" :key="index" style="display:flex;width:100%">
|
|
21
21
|
<div style="width:60%">
|
|
22
22
|
<el-form-item label="标题:">
|
|
23
|
-
<el-input v-model="contentList[index].title" placeholder="" style="width:60%"></el-input>
|
|
23
|
+
<el-input v-model="contentList[index].title" placeholder="活动内容" style="width:60%"></el-input>
|
|
24
24
|
</el-form-item>
|
|
25
25
|
<el-form-item label=" " required>
|
|
26
|
-
<el-input v-model="contentList[index].rule" type="textarea" placeholder="" style="width:80%"></el-input>
|
|
26
|
+
<el-input v-model="contentList[index].rule" type="textarea" placeholder="请输入活动规则" style="width:80%"></el-input>
|
|
27
27
|
</el-form-item>
|
|
28
28
|
</div>
|
|
29
29
|
<i v-if="(index + 1) === contentList.length" class="el-icon-circle-plus pl5" @click="add(item)" ></i>
|
|
@@ -265,7 +265,6 @@ export default {
|
|
|
265
265
|
},
|
|
266
266
|
],
|
|
267
267
|
},
|
|
268
|
-
// #endif
|
|
269
268
|
{
|
|
270
269
|
label: '参与设置:', //label
|
|
271
270
|
ele: "xd-radio",
|
|
@@ -277,6 +276,7 @@ export default {
|
|
|
277
276
|
{ required: true, message: '请选择参与设置', trigger: ['blur', 'change'] },
|
|
278
277
|
]
|
|
279
278
|
},
|
|
279
|
+
// #endif
|
|
280
280
|
// #ifdef saas-admin
|
|
281
281
|
{
|
|
282
282
|
label: '全部企业参与:', //label
|
|
@@ -339,6 +339,7 @@ export default {
|
|
|
339
339
|
],
|
|
340
340
|
},
|
|
341
341
|
// #endif
|
|
342
|
+
// #ifdef app-activity
|
|
342
343
|
{
|
|
343
344
|
label: '工会ID:', //label
|
|
344
345
|
ele: "xd-radio",
|
|
@@ -365,7 +366,6 @@ export default {
|
|
|
365
366
|
},
|
|
366
367
|
],
|
|
367
368
|
},
|
|
368
|
-
// #ifdef app-activity
|
|
369
369
|
{
|
|
370
370
|
label: "适用范围:",
|
|
371
371
|
ele: "xd-check",
|
|
@@ -580,7 +580,19 @@ export default {
|
|
|
580
580
|
copyFormParams['activity_banners'] = JSON.stringify(this.listValue.activity_banners)
|
|
581
581
|
}
|
|
582
582
|
if(this.contentList&&this.contentList.length){
|
|
583
|
-
|
|
583
|
+
let isReturn = false
|
|
584
|
+
this.contentList.map(i=>{
|
|
585
|
+
if(!i.rule){
|
|
586
|
+
isReturn = true
|
|
587
|
+
return false
|
|
588
|
+
}
|
|
589
|
+
})
|
|
590
|
+
if(isReturn){
|
|
591
|
+
this.$message.error('请输入规则')
|
|
592
|
+
return false
|
|
593
|
+
}else{
|
|
594
|
+
copyFormParams['activity_content_config'] = JSON.stringify(this.contentList)
|
|
595
|
+
}
|
|
584
596
|
}else{
|
|
585
597
|
this.$message.error('请进行内容设置')
|
|
586
598
|
return false
|
|
@@ -607,7 +619,8 @@ export default {
|
|
|
607
619
|
handleClick () {
|
|
608
620
|
this.$refs['poster'].submitAll()
|
|
609
621
|
.then(res => {
|
|
610
|
-
|
|
622
|
+
if(this.getParams()){
|
|
623
|
+
let params = this.getParams();
|
|
611
624
|
console.log(params,'ppppp')
|
|
612
625
|
// return
|
|
613
626
|
let loading = Loading.service({})
|
|
@@ -633,6 +646,7 @@ export default {
|
|
|
633
646
|
console.error(error)
|
|
634
647
|
loading.close()
|
|
635
648
|
})
|
|
649
|
+
}
|
|
636
650
|
})
|
|
637
651
|
.catch()
|
|
638
652
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
@onDone="getList"
|
|
13
13
|
></xd-search>
|
|
14
14
|
</el-card>
|
|
15
|
-
<el-card class="app-container__list">
|
|
15
|
+
<el-card class="app-container__list" v-if="status">
|
|
16
16
|
<div class="app-container__list-content" v-for="(item,index) in tables" :key="index">
|
|
17
17
|
<content-box :list="item" :key="contentKey"></content-box>
|
|
18
18
|
<comment-box :list="item" :key="commentKey"></comment-box>
|
|
@@ -83,6 +83,7 @@ export default {
|
|
|
83
83
|
contentKey:'contentKey',
|
|
84
84
|
commentKey:'commentKey',
|
|
85
85
|
sortData:[],
|
|
86
|
+
status:false,
|
|
86
87
|
}
|
|
87
88
|
},
|
|
88
89
|
|
|
@@ -123,6 +124,7 @@ export default {
|
|
|
123
124
|
getList() {
|
|
124
125
|
let params = this.getParams()
|
|
125
126
|
let loading = Loading.service({});
|
|
127
|
+
this.status = false;
|
|
126
128
|
this.getCompanyUserWorkList(params).then(res => {
|
|
127
129
|
const {list, total_size} = res.data;
|
|
128
130
|
this.tables = list.map(item=>{
|
|
@@ -134,6 +136,7 @@ export default {
|
|
|
134
136
|
});
|
|
135
137
|
console.log(this.tables,'this.tables')
|
|
136
138
|
this.total = total_size;
|
|
139
|
+
this.status = true;
|
|
137
140
|
loading.close();
|
|
138
141
|
}).catch(err=>loading.close())
|
|
139
142
|
},
|
|
@@ -168,7 +171,7 @@ export default {
|
|
|
168
171
|
placeholder: '请选择',
|
|
169
172
|
classNmae:'input40',
|
|
170
173
|
multiple: false,
|
|
171
|
-
list: [{label:'
|
|
174
|
+
list: [{label:'显示',value:'Y'},{label:'隐藏',value:'N'}],
|
|
172
175
|
},
|
|
173
176
|
{
|
|
174
177
|
label: '列表排序',
|
package/library/viewModules/viewsCorporateActivities/viewsCorporateActivities/sign_result.vue
CHANGED
|
@@ -155,6 +155,7 @@ export default {
|
|
|
155
155
|
},
|
|
156
156
|
|
|
157
157
|
created() {
|
|
158
|
+
this.id = this.$route.params.id
|
|
158
159
|
this.initSearchForm();
|
|
159
160
|
},
|
|
160
161
|
methods: {
|
|
@@ -170,6 +171,7 @@ export default {
|
|
|
170
171
|
},
|
|
171
172
|
getParams(){
|
|
172
173
|
let needFilter = JSON.parse(JSON.stringify(this.searchParams))
|
|
174
|
+
needFilter.activity_id = this.id
|
|
173
175
|
let timeObj = {
|
|
174
176
|
created_time_range: {
|
|
175
177
|
start_time: this.searchParams.created_time_start,
|
|
@@ -179,7 +181,7 @@ export default {
|
|
|
179
181
|
delete needFilter.created_time_start
|
|
180
182
|
delete needFilter.created_time_end
|
|
181
183
|
let params = {
|
|
182
|
-
|
|
184
|
+
filters: this.searchParams.created_time_start ? { ...needFilter, ...timeObj } : needFilter,
|
|
183
185
|
page_token: this.page_size.toString(),
|
|
184
186
|
page_size: this.limit
|
|
185
187
|
}
|
|
@@ -220,30 +222,38 @@ export default {
|
|
|
220
222
|
*/
|
|
221
223
|
initSearchForm() {
|
|
222
224
|
this.searchForm = [
|
|
225
|
+
// {
|
|
226
|
+
// label: '报名人:',
|
|
227
|
+
// ele: 'xd-remote-select',
|
|
228
|
+
// valueKey: 'user_id',
|
|
229
|
+
// value: [],
|
|
230
|
+
// className: 'input40',
|
|
231
|
+
// placeholder: `请选择报名人`,
|
|
232
|
+
// multiple: false,
|
|
233
|
+
// collapseTags: false,
|
|
234
|
+
// remoteSearch: (query, resolve) => {
|
|
235
|
+
// getOptions({
|
|
236
|
+
// server: 'saas-company',
|
|
237
|
+
// fn: 'staff',
|
|
238
|
+
// path: 'p1',
|
|
239
|
+
// params: {
|
|
240
|
+
// page_token: '1',
|
|
241
|
+
// page_size: '500',
|
|
242
|
+
// user_name: query
|
|
243
|
+
// }
|
|
244
|
+
// })
|
|
245
|
+
// .then(res => {
|
|
246
|
+
// resolve(res.data.list)
|
|
247
|
+
// })
|
|
248
|
+
// },
|
|
249
|
+
// },
|
|
223
250
|
{
|
|
224
251
|
label: '报名人:',
|
|
225
|
-
ele: '
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
placeholder:
|
|
230
|
-
multiple: false,
|
|
231
|
-
collapseTags: false,
|
|
232
|
-
remoteSearch: (query, resolve) => {
|
|
233
|
-
getOptions({
|
|
234
|
-
server: 'saas-company',
|
|
235
|
-
fn: 'staff',
|
|
236
|
-
path: 'p1',
|
|
237
|
-
params: {
|
|
238
|
-
page_token: '1',
|
|
239
|
-
page_size: '500',
|
|
240
|
-
user_name: query
|
|
241
|
-
}
|
|
242
|
-
})
|
|
243
|
-
.then(res => {
|
|
244
|
-
resolve(res.data.list)
|
|
245
|
-
})
|
|
246
|
-
},
|
|
252
|
+
ele: 'el-input',
|
|
253
|
+
type: 'text',
|
|
254
|
+
valueKey: 'username',
|
|
255
|
+
value:'',
|
|
256
|
+
placeholder: '请输入报名人',
|
|
247
257
|
},
|
|
248
258
|
{
|
|
249
259
|
label: '提交时间:', //label
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
v-model="item.discount_ratio"
|
|
35
35
|
placeholder="请填写"
|
|
36
36
|
></el-input>
|
|
37
|
-
<span style="margin-left: 10px"
|
|
37
|
+
<span style="margin-left: 10px">%以内的商品</span>
|
|
38
38
|
<div style="margin-left: 10px" class="">
|
|
39
39
|
<el-link
|
|
40
40
|
:underline="false"
|
|
@@ -53,8 +53,10 @@
|
|
|
53
53
|
v-if="customForm.length > 1"
|
|
54
54
|
></el-link>
|
|
55
55
|
</div>
|
|
56
|
-
<span v-if="item.count">{{ item.count }}
|
|
57
|
-
<el-button type="primary" @click="handleGetCount(item)"
|
|
56
|
+
<span v-if="item.count" style="margin: 0 4px;color: red;">{{ item.count }}款商品</span>
|
|
57
|
+
<el-button type="primary" :loading="item.loading" @click="handleGetCount(item)" style="margin-left: 8px;">
|
|
58
|
+
{{item.count === undefined ? '计算数量':'重新计算'}}
|
|
59
|
+
</el-button>
|
|
58
60
|
</el-form-item>
|
|
59
61
|
</el-form>
|
|
60
62
|
</template>
|
|
@@ -154,12 +156,15 @@ export default {
|
|
|
154
156
|
handleGetCount(item){
|
|
155
157
|
let discount_ratio = {
|
|
156
158
|
type: "real_div_sale",
|
|
157
|
-
max: item.discount_ratio *
|
|
159
|
+
max: item.discount_ratio * 100,
|
|
158
160
|
min: 0,
|
|
159
161
|
}
|
|
162
|
+
this.$set(item, 'loading', true);
|
|
160
163
|
this.selectedProductCount({filters: {discount_ratio}}).then(res => {
|
|
161
|
-
// item.count = res.data;
|
|
162
164
|
this.$set(item, 'count', res.data.total);
|
|
165
|
+
this.$set(item, 'loading', false)
|
|
166
|
+
}).catch(err => {
|
|
167
|
+
this.$set(item, 'loading', false)
|
|
163
168
|
})
|
|
164
169
|
},
|
|
165
170
|
initFormList(params, isWitch) {
|