meixioacomponent 0.3.26 → 0.3.27

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.
@@ -0,0 +1,791 @@
1
+ <template>
2
+ <base-drawer
3
+ :size="800"
4
+ ref="drawer"
5
+ :modal="true"
6
+ :header="true"
7
+ :direction="`rtl`"
8
+ :title="`单位信息`"
9
+ :appendToBody="true"
10
+ :wrapperClosable="false"
11
+ >
12
+ <div class="company-info-drawer-content" slot="drawer-content">
13
+ <base-form-wrap
14
+ :rowNumber="2"
15
+ :labelWidth="`155px`"
16
+ :rules="businessInfo.rules"
17
+ :formTitle="businessInfo.title"
18
+ :formList="businessInfo.formList"
19
+ >
20
+ <template v-slot:formslot-businessLicenseFile="data">
21
+ <div class="upload-wrap" style="height: 100px">
22
+ <base-upload-item
23
+ :disabled="true"
24
+ :shape="`pro`"
25
+ :fileType="`img`"
26
+ @uploadEd="uploadEd"
27
+ :uploadType="`single`"
28
+ v-model="test"
29
+ >
30
+ </base-upload-item>
31
+ </div>
32
+ </template>
33
+ </base-form-wrap>
34
+ </div>
35
+ </base-drawer>
36
+ </template>
37
+
38
+ <script>
39
+ export default {
40
+ data() {
41
+ return {
42
+ connecter: null,
43
+ backInfo: null,
44
+ formApiData: null,
45
+ businessInfo: null,
46
+ test: [],
47
+ };
48
+ },
49
+ created() {
50
+ // let _companyInfo = companyInfo();
51
+
52
+ this.businessInfo = {
53
+ title: "经营信息",
54
+ rules: {
55
+ legalPerson: [
56
+ {
57
+ required: true,
58
+ message: "请输入法人名称",
59
+ trigger: "blur",
60
+ },
61
+ ],
62
+ idCard: [
63
+ {
64
+ required: true,
65
+ message: "请输入法人身份证",
66
+ trigger: "blur",
67
+ },
68
+ ],
69
+ businessLicense: [
70
+ {
71
+ required: true,
72
+ message: "请输入营业执照号",
73
+ trigger: "blur",
74
+ },
75
+ ],
76
+
77
+ businessLicenseFile: [
78
+ {
79
+ required: true,
80
+ message: "请上传营业执照电子版",
81
+ trigger: "blur",
82
+ },
83
+ ],
84
+ },
85
+ formList: [
86
+ {
87
+ value: "2022-05-02 22:00:00",
88
+ key: "legalPerson",
89
+ type: "time",
90
+ label: "法人名称",
91
+ },
92
+ {
93
+ value: "",
94
+ key: "idCard",
95
+ type: "input",
96
+ label: "法人身份证",
97
+ },
98
+ {
99
+ value: "",
100
+ key: "businessLicense",
101
+ type: "input",
102
+ label: "营业执照号",
103
+ },
104
+ {
105
+ value:
106
+ "businessLicenseFilebusinessLicenseFilebusinessLicenseFilebusinessLicenseFilebusinessLicenseFilebusinessLicenseFilebusinessLicenseFilebusinessLicenseFile",
107
+ key: "businessLicenseFile",
108
+ type: "template",
109
+ label: "营业执照电子版",
110
+ },
111
+ ],
112
+ };
113
+ // this.connecter = _companyInfo.contactInfo;
114
+ // this.backInfo = _companyInfo.bankInfo;
115
+ // this.getCompanyInfoFromCompanyId();
116
+ },
117
+ mounted() {
118
+ this.$refs.drawer.openDrawer();
119
+ },
120
+ props: {
121
+ companyId: null,
122
+ },
123
+ methods: {
124
+ uploadEd() {},
125
+ async getCompanyInfoFromCompanyId() {
126
+ const { companyId } = this.$props;
127
+ this.formApiData = await GetCompanyInfoFromCompanyId(companyId);
128
+ let arr = ["businessInfo", "connecter", "backInfo"];
129
+ for (let i = 0; i < arr.length; i++) {
130
+ assembleData(this[`${arr[i]}`].formList, this.formApiData);
131
+ }
132
+ console.log(this.businessInfo);
133
+ },
134
+ },
135
+ };
136
+ </script>
137
+
138
+ <style lang="less" scoped>
139
+ .company-info-drawer-content {
140
+ padding: var(--padding-4);
141
+ box-sizing: border-box;
142
+ }
143
+ </style>
144
+
145
+ <!-- <template>
146
+ <div class="page-table-wrap" ref="pageTableWrap">
147
+ <base-pro-table
148
+ :align="`left`"
149
+ v-model="keyWords"
150
+ :height="pageHeight"
151
+ :isAverageWidth="false"
152
+ :pageProps="pageProps"
153
+ :pageConfig="pageConfig"
154
+ :screenList="screenList"
155
+ :httpRequire="httpRequire"
156
+ :tableConfig="tableConfig"
157
+ :headerConfig="headerConfig"
158
+ :totalPropsList="totalPropsList"
159
+ :proScreenConfig="proScreenConfig"
160
+ > -->
161
+ <!-- 表格头部插槽 -->
162
+ <!-- <template>
163
+ <base-icon
164
+ :color="`m`"
165
+ :event="true"
166
+ slot="prefix"
167
+ :name="`icon-bangzhu`"
168
+ ></base-icon>
169
+
170
+ <template slot="headerExtend">
171
+ <el-button type="primary" size="medium">新建客户</el-button>
172
+ <el-button type="info" plain size="small">查重</el-button>
173
+ </template>
174
+
175
+ <el-dropdown slot="suffix" trigger="click">
176
+ <el-button
177
+ type="info"
178
+ size="small"
179
+ icon="el-icon-more"
180
+ class="dropdown-button"
181
+ plain
182
+ ></el-button>
183
+ <el-dropdown-menu slot="dropdown">
184
+ <el-dropdown-item>黄金糕</el-dropdown-item>
185
+ <el-dropdown-item>狮子头</el-dropdown-item>
186
+ <el-dropdown-item>螺蛳粉</el-dropdown-item>
187
+ <el-dropdown-item>双皮奶</el-dropdown-item>
188
+ <el-dropdown-item>蚵仔煎</el-dropdown-item>
189
+ </el-dropdown-menu>
190
+ </el-dropdown>
191
+ </template> -->
192
+
193
+ <!-- 自定义模板列 -->
194
+ <!-- <template v-slot:name="data"> template-{{ data.scope }} </template>
195
+ <template v-slot:address="data"> template-{{ data.scope }} </template> -->
196
+ <!-- </base-pro-table>
197
+ </div>
198
+ </template> -->
199
+
200
+ <!-- <script>
201
+ export default {
202
+ data() {
203
+ return {
204
+ // 当前页面高度
205
+ pageHeight: null,
206
+ tableConfig: [],
207
+
208
+ headerConfig: {
209
+ headerText: "测试表格",
210
+ },
211
+
212
+ totalPropsList: [],
213
+
214
+ keyWords: "",
215
+ /* 快捷的筛选 类似于tag */
216
+ screenList: {
217
+ index: 0,
218
+ list: [
219
+ { value: "all", label: "全部合同", key: "_all" },
220
+ { value: "me", label: "我负责的合同", key: "_me" },
221
+ {
222
+ value: "subordinate",
223
+ label: "下属负责的合同",
224
+ key: "_subordinate",
225
+ },
226
+ ],
227
+ },
228
+
229
+ /* 高级筛选的配置 */
230
+ proScreenConfig: [
231
+ {
232
+ key: "accountBank",
233
+ value: "",
234
+ type: "time",
235
+ },
236
+ {
237
+ key: "firmName",
238
+ value: "",
239
+ type: "input",
240
+ },
241
+ {
242
+ key: "contactName",
243
+ value: "",
244
+ type: "select",
245
+ selectList: [
246
+ {
247
+ label: "测试1",
248
+ value: 1,
249
+ },
250
+ { label: "测试2", value: 2 },
251
+ { label: "测试3", value: 3 },
252
+ { label: "测试4", value: 4 },
253
+ ],
254
+ },
255
+ ],
256
+
257
+ // 分页属性
258
+ /* 分页属性 */
259
+ pageProps: {
260
+ pageSize: 15,
261
+ pageNum: 1,
262
+ total: 100,
263
+ },
264
+ // 分页配置
265
+ pageConfig: {
266
+ size: "pageSize",
267
+ page: "pageNum",
268
+ total: "total",
269
+ },
270
+ };
271
+ },
272
+ created() {
273
+ this.tableConfig = [
274
+ {
275
+ width: 120,
276
+ lock: false,
277
+ label: "操作",
278
+ template: false,
279
+ key: "accountBank",
280
+ screen: true,
281
+ },
282
+ {
283
+ label: "单位名称",
284
+ key: "firmName",
285
+ lock: false,
286
+ width: 150,
287
+ template: false,
288
+ screen: true,
289
+ },
290
+ {
291
+ label: "合同名称",
292
+ key: "pactName",
293
+ lock: false,
294
+ width: 150,
295
+ template: false,
296
+ color: "warn",
297
+ },
298
+ {
299
+ label: "联系人名称",
300
+ key: "contactName",
301
+ lock: false,
302
+ width: 150,
303
+ screen: true,
304
+ template: false,
305
+ },
306
+ {
307
+ label: "快递单号",
308
+ key: "courierNumber",
309
+ lock: false,
310
+ width: 199,
311
+ },
312
+ {
313
+ label: "审核状态",
314
+ key: "status",
315
+ lock: false,
316
+ width: 280,
317
+ template: false,
318
+ },
319
+ {
320
+ label: "签署时间",
321
+ key: "gmtCreate",
322
+ lock: false,
323
+ width: 280,
324
+ template: false,
325
+ },
326
+ ];
327
+ },
328
+ mounted() {
329
+ this.pageHeight = this.$refs.pageTableWrap.clientHeight;
330
+ },
331
+ components: {},
332
+ methods: {
333
+ async httpRequire(screenCofig) {
334
+ let result = null;
335
+ try {
336
+ result = await test(screenCofig);
337
+ this.pageProps.total = result.total;
338
+ } catch (error) {
339
+ return new Promise((resolve, reject) => {
340
+ this.pageProps.total = 0;
341
+ resolve([]);
342
+ });
343
+ }
344
+ return new Promise((resolve, reject) => {
345
+ resolve(result.rows);
346
+ });
347
+ },
348
+ rowClick(row) {
349
+ console.log(row);
350
+ },
351
+ },
352
+ };
353
+ </script>
354
+
355
+ <style lang="less" scoped>
356
+ .page-table-wrap {
357
+ width: 100%;
358
+ height: 100%;
359
+ background: inherit;
360
+ }
361
+ </style> -->
362
+
363
+ <!-- 普通表单 -->
364
+ <!-- <template>
365
+ <div class="add-company-step-two-wrap">
366
+ <base-form
367
+ :footer="false"
368
+ :rules="rules"
369
+ :rowNumber="1"
370
+ @onCancel="onCancel"
371
+ v-model="formList"
372
+ :labelWidth="`200px`"
373
+ :labelPosition="`right`"
374
+ @formSubmit="formSubmit"
375
+ >
376
+ <template v-slot:form-businessLicense="data">
377
+
378
+ <div class="upload-wrap">
379
+ <base-upload-item
380
+ :shape="`pro`"
381
+ :fileType="`img`"
382
+ @uploadEd="uploadEd"
383
+ :uploadType="`single`"
384
+ v-model="data.scope[3].value"
385
+ >
386
+ </base-upload-item>
387
+ </div>
388
+ </template>
389
+ <template v-slot:form-idPositive="data">
390
+
391
+ <div class="upload-wrap">
392
+ <base-upload-item
393
+ :shape="`pro`"
394
+ :fileType="`img`"
395
+ @uploadEd="uploadEd"
396
+ :uploadType="`single`"
397
+ v-model="data.scope[4].value"
398
+ >
399
+ </base-upload-item>
400
+ </div>
401
+ </template>
402
+ <template v-slot:form-idBack="data">
403
+
404
+ <div class="upload-wrap">
405
+ <base-upload-item
406
+ :shape="`pro`"
407
+ :fileType="`img`"
408
+ @uploadEd="uploadEd"
409
+ :uploadType="`single`"
410
+ v-model="data.scope[5].value"
411
+ >
412
+ </base-upload-item>
413
+ </div>
414
+ </template>
415
+ </base-form>
416
+ </div>
417
+ </template> -->
418
+
419
+ <!-- <script>
420
+ export default {
421
+ data() {
422
+ return {
423
+ formList: [
424
+ {
425
+ value: "",
426
+ key: "companyName",
427
+ type: "input",
428
+ label: "企业名称",
429
+ },
430
+ {
431
+ value: "",
432
+ key: "companyAddress",
433
+ type: "area",
434
+ label: "通讯地址",
435
+ },
436
+ {
437
+ value: "",
438
+ key: "companyDetail",
439
+ type: "textarea",
440
+ label: "详细地址",
441
+ },
442
+ {
443
+ value: [],
444
+ key: "businessLicense",
445
+ type: "template",
446
+ label: "营业执照正面彩照",
447
+ },
448
+ {
449
+ value: [],
450
+ key: "idPositive",
451
+ type: "template",
452
+ label: "法人身份证人像照",
453
+ },
454
+ {
455
+ value: [],
456
+ key: "idBack",
457
+ type: "template",
458
+ label: "法人身份证国徽照",
459
+ },
460
+ ],
461
+ rules: {
462
+ companyName: [
463
+ {
464
+ required: true,
465
+ message: "请输入企业名称",
466
+ trigger: "blur",
467
+ },
468
+ ],
469
+ companyAddress: [
470
+ {
471
+ required: true,
472
+ message: "请输入通讯地址",
473
+ trigger: "blur",
474
+ },
475
+ ],
476
+ companyDetail: [
477
+ {
478
+ required: true,
479
+ message: "请输入详细地址",
480
+ trigger: "blur",
481
+ },
482
+ ],
483
+ businessLicense: [
484
+ {
485
+ required: true,
486
+ message: "请上传营业彩照",
487
+ trigger: "blur",
488
+ },
489
+ ],
490
+ idPositive: [
491
+ {
492
+ required: true,
493
+ message: "请上传法人身份证人像照",
494
+ trigger: "blur",
495
+ },
496
+ ],
497
+ idBack: [
498
+ {
499
+ required: true,
500
+ message: "请上传法人身份证国徽照",
501
+ trigger: "blur",
502
+ },
503
+ ],
504
+ },
505
+ };
506
+ },
507
+ methods: {
508
+ onCancel() {},
509
+ formSubmit() {},
510
+ uploadEd(value) {
511
+ console.log(value);
512
+ console.log(this.formList);
513
+ },
514
+ },
515
+ };
516
+ </script>
517
+
518
+ <style lang="less" scoped>
519
+ .add-company-step-two-wrap {
520
+ width: 60%;
521
+ height: 100%;
522
+ overflow-y: auto;
523
+ .upload-wrap {
524
+ width: 100%;
525
+ height: 170px;
526
+ display: flex;
527
+ align-items: center;
528
+ justify-content: center;
529
+ /deep/ .base-upload-item-wrap {
530
+ margin: 0px;
531
+ }
532
+ }
533
+ }
534
+ </style> -->
535
+
536
+ <!-- 上传表单 -->
537
+ <!-- <template>
538
+ <base-dialog-form
539
+ ref="dialogFormVue"
540
+ :title="`测试表格`"
541
+ :labelWidth="`150px`"
542
+ :rulesList="rulesList"
543
+ v-model="formArray"
544
+ :disables="disables"
545
+ :modallAppendToBody="false"
546
+ :footerHandleConfig="footerHandleConfig"
547
+ ></base-dialog-form>
548
+ </template>
549
+
550
+ <script>
551
+ export default {
552
+ data() {
553
+ return {
554
+ // 表单验证
555
+ formArray: [
556
+ {
557
+ key: "test1",
558
+ formTitle: "基本信息",
559
+ formList: [
560
+ {
561
+ value: "签约行业",
562
+ key: "test1",
563
+ type: "input",
564
+ disabled: true,
565
+ label: "商机名称",
566
+ },
567
+ {
568
+ key: "test9",
569
+ type: "radio",
570
+ value: 1,
571
+ label: "客户地址",
572
+ list: [
573
+ {
574
+ label: "1",
575
+ value: 1,
576
+ },
577
+ {
578
+ label: "2",
579
+ value: 2,
580
+ },
581
+ ],
582
+ },
583
+ {
584
+ key: "test2",
585
+ type: "input",
586
+ disabled: false,
587
+ label: "客户名称",
588
+ value: "河南郑州建设股份有限公司 ",
589
+ click: (formItem) => {
590
+ console.log(formItem);
591
+ },
592
+ },
593
+ {
594
+ key: "test3",
595
+ type: "input",
596
+ disabled: false,
597
+ value: 17490,
598
+ color: "warn",
599
+ label: "商机金额",
600
+ },
601
+ {
602
+ value: "",
603
+ key: "test4",
604
+ type: "time",
605
+ disabled: false,
606
+ label: "预计成交日期",
607
+ },
608
+ {
609
+ value: "",
610
+ key: "test5",
611
+ type: "time",
612
+ disabled: false,
613
+ label: "下次联系时间",
614
+ },
615
+ {
616
+ value: [2],
617
+ key: "test6",
618
+ type: "select",
619
+ disabled: false,
620
+ label: "商机状态组",
621
+ multipleLimit: 2,
622
+ useStore: "testSelectStore",
623
+ },
624
+ {
625
+ value: 2,
626
+ key: "test7",
627
+ type: "select",
628
+ disabled: false,
629
+ label: "商机阶段",
630
+ useStore: "testSelectStore",
631
+ },
632
+ {
633
+ value: "",
634
+ key: "test8",
635
+ type: "textarea",
636
+ disabled: false,
637
+ label: "备注",
638
+ },
639
+ ],
640
+ },
641
+ {
642
+ key: "test2",
643
+ formTitle: "基本信息",
644
+ formList: [
645
+ {
646
+ value: "签约行业",
647
+ key: "test1",
648
+ type: "input",
649
+ disabled: true,
650
+ label: "商机名称",
651
+ },
652
+ {
653
+ key: "test2",
654
+ type: "input",
655
+ disabled: false,
656
+ label: "客户名称",
657
+ value: "河南郑州建设股份有限公司 ",
658
+ click: (formItem) => {
659
+ console.log(formItem);
660
+ },
661
+ },
662
+ {
663
+ key: "test3",
664
+ type: "input",
665
+ disabled: false,
666
+ value: 17490,
667
+ color: "warn",
668
+ label: "商机金额",
669
+ },
670
+ {
671
+ value: "",
672
+ key: "test4",
673
+ type: "time",
674
+ disabled: false,
675
+ label: "预计成交日期",
676
+ },
677
+ {
678
+ value: "",
679
+ key: "test5",
680
+ type: "time",
681
+ disabled: false,
682
+ label: "下次联系时间",
683
+ },
684
+ {
685
+ value: [2],
686
+ key: "test6",
687
+ type: "select",
688
+ disabled: false,
689
+ label: "商机状态组",
690
+ multipleLimit: 2,
691
+ useStore: "testSelectStore",
692
+ },
693
+ {
694
+ value: 2,
695
+ key: "test7",
696
+ type: "select",
697
+ disabled: false,
698
+ label: "商机阶段",
699
+ useStore: "testSelectStore",
700
+ },
701
+ {
702
+ value: "",
703
+ key: "test8",
704
+ type: "textarea",
705
+ disabled: false,
706
+ label: "备注",
707
+ },
708
+ ],
709
+ },
710
+ {
711
+ key: "test3",
712
+ formTitle: "测试活动图片",
713
+ formType: "upload",
714
+ max: 3,
715
+ formList: [
716
+ {
717
+ value: [],
718
+ key: "test1",
719
+ label: "图片上传",
720
+ },
721
+ ],
722
+ },
723
+ ],
724
+ rulesList: {},
725
+ footerHandleConfig: [],
726
+ disables: {},
727
+ };
728
+ },
729
+
730
+ created() {
731
+ //
732
+ this.disables = {
733
+ test9: {
734
+ effects: [
735
+ {
736
+ key: "test1",
737
+ type: "hide",
738
+ fn: this.hideMenuTypeOfButton,
739
+ },
740
+ ],
741
+ },
742
+ };
743
+ this.footerHandleConfig = [
744
+ {
745
+ text: "取消",
746
+ type: "info",
747
+ plain: true,
748
+ click: () => {
749
+ // this.dialogProscreenConfirm(false);
750
+ this.$destroy();
751
+ },
752
+ },
753
+ {
754
+ text: "确定",
755
+ type: "primary",
756
+ plain: false,
757
+ click: async () => {
758
+ // this.dialogProscreenConfirm(true);
759
+ let result = await this.$refs.dialogFormVue.checkValidate();
760
+ if (result) {
761
+ console.log(this.$refs.dialogFormVue.getFormValue());
762
+ }
763
+ },
764
+ },
765
+ ];
766
+
767
+ this.rulesList = {
768
+ test1: {
769
+ test1: [{ required: true, message: "请输入活动名称", trigger: "blur" }],
770
+ test2: [{ required: true, message: "请输入活动名称", trigger: "blur" }],
771
+ test3: [{ required: true, message: "请输入活动名称", trigger: "blur" }],
772
+ test4: [{ required: true, message: "请输入活动名称", trigger: "blur" }],
773
+ test5: [{ required: true, message: "请输入活动名称", trigger: "blur" }],
774
+ test9: [{ required: true, message: "请输入活动名称", trigger: "blur" }],
775
+ },
776
+ };
777
+ },
778
+ mounted() {
779
+ this.$refs.dialogFormVue.showDialog();
780
+ },
781
+ components: {},
782
+ props: { index: {} },
783
+ methods: {
784
+ hideMenuTypeOfButton(val) {
785
+ return val == 1;
786
+ },
787
+ },
788
+ };
789
+ </script>
790
+
791
+ <style></style> -->