jufubao-admin-library 1.1.66 → 1.1.68

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 (18) hide show
  1. package/library/pageComponents/modules/JfbProductSearch.vue +7 -4
  2. package/library/viewModules/viewCardsGift/viewCardsGift/config.vue +0 -1
  3. package/library/viewModules/viewStat/schemas/supplier.stat.js +9 -0
  4. package/library/viewModules/viewStat/viewsStat/product/components/stat-all.vue +4 -2
  5. package/library/viewModules/viewStat/viewsStat/product/components/table-brand.vue +2 -2
  6. package/library/viewModules/viewStat/viewsStat/product/components/table-category.vue +3 -3
  7. package/library/viewModules/viewStat/viewsStat/product/components/table-product.vue +2 -2
  8. package/library/viewModules/viewStat/viewsStat/supplier/components/discount.vue +115 -67
  9. package/library/viewModules/viewStat/viewsStat/supplier/components/stat-product.vue +38 -11
  10. package/library/viewModules/viewStat/viewsStat/supplier/components/table-category.vue +2 -2
  11. package/library/viewModules/viewStat/viewsStat/supplier/components/table-product.vue +2 -2
  12. package/library/viewModules/viewStat/viewsStat/supplier/components/table-supplier.vue +2 -2
  13. package/library/viewModules/viewStat/viewsStat/supplier/components/up-new.vue +334 -0
  14. package/library/viewModules/viewStat/viewsStat/supplier/index.vue +6 -3
  15. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/OrderInfoButton.vue +27 -1
  16. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/detail.vue +92 -8
  17. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/table-card.vue +12 -1
  18. package/package.json +1 -1
@@ -115,7 +115,6 @@ export default {
115
115
  ...mapState(['commonParams']),
116
116
  },
117
117
  async created () {
118
- console.log(this.projectType,"projectTypeprojectType");
119
118
  let cityData = await this.getAllCityList()
120
119
  this.cityData = cityData.data.list
121
120
  this.cookieKey = `${this.commonParams.xsiteid}.${this.commonParams.xnamespace}.${this.pagesType}.channel`
@@ -246,6 +245,10 @@ export default {
246
245
  * @param form 搜索请求参数
247
246
  */
248
247
  handleSearch ({ action, form }) {
248
+ if(action==='reset'){
249
+ this.category_id = []
250
+ this.custom_category_id = []
251
+ }
249
252
  if (this.JfbParent.page) this.JfbParent.page = 1
250
253
  this.getList(action)
251
254
  },
@@ -383,7 +386,7 @@ export default {
383
386
  formatValue: "timestamp", //输出时间格式
384
387
  placeholder: ["开始时间", "结束时间"],
385
388
  },
386
- {
389
+ this.projectType!=='wholesale'&&{
387
390
  label: "按价格:", //label
388
391
  ele: "xd-input-range", //package 名称
389
392
  valueKey: "price_range", //form[valueKey]
@@ -419,13 +422,13 @@ export default {
419
422
  },
420
423
  notice: "市场价和分销价",
421
424
  },
422
- {
425
+ this.projectType!=='wholesale'&&{
423
426
  label: "按折扣:", //label
424
427
  ele: "xd-input-range", //package 名称
425
428
  valueKey: "discount_ratio", //form[valueKey]
429
+ labelSlot:'按大于等于最低折扣,小于最高折扣(不含)进行搜索',
426
430
  value: {},
427
431
  disabled: false,
428
- labelSlot:'按大于等于最低折扣,小于最高折扣(不含)进行搜索',
429
432
  setting: {
430
433
  /**单位显示**/
431
434
  //图标优先于文字单位
@@ -154,7 +154,6 @@ import {mapActions} from "vuex";
154
154
  import {Loading} from "element-ui";
155
155
  import {isPlatform} from "@/utils/xd.base";
156
156
  import XdBaseDynamicField from "@/components/XdBaseDynamicField.vue";
157
- import {number} from "echarts/lib/export";
158
157
  import {getImageFullPath} from "@/mixins/handleUpdate";
159
158
  const Color = require("color");
160
159
 
@@ -93,5 +93,14 @@ module.exports = {
93
93
  disabled: true,
94
94
  role: "STAT-PARTNER.TRADE_STAT_OFFLINE_SHOP_SALES"
95
95
  },
96
+ {
97
+ title: "统计-供应商统计-上新商品折扣分布数据",
98
+ mapFn: "getNewOnShelfProductDiscounts",
99
+ path: '/stat-partner/v1/supplier-stat/new-on-shelf-product-discounts',
100
+ isRule: false,
101
+ params: {},
102
+ disabled: true,
103
+ role: "STAT-PARTNER.SUPPLIER_STAT_NEW_ON"
104
+ },
96
105
  ]
97
106
  }
@@ -12,7 +12,8 @@
12
12
  <div class="stat_item">
13
13
  <p class="_title">
14
14
  商品总数
15
- <el-tooltip effect="light" content="取对应业务线已选商品统计 同一商品多业务线选用按多次计" placement="right">
15
+ <el-tooltip effect="light" placement="right">
16
+ <div slot="content">取对应业务线已选商品统计<br/>同一商品多业务线选用按多次计</div>
16
17
  <i class="xdicon_question-circle xd_admin_iconfont"></i>
17
18
  </el-tooltip>
18
19
  </p>
@@ -52,7 +53,8 @@
52
53
  <div class="stat_item">
53
54
  <p class="_title">
54
55
  SKU总数
55
- <el-tooltip effect="light" content="取对应业务线已选商品统计 同一商品多业务线选用按多次计 同一商品多规格按多次计" placement="right">
56
+ <el-tooltip effect="light" placement="right">
57
+ <div slot="content">取对应业务线已选商品统计<br/>同一商品多业务线选用按多次计<br/>同一商品多规格按多次计</div>
56
58
  <i class="xdicon_question-circle xd_admin_iconfont"></i>
57
59
  </el-tooltip>
58
60
  </p>
@@ -179,7 +179,7 @@ export default {
179
179
  label: "实际销量",
180
180
  sort: "custom",
181
181
  notice: {
182
- data: ["即总销量-售后次数"],
182
+ data: ["总销量减去仅退款和换购的售后次数"],
183
183
  },
184
184
  },
185
185
  {
@@ -202,7 +202,7 @@ export default {
202
202
  label: "售后次数",
203
203
  sort: "custom",
204
204
  notice: {
205
- data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
205
+ data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数;同一订单售后多件商品按多次计;同一商品多次售后按多次计;仅统计线上订单且全部处理方式的售后订单;"],
206
206
  },
207
207
  },
208
208
  {
@@ -45,7 +45,7 @@
45
45
  :label="item.label"
46
46
  :value="item.value"
47
47
  >
48
- </el-option>
48
+ </el-option>
49
49
  </el-select>
50
50
  </div>
51
51
  </template>
@@ -175,7 +175,7 @@ export default {
175
175
  label: "实际销量",
176
176
  sort: "custom",
177
177
  notice: {
178
- data: ["即总销量-售后次数"],
178
+ data: ["总销量减去仅退款和换购的售后次数"],
179
179
  },
180
180
  },
181
181
  {
@@ -198,7 +198,7 @@ export default {
198
198
  label: "售后次数",
199
199
  sort: "custom",
200
200
  notice: {
201
- data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
201
+ data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数;同一订单售后多件商品按多次计;同一商品多次售后按多次计;仅统计线上订单且全部处理方式的售后订单;"],
202
202
  },
203
203
  },
204
204
  {
@@ -200,7 +200,7 @@ export default {
200
200
  label: "实际销量",
201
201
  sort: "custom",
202
202
  notice: {
203
- data: ["即总销量-售后次数"],
203
+ data: ["总销量减去仅退款和换购的售后次数"],
204
204
  },
205
205
  },
206
206
  {
@@ -223,7 +223,7 @@ export default {
223
223
  label: "售后次数",
224
224
  sort: "custom",
225
225
  notice: {
226
- data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
226
+ data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数;同一订单售后多件商品按多次计;同一商品多次售后按多次计;仅统计线上订单且全部处理方式的售后订单;"],
227
227
  },
228
228
  },
229
229
  {
@@ -2,7 +2,7 @@
2
2
  <el-card class="discount-wrap">
3
3
  <div class="discount-wrap-header" slot="header">
4
4
  <div class="discount-wrap-header-select">
5
- <div>
5
+ <div class="mb10">
6
6
  在售商品折扣分布
7
7
  <el-tooltip
8
8
  effect="light"
@@ -16,67 +16,75 @@
16
16
  </span>
17
17
  </div>
18
18
  <div>
19
- <div>
20
- <span style="margin-right: 10px">折扣类型</span>
21
- <el-select
22
- v-model="discount_type"
23
- filterable
24
- clearable
25
- placeholder="请选择折扣类型"
26
- style="margin-right: 10px"
27
- >
28
- <el-option
29
- v-for="item in discountTypeList"
30
- :key="item.value"
31
- :label="item.label"
32
- :value="item.value"
19
+ <el-form ref="form" :inline="true" :model="form" label-width="80px">
20
+ <el-form-item label="折扣类型">
21
+ <el-select
22
+ v-model="discount_type"
23
+ filterable
24
+ clearable
25
+ placeholder="请选择折扣类型"
26
+ style="margin-right: 10px"
33
27
  >
34
- </el-option>
35
- </el-select>
36
- </div>
37
- <div>
38
- <span style="margin-right: 10px">供应商</span>
39
- <el-select
40
- v-model="channel_code"
41
- filterable
42
- clearable
43
- placeholder="请选择供应商类别"
44
- style="margin-right: 10px"
45
- >
46
- <el-option
47
- v-for="item in channelList"
48
- :key="item.value"
49
- :label="item.label"
50
- :value="item.value"
28
+ <el-option
29
+ v-for="item in discountTypeList"
30
+ :key="item.value"
31
+ :label="item.label"
32
+ :value="item.value"
33
+ >
34
+ </el-option>
35
+ </el-select>
36
+ </el-form-item>
37
+ <el-form-item label="供应商">
38
+ <el-select
39
+ v-model="channel_code"
40
+ filterable
41
+ clearable
42
+ placeholder="请选择供应商类别"
43
+ style="margin-right: 10px"
51
44
  >
52
- </el-option>
53
- </el-select>
54
- <el-select
55
- clearable
56
- v-if="channel_code && showSupplier === 'Y'"
57
- v-model="supplier_ids"
58
- filterable
59
- remote
60
- reserve-keyword
61
- placeholder="请输入供应商"
62
- :remote-method="remoteMethod"
63
- >
64
- <el-option
65
- v-for="item in supplierList"
66
- :key="item.value"
67
- :label="item.label"
68
- :value="item.value"
45
+ <el-option
46
+ v-for="item in channelList"
47
+ :key="item.value"
48
+ :label="item.label"
49
+ :value="item.value"
50
+ >
51
+ </el-option>
52
+ </el-select>
53
+ <el-select
54
+ clearable
55
+ v-if="channel_code && showSupplier === 'Y'"
56
+ v-model="supplier_ids"
57
+ filterable
58
+ remote
59
+ reserve-keyword
60
+ placeholder="请输入供应商"
61
+ :remote-method="remoteMethod"
69
62
  >
70
- </el-option>
71
- </el-select>
72
- </div>
73
- <el-button
74
- @click="getDataList"
75
- style="margin-left: 10px"
76
- type="primary"
77
- >搜索</el-button
78
- >
79
- <el-button @click="doExport" type="primary">条件导出</el-button>
63
+ <el-option
64
+ v-for="item in supplierList"
65
+ :key="item.value"
66
+ :label="item.label"
67
+ :value="item.value"
68
+ >
69
+ </el-option>
70
+ </el-select>
71
+ </el-form-item>
72
+ <el-form-item label="时间">
73
+ <xd-stat-trade-date :isRangeMonth="true" v-model="tradeTime"></xd-stat-trade-date>
74
+ </el-form-item>
75
+ <el-form-item label="公共分类">
76
+ <el-cascader v-model="category_id" :props="categoryProps" clearable></el-cascader>
77
+ </el-form-item>
78
+ <el-form-item>
79
+ <el-button
80
+ @click="getDataList"
81
+ style="margin-left: 10px"
82
+ type="primary"
83
+ >搜索</el-button
84
+ >
85
+ <el-button @click="doExport" type="primary">条件导出</el-button>
86
+ </el-form-item>
87
+ </el-form>
80
88
  </div>
81
89
  </div>
82
90
  <div>
@@ -136,7 +144,11 @@
136
144
  <script>
137
145
  import { getOptions } from "@/utils/options";
138
146
  import { mapActions } from "vuex";
147
+ import XdStatTradeDate from "@/components/XdStatTradeDate";
139
148
  export default {
149
+ components: {
150
+ XdStatTradeDate
151
+ },
140
152
  data() {
141
153
  return {
142
154
  keyList: [],
@@ -161,6 +173,25 @@ export default {
161
173
  },
162
174
  ],
163
175
  discount_type:'',
176
+ tradeTime: null,
177
+ category_id:[],
178
+ categoryProps: {
179
+ checkStrictly: true,
180
+ lazy: true,
181
+ lazyLoad (node, resolve) {
182
+ getOptions({
183
+ server: 'product-partner',
184
+ fn: "categories",
185
+ path: "p4",
186
+ params: {
187
+ value: node.level == 0 ? 0 : node.value,
188
+ },
189
+ }).then((res) => {
190
+ resolve(res["data"]["list"])
191
+ })
192
+ },
193
+ },
194
+ form:{},
164
195
  };
165
196
  },
166
197
  watch: {
@@ -194,20 +225,29 @@ export default {
194
225
  }).then((res) => {
195
226
  this.channelList = res.data.list;
196
227
  });
228
+
229
+ },
230
+ mounted(){
197
231
  this.getDataList();
198
232
  },
199
233
  methods: {
200
234
  ...mapActions("supplierStat", ["getProductDiscount"]),
201
235
  // 获取列表数据
202
236
  async getDataList(row) {
203
- // 获取产品折扣
204
- this.getProductDiscount({
237
+
238
+ let params = {
205
239
  channel_code: this.channel_code,
206
240
  supplier_ids: this.supplier_ids,
207
241
  channel_code_text: this.channel_code_text,
208
242
  supplier_text: this.supplier_text,
209
- discount_type:this.discount_type
210
- }).then((res) => {
243
+ discount_type:this.discount_type,
244
+ ...this.tradeTime,
245
+ }
246
+ if (this.category_id && this.category_id.length) {
247
+ params['category_id'] = this.category_id[this.category_id.length - 1]
248
+ }
249
+ // 获取产品折扣
250
+ this.getProductDiscount(params).then((res) => {
211
251
  // 获取行标题列表
212
252
  this.keyList = res.data.col_title_list;
213
253
 
@@ -242,7 +282,8 @@ export default {
242
282
  file_name: value,
243
283
  channel_code_text: this.channel_code_text,
244
284
  supplier_text: this.supplier_text,
245
- discount_type:this.discount_type
285
+ discount_type:this.discount_type,
286
+ ...this.tradeTime,
246
287
  };
247
288
  let loading = this.$loading({});
248
289
  this.getProductDiscount(params)
@@ -292,9 +333,9 @@ export default {
292
333
  margin-top: 20px;
293
334
  &-header {
294
335
  &-select {
295
- display: flex;
296
- justify-content: space-between;
297
- align-items: center;
336
+ //display: flex;
337
+ //justify-content: space-between;
338
+ //align-items: center;
298
339
  margin-bottom: 10px;
299
340
 
300
341
  & > div:first-child {
@@ -310,6 +351,7 @@ export default {
310
351
 
311
352
  & > div:nth-child(2) {
312
353
  display: flex;
354
+ flex-wrap: wrap;
313
355
  align-items: center;
314
356
  }
315
357
  }
@@ -330,4 +372,10 @@ export default {
330
372
  color: #a1a7b3;
331
373
  font-size: 14px;
332
374
  }
375
+ .mb10{
376
+ margin-bottom: 10px;
377
+ }
378
+ .dis_f{
379
+ display: flex;
380
+ }
333
381
  </style>
@@ -3,7 +3,10 @@
3
3
  <div slot="header" class="card_header">
4
4
  <div class="card_tit">
5
5
  <span class="b_tit">商品数量</span>
6
- <el-tooltip effect="light" content="仅统计人工添加的商品;上架商品按首次审核通过时间统计;下架商品按最近下架时间统计,周期内多次下架按1次计;" placement="right">
6
+ <el-tooltip effect="light" placement="right">
7
+ <div slot="content">仅统计人工添加的商品;上架商品按首次审核通过时间统计;<br/>
8
+ 下架商品按最近下架时间统计,周期内多次下架按1次计;<br/>
9
+ 上架环比为月度环比增长,即(当月上架商品-上月上架商品)/上月上架商品。<br/></div>
7
10
  <i class="xdicon_question-circle xd_admin_iconfont"></i>
8
11
  </el-tooltip>
9
12
  </div>
@@ -46,7 +49,7 @@ export default {
46
49
  },
47
50
  getChartOptions(data){
48
51
  let xAxisData = data.x.data;
49
- let legendData = ['上架商品', '下架商品'];
52
+ let legendData = ['上架商品', '下架商品','上架环比'];
50
53
  let seriesData = [];
51
54
  data.series.forEach(item => {
52
55
  for(let i = 0; i < item.length; i++){
@@ -59,10 +62,12 @@ export default {
59
62
  return {
60
63
  tooltip: {
61
64
  trigger: 'axis',
62
- // backgroundColor: 'rgba(255,255,255,0.9)',
63
- // textStyle: {
64
- // color: '#666'
65
- // }
65
+ axisPointer: {
66
+ type: 'cross',
67
+ crossStyle: {
68
+ color: '#999'
69
+ }
70
+ }
66
71
  },
67
72
  legend: {
68
73
  data: legendData
@@ -75,7 +80,10 @@ export default {
75
80
  },
76
81
  toolbox: {
77
82
  feature: {
78
- saveAsImage: {}
83
+ dataView: { show: true, readOnly: false },
84
+ magicType: { show: true, type: ['line', 'bar'] },
85
+ restore: { show: true },
86
+ saveAsImage: { show: true }
79
87
  }
80
88
  },
81
89
  xAxis: {
@@ -84,17 +92,36 @@ export default {
84
92
  smooth: true,
85
93
  data: xAxisData
86
94
  },
87
- yAxis: {
95
+ yAxis: [{
88
96
  type: 'value'
89
- },
97
+ },{
98
+ type: 'value',
99
+ axisLabel: {
100
+ formatter: '{value} %'
101
+ }
102
+ }],
90
103
  series: seriesData.map((item, index) => {
91
104
  return {
92
105
  name: legendData[index],
93
- type: 'line',
106
+ type: index==0||index==1?'bar':'line',
107
+ yAxisIndex: index==0||index==1?0:1,
94
108
  smooth: true,
109
+ // label:{
110
+ // show:index==0||index==1?true:false,
111
+ // },
112
+ tooltip: {
113
+ valueFormatter: function (value) {
114
+ if(index==0||index==1){
115
+ return value
116
+ }else{
117
+ return value+'%';
118
+ }
119
+ }
120
+ },
95
121
  data: item
96
122
  }
97
- })
123
+ }),
124
+ color:['#165DFF','#0FC6C2','#EB0B0B']
98
125
  };
99
126
  },
100
127
  handleChangeType(val){
@@ -144,13 +144,13 @@ export default {
144
144
  data: ["按支付时间统计已支付货源订单中对应商品件数x平台进货价 仅计算商品价格,不包含运费"],
145
145
  } },
146
146
  { "type": "normal", "prop": "total_real_product_num", "align": "center", "minWidth": 150, "label": "实际销量", "sort": "custom",notice: {
147
- data: ["即总销量-售后次数"],
147
+ data: ["总销量减去仅退款和换购的售后次数"],
148
148
  } },
149
149
  { "type": "price", "prop": "total_real_sale_amount", "align": "center", "width": 160, "label": "实际建议售价金额", "unit": "元", "sort": "custom",notice: {
150
150
  data: ["即建议售价金额-售后建议售价金额"],
151
151
  } },
152
152
  { "type": "normal", "prop": "total_aftersale_product_num", "align": "center", "minWidth": 150, "label": "售后次数", "sort": "custom",notice: {
153
- data: ["按审核时间统计客服售后订单中商品的总件数 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
153
+ data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数;同一订单售后多件商品按多次计;同一商品多次售后按多次计;仅统计线上订单且全部处理方式的售后订单;"],
154
154
  } },
155
155
  { "type": "price", "prop": "total_aftersale_amount", "align": "center", "width": 160, "label": "售后建议售价金额", "unit": "元", "sort": "custom",notice: {
156
156
  data: ["按审核时间统计客服售后订单中商品的建议售价金额 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
@@ -145,13 +145,13 @@ export default {
145
145
  data: ["按支付时间统计已支付货源订单中对应商品件数x平台进货价 仅计算商品价格,不包含运费"],
146
146
  } },
147
147
  { "type": "normal", "prop": "total_real_product_num", "align": "center", "minWidth": 150, "label": "实际销量", "sort": "custom",notice: {
148
- data: ["即总销量-售后次数"],
148
+ data: ["总销量减去仅退款和换购的售后次数"],
149
149
  } },
150
150
  { "type": "price", "prop": "total_real_sale_amount", "align": "center", "width": 160, "label": "实际建议售价金额", "unit": "元", "sort": "custom",notice: {
151
151
  data: ["即建议售价金额-售后建议售价金额"],
152
152
  } },
153
153
  { "type": "normal", "prop": "total_aftersale_product_num", "align": "center", "minWidth": 150, "label": "售后次数", "sort": "custom",notice: {
154
- data: ["按审核时间统计客服售后订单中商品的总件数 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
154
+ data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数;同一订单售后多件商品按多次计;同一商品多次售后按多次计;仅统计线上订单且全部处理方式的售后订单;"],
155
155
  } },
156
156
  { "type": "price", "prop": "total_aftersale_amount", "align": "center", "width": 160, "label": "售后建议售价金额", "unit": "元", "sort": "custom",notice: {
157
157
  data: ["按审核时间统计客服售后订单中商品的建议售价金额 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
@@ -139,13 +139,13 @@ export default {
139
139
  data: ["按支付时间统计已支付货源订单中对应商品件数x平台进货价 仅计算商品价格,不包含运费"],
140
140
  } },
141
141
  { "type": "normal", "prop": "total_real_product_num", "align": "center", "minWidth": 150, "label": "实际销量", "sort": "custom",notice: {
142
- data: ["即总销量-售后次数"],
142
+ data: ["总销量减去仅退款和换购的售后次数"],
143
143
  } },
144
144
  { "type": "price", "prop": "total_real_sale_amount", "align": "center", "width": 160, "label": "实际建议售价金额", "unit": "元", "sort": "custom",notice: {
145
145
  data: ["即建议售价金额-售后建议售价金额"],
146
146
  } },
147
147
  { "type": "normal", "prop": "total_aftersale_product_num", "align": "center", "minWidth": 150, "label": "售后次数", "sort": "custom",notice: {
148
- data: ["按审核时间统计客服售后订单中商品的总件数 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
148
+ data: ["按审核时间统计客服对应业务线的售后订单中商品的总件数;同一订单售后多件商品按多次计;同一商品多次售后按多次计;仅统计线上订单且全部处理方式的售后订单;"],
149
149
  } },
150
150
  { "type": "price", "prop": "total_aftersale_amount", "align": "center", "width": 160, "label": "售后建议售价金额", "unit": "元", "sort": "custom",notice: {
151
151
  data: ["按审核时间统计客服售后订单中商品的建议售价金额 同一订单售后多件商品按多次计 同一商品多次售后按多次计 仅统计线上订单且处理方式为退款、换购的售后订单"],
@@ -0,0 +1,334 @@
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 class="mb10">
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
+ <span class="s_tit">
15
+ 截止到{{ last_updated_date_time }}
16
+ </span>
17
+ </div>
18
+ <div>
19
+ <el-form ref="form" :inline="true" :model="form" label-width="80px">
20
+ <el-form-item label="折扣类型">
21
+ <el-select
22
+ v-model="discount_type"
23
+ filterable
24
+ clearable
25
+ placeholder="请选择折扣类型"
26
+ style="margin-right: 10px"
27
+ >
28
+ <el-option
29
+ v-for="item in discountTypeList"
30
+ :key="item.value"
31
+ :label="item.label"
32
+ :value="item.value"
33
+ >
34
+ </el-option>
35
+ </el-select>
36
+ </el-form-item>
37
+ <el-form-item label="供应商">
38
+ <el-select
39
+ v-model="channel_code"
40
+ filterable
41
+ clearable
42
+ placeholder="请选择供应商类别"
43
+ style="margin-right: 10px"
44
+ >
45
+ <el-option
46
+ v-for="item in channelList"
47
+ :key="item.value"
48
+ :label="item.label"
49
+ :value="item.value"
50
+ >
51
+ </el-option>
52
+ </el-select>
53
+ <el-select
54
+ clearable
55
+ v-if="channel_code && showSupplier === 'Y'"
56
+ v-model="supplier_ids"
57
+ filterable
58
+ remote
59
+ reserve-keyword
60
+ placeholder="请输入供应商"
61
+ :remote-method="remoteMethod"
62
+ >
63
+ <el-option
64
+ v-for="item in supplierList"
65
+ :key="item.value"
66
+ :label="item.label"
67
+ :value="item.value"
68
+ >
69
+ </el-option>
70
+ </el-select>
71
+ </el-form-item>
72
+ <el-form-item label="上架时间">
73
+ <xd-stat-trade-date :isRangeMonth="true" v-model="tradeTime"></xd-stat-trade-date>
74
+ </el-form-item>
75
+ <el-form-item label="公共分类">
76
+ <el-cascader v-model="category_id" :props="categoryProps" clearable></el-cascader>
77
+ </el-form-item>
78
+ <el-form-item>
79
+ <el-button
80
+ @click="getDataList"
81
+ style="margin-left: 10px"
82
+ type="primary"
83
+ >搜索</el-button
84
+ >
85
+ <el-button @click="doExport" type="primary">条件导出</el-button>
86
+ </el-form-item>
87
+ </el-form>
88
+ </div>
89
+ </div>
90
+ <div>
91
+ {{
92
+ channel_code
93
+ ? channel_code !== "self"
94
+ ? channel_code_text
95
+ : supplier_text
96
+ ? supplier_text
97
+ : "月度"
98
+ : "月度"
99
+ }}-新上架商品-按折扣统计数量为
100
+ </div>
101
+ </div>
102
+ <xd-stat-table-group
103
+ v-if="upNewParams"
104
+ :params="upNewParams"
105
+ :key="upNewkey"
106
+ :getList="getNewOnShelfProductDiscounts"
107
+ >
108
+ </xd-stat-table-group>
109
+ </el-card>
110
+ </template>
111
+ <script>
112
+ import { getOptions } from "@/utils/options";
113
+ import { mapActions } from "vuex";
114
+ import XdStatTradeDate from "@/components/XdStatTradeDate";
115
+ import XdStatTableGroup from "@/components/XdStatTableGroup";
116
+ export default {
117
+ components: {
118
+ XdStatTradeDate,
119
+ XdStatTableGroup
120
+ },
121
+ data() {
122
+ return {
123
+ keyList: [],
124
+ rowTitle: [],
125
+ dataList: [],
126
+ channelList: [],
127
+ channel_code: null,
128
+ supplier_ids: null,
129
+ supplierList: [],
130
+ last_updated_date_time: "", //截止时间
131
+ supplier_text: "",
132
+ channel_code_text: "",
133
+ showSupplier: "N",
134
+ form:{},
135
+ discountTypeList:[
136
+ {
137
+ label:'市场价',
138
+ value:'market'
139
+ },
140
+ {
141
+ label:'建议售价',
142
+ value:'sale'
143
+ },
144
+ ],
145
+ discount_type:'',
146
+ tradeTime: null,
147
+ category_id:[],
148
+ categoryProps: {
149
+ checkStrictly: true,
150
+ lazy: true,
151
+ lazyLoad (node, resolve) {
152
+ getOptions({
153
+ server: 'product-partner',
154
+ fn: "categories",
155
+ path: "p4",
156
+ params: {
157
+ value: node.level == 0 ? 0 : node.value,
158
+ },
159
+ }).then((res) => {
160
+ resolve(res["data"]["list"])
161
+ })
162
+ },
163
+ },
164
+ upNewkey:'upNewkey',
165
+ upNewParams:null,
166
+ };
167
+ },
168
+ watch: {
169
+ channel_code(n, o) {
170
+ this.channel_code_text = "";
171
+ this.supplier_text = "";
172
+ this.supplier_ids = null;
173
+ if (n && n !== o) {
174
+ this.channel_code_text = this.channelList.find(
175
+ (item) => item.value === n
176
+ ).label;
177
+ this.showSupplier = this.channelList.find(
178
+ (item) => item.value === n
179
+ ).has_supplier;
180
+ }
181
+ },
182
+ supplier_ids(n, o) {
183
+ this.supplier_text = "";
184
+ if (n && n !== o) {
185
+ this.supplier_text = this.supplierList.find(
186
+ (item) => item.value === n
187
+ ).label;
188
+ }
189
+ },
190
+ },
191
+ created() {
192
+ getOptions({
193
+ server: "supplier-partner",
194
+ fn: "partner-channel",
195
+ path: "p1",
196
+ }).then((res) => {
197
+ this.channelList = res.data.list;
198
+ });
199
+
200
+ },
201
+ mounted(){
202
+ this.getDataList();
203
+ },
204
+ methods: {
205
+ ...mapActions("supplierStat", ["getNewOnShelfProductDiscounts"]),
206
+ // 获取列表数据
207
+ async getDataList() {
208
+
209
+ let params = {
210
+ channel_code: this.channel_code,
211
+ supplier_ids: this.supplier_ids,
212
+ channel_code_text: this.channel_code_text,
213
+ supplier_text: this.supplier_text,
214
+ discount_type:this.discount_type,
215
+ ...this.tradeTime,
216
+ }
217
+ if (this.category_id && this.category_id.length) {
218
+ params['category_id'] = this.category_id[this.category_id.length - 1]
219
+ }
220
+ this.upNewParams = params;
221
+ this.upNewkey = Date.now()
222
+ },
223
+ doExport() {
224
+ this.$prompt("请输入导出文件名称", "提示", {
225
+ confirmButtonText: "确定",
226
+ cancelButtonText: "取消",
227
+ inputPattern: /[\S]+/,
228
+ inputErrorMessage: "请填写正确的名称",
229
+ }).then(({ value }) => {
230
+ let params = {
231
+ export: true,
232
+ file_ext: "xlsx",
233
+ file_name: value,
234
+ channel_code: this.channel_code,
235
+ supplier_ids: this.supplier_ids,
236
+ channel_code_text: this.channel_code_text,
237
+ supplier_text: this.supplier_text,
238
+ discount_type:this.discount_type,
239
+ ...this.tradeTime,
240
+ };
241
+ if (this.category_id && this.category_id.length) {
242
+ params['category_id'] = this.category_id[this.category_id.length - 1]
243
+ }
244
+ let loading = this.$loading({});
245
+ this.getNewOnShelfProductDiscounts(params)
246
+ .then((res) => {
247
+ loading.close();
248
+ this.$alert(
249
+ "导出任务已经开始执行,请去任务管理查看下载状态",
250
+ "提示",
251
+ {
252
+ confirmButtonText: "确定",
253
+ }
254
+ );
255
+ })
256
+ .catch((err) => {
257
+ this.$message.error(err.msg);
258
+ loading.close();
259
+ });
260
+ });
261
+ },
262
+ remoteMethod(query) {
263
+ if (query !== "") {
264
+ getOptions({
265
+ server: "supplier-partner",
266
+ fn: "channel-supplier",
267
+ path: "p1",
268
+ params: {
269
+ channel_code: this.channel_code,
270
+ keyword: query,
271
+ },
272
+ })
273
+ .then((res) => {
274
+ this.supplierList = res.data.list;
275
+ })
276
+ .catch((err) => {
277
+ console.log(err, "err");
278
+ });
279
+ } else {
280
+ this.supplierList = [];
281
+ }
282
+ },
283
+ },
284
+ };
285
+ </script>
286
+ <style lang="less" scoped>
287
+ .discount {
288
+ &-wrap {
289
+ margin-top: 20px;
290
+ &-header {
291
+ &-select {
292
+ margin-bottom: 10px;
293
+
294
+ & > div:first-child {
295
+ display: flex;
296
+ align-items: center;
297
+ font-size: 20px;
298
+ i {
299
+ cursor: pointer;
300
+ margin-left: 4px;
301
+ color: #a1a7b3;
302
+ }
303
+ }
304
+
305
+ & > div:nth-child(2) {
306
+ display: flex;
307
+ flex-wrap: wrap;
308
+ align-items: center;
309
+ }
310
+ }
311
+ }
312
+ }
313
+ }
314
+ .s_tit{
315
+ font-size: 12px;
316
+ color: #A1A7B3;
317
+ margin-left: 10px;
318
+ vertical-align: bottom;
319
+ }
320
+ .empty_data {
321
+ display: flex;
322
+ justify-content: center;
323
+ align-items: center;
324
+ height: 100px;
325
+ color: #a1a7b3;
326
+ font-size: 14px;
327
+ }
328
+ .mb10{
329
+ margin-bottom: 10px;
330
+ }
331
+ .dis_f{
332
+ display: flex;
333
+ }
334
+ </style>
@@ -3,7 +3,8 @@
3
3
  <stat-all v-permission="[Role.totalCounts]"></stat-all>
4
4
  <stat-product v-permission="[Role.productCycCounts]" style="margin-top: 20px;"></stat-product>
5
5
  <stat-supplier v-permission="[Role.supplierCycCounts]" style="margin-top: 20px"></stat-supplier>
6
- <discount></discount>
6
+ <discount v-permission="[Role.getNewOnShelfProductDiscounts]"></discount>
7
+ <up-new></up-new>
7
8
  <el-card v-if="has_tab" style="margin-top: 20px;">
8
9
  <el-tabs v-model="activeName" >
9
10
  <el-tab-pane v-if="has_tab_supplier" label="供应商(线上货源订单)" name="supplier">
@@ -34,6 +35,7 @@
34
35
  import tableCategory from "./components/table-category.vue"
35
36
  import tableStore from "./components/table-store.vue"
36
37
  import discount from './components/discount.vue'
38
+ import upNew from './components/up-new.vue'
37
39
  import checkPermission from "@/utils/permission"
38
40
  import Role from "@/constant/modules/supplierStat"
39
41
 
@@ -47,7 +49,8 @@
47
49
  tableProduct,
48
50
  tableCategory,
49
51
  discount,
50
- tableStore
52
+ tableStore,
53
+ upNew
51
54
  },
52
55
  data() {
53
56
  return {
@@ -71,7 +74,7 @@
71
74
  },
72
75
  is_shop(){
73
76
  return checkPermission([Role.offlineShopSalesSupplier])
74
- }
77
+ },
75
78
  },
76
79
 
77
80
  created() {
@@ -108,6 +108,11 @@ export default {
108
108
  default: () => {
109
109
  }
110
110
  },
111
+ info: {
112
+ type: Object,
113
+ default: () => {
114
+ }
115
+ },
111
116
  },
112
117
  data () {
113
118
  return {
@@ -151,7 +156,7 @@ export default {
151
156
  }
152
157
  },
153
158
  created () {
154
-
159
+ console.log(this.info,'iiii')
155
160
  },
156
161
  methods: {
157
162
  ...mapActions('enterprise_buy',
@@ -257,6 +262,27 @@ export default {
257
262
  }
258
263
  ]
259
264
  },
265
+ {
266
+ label: '商品金额:',
267
+ ele: 'el-html',
268
+ type: 'text',
269
+ valueKey: 'supplier_product_amount',
270
+ value: this.$xdHelper.divisionFloatNumber(this.info['total_amount'],100),
271
+ },
272
+ {
273
+ label: '运费金额:',
274
+ ele: 'el-html',
275
+ type: 'text',
276
+ valueKey: 'supplier_logistic_amount',
277
+ value: this.$xdHelper.divisionFloatNumber(this.info['supplier_logistic_amount'],100),
278
+ },
279
+ {
280
+ label: '总金额:',
281
+ ele: 'el-html',
282
+ type: 'text',
283
+ valueKey: 'total_amount',
284
+ value: this.$xdHelper.divisionFloatNumber(this.info['total_amount'],100)+this.$xdHelper.divisionFloatNumber(this.info['supplier_logistic_amount'],100),
285
+ },
260
286
  ]
261
287
 
262
288
  this.renderFormSetAmountKey = Date.now()
@@ -2,12 +2,13 @@
2
2
  <div class="app-container">
3
3
  <el-card class="app-container__list">
4
4
  <div class="app-container__list-name">
5
- <div>{{baseData.main_order.purchase_name}} ({{baseData.main_order.order_status_name}})</div>
5
+ <div v-if="baseData">{{baseData.main_order.purchase_name}} ({{baseData.main_order.order_status_name}})</div>
6
6
  <div>
7
7
  <order-button
8
- v-if="isOperate"
8
+ v-if="isOperate&&baseData"
9
9
  :events="buttonData"
10
10
  :purchase_main_order_id="id"
11
+ :info="baseData['main_order']"
11
12
  @refresh="handeleRefresh"
12
13
  @confirmPrice="handleConfirmPrice"
13
14
  ></order-button>
@@ -15,12 +16,12 @@
15
16
  </div>
16
17
  </el-card>
17
18
  <el-card class="app-container__list">
18
- <table-card :orderData="baseData" :key="baseKey"></table-card>
19
+ <table-card v-if="baseData" :orderData="baseData" :key="baseKey"></table-card>
19
20
  </el-card>
20
21
  <el-card class="app-container__list">
21
22
  <div class="mb-10">商品({{product_num}}个)</div>
22
23
  <div class="export_box">
23
- <div class="mb-10">配送至 <i class="el-icon-location-information"></i>{{baseData.main_order.receipt_province_name}}{{baseData.main_order.receipt_city_name}}{{baseData.main_order.receipt_area_name}}{{baseData.main_order.receipt_street_name}}{{baseData.main_order.receipt_address_detail}}</div>
24
+ <div v-if="baseData" class="mb-10">配送至 <i class="el-icon-location-information"></i>{{baseData.main_order.receipt_province_name}}{{baseData.main_order.receipt_city_name}}{{baseData.main_order.receipt_area_name}}{{baseData.main_order.receipt_street_name}}{{baseData.main_order.receipt_address_detail}}</div>
24
25
  <el-button v-if="isExport" type="primary" size="small" @click="handleExport">导出</el-button>
25
26
  </div>
26
27
  <div class="app-container__list-table">
@@ -61,13 +62,31 @@
61
62
  </template>
62
63
  <template slot="supplier_settlement_amount" slot-scope="scope">
63
64
  <div v-if="scope.row.is_can_edit_amount===1">
64
- <el-input v-model="scope.row.supplier_settlement_amount" type="number" @change="handleChangeAmount(scope.row.supplier_settlement_amount,scope1)" placeholder="请输入清单结算金额"></el-input>
65
+ <el-input disabled v-model="scope.row.supplier_settlement_amount" type="number" @change="handleChangeAmount(scope.row.supplier_settlement_amount,scope1,'supplier_settlement_amount')" placeholder="请输入清单结算金额"></el-input>
65
66
  <span class="red">结算金额为最终支付金额</span>
66
67
  </div>
67
68
  <div v-else>
68
69
  <span class="red">{{scope.row.supplier_settlement_amount}}</span>元
69
70
  </div>
70
71
  </template>
72
+ <template slot="supplier_product_amount" slot-scope="scope">
73
+ <div v-if="scope.row.is_can_edit_amount===1">
74
+ <el-input v-model="scope.row.supplier_product_amount" type="number" @change="handleChangeAmount(scope.row.supplier_product_amount,scope1,'supplier_product_amount')" placeholder="请输入订单金额"></el-input>
75
+ <span class="red">结算金额为最终支付金额</span>
76
+ </div>
77
+ <div v-else>
78
+ <span class="red">{{scope.row.supplier_product_amount}}</span>元
79
+ </div>
80
+ </template>
81
+ <template slot="supplier_logistic_amount" slot-scope="scope">
82
+ <div v-if="scope.row.is_can_edit_amount===1">
83
+ <el-input v-model="scope.row.supplier_logistic_amount" type="number" @change="handleChangeAmount(scope.row.supplier_logistic_amount,scope1,'supplier_logistic_amount')" placeholder="请输入运费"></el-input>
84
+ <span class="red">结算金额为最终支付金额</span>
85
+ </div>
86
+ <div v-else>
87
+ <span class="red">{{scope.row.supplier_logistic_amount}}</span>元
88
+ </div>
89
+ </template>
71
90
  </xd-table>
72
91
  </template>
73
92
  </xd-table>
@@ -181,6 +200,8 @@ export default {
181
200
  { "type": "price", "prop": "total_amount1", "align": "center", "label": "订单金额" },
182
201
  { "type": "normal", "prop": "supplier_name1", "align": "center", "label": "供应商" },
183
202
  // #ifdef admin
203
+ { "type": "normal", "prop": "supplier_product_amount1", "align": "center","width":170, "label": "订单金额" },
204
+ { "type": "normal", "prop": "supplier_logistic_amount1", "align": "center","width":170, "label": "运费" },
184
205
  { "type": "normal", "prop": "supplier_settlement_amount1", "align": "center","width":170, "label": "供应商结算金额" },
185
206
  // #endif
186
207
  // #ifdef oa-finance
@@ -212,6 +233,8 @@ export default {
212
233
  // #endif
213
234
  { "type": "normal", "prop": "supplier_name", "align": "center", "label": "供应商" },
214
235
  // #ifdef admin
236
+ { "type": "normal", "prop": "supplier_product_amount", "align": "center","width":170, "label": "订单金额" },
237
+ { "type": "normal", "prop": "supplier_logistic_amount", "align": "center","width":170, "label": "运费" },
215
238
  { "type": "normal", "prop": "supplier_settlement_amount", "align": "center","width":170, "label": "供应商结算金额" },
216
239
  // #endif
217
240
  // #ifdef oa-finance
@@ -284,15 +307,20 @@ export default {
284
307
  let product_num = 0;
285
308
  this.tables.map(item=>{
286
309
  item.supplier_settlement_amount = this.$xdHelper.divisionFloatNumber(item.supplier_settlement_amount,100)
310
+ item.supplier_logistic_amount = this.$xdHelper.divisionFloatNumber(item.supplier_logistic_amount,100)
311
+ item.supplier_product_amount = this.$xdHelper.divisionFloatNumber(item.supplier_product_amount,100)
287
312
  product_num+=item.order_products.length
288
313
  item.order_products.map(ls=>{
289
314
  ls.supplier_name = item.supplier_name
290
315
  ls.total_amount = item.total_amount
316
+ ls.supplier_logistic_amount = item.supplier_logistic_amount
317
+ ls.supplier_product_amount = item.supplier_product_amount
291
318
  ls.sale_price = this.$xdHelper.divisionFloatNumber(ls.sale_price, 100)
292
319
  ls.purchase_sub_order_id = item.purchase_sub_order_id
293
320
  ls.supplier_settlement_amount = item.supplier_settlement_amount
294
321
  ls.supplier_settlement_amount_finace = item.supplier_settlement_amount
295
322
  ls.actual_settlement_amount = item.actual_settlement_amount
323
+
296
324
  if(item.dist_amount){
297
325
  ls.sub_dist_amount = item.dist_amount
298
326
  }
@@ -414,7 +442,10 @@ export default {
414
442
  let { row, column, rowIndex, columnIndex } = data
415
443
  let mergeColumns = [];
416
444
  //rowIndex,columnIndex的值是从0开始
417
- // #ifdef admin oa-finance
445
+ // #ifdef admin
446
+ mergeColumns = [5,6,7,8,9] //第4列需要合并行,并且合并到数组最大值,
447
+ // #endif
448
+ // #ifdef oa-finance
418
449
  mergeColumns = [5,6,7] //第4列需要合并行,并且合并到数组最大值,
419
450
  // #endif
420
451
  // #ifdef partner-wholesale
@@ -451,9 +482,38 @@ export default {
451
482
  this.$message.error('小数点后最多保留两位小数')
452
483
  return
453
484
  }
485
+ if(!reg.test(Number(copyData[i]['supplier_product_amount']))){
486
+ this.$message.error('小数点后最多保留两位小数')
487
+ return
488
+ }
489
+ if(!reg.test(Number(copyData[i]['supplier_logistic_amount']))){
490
+ this.$message.error('小数点后最多保留两位小数')
491
+ return
492
+ }
454
493
  if(copyData[i]['supplier_settlement_amount']){
455
494
  copyData[i]['amount'] = this.$xdHelper.multiplyFloatNumber(Number(copyData[i]['supplier_settlement_amount']),100)
495
+ copyData[i]['supplier_settlement_amount'] = this.$xdHelper.multiplyFloatNumber(Number(copyData[i]['supplier_settlement_amount']),100)
496
+ }
497
+ if(copyData[i]['supplier_product_amount']){
498
+ copyData[i]['supplier_product_amount'] = this.$xdHelper.multiplyFloatNumber(Number(copyData[i]['supplier_product_amount']),100)
499
+ }
500
+ if(copyData[i]['supplier_logistic_amount']){
501
+ copyData[i]['supplier_logistic_amount'] = this.$xdHelper.multiplyFloatNumber(Number(copyData[i]['supplier_logistic_amount']),100)
456
502
  }
503
+ copyData[i]['order_products'].map(item=>{
504
+ if(item.supplier_product_amount){
505
+ item.supplier_product_amount= this.$xdHelper.multiplyFloatNumber(Number(item.supplier_product_amount),100)
506
+ }
507
+ if(item.supplier_settlement_amount){
508
+ item.supplier_settlement_amount= this.$xdHelper.multiplyFloatNumber(Number(item.supplier_settlement_amount),100)
509
+ }
510
+ if(item.supplier_settlement_amount_finace){
511
+ item.supplier_settlement_amount_finace= this.$xdHelper.multiplyFloatNumber(Number(item.supplier_settlement_amount_finace),100)
512
+ }
513
+ if(item.supplier_logistic_amount){
514
+ item.supplier_logistic_amount= this.$xdHelper.multiplyFloatNumber(Number(item.supplier_logistic_amount),100)
515
+ }
516
+ })
457
517
  }
458
518
  console.log(copyData,'ccc')
459
519
  let data = {
@@ -472,8 +532,32 @@ export default {
472
532
  })
473
533
  },
474
534
  //结算金额改变
475
- handleChangeAmount(value,scope1){
476
- this.$set(this.tables[scope1['index']],'supplier_settlement_amount',value)
535
+ handleChangeAmount(value,scope1,type){
536
+ // debugger
537
+ if(type==='supplier_settlement_amount'){
538
+ this.$set(this.tables[scope1['index']],type,value)
539
+ }else if(type==='supplier_product_amount'){
540
+ this.$set(this.tables[scope1['index']],type,value)
541
+ let num = 0;
542
+ num = Number(value) + Number(this.tables[scope1['index']]['supplier_logistic_amount'])
543
+ this.$set(this.tables[scope1['index']],'supplier_settlement_amount',num)
544
+ }else if(type==='supplier_logistic_amount'){
545
+ this.$set(this.tables[scope1['index']],type,value)
546
+ let num = 0;
547
+ num = Number(value) + Number(this.tables[scope1['index']]['supplier_product_amount'])
548
+ this.$set(this.tables[scope1['index']],'supplier_settlement_amount',num)
549
+ console.log(num,'nnn')
550
+ }
551
+ this.tables.map(item=>{
552
+ item.order_products.map(ls=>{
553
+ ls.supplier_product_amount = item.supplier_product_amount
554
+ ls.supplier_logistic_amount = item.supplier_logistic_amount
555
+ ls.supplier_settlement_amount = item.supplier_settlement_amount
556
+ ls.supplier_settlement_amount_finace = item.supplier_settlement_amount
557
+ })
558
+ })
559
+ this.tableRefresh = Date.now()
560
+ this.tableKey = Date.now()
477
561
  console.log(this.tables,value,scope1,2222)
478
562
  },
479
563
  goBack () {
@@ -13,7 +13,7 @@
13
13
  <span>清单预算:</span><span class="red">{{$xdHelper.divisionFloatNumber(baseData.purchase_plan_amount, 100)}}</span>
14
14
  </div>
15
15
  <div class="card-box_base_item">
16
- <span>总金额:</span><span class="red">{{$xdHelper.divisionFloatNumber(baseData.total_amount, 100)}}</span>
16
+ <span>商品金额:</span><span class="red">{{$xdHelper.divisionFloatNumber(baseData.total_amount, 100)}}</span>
17
17
  <el-tooltip
18
18
  popper-class="notice-popper"
19
19
  placement="top"
@@ -27,6 +27,17 @@
27
27
  <!-- #endif -->
28
28
  <div class="card-box_base_item">
29
29
  <span>用户实际结算金额:</span><span class="red">{{baseData.user_settlement_amount===-1?'--':$xdHelper.divisionFloatNumber(baseData.user_settlement_amount, 100)}}</span>
30
+ </div>
31
+ <!-- #ifdef admin -->
32
+ <div class="card-box_base_item">
33
+ <span>结算总金额:</span><span class="red">{{baseData.supplier_settlement_amount===-1?'--':$xdHelper.divisionFloatNumber(baseData.supplier_settlement_amount, 100)}}</span>
34
+ </div>
35
+ <div class="card-box_base_item">
36
+ <span>订单金额:</span><span class="red">{{baseData.supplier_product_amount===-1?'--':$xdHelper.divisionFloatNumber(baseData.supplier_product_amount, 100)}}</span>
37
+ </div>
38
+ <!-- #endif -->
39
+ <div class="card-box_base_item">
40
+ <span>运费金额:</span><span class="red">{{baseData.supplier_logistic_amount===-1?'--':$xdHelper.divisionFloatNumber(baseData.supplier_logistic_amount, 100)}}</span>
30
41
  </div>
31
42
  <!-- #ifdef oa-finance -->
32
43
  <div class="card-box_base_item">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-admin-library",
3
- "version": "1.1.66",
3
+ "version": "1.1.68",
4
4
  "description": "聚福宝福利后台管理系统公共模块",
5
5
  "author": "goashiyong <gaoshiyong1272@vip.163.com>",
6
6
  "scripts": {