jufubao-admin-library 1.1.19-beta7 → 1.1.19

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.
Files changed (20) hide show
  1. package/library/pageComponents/modules/lib/JfbRuleCreate.js +0 -56
  2. package/library/viewModules/viewStat/router/productStat.js +33 -0
  3. package/library/viewModules/viewStat/router/supplierStat.js +3 -3
  4. package/library/viewModules/viewStat/schemas/product.stat.js +102 -0
  5. package/library/viewModules/viewStat/schemas/supplier.stat.js +9 -0
  6. package/library/viewModules/viewStat/viewsStat/product/components/discount.vue +359 -0
  7. package/library/viewModules/viewStat/viewsStat/product/components/stat-all.vue +269 -0
  8. package/library/viewModules/viewStat/viewsStat/product/components/table-brand.vue +464 -0
  9. package/library/viewModules/viewStat/viewsStat/product/components/table-category.vue +467 -0
  10. package/library/viewModules/viewStat/viewsStat/product/components/table-product.vue +530 -0
  11. package/library/viewModules/viewStat/viewsStat/product/index.vue +255 -0
  12. package/library/viewModules/viewStat/viewsStat/supplier/components/discount.vue +292 -0
  13. package/library/viewModules/viewStat/viewsStat/{index → supplier}/components/stat-all.vue +6 -3
  14. package/library/viewModules/viewStat/viewsStat/{index → supplier}/components/table-category.vue +10 -10
  15. package/library/viewModules/viewStat/viewsStat/{index → supplier}/components/table-product.vue +8 -8
  16. package/library/viewModules/viewStat/viewsStat/{index → supplier}/components/table-supplier.vue +9 -9
  17. package/library/viewModules/viewStat/viewsStat/{index → supplier}/index.vue +4 -1
  18. package/package.json +1 -1
  19. /package/library/viewModules/viewStat/viewsStat/{index → supplier}/components/stat-product.vue +0 -0
  20. /package/library/viewModules/viewStat/viewsStat/{index → supplier}/components/stat-supplier.vue +0 -0
@@ -152,7 +152,6 @@ export default {
152
152
  * 规则类表单 创建公共项
153
153
  */
154
154
  getFormList (params) {
155
- console.log(params,params.sale_num && params.sale_num.start,'getFormList');
156
155
  //电影初始化表单
157
156
  if (this.isMovie) return this.getMCFormList(params)
158
157
  return [
@@ -389,34 +388,6 @@ export default {
389
388
  EPlaceholder: '最高折扣值',
390
389
  },
391
390
  },
392
- this.checkConfig('sale_num')&&{
393
- label: '按销量:',
394
- ele: 'xd-input-range',
395
- valueKey: 'sale_num',
396
- value: {
397
- type: params.sale_num && params.sale_num.type,
398
- start: params.sale_num && params.sale_num.start,
399
- end: params.sale_num && params.sale_num.end,
400
- },
401
- disabled: false,
402
- setting: {
403
- unit: '个',
404
- selectWidth: '220px',
405
- selectMultiple: false,
406
- selectPlaceholder: '请选择',
407
- select: [],
408
- },
409
- maps: {
410
- start: 'start',
411
- end: 'end',
412
- select: 'type'
413
- },
414
- notice: '销量变更无法自动触发选品,请手动触发,不设置为不限',
415
- placeholder: {
416
- SPlaceholder: '销量大于等于',
417
- EPlaceholder: '销量小于等于',
418
- },
419
- },
420
391
  this.checkConfig('is_push_gift') && {
421
392
  label: '是否推送至礼包:',
422
393
  ele: 'xd-radio',
@@ -756,33 +727,6 @@ export default {
756
727
  EPlaceholder: '最高价格',
757
728
  },
758
729
  },
759
- this.checkConfig('sale_num')&&{
760
- label: '按销量:',
761
- ele: 'xd-input-range',
762
- valueKey: 'sale_num',
763
- value: {
764
- type: params.sale_num && params.sale_num.type,
765
- start: params.sale_num && params.sale_num.start,
766
- end: params.sale_num && params.sale_num.end,
767
- },
768
- disabled: false,
769
- setting: {
770
- unit: '%',
771
- selectWidth: '220px',
772
- selectMultiple: false,
773
- selectPlaceholder: '请选择',
774
- select: [],
775
- },
776
- maps: {
777
- start: 'start',
778
- end: 'end',
779
- select: 'type'
780
- },
781
- placeholder: {
782
- SPlaceholder: '最低折扣值',
783
- EPlaceholder: '最高折扣值',
784
- },
785
- },
786
730
  {
787
731
  label: '时间段:', //label
788
732
  ele: 'xd-date-range', //package 名称
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ import Layout from '@/layout'
4
+ import roles from '@/constant/permissions' //引用权限值
5
+ const role = roles.productStat;
6
+
7
+ const productStatRouter = {
8
+ path: '/stat',
9
+ sort: 95,
10
+ component: Layout,
11
+ name: '商品统计',
12
+ redirect: '/stat/product',
13
+ meta: {
14
+ title: '商品统计',
15
+ icon: 'xdicon_rizhi',
16
+ iconSize: 22,
17
+ },
18
+ children: [
19
+ {
20
+ path: 'product',
21
+ name: '商品统计',
22
+ component: () => import ('@/viewsStat/product/index'),
23
+ meta: {
24
+ title: '商品统计',
25
+ icon: 'xdicon_rizhi',
26
+ iconSize: 22,
27
+ role: ['STAT-PARTNER.PRODUCT_STAT_MENUS',role.totalProductCounts,role.productSalesCyc,role.categoryCycSales,role.brandCycSales]
28
+ }
29
+ }
30
+ ]
31
+ }
32
+
33
+ export default productStatRouter
@@ -9,7 +9,7 @@ const supplierStatRouter = {
9
9
  sort: 95,
10
10
  component: Layout,
11
11
  name: '供货商统计',
12
- redirect: '/stat/index',
12
+ redirect: '/stat/supplier',
13
13
  meta: {
14
14
  title: '供货商统计',
15
15
  icon: 'xdicon_rizhi',
@@ -17,9 +17,9 @@ const supplierStatRouter = {
17
17
  },
18
18
  children: [
19
19
  {
20
- path: 'index',
20
+ path: 'supplier',
21
21
  name: '供货商统计',
22
- component: () => import ('@/viewsStat/index/index'),
22
+ component: () => import ('@/viewsStat/supplier/index'),
23
23
  meta: {
24
24
  title: '供货商统计',
25
25
  icon: 'xdicon_rizhi',
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+ module.exports = {
3
+ name: "productStat",
4
+ title: "商品统计",
5
+ vuex: true,
6
+ model: [
7
+ {
8
+ title: "统计-商品统计-累计统计",
9
+ mapFn: "totalProductCounts",
10
+ path: "/stat-partner/v1/product-stat/total-counts",
11
+ isRule: false,
12
+ params: {
13
+ site_id: ['站点id', 'String', '必填'],
14
+ business_code: ['业务线code', 'String', '必填'],
15
+ },
16
+ disabled: true,
17
+ role: "STAT-PARTNER.PRODUCT_STAT_TOTAL_COUNTS"
18
+ },
19
+ {
20
+ title: "统计-商品统计-商品销售数据",
21
+ mapFn: "productSalesCyc",
22
+ path: "/stat-partner/v1/product-stat/product-cyc-sales",
23
+ isRule: false,
24
+ params: {
25
+ time_range_start:['周期起始时间', 'String', '非必填'],
26
+ time_range_end:['周期结束时间', 'String', '非必填'],
27
+ product_id:['商品id', 'String', '非必填'],
28
+ like_product_id:['模糊商品搜索', 'String', '非必填'],
29
+ product_type:['商品类型', 'String', '非必填'],
30
+ channel_code:['渠道code', 'String', '非必填'],
31
+ supplier_ids:['供应商id', 'String', '非必填'],
32
+ export: ['是否导出', 'String', '非必填'],
33
+ file_name: ['导出文件名称', 'String', '非必填'],
34
+ file_ext: ['导出文件类型 xls,xlsx,csv,html', 'String', '非必填'],
35
+ export_data_tag: ['导出的模版标识', 'String', '非必填'],
36
+ },
37
+ disabled: true,
38
+ role: "STAT-PARTNER.PRODUCT_STAT_PRODUCT_CYC_SALES"
39
+ },
40
+ {
41
+ title: "统计-商品统计-商品分类销售数据",
42
+ mapFn: "categoryCycSales",
43
+ path: "/stat-partner/v1/product-stat/prod-cate-cyc-sales",
44
+ isRule: false,
45
+ params: {
46
+ time_range_start:['周期起始时间', 'String', '非必填'],
47
+ time_range_end:['周期结束时间', 'String', '非必填'],
48
+ common_category:['公共类目', 'String', '非必填'],
49
+ channel_code:['渠道code', 'String', '非必填'],
50
+ supplier_ids:['供应商id', 'String', '非必填'],
51
+ export: ['是否导出', 'String', '非必填'],
52
+ file_name: ['导出文件名称', 'String', '非必填'],
53
+ file_ext: ['导出文件类型 xls,xlsx,csv,html', 'String', '非必填'],
54
+ export_data_tag: ['导出的模版标识', 'String', '非必填'],
55
+ },
56
+ disabled: true,
57
+ role: "STAT-PARTNER.PRODUCT_STAT_CATEGORY_CYC_SALES"
58
+ },
59
+ {
60
+ title: "统计-商品统计-品牌销售数据",
61
+ mapFn: "brandCycSales",
62
+ path: "/stat-partner/v1/product-stat/brand-cyc-sales",
63
+ isRule: false,
64
+ params: {
65
+ time_range_start:['周期起始时间', 'String', '非必填'],
66
+ time_range_end:['周期结束时间', 'String', '非必填'],
67
+ brand_id:['品牌id', 'String', '非必填'],
68
+ channel_code:['渠道code', 'String', '非必填'],
69
+ supplier_ids:['供应商id', 'String', '非必填'],
70
+ export: ['是否导出', 'String', '非必填'],
71
+ file_name: ['导出文件名称', 'String', '非必填'],
72
+ file_ext: ['导出文件类型 xls,xlsx,csv,html', 'String', '非必填'],
73
+ export_data_tag: ['导出的模版标识', 'String', '非必填'],
74
+ },
75
+ disabled: true,
76
+ role: "STAT-PARTNER.PRODUCT_STAT_BRAND_CYC_SALES"
77
+ },
78
+ {
79
+ title: "统计-商品统计-加盟商可选业务线",
80
+ mapFn: "getBusinessList",
81
+ path: "/stat-partner/v1/product-stat/biz-lines",
82
+ isRule: false,
83
+ params: {
84
+ site_id: ['站点id', 'String', '必填'],
85
+ },
86
+ disabled: true,
87
+ role: ""
88
+ },
89
+ {
90
+ title: "统计-商品统计-加盟商可选业务线Lv2",
91
+ mapFn: "getBusinessChildrenList",
92
+ path: "/stat-partner/v1/product-stat/biz-lines-lv2",
93
+ isRule: false,
94
+ params: {
95
+ site_id: ['站点id', 'String', '必填'],
96
+ business_code: ['业务线code', 'String', '必填'],
97
+ },
98
+ disabled: true,
99
+ role: ""
100
+ },
101
+ ]
102
+ }
@@ -65,6 +65,15 @@ module.exports = {
65
65
  params: {},
66
66
  disabled: true,
67
67
  role: "STAT-PARTNER.SUPPLIER_STAT_PRODUCT_CATEGORY_CYC_SALES"
68
+ },
69
+ {
70
+ title: "统计-供应商统计-在售商品折扣分布数据",
71
+ mapFn: "getProductDiscount",
72
+ path: "/stat-partner/v1/supplier-stat/product-discounts",
73
+ isRule: false,
74
+ params: {},
75
+ disabled: true,
76
+ role: "STAT-PARTNER.SUPPLIER_STAT_PRODUCT_DISCOUNTS"
68
77
  }
69
78
  ]
70
79
  }
@@ -0,0 +1,359 @@
1
+ <template>
2
+ <el-card class="discount-wrap">
3
+ <div class="discount-wrap-header" slot="header">
4
+ <div class="discount-wrap-header-select">
5
+ <div>
6
+ 在售商品折扣分布
7
+ <el-tooltip
8
+ effect="light"
9
+ content="仅统计已选商品中上架商品数量。"
10
+ placement="right"
11
+ >
12
+ <i class="xdicon_question-circle xd_admin_iconfont"></i>
13
+ </el-tooltip>
14
+ </div>
15
+ <div>
16
+ <div>
17
+ 供应商
18
+ <el-select v-model="model" placeholder="">
19
+ <el-option
20
+ v-for="item in options"
21
+ :key="item.value"
22
+ :label="item.label"
23
+ :value="item.value"
24
+ >
25
+ </el-option>
26
+ </el-select>
27
+ <el-select v-model="model" placeholder="">
28
+ <el-option
29
+ v-for="item in options"
30
+ :key="item.value"
31
+ :label="item.label"
32
+ :value="item.value"
33
+ >
34
+ </el-option>
35
+ </el-select>
36
+ </div>
37
+ <el-button style="margin-left: 45px" type="primary"
38
+ >条件导出</el-button
39
+ >
40
+ </div>
41
+ </div>
42
+ <div>
43
+ 截止到2023年12月31日23:59:59,百货-自己-在售商品-按折扣统计数量为
44
+ </div>
45
+ </div>
46
+ <el-table
47
+ highlight-current-row
48
+ stripe
49
+ fit
50
+ ref="table"
51
+ border
52
+ header-align="center"
53
+ :data="dataList"
54
+ >
55
+ <el-table-column
56
+ header-align="center"
57
+ v-for="(item, index) in rowTitle"
58
+ :label="item.label"
59
+ :key="index"
60
+ :min-width="item.width"
61
+ :show-overflow-tooltip="true"
62
+ >
63
+ <template slot-scope="scope">{{ scope.row[index] }}</template>
64
+ </el-table-column>
65
+ </el-table>
66
+ <div style="margin-top: 20px">
67
+ 注:当商品归属为自营时,折扣=货源进货价/市场价;当商品归属为非自营时,则折扣=平台进货价/市场价
68
+ </div>
69
+ </el-card>
70
+ </template>
71
+ <script>
72
+ export default {
73
+ data() {
74
+ return {
75
+ keyList: [
76
+ {
77
+ key: "num",
78
+ label: "商品总数",
79
+ },
80
+ {
81
+ key: "liangyou",
82
+ label: "粮油副食",
83
+ },
84
+ {
85
+ key: "shengxian",
86
+ label: "生鲜冷链",
87
+ },
88
+ {
89
+ key: "xiuxian",
90
+ label: "休闲食品",
91
+ },
92
+ {
93
+ key: "rupin",
94
+ label: "乳品饮料",
95
+ },
96
+ {
97
+ key: "jiafang",
98
+ label: "家纺用品",
99
+ },
100
+ {
101
+ key: "meizhuang",
102
+ label: "美妆护肤",
103
+ },
104
+ {
105
+ key: "jiayong",
106
+ label: "家用电器",
107
+ },
108
+ {
109
+ key: "chufang",
110
+ label: "厨房电器",
111
+ },
112
+ {
113
+ key: "chuwei",
114
+ label: "厨卫用品",
115
+ },
116
+ {
117
+ key: "rihua",
118
+ label: "日化家清",
119
+ },
120
+ {
121
+ key: "riza",
122
+ label: "日杂用品",
123
+ },
124
+ {
125
+ key: "xiangbao",
126
+ label: "箱包办公",
127
+ },
128
+ ],
129
+ rowTitle: [
130
+ { label: "折扣", width: 80 },
131
+ { label: "0-1折", width: 200 },
132
+ { label: "1.01-2折", width: 200 },
133
+ { label: "2.01-3折", width: 200 },
134
+ { label: "3.01-4折", width: 200 },
135
+ { label: "4.01-5折", width: 200 },
136
+ { label: "5.01-6折", width: 200 },
137
+ { label: "6.01-7折", width: 200 },
138
+ { label: "7.01-8折", width: 200 },
139
+ { label: "8.01-9折", width: 200 },
140
+ { label: "9.01-10折", width: 200 },
141
+ { label: "小计", width: 200 },
142
+ ],
143
+ dataList: [
144
+ {
145
+ num: "84",
146
+ liangyou: "0",
147
+ shengxian: "0",
148
+ xiuxian: "0",
149
+ rupin: "0",
150
+ jiafang: "64",
151
+ meizhuang: "0",
152
+ jiayong: "4",
153
+ chufang: "9",
154
+ chuwei: "1",
155
+ rihua: "0",
156
+ riza: "2",
157
+ xiangbao: "4",
158
+ },
159
+ {
160
+ num: "105",
161
+ liangyou: "0",
162
+ shengxian: "2",
163
+ xiuxian: "3",
164
+ rupin: "7",
165
+ jiafang: "58",
166
+ meizhuang: "0",
167
+ jiayong: "2",
168
+ chufang: "9",
169
+ chuwei: "7",
170
+ rihua: "0",
171
+ riza: "3",
172
+ xiangbao: "6",
173
+ },
174
+ {
175
+ num: "105",
176
+ liangyou: "0",
177
+ shengxian: "2",
178
+ xiuxian: "3",
179
+ rupin: "7",
180
+ jiafang: "58",
181
+ meizhuang: "0",
182
+ jiayong: "2",
183
+ chufang: "9",
184
+ chuwei: "7",
185
+ rihua: "0",
186
+ riza: "3",
187
+ xiangbao: "6",
188
+ },
189
+ {
190
+ num: "105",
191
+ liangyou: "0",
192
+ shengxian: "2",
193
+ xiuxian: "3",
194
+ rupin: "7",
195
+ jiafang: "58",
196
+ meizhuang: "0",
197
+ jiayong: "2",
198
+ chufang: "9",
199
+ chuwei: "7",
200
+ rihua: "0",
201
+ riza: "3",
202
+ xiangbao: "6",
203
+ },
204
+ {
205
+ num: "105",
206
+ liangyou: "0",
207
+ shengxian: "2",
208
+ xiuxian: "3",
209
+ rupin: "7",
210
+ jiafang: "58",
211
+ meizhuang: "0",
212
+ jiayong: "2",
213
+ chufang: "9",
214
+ chuwei: "7",
215
+ rihua: "0",
216
+ riza: "3",
217
+ xiangbao: "6",
218
+ },
219
+ {
220
+ num: "105",
221
+ liangyou: "0",
222
+ shengxian: "2",
223
+ xiuxian: "3",
224
+ rupin: "7",
225
+ jiafang: "58",
226
+ meizhuang: "0",
227
+ jiayong: "2",
228
+ chufang: "9",
229
+ chuwei: "7",
230
+ rihua: "0",
231
+ riza: "3",
232
+ xiangbao: "6",
233
+ },
234
+ {
235
+ num: "105",
236
+ liangyou: "0",
237
+ shengxian: "2",
238
+ xiuxian: "3",
239
+ rupin: "7",
240
+ jiafang: "58",
241
+ meizhuang: "0",
242
+ jiayong: "2",
243
+ chufang: "9",
244
+ chuwei: "7",
245
+ rihua: "0",
246
+ riza: "3",
247
+ xiangbao: "6",
248
+ },
249
+ {
250
+ num: "105",
251
+ liangyou: "0",
252
+ shengxian: "2",
253
+ xiuxian: "3",
254
+ rupin: "7",
255
+ jiafang: "58",
256
+ meizhuang: "0",
257
+ jiayong: "2",
258
+ chufang: "9",
259
+ chuwei: "7",
260
+ rihua: "0",
261
+ riza: "3",
262
+ xiangbao: "6",
263
+ },
264
+ {
265
+ num: "105",
266
+ liangyou: "0",
267
+ shengxian: "2",
268
+ xiuxian: "3",
269
+ rupin: "7",
270
+ jiafang: "58",
271
+ meizhuang: "0",
272
+ jiayong: "2",
273
+ chufang: "9",
274
+ chuwei: "7",
275
+ rihua: "0",
276
+ riza: "3",
277
+ xiangbao: "6",
278
+ },
279
+ {
280
+ num: "105",
281
+ liangyou: "0",
282
+ shengxian: "2",
283
+ xiuxian: "3",
284
+ rupin: "7",
285
+ jiafang: "58",
286
+ meizhuang: "0",
287
+ jiayong: "2",
288
+ chufang: "9",
289
+ chuwei: "7",
290
+ rihua: "0",
291
+ riza: "3",
292
+ xiangbao: "6",
293
+ },
294
+ {
295
+ num: "105",
296
+ liangyou: "0",
297
+ shengxian: "2",
298
+ xiuxian: "3",
299
+ rupin: "7",
300
+ jiafang: "58",
301
+ meizhuang: "0",
302
+ jiayong: "2",
303
+ chufang: "9",
304
+ chuwei: "7",
305
+ rihua: "0",
306
+ riza: "3",
307
+ xiangbao: "6",
308
+ },
309
+ ],
310
+ };
311
+ },
312
+ created() {
313
+ this.getDataList();
314
+ },
315
+ methods: {
316
+ // 获取列表数据
317
+ async getDataList(row) {
318
+ this.dataList = this.keyList.map((item, i) => {
319
+ return [
320
+ this.keyList[i].label,
321
+ ...this.dataList.map((row) => {
322
+ return row[this.keyList[i].key];
323
+ }),
324
+ ];
325
+ });
326
+ },
327
+ },
328
+ };
329
+ </script>
330
+ <style lang="less" scoped>
331
+ .discount {
332
+ &-wrap {
333
+ margin-top: 20px;
334
+ &-header {
335
+ &-select {
336
+ display: flex;
337
+ justify-content: space-between;
338
+ align-items: center;
339
+ margin-bottom: 10px;
340
+
341
+ & > div:first-child {
342
+ display: flex;
343
+ font-size: 20px;
344
+ i {
345
+ cursor: pointer;
346
+ margin-left: 4px;
347
+ color: #a1a7b3;
348
+ }
349
+ }
350
+
351
+ & > div:nth-child(2) {
352
+ display: flex;
353
+ align-items: center;
354
+ }
355
+ }
356
+ }
357
+ }
358
+ }
359
+ </style>