cloud-web-corejs 1.1.0-dev.22 → 1.1.0-dev.23

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 (30) hide show
  1. package/package.json +1 -1
  2. package/src/components/bizTab/BizTabListPage.vue +66 -33
  3. package/src/components/bizTab/README.md +3 -1
  4. package/src/components/mobile/wf/content.vue +27 -3
  5. package/src/components/table/index.js +5 -2
  6. package/src/components/table/plugins/cell-area/index.js +10 -3
  7. package/src/components/wf/wfStartDialog.vue +1 -0
  8. package/src/components/wf/wfUtil.js +47 -29
  9. package/src/components/wf/wfVisibility.js +6 -0
  10. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +7 -0
  11. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +3 -1
  12. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +25 -1
  13. package/src/components/xform/form-designer/setting-panel/form-setting.vue +14 -2
  14. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +318 -12
  15. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +23 -7
  16. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +48 -0
  17. package/src/components/xform/form-render/container-item/data-table-item.vue +8 -6
  18. package/src/components/xform/form-render/container-item/data-table-mixin.js +584 -24
  19. package/src/components/xform/form-render/container-item/detail-h5-item.vue +26 -16
  20. package/src/components/xform/form-render/container-item/detail-item.vue +350 -446
  21. package/src/components/xform/form-render/fieldControlMixin.js +2 -0
  22. package/src/components/xform/form-render/indexMixin.js +25 -15
  23. package/src/components/xform/mixins/businessLock.js +59 -0
  24. package/src/components/xform/mixins/wfStart.js +103 -0
  25. package/src/components/xform/mixins/wfVisibility.js +33 -0
  26. package/src/components/xform/styles/h5.scss +6 -1
  27. package/src/components/xform/utils/util.js +2 -0
  28. package/src/views/user/home/index.vue +1 -1
  29. package/src/views/user/home/net/distributor.vue +1015 -0
  30. package/src/views/user/home/net/index.vue +61 -0
@@ -0,0 +1,1015 @@
1
+ <template>
2
+ <div class="index-home">
3
+ <el-row>
4
+ <el-col :span="24">
5
+ <img src="~@/resources/images/home/net/banner.png" style="box-shadow: 0 11px 18px rgba(16,36,111,0.4);width:100%"/>
6
+ </el-col>
7
+ <!-- <el-col :span="24">-->
8
+ <!-- <div class="slide-pro">-->
9
+ <!-- <div class="pro-box">-->
10
+ <!-- <div class="swiper-container">-->
11
+ <!-- <div class="swiper-wrapper">-->
12
+ <!-- <div-->
13
+ <!-- class="swiper-slide"-->
14
+ <!-- v-for="(item, index) in 5" v-bind:key="index"-->
15
+ <!-- :class="{ on: swiperIndex == index }"-->
16
+ <!-- >-->
17
+ <!-- <div class="item">-->
18
+ <!-- <div class="img"><img src="~@/resources/images/home/net/test.png"/></div>-->
19
+ <!-- <div class="name">两联供(合并壁挂炉)小画册</div>-->
20
+ <!-- <div class="text-right">-->
21
+ <!-- <span class="price">¥2</span>-->
22
+ <!-- <a href="javascript:" class="ico-buy"></a>-->
23
+ <!-- </div>-->
24
+ <!-- </div>-->
25
+ <!-- </div>-->
26
+ <!-- </div>-->
27
+ <!-- &lt;!&ndash; 如果需要导航按钮 &ndash;&gt;-->
28
+
29
+ <!-- </div>-->
30
+ <!-- <div class="swiper-button-prev"></div>-->
31
+ <!-- <div class="swiper-button-next"></div>-->
32
+ <!-- </div>-->
33
+ <!-- </div>-->
34
+ <!-- </el-col>-->
35
+ <el-col :span="16">
36
+ <div class='home_box-style home_box_pro'>
37
+ <div class="h_head">
38
+ <div class="tit">全部商品</div>
39
+ <div class="fr" ><a href="javascript:" @click="show_list_cart_net">更多></a></div>
40
+ </div>
41
+ <div class="pro-box">
42
+ <div class="item" v-for="(product,index) in displayProduct" :key="index" >
43
+ <div class="img"><img :src="product.imageUrl"/></div>
44
+ <div class="name">{{ product.name }}</div>
45
+ <div class="text-right">
46
+ <span class="price">¥{{ product.price }}</span>
47
+ <a href="javascript:" class="ico-buy" @click="addCartItem(product)"></a>
48
+ </div>
49
+ </div>
50
+ <!-- <div class="item">-->
51
+ <!-- <div class="img"><img src="~@/resources/images/home/net/test.png"/></div>-->
52
+ <!-- <div class="name">两联供(合并壁挂炉)小画册</div>-->
53
+ <!-- <div class="text-right">-->
54
+ <!-- <span class="price">¥2</span>-->
55
+ <!-- <a href="javascript:" class="ico-buy"></a>-->
56
+ <!-- </div>-->
57
+ <!-- </div>-->
58
+ <!-- <div class="item">-->
59
+ <!-- <div class="img"><img src="~@/resources/images/home/net/test.png"/></div>-->
60
+ <!-- <div class="name">两联供(合并壁挂炉)小画册</div>-->
61
+ <!-- <div class="text-right">-->
62
+ <!-- <span class="price">¥2</span>-->
63
+ <!-- <a href="javascript:" class="ico-buy"></a>-->
64
+ <!-- </div>-->
65
+ <!-- </div>-->
66
+ <!-- <div class="item">-->
67
+ <!-- <div class="img"><img src="~@/resources/images/home/net/test.png"/></div>-->
68
+ <!-- <div class="name">两联供(合并壁挂炉)小画册</div>-->
69
+ <!-- <div class="text-right">-->
70
+ <!-- <span class="price">¥2</span>-->
71
+ <!-- <a href="javascript:" class="ico-buy"></a>-->
72
+ <!-- </div>-->
73
+ <!-- </div>-->
74
+ </div>
75
+ </div>
76
+ </el-col>
77
+ <el-col :span="8">
78
+ <el-row>
79
+ <el-col :span="24">
80
+ <div class="user-info">
81
+ <div class="user">
82
+ <div class="i"><img class="img" v-if="headPhotoUrl" :src="headPhotoUrl"/></div>
83
+ <div class="t">Hi,<span>{{ userInfo.nickName }}</span><img src="~@/resources/images/home/net/ico-vip.png" /></div>
84
+ </div>
85
+ <div class="order">
86
+ <div class="item">
87
+ <b>{{unAffirmOrder}}</b><p>待确认</p>
88
+ </div>
89
+ <div class="item">
90
+ <b>{{ unShipping }}</b><p>待发货</p>
91
+ </div>
92
+ <div class="item">
93
+ <b>{{ unSignFor }}</b><p>待收货</p>
94
+ </div>
95
+ <div class="item">
96
+ <b>0</b><p>待付款</p>
97
+ </div>
98
+ </div>
99
+ <div class="order1">
100
+ <div class="item">
101
+ <div class="t1"><img src="~@/resources/images/home/net/ico-order.png" />订 货</div>
102
+ <div class="c1">
103
+ <p>本周:<span>¥{{ weekOrderAmount }}</span></p>
104
+ <p>本月:<span>¥{{ monthOrderAmount }}</span></p>
105
+ </div>
106
+ </div>
107
+ <div class="item">
108
+ <div class="t1"><img src="~@/resources/images/home/net/ico-cash.png" />付 款</div>
109
+ <div class="c1">
110
+ <p>本周:<span>¥0</span></p>
111
+ <p>本月:<span>¥0</span></p>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ </div>
116
+ <div class="notice-box">
117
+ <div class="txt" @click="openMoreNotifyMessage()">
118
+ <i class="iconfont icon-xiaoxitongzhi"></i>
119
+ <span v-if="unreadMessageNum>0"
120
+ v-html="$t1('您 有{number}条 未读消息,请及时查看。',{number: `<b>${(unreadMessageNum > 99 ? '99+' : unreadMessageNum)}</b>`})">
121
+ </span>
122
+ <span v-else-if="unreadMessageNum==0">
123
+ {{ $t1('您 暂无 未读消息。') }}
124
+ </span>
125
+ </div>
126
+ <el-tooltip class="item" effect="dark" :content="$t1('刷新')" placement="top">
127
+ <el-button type="text" @click="getUnreadMessageNum(true)"><i class="el-icon-refresh"></i></el-button>
128
+ </el-tooltip>
129
+ <el-tooltip class="item" effect="dark" :content="$t1('查看更多')" placement="top">
130
+ <el-button type="text" @click="openMoreNotifyMessage()" class="more">
131
+ <i class="el-icon-news"></i>
132
+ </el-button>
133
+ </el-tooltip>
134
+ </div>
135
+ </el-col>
136
+ <el-col :span="24">
137
+ <div class='home_box-style home_box_notice'>
138
+ <div class="h_head">
139
+ <div class="tit1"><img src="~@/resources/images/home/net/ico-notice.png" class="ico"/><span>公告</span></div>
140
+ <div class="fr"><a href="javascript:" @click="openSystemNoticeDialog()">更多></a></div>
141
+ </div>
142
+ <div class="home-notice-list">
143
+ <div v-for="systemNotice in systemNotices" class="item" @click="openSystemNoticeDialog(systemNotice)"
144
+ :title="systemNotice.title">
145
+ {{ systemNotice.title }}
146
+ <span class="time">{{ systemNotice.modifyDate.substring(0, 10) }}</span>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </el-col>
151
+ </el-row>
152
+ </el-col>
153
+ <el-col :span="24">
154
+ <div class="home_box-style">
155
+ <div class="h_head">
156
+ <div class="tit1"><img src="~@/resources/images/home/net/ico-daiban.png" class="ico"/><span>待办事项</span></div>
157
+ <div class="fr">
158
+ <!-- <el-tooltip class="item" effect="dark" content="设置" placement="top">-->
159
+ <!-- <el-button type="text" @click="getWfInfoList(true)">-->
160
+ <!-- <i class="ico-set"></i>-->
161
+ <!-- </el-button>-->
162
+ <!-- </el-tooltip>-->
163
+ <!-- <el-tooltip class="item" effect="dark" content="编辑" placement="top">-->
164
+ <!-- <el-button type="text" @click="getWfInfoList(true)">-->
165
+ <!-- <i class="ico-edit"></i>-->
166
+ <!-- </el-button>-->
167
+ <!-- </el-tooltip>-->
168
+ <el-tooltip class="item" effect="dark" content="刷新" placement="top">
169
+ <el-button type="text" @click="getWfInfoList(true)">
170
+ <i class="ico-refresh"></i>
171
+ </el-button>
172
+ </el-tooltip>
173
+ <a href="javascript:" @click="$router.push('/basic/wf/wf_manage/list')" >更多></a></div>
174
+ </div>
175
+ <div class="need-to">
176
+ <vxe-grid :data="unDoWfRows" ref="table-wf" v-bind="wfOption"
177
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
178
+ @custom="$vxeTableUtil.customHandle"></vxe-grid>
179
+ </div>
180
+ </div>
181
+ </el-col>
182
+ </el-row>
183
+ <slot></slot>
184
+ <systemNoticeInfoDialog v-if="showSystemNoticeInfoDialog" :visiable.sync="showSystemNoticeInfoDialog"
185
+ :param="csnRow" :appendToTop="true"></systemNoticeInfoDialog>
186
+
187
+ <commMenuDialog v-if="showCommMenuDialog" :visiable.sync="showCommMenuDialog"
188
+ @confirm="commMenuCallBack"></commMenuDialog>
189
+ <wfContentDialog v-if="showWfDialog" :visible.sync="showWfDialog" @close="wfClose"
190
+ :option.sync="wfContentOption"></wfContentDialog>
191
+
192
+ <notifyMessageDialog ref="notifyMessageDialog"></notifyMessageDialog>
193
+
194
+ <notifyMessageInfoDialog v-if="showNoticeDialog" :visiable.sync="showNoticeDialog"
195
+ :dataId.sync="notifyMessageInfoId"
196
+ @readHanlde="notifyMessageReadHanlde"></notifyMessageInfoDialog>
197
+
198
+
199
+ <el-dialog
200
+ title="选择分组"
201
+ :append-to-body="true"
202
+ :modal-append-to-body="true"
203
+ :close-on-click-modal="false"
204
+ v-if="showGroupDialog"
205
+ :visible.sync="showGroupDialog"
206
+ :modal="false"
207
+ custom-class="el-dialog dialog-style list-dialog"
208
+ width="355px"
209
+ :destroy-on-close="true"
210
+ >
211
+ <div class="cont group-list">
212
+ <div class="item" v-for="notifyTemplate in notifyTemplates"
213
+ @click="openMoreNotifyMessage(notifyTemplate.notifyType)">
214
+ <i class="iconfont icon-fenzu"></i>
215
+ <span class="name">{{ notifyTemplate.ntName }}</span>
216
+ <!-- <span class="nums">99+</span>-->
217
+ </div>
218
+ </div>
219
+ </el-dialog>
220
+
221
+ </div>
222
+ </template>
223
+
224
+ <script>
225
+ import systemNoticeInfoDialog from '@base/views/user/system_notice/infoDialog.vue';
226
+ import commMenuDialog from '@base/views/user/commMenu/index.vue';
227
+ import notifyMessageDialog from '@base/views/user/notify_message/dialog.vue';
228
+ import notifyMessageInfoDialog from '@base/views/user/notify_message/infoDialog';
229
+
230
+ import {getToken} from "@base/utils/auth";
231
+ import wfContentDialog from "@base/views/user/wf/wf_manage/wfContentDialog";
232
+
233
+ import Swiper from 'swiper';
234
+ import 'swiper/dist/css/swiper.min.css';
235
+ import 'swiper/dist/js/swiper.min';
236
+
237
+
238
+ export default {
239
+ name: 'home',
240
+ components: {
241
+ systemNoticeInfoDialog,
242
+ commMenuDialog,
243
+ notifyMessageDialog,
244
+ notifyMessageInfoDialog,
245
+ wfContentDialog
246
+ },
247
+ data() {
248
+ return {
249
+ showNoticeDialog: false,
250
+ showGroupDialog: false,
251
+ notifyTemplates: [],
252
+ userInfo: {},
253
+ companyInfo: {},
254
+ systemNotices: [],
255
+ showSystemNoticeInfoDialog: false,
256
+ csnRow: null,
257
+ headPhotoUrl: '',
258
+ userId: '',
259
+ dialogVisible: true,
260
+ unDoWfRows: [],
261
+ wfOption: {},
262
+ showWfDialog: false,
263
+ wfContentOption: {},
264
+ showWfContent: true,
265
+ wfContent: null,
266
+ wfDataId: '',
267
+ showCommMenuDialog: false,
268
+ commMenus: [],
269
+ notifyMessages: [],
270
+ notifyMessageInfoIndex: null,
271
+ notifyMessageInfoId: null,
272
+ unreadMessageNum: 0,
273
+ activating: true,
274
+ wfTimer: null,
275
+ swiperIndex: 0,
276
+ unAffirmOrder: 0,
277
+ unShipping: 0,
278
+ unSignFor: 0,
279
+ weekOrderAmount: 0,
280
+ monthOrderAmount: 0,
281
+ displayProduct:[]
282
+ };
283
+ },
284
+ activated() {
285
+ this.activating = true;
286
+ if (this.wfTimer) {
287
+ this.timerExcFun(true);
288
+ }
289
+ },
290
+ deactivated() {
291
+ this.activating = false;
292
+ },
293
+ beforeDestroy() {
294
+ this.clearTimer();
295
+ },
296
+ created() {
297
+ this.getUserInfo();
298
+ this.initSystemNotice();
299
+ this.initCommMenu();
300
+ this.initNotifyMessage();
301
+ this.initWfParam();
302
+ this.initWfTimer();
303
+ this.initUnAffirmOrder();
304
+ this.initUnShipping();
305
+ this.initUnSignFor();
306
+ this.initWeekOrderAmount();
307
+ this.initMonthOrderAmount();
308
+ this.initDisplayProduct();
309
+
310
+ },
311
+ mounted(){
312
+ new Swiper('.swiper-container', {
313
+ slidesPerView: 3,
314
+ navigation: {
315
+ nextEl: '.swiper-button-next',
316
+ prevEl: '.swiper-button-prev'
317
+ },
318
+ on: {
319
+ click: function(event) {
320
+ if (this.clickedIndex != undefined) {
321
+ that.swiperIndex = this.clickedIndex;
322
+ }
323
+ }
324
+ }
325
+ });
326
+ },
327
+ methods: {
328
+ wfClose() {
329
+ this.timerExcFun(true);
330
+ },
331
+ initWfTimer() {
332
+ this.wfTimer = setInterval(() => {
333
+ this.timerExcFun(false);
334
+ }, 10000);
335
+ this.timerExcFun(true);
336
+ },
337
+ timerExcFun(isLoading) {
338
+ if (!this.activating) {
339
+ return;
340
+ }
341
+ this.getWfInfoList(isLoading);
342
+ this.getUnreadMessageNum(isLoading);
343
+ this.$emit('timerHandle')
344
+ },
345
+ clearTimer() {
346
+ clearInterval(this.wfTimer);
347
+ this.wfTimer = null;
348
+ },
349
+ getUserInfo() {
350
+ this.$http({
351
+ url: USER_PREFIX + '/user/currentUser',
352
+ method: 'post',
353
+ success: res => {
354
+ let userInfo = res.objx;
355
+ this.headPhotoUrl = userInfo.headPhotoUrl ? userInfo.headPhotoUrl : (require("@/resources/images/default-header.png").default || require("@/resources/images/default-header.png"));
356
+ this.userId = userInfo.id;
357
+ this.userInfo = userInfo;
358
+ // this.initDisplayProduct();
359
+ }
360
+ });
361
+ this.$http({
362
+ url: USER_PREFIX + '/company_info/getCurrent',
363
+ method: `post`,
364
+ success: res => {
365
+ this.companyInfo = res.objx || {};
366
+ }
367
+ });
368
+ },
369
+ initSystemNotice() {
370
+ this.$http({
371
+ url: USER_PREFIX + '/system_notice/listPage',
372
+ data: {publish: true},
373
+ method: 'post',
374
+ success: res => {
375
+ this.systemNotices = res.objx && res.objx.records ? res.objx.records : [];
376
+ }
377
+ });
378
+ },
379
+ openSystemNoticeDialog(row) {
380
+ this.csnRow = row || null;
381
+ this.showSystemNoticeInfoDialog = true;
382
+ },
383
+ initUnDoWfInfo() {
384
+ this.$http({
385
+ url: AGILEBPM_PREFIX + '/wf_manage/listPage',
386
+ data: {type: 0},
387
+ method: 'post',
388
+ success: res => {
389
+ this.unDoWfRows = res.objx.records || [];
390
+ }
391
+ });
392
+ },
393
+ initWfTableList() {
394
+ let that = this;
395
+ let paramColumns = this.wfParamDTOs.map(item => {
396
+ return {
397
+ title: item.paramName,
398
+ field: item.paramKey,
399
+ width: 150
400
+ };
401
+ })
402
+ var statuses = {running: '审核中', back: '已驳回', end: '已完成'};
403
+ let tableOption = {
404
+ vue: this,
405
+ tableRef: 'table-wf',
406
+ tableName: 'home-table-wf',
407
+ config: {
408
+ height: 'auto'
409
+ },
410
+ columns: [
411
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
412
+ {
413
+ title: '单据类型',
414
+ field: 'objTypeName',
415
+ width: 150,
416
+ fixed: 'left'
417
+ },
418
+ {
419
+ title: '流程主题',
420
+ field: 'name',
421
+ width: 150
422
+ },
423
+ {
424
+ title: '启动人',
425
+ field: 'starterName',
426
+ width: 150
427
+ },
428
+ {
429
+ title: '当前任务',
430
+ field: 'taskName',
431
+ width: 150
432
+ },
433
+ {
434
+ title: '当前任务用户',
435
+ field: 'candidateNames',
436
+ width: 150
437
+ },
438
+ {
439
+ title: '启动时间',
440
+ field: 'createDate',
441
+ width: 150
442
+ },
443
+ ...paramColumns,
444
+ {
445
+ width: 47,
446
+ fixed: 'right',
447
+ title: '',
448
+ sortable: false,
449
+ slots: {
450
+ default: ({row}) => {
451
+ return [
452
+ <a
453
+ href="javascript:void(0);"
454
+ class="a-link"
455
+ onclick={() => {
456
+ this.openWfDialog(row);
457
+ }}
458
+ >
459
+ <el-tooltip enterable={false} effect="dark" content="查看" placement="top"
460
+ popper-class="tooltip-skin">
461
+ <i class="el-icon-edit"/>
462
+ </el-tooltip>
463
+ </a>
464
+ ];
465
+ }
466
+ }
467
+ }
468
+ ]
469
+ };
470
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
471
+ this.wfOption = opts;
472
+ });
473
+ },
474
+ openWfDialog(row) {
475
+ this.wfContentOption = {
476
+ objId: row.objId,
477
+ url: row.url,
478
+ objTypeCode: row.objTypeCode
479
+ };
480
+ this.showWfDialog = true;
481
+ },
482
+ commMenuCallBack(datas) {
483
+ this.commMenus = datas || [];
484
+ },
485
+ initCommMenu() {
486
+ this.$http({
487
+ url: USER_PREFIX + '/comm_menu/currentList',
488
+ data: {longOne: 0},
489
+ method: 'POST'
490
+ }).then(resultMsg => {
491
+ this.commMenus = resultMsg.objx || [];
492
+ });
493
+ },
494
+ initNotifyMessage() {
495
+ this.$http({
496
+ url: USER_PREFIX + '/notify_message/listPage',
497
+ data: {},
498
+ method: 'post',
499
+ success: res => {
500
+ this.notifyMessages = res.objx && res.objx.records ? res.objx.records : [];
501
+ }
502
+ });
503
+ },
504
+ openNotifyMessageDialog(row) {
505
+ if (row.jumpContent) {
506
+ this.$refs.notifyMessageDialog.open(row, () => {
507
+ row.readed = 1;
508
+ });
509
+ }
510
+ },
511
+ openMoreNotifyMessage(notifyType) {
512
+ let data = {notifyType: (notifyType || '')};
513
+ let view = {
514
+ name: 'notify_message:list',
515
+ query: data
516
+ };
517
+ this.$store.dispatch('tagsView/delCachedView', view).then(() => {
518
+ this.$router.replace(view);
519
+ });
520
+
521
+ if (notifyType) {
522
+ this.showGroupDialog = false;
523
+ }
524
+ },
525
+ checkNotifyMessage(row, index) {
526
+ this.showNoticeDialog = true;
527
+ this.notifyMessageInfoIndex = index;
528
+ this.notifyMessageInfoId = row.id;
529
+ },
530
+ notifyMessageReadHanlde() {
531
+ this.notifyMessages[this.notifyMessageInfoIndex].readed = 1;
532
+ },
533
+ openNotifyTemplateGroupDialog() {
534
+ this.$http({
535
+ url: USER_PREFIX + `/notify_template/listPage`,
536
+ method: `post`,
537
+ data: {},
538
+ isLoading: true,
539
+ loadingTarget: document.body,
540
+ success: res => {
541
+ this.notifyTemplates = res.objx && res.objx.records ? res.objx.records : [];
542
+ this.showGroupDialog = true;
543
+ }
544
+ });
545
+ },
546
+ rourteTo(route) {
547
+ if (route.type == 4) {
548
+ this.jumpOutLink(route)
549
+ } else if (route.type == 3) {
550
+ let menuCode = route.menuCode;
551
+ let path = "/user/outLink/index/" + menuCode;
552
+ this.$router.push({path: path, query: {url: route.url}});
553
+ } else {
554
+ this.$router.push(route.url);
555
+ }
556
+ },
557
+ jumpOutLink(route) {
558
+ let path = route.url;
559
+ if (route.type == 4 && path) {
560
+ if (path.indexOf('token={token}') >= 0) {
561
+ path = path.replace('token={token}', 'token=' + getToken())
562
+ }
563
+ window.open(path);
564
+ }
565
+ },
566
+ initWfParam() {
567
+ return this.$http({
568
+ url: USER_PREFIX + '/wf_param/list',
569
+ method: `post`,
570
+ data: {},
571
+ isLoading: true,
572
+ loadingTarget: document.body,
573
+ modalStrictly: true,
574
+ success: res => {
575
+ this.wfParamDTOs = res.objx || [];
576
+ this.initWfTableList();
577
+ }
578
+ });
579
+ },
580
+ getWfInfoList(isLoading) {
581
+ if (!this.activating) {
582
+ return;
583
+ }
584
+ this.$http({
585
+ url: USER_PREFIX + '/wf_info/listPage',
586
+ data: {type: 0, size: 20},
587
+ method: 'post',
588
+ isLoading: isLoading,
589
+ loadingTarget: document.body,
590
+ success: res => {
591
+ this.unDoWfRows = res.objx && res.objx.records ? res.objx.records : [];
592
+ },
593
+ failMsg: false,
594
+ errorMsg: false,
595
+ fail: (res, response) => {
596
+ if (response && response.status == 200) {
597
+ this.$errorMsg(res);
598
+ }
599
+ }
600
+ });
601
+ },
602
+ getUnreadMessageNum(isLoading) {
603
+ if (!this.activating) {
604
+ return;
605
+ }
606
+ return this.$http({
607
+ url: USER_PREFIX + '/notify_message/countMessage',
608
+ method: `post`,
609
+ data: {},
610
+ isLoading: isLoading,
611
+ loadingTarget: document.body,
612
+ success: res => {
613
+ this.unreadMessageNum = res.objx || 0;
614
+ },
615
+ failMsg: false,
616
+ errorMsg: false,
617
+ fail: (res, response) => {
618
+ if (response && response.status == 200) {
619
+ this.$errorMsg(res);
620
+ }
621
+ }
622
+ });
623
+ },
624
+ wfhandleCallback(flag) {
625
+ if ([1, 2, 3].includes(flag)) {
626
+ this.showWfDialog = false;
627
+ this.wfClose();
628
+ }
629
+ },
630
+ show_list_cart_net() {
631
+ console.log("2222");
632
+ this.$router.push('/pmd/product/product/show_list_cart_net/'+this.userId);
633
+ },
634
+ initUnAffirmOrder(){
635
+ this.$http({
636
+ url: YX_PREFIX + '/order/listPage',
637
+ data: {
638
+ "noQueryOrderType":["distribution_order_type"],
639
+ "statuses":[0,1],
640
+ "size":"1000",
641
+ "current":"1"
642
+ },
643
+ method: 'post',
644
+ success: res => {
645
+ var balancesArr = res.objx && res.objx.records ? res.objx.records : [];
646
+ this.unAffirmOrder = balancesArr.length;
647
+ }
648
+ });
649
+ },
650
+ initUnShipping(){
651
+ this.$http({
652
+ url: YX_PREFIX + '/order/getCreateShippingOrderItemsList',
653
+ data: {
654
+ "noQueryOrderType":["distribution_order_type", "sample_order_type"],
655
+ "size":"1000",
656
+ "current":"1"
657
+ },
658
+ method: 'post',
659
+ success: res => {
660
+ var balancesArr = res.objx && res.objx.records ? res.objx.records : [];
661
+ this.unShipping = balancesArr.length;
662
+ }
663
+ });
664
+ },
665
+ initUnSignFor(){
666
+ this.$http({
667
+ url: YX_PREFIX + '/shipping_item/listReceiptItemPage',
668
+ data: {
669
+ "signForStatus":0,
670
+ "size":"1000",
671
+ "current":"1"
672
+ },
673
+ method: 'post',
674
+ success: res => {
675
+ var balancesArr = res.objx && res.objx.records ? res.objx.records : [];
676
+ this.unSignFor = balancesArr.length;
677
+ }
678
+ });
679
+ },
680
+ initWeekOrderAmount(){
681
+ this.$http({
682
+ url: YX_PREFIX + '/netOrder/statisticsOrderAmount',
683
+ data: {
684
+ "statisticsFlag":0
685
+ },
686
+ method: 'post',
687
+ success: res => {
688
+ var amount = res.objx ||0 ;
689
+ this.weekOrderAmount = amount;
690
+ }
691
+ });
692
+ },
693
+ initMonthOrderAmount(){
694
+ this.$http({
695
+ url: YX_PREFIX + '/netOrder/statisticsOrderAmount',
696
+ data: {
697
+ "statisticsFlag":1
698
+ },
699
+ method: 'post',
700
+ success: res => {
701
+ var amount = res.objx ||0 ;
702
+ this.monthOrderAmount = amount;
703
+ }
704
+ });
705
+ },
706
+ initDisplayProduct(){
707
+ this.$http({
708
+ url: YX_PREFIX + '/customer/getDistributorCustomer',
709
+ data: { },
710
+ method: 'post',
711
+ success: res => {
712
+ var customer = res.objx || {} ;
713
+ if (customer.sn) {
714
+ this.$http({
715
+ url: PMD_PREFIX + '/product/display/listPage',
716
+ data: {
717
+ "customerSn":customer.sn,
718
+ putaway:true,
719
+ size:3,
720
+ current:1
721
+ },
722
+ method: 'post',
723
+ success: res => {
724
+ var productArr = res.objx.records ||[] ;
725
+ this.displayProduct = productArr;
726
+ // console.log("displayProduct==" + JSON.stringify(this.displayProduct));
727
+ }
728
+ });
729
+ }
730
+ }
731
+ });
732
+ },
733
+ addCartItem(product) {
734
+ this.$http({
735
+ url: YX_PREFIX + `/cart/addItem`,
736
+ method: `post`,
737
+ data: {
738
+ quantity: 1,
739
+ productVonderCode: product.vonderCode,
740
+ productModel: product.model,
741
+ productName: product.name,
742
+ productImageUrl: product.imageUrl,
743
+ tempPrice: product.price,
744
+ warehouseSn: product.warehouseSn,
745
+ warehouseCode: product.warehouseCode,
746
+ warehouseName: product.warehouseName
747
+ },
748
+ isLoading: true,
749
+ success: res => {
750
+ this.$message({
751
+ message: res.content,
752
+ type: 'success',
753
+ duration: 500
754
+ });
755
+ }
756
+ });
757
+ },
758
+ }
759
+ };
760
+ </script>
761
+ <style lang="scss" scoped>
762
+ @import '~@/styles/variables.scss';
763
+
764
+ body #app .index-home {
765
+ margin: 3px 10px;
766
+ height: calc(100vh - 38px);
767
+ overflow: auto;
768
+
769
+ #containt {
770
+ margin: 0;
771
+ background: none;
772
+ height: auto;
773
+ box-shadow: none;
774
+ }
775
+
776
+
777
+ .home-notice-list {
778
+ height: 112px;padding:5px 12px;
779
+ .item {
780
+ padding: 3px 12px;
781
+ font-size: 12px;
782
+ cursor: pointer;
783
+ overflow: hidden;
784
+ text-overflow: ellipsis;
785
+ white-space: nowrap;
786
+
787
+ .time {
788
+ color: #b9b9b9;
789
+ font-size: 12px;
790
+ right: 12px;
791
+ position: absolute;
792
+ background: #FFF;
793
+ padding-left: 8px;
794
+ }
795
+
796
+ &:hover {
797
+ color: $baseColor;
798
+ background-color: #F8FAFC;
799
+
800
+ .time {
801
+ color: $baseColor;
802
+ background-color: #F8FAFC;
803
+ }
804
+ }
805
+
806
+ &.no-read:before {
807
+ content: "";
808
+ width: 6px;
809
+ height: 6px;
810
+ background-color: $red;
811
+ border-radius: 50%;
812
+ vertical-align: middle;
813
+ display: inline-block;
814
+ margin-bottom: 1px;
815
+ }
816
+ }
817
+
818
+ &.to-reed {
819
+ height: 300px;
820
+ overflow: auto;
821
+ margin: -8px -12px;
822
+
823
+
824
+ .item {
825
+ white-space: initial;
826
+ padding: 8px 22px 2px;
827
+ position: relative;
828
+
829
+ &:after {
830
+ content: "";
831
+ position: absolute;
832
+ left: 22px;
833
+ right: 22px;
834
+ border-top: dashed 1px #eee;
835
+ height: 1px;
836
+ bottom: 0;
837
+ }
838
+
839
+ &.noread {
840
+ &:before {
841
+ content: "";
842
+ width: 6px;
843
+ height: 6px;
844
+ background-color: $red;
845
+ border-radius: 50%;
846
+ margin-right: 5px;
847
+ display: inline-block;
848
+ position: absolute;
849
+ left: 10px;
850
+ top: 16px;
851
+ }
852
+ }
853
+
854
+ .el-tag {
855
+ zoom: 0.95;
856
+ padding: 0 5px;
857
+ height: 24px;
858
+ line-height: 24px;
859
+ }
860
+
861
+ // .noread{
862
+ // position: absolute;right:0;top:0;
863
+ // span{transform: rotate(47deg);
864
+ // -ms-transform: rotate(47deg);
865
+ // -moz-transform: rotate(47deg);
866
+ // -webkit-transform: rotate(47deg);
867
+ // -o-transform: rotate(47deg);
868
+ // z-index: 3;
869
+ // color: #FFF;
870
+ // position: absolute;
871
+ // right: 1px;
872
+ // top: 2px;}
873
+ // &:after{
874
+ // content: "\e618";
875
+ // font-size: 62px;
876
+ // font-family: "iconfont";
877
+ // color:$red
878
+ // }
879
+ // }
880
+ .time {
881
+ position: relative;
882
+ right: 0;
883
+ margin-left: 12px;
884
+ }
885
+
886
+ .name {
887
+ overflow: hidden;
888
+ text-overflow: ellipsis;
889
+ white-space: nowrap;
890
+ margin-top: 3px;
891
+ display: block;
892
+ margin-bottom: 4px;
893
+ }
894
+
895
+ &:hover .name {
896
+ color: $baseColor
897
+ }
898
+
899
+ &:first-child:before {
900
+ border-top: none
901
+ }
902
+
903
+ .btns {
904
+ text-align: right;
905
+
906
+ .el-link {
907
+ font-size: 12px;
908
+ display: inline-block;
909
+ margin-left: 14px;
910
+
911
+ i {
912
+ font-size: 12px;
913
+ margin-right: 3px;
914
+ }
915
+ }
916
+ }
917
+ }
918
+
919
+ }
920
+ }
921
+ .home_box-style{
922
+ border:solid 1px #E3E3E3;border-radius: 16px;background:#FFF;overflow:hidden;margin-bottom: 20px;
923
+ &.home_box_pro{margin-right: 20px;}
924
+ &.home_box_notice{
925
+ margin-top:10px;
926
+ .h_head{padding:0px 24px;font-size: 14px;
927
+ img.ico{height:14px}
928
+ }
929
+ }
930
+ .h_head{
931
+ background:#438FCF;color:#FFF;padding:12px 24px;overflow:hidden;font-size:18px;line-height: 32px;position: relative;
932
+ .tit1{float:left;
933
+ img.ico{height:20px; vertical-align: sub;margin-right: 10px;}
934
+ }
935
+ .tit{background:url(~@/resources/images/home/net/head-bg.png) no-repeat center;background-size:100% 100%;position:absolute;top:0;bottom:0;left:0;padding: 0px 36px;line-height: 56px;}
936
+ span,a{vertical-align: middle;}
937
+ .el-button--medium{padding:0}
938
+ .ico-set,.ico-edit,.ico-refresh{width:32px;height:32px;background-repeat: no-repeat;background-size: cover;display: inline-block;vertical-align: middle;margin-right:10px;}
939
+ .ico-set{background-image: url(~@/resources/images/home/net/ico-set.png);}
940
+ .ico-edit{background-image: url(~@/resources/images/home/net/ico-edti.png);}
941
+ .ico-refresh{background-image: url(~@/resources/images/home/net/ico-refresh.png);}
942
+ }
943
+ .need-to{
944
+ height:300px
945
+ }
946
+ .pro-box{
947
+ padding:42px 0;
948
+ .item{margin:0 14px;width:calc(33.3% - 28px);
949
+
950
+ }
951
+ }
952
+ }
953
+ .pro-box{
954
+ .item{box-shadow: 0 11px 8px rgba(16,36,111,0.18);background:#FFF;border-radius: 0 0 16px 16px;display: inline-block;overflow:hidden;padding: 14px;
955
+ .img{width:100%;height:282px;
956
+ img{width: 100%;height:100%;}
957
+ }
958
+ .name{line-height:1.8}
959
+ .price{color:#37c9ff;font-weight: 600;font-size: 26px;vertical-align: middle;}
960
+ .ico-buy{display: inline-block;vertical-align: middle;background-image: url(~@/resources/images/home/net/ico-buy.png);width:36px;height:36px;margin-left: 12px;background-repeat: no-repeat;background-size: cover;}
961
+ }
962
+ }
963
+ .user-info{
964
+ border:solid 1px #E3E3E3;border-radius: 16px 16px 0 0;background:#FFF;overflow:hidden;
965
+ .user{text-align: center;
966
+ .i{width:80px;height:80px;display:block;border-radius: 50%;overflow:hidden;margin: 18px auto 6px;
967
+ img{width:100%;height:100%}
968
+ }
969
+ .t{
970
+ img{height:16px;margin-left:5px;vertical-align: middle;}
971
+ }
972
+ }
973
+ .order{
974
+ display:flex;padding:0 20px;overflow: hidden;margin-top:12px;
975
+ .item{flex:1;border-right:solid 1px #e3e3e3;text-align: center;
976
+ b{display: block;font-weight: 600;font-size:24px;color:#37c9ff;}
977
+ p{margin-bottom:0;}
978
+ }
979
+ }
980
+ .order1{
981
+ overflow:hidden;margin-top:12px;
982
+ .item{font-size:16px;float:left;width:50%;
983
+ .t1{background:#438FCF;padding:6px 24px;line-height:24px;color:#FFF;
984
+ img{vertical-align: middle;margin-right:6px;width:20px;height:20px;}
985
+ }
986
+ .c1{border-right:solid 1px #e3e3e3;padding:9px 24px;height: 74px;
987
+ span{color:#37c9ff;}
988
+ }
989
+ &:last-child{float:right}
990
+ }
991
+ }
992
+ }
993
+
994
+ .slide-pro{
995
+ background:#EEEEEE;margin:20px 0;padding:60px 165px 40px;
996
+ .pro-box{position: relative;width:900px;margin:auto;
997
+ .item .img{width:248px;}
998
+ }
999
+ .swiper-slide{padding: 15px 0;text-align:center}
1000
+ .swiper-button-next, .swiper-button-prev{width: 47px;height: 90px;margin-top:-45px;background:url(~@/resources/images/home/net/ico-arrow.png) no-repeat center;background-size:cover;}
1001
+ .swiper-button-prev, .swiper-container-rtl .swiper-button-next{left:-60px;transform: rotate(180deg);-ms-transform: rotate(180deg);-moz-transform: rotate(180deg);-webkit-transform: rotate(180deg);-o-transform: rotate(180deg);}
1002
+ .swiper-button-next, .swiper-container-rtl .swiper-button-prev{right:-60px;}
1003
+ }
1004
+ }
1005
+ ::v-deep{
1006
+ &.vxe-grid .vxe-table--render-default.border--default .vxe-table--header-wrapper, .vxe-grid .vxe-table--render-default.border--full .vxe-table--header-wrapper, .vxe-grid .vxe-table--render-default.border--outer .vxe-table--header-wrapper{background:#EEEEEE}
1007
+ &.vxe-grid .vxe-table--header-wrapper .vxe-table--header .vxe-header--row .vxe-header--column{padding:14px 0;}
1008
+ &.vxe-grid .vxe-table--render-default .vxe-body--column.col--ellipsis{height: 50px;}
1009
+ &.vxe-grid .vxe-grid--pager-wrapper{min-height:0}
1010
+ }
1011
+ .notice-box{border-radius: 0 0 16px 16px;padding: 8px 26px;background-color: rgb(141 140 140 / 24%);margin-top:0;
1012
+ .txt:before{display:none}
1013
+ }
1014
+
1015
+ </style>