jufubao-admin-library 1.0.0-beta1

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 (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +90 -0
  3. package/library/gulpfile.js/const.js +51 -0
  4. package/library/gulpfile.js/index.js +237 -0
  5. package/library/gulpfile.js/util.js +114 -0
  6. package/library/viewModules/config.js +75 -0
  7. package/library/viewModules/viewStat/router/supplierStat.js +33 -0
  8. package/library/viewModules/viewStat/schemas/supplier.stat.js +70 -0
  9. package/library/viewModules/viewStat/schemas.js +18 -0
  10. package/library/viewModules/viewStat/viewsStat/index/components/stat-all.vue +233 -0
  11. package/library/viewModules/viewStat/viewsStat/index/components/stat-product.vue +129 -0
  12. package/library/viewModules/viewStat/viewsStat/index/components/stat-supplier.vue +124 -0
  13. package/library/viewModules/viewStat/viewsStat/index/components/table-category.vue +309 -0
  14. package/library/viewModules/viewStat/viewsStat/index/components/table-product.vue +316 -0
  15. package/library/viewModules/viewStat/viewsStat/index/components/table-supplier.vue +276 -0
  16. package/library/viewModules/viewStat/viewsStat/index/index.vue +117 -0
  17. package/library/viewModules/viewTask/router/tasks.js +34 -0
  18. package/library/viewModules/viewTask/schemas/tasks.js +52 -0
  19. package/library/viewModules/viewTask/viewTask/list.vue +195 -0
  20. package/library/viewModules/viewsEnterpriseBuy/router/enterprise_buy.js +91 -0
  21. package/library/viewModules/viewsEnterpriseBuy/schemas/enterprise_buy.js +420 -0
  22. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/OrderInfoButton.vue +550 -0
  23. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/cardList.vue +119 -0
  24. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/expressCopy.vue +259 -0
  25. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/operateHistory.vue +164 -0
  26. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/send_list.vue +395 -0
  27. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/storeList.vue +100 -0
  28. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/compontents/workHistory.vue +163 -0
  29. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/detail.vue +503 -0
  30. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/list.vue +635 -0
  31. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/order_detail.vue +860 -0
  32. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/set_create.vue +219 -0
  33. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/set_list.vue +237 -0
  34. package/library/viewModules/viewsEnterpriseBuy/viewsEnterpriseBuy/table-card.vue +180 -0
  35. package/library/viewModules/viewsFinance/router/balance.js +75 -0
  36. package/library/viewModules/viewsFinance/router/finance.js +30 -0
  37. package/library/viewModules/viewsFinance/schemas/trade.record.js +153 -0
  38. package/library/viewModules/viewsFinance/schemas/wallet.js +116 -0
  39. package/library/viewModules/viewsFinance/viewsFinance/balance/components/listChannel.vue +220 -0
  40. package/library/viewModules/viewsFinance/viewsFinance/balance/components/listOpenapi.vue +260 -0
  41. package/library/viewModules/viewsFinance/viewsFinance/balance/components/listPartner.vue +217 -0
  42. package/library/viewModules/viewsFinance/viewsFinance/balance/components/listSupplier.vue +229 -0
  43. package/library/viewModules/viewsFinance/viewsFinance/balance/detail_channel.vue +401 -0
  44. package/library/viewModules/viewsFinance/viewsFinance/balance/detail_openapi.vue +364 -0
  45. package/library/viewModules/viewsFinance/viewsFinance/balance/detail_partner.vue +633 -0
  46. package/library/viewModules/viewsFinance/viewsFinance/balance/detail_supplier.vue +417 -0
  47. package/library/viewModules/viewsFinance/viewsFinance/balance/list.vue +75 -0
  48. package/library/viewModules/viewsFinance/viewsFinance/index.vue +191 -0
  49. package/library/viewModules/viewsLimit/router/buyLimit/buyLimit.js +31 -0
  50. package/library/viewModules/viewsLimit/schemas/buyLimit.js +22 -0
  51. package/library/viewModules/viewsLimit/viewsLimit/index.vue +211 -0
  52. package/package.json +114 -0
@@ -0,0 +1,309 @@
1
+ <template>
2
+ <div class="app-container">
3
+ <el-card class="app-container__search">
4
+ <xd-search
5
+ dateFilter
6
+ v-if="searchForm.length > 0"
7
+ v-model="searchParams"
8
+ :list="searchForm"
9
+ @onSearch="handleSearch"
10
+ @onDone="getList"
11
+ >
12
+ <template slot="category_id">
13
+ <el-cascader v-model="searchOtherForm.category_id" :props="categoryProps" clearable></el-cascader>
14
+ </template>
15
+ </xd-search>
16
+ </el-card>
17
+ <el-card class="app-container__list">
18
+ <div class="app-container__list-pagination">
19
+ <div></div>
20
+ <div class="table-stat">
21
+ <p>共计 销量<span>{{ totalData.product_num }}</span>个,
22
+ 建议售价金额<span>{{divide(totalData.sale_amount)}}</span>元,
23
+ 货源进货价金额<span>{{divide(totalData.purchase_amount)}}</span>元,
24
+ 平台进货价金额<span>{{divide(totalData.dist_amount)}}</span>元</p>
25
+ <el-button type="primary" @click="doExport">条件导出</el-button>
26
+ </div>
27
+ </div>
28
+ <div class="app-container__list-table">
29
+ <xd-table
30
+ :headers="headers"
31
+ :list="tables"
32
+ is-border
33
+ @onSortChange="handleSortChange"
34
+ ></xd-table>
35
+ </div>
36
+ <div class="app-container__list-pagination">
37
+ <xd-pagination
38
+ :page="page_token"
39
+ :total="total"
40
+ :limit.sync="page_size"
41
+ :autoScroll="false"
42
+ @onPagination="handlePagination"
43
+ ></xd-pagination>
44
+ </div>
45
+ </el-card>
46
+ </div>
47
+ </template>
48
+
49
+
50
+ <script>
51
+ import XdSearch from "@/components/XdSearch";
52
+ import XdPagination from "@/components/XdPagination.vue";
53
+ import XdTable from "@/components/XdTable";
54
+ import { baseJsDateToTime } from "@/utils/xd.base";
55
+ import { mapActions } from "vuex"
56
+ import { getOptions } from "@/utils/options"
57
+
58
+ export default {
59
+ name: "ComponentTableSupplier",
60
+ components: {
61
+ XdPagination, //翻译插件
62
+ XdSearch, //搜查插件
63
+ XdTable
64
+ },
65
+ data() {
66
+ return {
67
+
68
+ //分页参数
69
+ page_token: 1, //当前页面数量
70
+ hasNextPage: true, //是否有下一页
71
+ page_size: 20, //搜索参数
72
+ searchForm: [], //搜索区域模块表单
73
+ searchParams: null, //搜索参数
74
+ searchOtherForm: {},
75
+ totalData: {},
76
+ total: 0,
77
+ categoryList: [],
78
+ sort_by: "", //排序字段
79
+ sort_direct: "", //排序方向 asc递增 desc递减
80
+
81
+ //列表对象
82
+ tables: [],
83
+ headers: [
84
+ { "type": "normal", "prop": "category_id", "align": "left", "width": 80, "label": "分类ID" },
85
+ { "type": "normal", "prop": "category_name", "align": "center", "minWidth": 200, "label": "分类名称" },
86
+ { "type": "normal", "prop": "total_product_num", "align": "center", "width": 100, "label": "总销量", "sort": "custom" },
87
+ { "type": "price", "prop": "total_sale_amount", "align": "center", "width": 100, "label": "建议售价金额", "unit": "元", "sort": "custom"},
88
+ { "type": "price", "prop": "total_purchase_amount", "align": "center", "width": 100, "label": "货源进货价金额", "unit": "元", "sort": "custom"},
89
+ { "type": "price", "prop": "total_dist_amount", "align": "center", "width": 100, "label": "平台进货价金额", "unit": "元", "sort": "custom"},
90
+ { "type": "normal", "prop": "total_real_product_num", "align": "center", "minWidth": 100, "label": "实际销量", "sort": "custom" },
91
+ { "type": "price", "prop": "total_real_sale_amount", "align": "center", "width": 100, "label": "实际建议售价金额", "unit": "元", "sort": "custom"},
92
+ { "type": "normal", "prop": "total_aftersale_product_num", "align": "center", "minWidth": 100, "label": "售后次数", "sort": "custom" },
93
+ { "type": "price", "prop": "total_aftersale_amount", "align": "center", "width": 100, "label": "售后建议售价金额", "unit": "元", "sort": "custom"},
94
+ ],
95
+ categoryProps: {
96
+ checkStrictly: true,
97
+ lazy: true,
98
+ lazyLoad (node, resolve) {
99
+ getOptions({
100
+ server: 'product-partner',
101
+ fn: "categories",
102
+ path: "p4",
103
+ params: {
104
+ value: node.level == 0 ? 0 : node.value,
105
+ },
106
+ }).then((res) => {
107
+ resolve(res["data"]["list"])
108
+ })
109
+ },
110
+ },
111
+ }
112
+ },
113
+ created() {
114
+ getOptions({
115
+ server: 'product-partner',
116
+ fn: "categories",
117
+ path: "p4",
118
+ params: { value: 0 },
119
+ }).then(res => {
120
+ this.categoryList = res.data.list;
121
+ }).finally(() => {
122
+ this.initSearchForm();
123
+ })
124
+ },
125
+ methods: {
126
+ ...mapActions("supplierStat", ["productCategoryCycSales"]),
127
+ //相除
128
+ divide(price) {
129
+ return this.$xdHelper.divisionFloatNumber(price, 100);
130
+ },
131
+ doExport(){
132
+ this.$prompt('请输入导出文件名称', '提示', {
133
+ confirmButtonText: '确定',
134
+ cancelButtonText: '取消',
135
+ inputPattern: /[\S]+/,
136
+ inputErrorMessage: '请填写正确的名称'
137
+ }).then(({ value }) => {
138
+ let { supplier_id, ...other } = this.searchParams;
139
+ if(supplier_id && supplier_id.length > 0){
140
+ other.supplier_id = supplier_id[0].value;
141
+ }
142
+ let { category_id } = this.searchOtherForm
143
+ if (category_id && category_id.length) {
144
+ other['category_id'] = category_id[category_id.length - 1]
145
+ }
146
+ let params = {
147
+ ...other,
148
+ export: true,
149
+ file_ext: "xlsx",
150
+ file_name: value,
151
+ };
152
+ let loading = this.$loading({});
153
+ this.productCategoryCycSales(params).then(res => {
154
+ loading.close();
155
+ this.$alert('导出任务已经开始执行,请去任务管理查看下载状态', '提示', {
156
+ confirmButtonText: '确定',
157
+ });
158
+ }).catch(err => {
159
+ this.$message.error(err.msg);
160
+ loading.close();
161
+ })
162
+ })
163
+ },
164
+ /**
165
+ * @description 获取数据列表
166
+ */
167
+ getList() {
168
+ let { supplier_id, ...other } = this.searchParams;
169
+ if(supplier_id && supplier_id.length > 0){
170
+ other.supplier_id = supplier_id[0].value;
171
+ }
172
+ let { category_id } = this.searchOtherForm
173
+ if (category_id && category_id.length) {
174
+ other['category_id'] = category_id[category_id.length - 1]
175
+ }
176
+
177
+ //请求数据
178
+ let params = {
179
+ ...other,
180
+ page_token: this.page_token,
181
+ page_size: this.page_size,
182
+ sort_by: this.sort_by,
183
+ sort_direct: this.sort_direct,
184
+ };
185
+ console.log(params)
186
+ let loading = this.$loading({});
187
+ this.productCategoryCycSales(params).then(res => {
188
+ loading.close();
189
+ this.tables = res.data.list;
190
+ this.totalData = res.data.total;
191
+ this.total = res.data.total_page_size;
192
+ }).catch(err => {
193
+ loading.close();
194
+ })
195
+ },
196
+ handleSortChange({ prop, order }) {
197
+ if(order === null){
198
+ this.sort_by = '';
199
+ this.sort_direct = '';
200
+ this.getList();
201
+ return;
202
+ }
203
+ this.sort_by = prop;
204
+ this.sort_direct = order === 'ascending' ? 'asc' : 'desc';
205
+ this.getList();
206
+ },
207
+
208
+ /**
209
+ * @description 点击搜索进行搜索操作
210
+ * @param action 动作
211
+ * @param form 搜索请求参数
212
+ */
213
+ handleSearch({ action, form }) {
214
+ if (action == "reset") {
215
+ this.searchOtherForm = {}
216
+ }
217
+ this.page_token = 1;
218
+ this.getList();
219
+ },
220
+ /**
221
+ * @description 初始化搜索模块
222
+ */
223
+ initSearchForm() {
224
+ let yesterDay = new Date().getTime() - 24 * 60 * 60 * 1000;
225
+ yesterDay = baseJsDateToTime(yesterDay/1000);
226
+ yesterDay = yesterDay.split(' ')[0];
227
+
228
+ this.searchForm = [
229
+ {
230
+ label: '交易时间:', //label
231
+ ele: 'xd-date', //package 名称
232
+ valueKey: ['time_range_start', 'time_range_end'], //form[valueKey]
233
+ value: [yesterDay, yesterDay], //v-model
234
+ format: 'yyyy-MM-dd', //时间显示格式
235
+ formatValue: 'yyyy-MM-dd', //输出时间格式
236
+ placeholder: ['开始时间', '结束时间'],
237
+ },
238
+ // {
239
+ // label: "分类ID",
240
+ // ele: "el-input",
241
+ // valueKey: "category_id",
242
+ // value: "",
243
+ // placeholder: "请输入分类ID"
244
+ // },
245
+ {
246
+ label: "公共分类: ",
247
+ ele: "slot",
248
+ slot: "category_id",
249
+ },
250
+ {
251
+ label: "供应商名称:", //label
252
+ ele: "xd-remote-select", //package 名称
253
+ valueKey: "supplier_id", //form[valueKey]s
254
+ value: [], //v-model
255
+ placeholder: "请选择供应商",
256
+ multiple: false,
257
+ collapseTags: false,
258
+ className: 'input40',
259
+ remoteSearch: (query, resolve) => {
260
+ getOptions({
261
+ server: 'supplier-partner',
262
+ fn: 'supplier',
263
+ path: 'p1',
264
+ params: {
265
+ keyword: query,
266
+ page_token: 1,
267
+ page_size: 500,
268
+ }
269
+ })
270
+ .then(res => {
271
+ resolve(res.data.list)
272
+ })
273
+ .catch(err => {
274
+ console.log(err, 'err')
275
+ })
276
+ }
277
+ },
278
+ ];
279
+ },
280
+ /**
281
+ * @description 翻页处理方法
282
+ * @param page {Number} 访问页面页码数
283
+ */
284
+ handlePagination(page) {
285
+ this.page_token = page;
286
+ this.getList();
287
+ }, //todo
288
+ }
289
+ }
290
+ </script>
291
+
292
+ <style scoped lang="scss">
293
+ .table-stat{
294
+ display: flex;
295
+ justify-content: space-between;
296
+ align-items: center;
297
+ p{
298
+ font-size: 14px;
299
+ color: #2E3033;
300
+ span{
301
+ color: #FF6A00;
302
+ font-weight: 600;
303
+ }
304
+ }
305
+
306
+ }
307
+
308
+ </style>
309
+
@@ -0,0 +1,316 @@
1
+ <template>
2
+ <div class="app-container">
3
+ <el-card class="app-container__search">
4
+ <xd-search
5
+ dateFilter
6
+ v-if="searchForm.length > 0"
7
+ v-model="searchParams"
8
+ :list="searchForm"
9
+ @onSearch="handleSearch"
10
+ @onDone="getList"
11
+ ></xd-search>
12
+ </el-card>
13
+ <el-card class="app-container__list">
14
+ <div class="app-container__list-pagination">
15
+ <div></div>
16
+ <div class="table-stat">
17
+ <p>共计 销量<span>{{ totalData.product_num }}</span>个,
18
+ 建议售价金额<span>{{divide(totalData.sale_amount)}}</span>元,
19
+ 货源进货价金额<span>{{divide(totalData.purchase_amount)}}</span>元,
20
+ 平台进货价金额<span>{{divide(totalData.dist_amount)}}</span>元</p>
21
+ <el-button type="primary" @click="doExport">条件导出</el-button>
22
+ </div>
23
+ </div>
24
+ <div class="app-container__list-table">
25
+ <xd-table
26
+ :headers="headers"
27
+ :list="tables"
28
+ is-border
29
+ @onSortChange="handleSortChange"
30
+ ></xd-table>
31
+ </div>
32
+ <div class="app-container__list-pagination">
33
+ <xd-pagination
34
+ :page="page_token"
35
+ :total="total"
36
+ :limit.sync="page_size"
37
+ :autoScroll="false"
38
+ @onPagination="handlePagination"
39
+ ></xd-pagination>
40
+ </div>
41
+ </el-card>
42
+ </div>
43
+ </template>
44
+
45
+
46
+ <script>
47
+ import XdSearch from "@/components/XdSearch";
48
+ import XdPagination from "@/components/XdPagination.vue";
49
+ import XdTable from "@/components/XdTable";
50
+ import { baseJsDateToTime } from "@/utils/xd.base";
51
+ import { getOptions } from "@/utils/options"
52
+ import { mapActions } from "vuex"
53
+
54
+ export default {
55
+ name: "ComponentTableSupplier",
56
+ components: {
57
+ XdPagination, //翻译插件
58
+ XdSearch, //搜查插件
59
+ XdTable
60
+ },
61
+ data() {
62
+ return {
63
+
64
+ //分页参数
65
+ page_token: 1, //当前页面数量
66
+ page_size: 20, //搜索参数
67
+ searchForm: [], //搜索区域模块表单
68
+ searchParams: null, //搜索参数
69
+ totalData: {},
70
+ total: 0,
71
+ sort_by: "", //排序字段
72
+ sort_direct: "", //排序方向 asc递增 desc递减
73
+
74
+ //列表对象
75
+ tables: [],
76
+ headers: [
77
+ { "type": "normal", "prop": "product_id", "align": "left", "width": 80, "label": "商品ID" },
78
+ { "type": "normal", "prop": "product_name", "align": "center", "minWidth": 200, "label": "商品名称" },
79
+ { "type": "normal", "prop": "product_type", "align": "center", "width": 80, "label": "商品类型" },
80
+ { "type": "normal", "prop": "supplier_name", "align": "center", "width": 100, "label": "所属供应商" },
81
+ { "type": "normal", "prop": "total_product_num", "align": "center", "width": 100, "label": "总销量", "sort": "custom" },
82
+ { "type": "price", "prop": "total_sale_amount", "align": "center", "width": 100, "label": "建议售价金额", "unit": "元", "sort": "custom" },
83
+ { "type": "price", "prop": "total_purchase_amount", "align": "center", "width": 100, "label": "货源进货价金额", "unit": "元", "sort": "custom" },
84
+ { "type": "price", "prop": "total_dist_amount", "align": "center", "width": 100, "label": "平台进货价金额", "unit": "元", "sort": "custom" },
85
+ { "type": "normal", "prop": "total_real_product_num", "align": "center", "minWidth": 100, "label": "实际销量", "sort": "custom" },
86
+ { "type": "price", "prop": "total_real_sale_amount", "align": "center", "width": 100, "label": "实际建议售价金额", "unit": "元", "sort": "custom" },
87
+ { "type": "normal", "prop": "total_aftersale_product_num", "align": "center", "minWidth": 100, "label": "售后次数", "sort": "custom" },
88
+ { "type": "price", "prop": "total_aftersale_amount", "align": "center", "width": 100, "label": "售后建议售价金额", "unit": "元", "sort": "custom" },
89
+ ]
90
+ }
91
+ },
92
+ created() {
93
+ this.initSearchForm();
94
+ },
95
+ methods: {
96
+ ...mapActions("supplierStat", ['productCycSales']),
97
+ divide(price) {
98
+ return this.$xdHelper.divisionFloatNumber(price, 100);
99
+ },
100
+ getOtherParams(){
101
+ let { supplier_id, like_product_id, ...other } = this.searchParams;
102
+ if(supplier_id && supplier_id.length > 0){
103
+ other.supplier_id = supplier_id[0].value;
104
+ }
105
+ if(like_product_id && like_product_id.length > 0){
106
+ other.like_product_id = like_product_id[0].value;
107
+ }
108
+ return other;
109
+ },
110
+ doExport(){
111
+ this.$prompt('请输入导出文件名称', '提示', {
112
+ confirmButtonText: '确定',
113
+ cancelButtonText: '取消',
114
+ inputPattern: /[\S]+/,
115
+ inputErrorMessage: '请填写正确的名称'
116
+ }).then(({ value }) => {
117
+ let other = this.getOtherParams();
118
+ let params = {
119
+ ...other,
120
+ export: true,
121
+ file_ext: "xlsx",
122
+ file_name: value,
123
+ };
124
+ let loading = this.$loading({});
125
+ this.productCycSales(params).then(res => {
126
+ loading.close();
127
+ this.$alert('导出任务已经开始执行,请去任务管理查看下载状态', '提示', {
128
+ confirmButtonText: '确定',
129
+ });
130
+ }).catch(err => {
131
+ this.$message.error(err.msg);
132
+ loading.close();
133
+ })
134
+ })
135
+ },
136
+ /**
137
+ * @description 获取数据列表
138
+ */
139
+ getList() {
140
+ let other = this.getOtherParams();
141
+ //请求数据
142
+ let params = {
143
+ ...other,
144
+ page_token: this.page_token,
145
+ page_size: this.page_size,
146
+ sort_by: this.sort_by,
147
+ sort_direct: this.sort_direct,
148
+ };
149
+ console.log(params)
150
+ let loading = this.$loading({});
151
+
152
+ //正式数据需要自己实现
153
+ this.productCycSales(params).then(res => {
154
+ loading.close();
155
+ this.tables = res.data.list;
156
+ this.totalData = res.data.total;
157
+ this.total = res.data.total_page_size
158
+ }).catch(err => {
159
+ loading.close();
160
+ })
161
+ },
162
+ handleSortChange({ prop, order }) {
163
+ if(order === null){
164
+ this.sort_by = '';
165
+ this.sort_direct = '';
166
+ this.getList();
167
+ return;
168
+ }
169
+ this.sort_by = prop;
170
+ this.sort_direct = order === 'ascending' ? 'asc' : 'desc';
171
+ this.getList();
172
+ },
173
+
174
+ /**
175
+ * @description 点击搜索进行搜索操作
176
+ * @param action 动作
177
+ * @param form 搜索请求参数
178
+ */
179
+ handleSearch({ action, form }) {
180
+ this.page_token = 1;
181
+ this.getList();
182
+ },
183
+ /**
184
+ * @description 初始化搜索模块
185
+ */
186
+ initSearchForm() {
187
+ let yesterDay = new Date().getTime() - 24 * 60 * 60 * 1000;
188
+ yesterDay = baseJsDateToTime(yesterDay/1000);
189
+ yesterDay = yesterDay.split(' ')[0];
190
+
191
+ this.searchForm = [
192
+ {
193
+ label: '交易时间:', //label
194
+ ele: 'xd-date', //package 名称
195
+ valueKey: ['time_range_start', 'time_range_end'], //form[valueKey]
196
+ value: [yesterDay, yesterDay], //v-model
197
+ format: 'yyyy-MM-dd', //时间显示格式
198
+ formatValue: 'yyyy-MM-dd', //输出时间格式
199
+ placeholder: ['开始时间', '结束时间'],
200
+ },
201
+ {
202
+ label: "商品ID",
203
+ ele: "el-input",
204
+ valueKey: "product_id",
205
+ value: "",
206
+ placeholder: "请输入商品ID"
207
+ },
208
+ // {
209
+ // label: "商品名称",
210
+ // ele: "el-input",
211
+ // valueKey: "product_name",
212
+ // value: "",
213
+ // placeholder: "请输入商品名称"
214
+ // },
215
+ {
216
+ label: "商品名称:", //label
217
+ ele: "xd-remote-select", //package 名称
218
+ valueKey: "like_product_id", //form[valueKey]s
219
+ value: [], //v-model
220
+ placeholder: "请选择商品名称",
221
+ multiple: false,
222
+ collapseTags: false,
223
+ className: 'input40',
224
+ remoteSearch: (query, resolve) => {
225
+ getOptions({
226
+ server: 'product-partner',
227
+ fn: 'released-products',
228
+ path: 'p1',
229
+ params: {
230
+ keyword: query,
231
+ page_token: 1,
232
+ page_size: 500,
233
+ }
234
+ })
235
+ .then(res => {
236
+ resolve(res.data.items)
237
+ })
238
+ .catch(err => {
239
+ console.log(err, 'err')
240
+ })
241
+ }
242
+ },
243
+ {
244
+ label: "商品类型",
245
+ ele: "xd-select-list",
246
+ valueKey: "product_type",
247
+ value: "",
248
+ placeholder: "请选择商品类型",
249
+ list: [
250
+ { label: "全部", value: "" },
251
+ { label: "实物商品", value: "good" },
252
+ { label: "电子票券", value: "card" },
253
+ { label: "生活服务", value: "network" },
254
+ { label: "线上显示", value: "show" },
255
+ ]
256
+ },
257
+ {
258
+ label: "供应商名称:", //label
259
+ ele: "xd-remote-select", //package 名称
260
+ valueKey: "supplier_id", //form[valueKey]s
261
+ value: [], //v-model
262
+ placeholder: "请选择供应商",
263
+ multiple: false,
264
+ collapseTags: false,
265
+ className: 'input40',
266
+ remoteSearch: (query, resolve) => {
267
+ getOptions({
268
+ server: 'supplier-partner',
269
+ fn: 'supplier',
270
+ path: 'p1',
271
+ params: {
272
+ keyword: query,
273
+ page_token: 1,
274
+ page_size: 500,
275
+ }
276
+ })
277
+ .then(res => {
278
+ resolve(res.data.list)
279
+ })
280
+ .catch(err => {
281
+ console.log(err, 'err')
282
+ })
283
+ }
284
+ },
285
+ ];
286
+ },
287
+ /**
288
+ * @description 翻页处理方法
289
+ * @param page {Number} 访问页面页码数
290
+ */
291
+ handlePagination(page) {
292
+ this.page_token = page;
293
+ this.getList();
294
+ }, //todo
295
+ }
296
+ }
297
+ </script>
298
+
299
+ <style scoped lang="scss">
300
+ .table-stat{
301
+ display: flex;
302
+ justify-content: space-between;
303
+ align-items: center;
304
+ p{
305
+ font-size: 14px;
306
+ color: #2E3033;
307
+ span{
308
+ color: #FF6A00;
309
+ font-weight: 600;
310
+ }
311
+ }
312
+
313
+ }
314
+
315
+ </style>
316
+