cloud-web-corejs 1.0.219 → 1.0.220
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.
- package/package.json +1 -1
- package/src/components/baseAlert/index.vue +1 -1
- package/src/components/excelExport/exportFieldDialog.vue +3 -3
- package/src/components/excelExport/index.vue +62 -34
- package/src/components/excelExport/mixins.js +10 -5
- package/src/components/table/util/index.js +4 -0
- package/src/components/table/vxeFilter/index.js +3 -3
- package/src/components/table/vxeFilter/mixin.js +4 -4
- package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +104 -101
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +1 -1
- package/src/components/xform/form-render/container-item/data-table-mixin.js +97 -3
- package/src/components/xform/mixins/defaultHandle.js +75 -48
- package/src/layout/components/Sidebar/default.vue +11 -6
- package/src/layout/components/langTool.vue +32 -29
- package/src/store/getters.js +2 -1
- package/src/store/modules/user.js +27 -3
- package/src/utils/vab.js +83 -73
- package/src/views/user/user/edit.vue +45 -0
package/src/utils/vab.js
CHANGED
|
@@ -15,6 +15,7 @@ import {getToken} from "./auth";
|
|
|
15
15
|
import XEUtils from "xe-utils";
|
|
16
16
|
|
|
17
17
|
import prefixConfig from "@/prefixConfig.js";
|
|
18
|
+
import moment from "moment";
|
|
18
19
|
|
|
19
20
|
let imFun = {
|
|
20
21
|
request,
|
|
@@ -203,7 +204,7 @@ install = (Vue, opts = {}) => {
|
|
|
203
204
|
paddingHeight = 365;
|
|
204
205
|
}
|
|
205
206
|
|
|
206
|
-
if ("number"
|
|
207
|
+
if ("number" === typeof formType) {
|
|
207
208
|
height = height - paddingHeight - formHeight * formType;
|
|
208
209
|
} else {
|
|
209
210
|
height = height - paddingHeight;
|
|
@@ -329,19 +330,19 @@ install = (Vue, opts = {}) => {
|
|
|
329
330
|
Vue.prototype.$commonFileUtil = {
|
|
330
331
|
// 文件类型获取与判断接口
|
|
331
332
|
getFileSuffix: function (name) {
|
|
332
|
-
|
|
333
|
+
let i = name.lastIndexOf(".");
|
|
333
334
|
if (i < 0) {
|
|
334
335
|
// 默认是文本类型
|
|
335
336
|
return "";
|
|
336
337
|
}
|
|
337
|
-
|
|
338
|
+
let suffix = name.substring(i + 1, name.length).toLowerCase();
|
|
338
339
|
return suffix;
|
|
339
340
|
},
|
|
340
341
|
isBinary: function (suffix) {
|
|
341
|
-
if (!suffix || suffix
|
|
342
|
+
if (!suffix || suffix === "") {
|
|
342
343
|
return false;
|
|
343
344
|
}
|
|
344
|
-
|
|
345
|
+
let fileTypeMap = {
|
|
345
346
|
bin: true,
|
|
346
347
|
exe: true,
|
|
347
348
|
dll: true,
|
|
@@ -350,18 +351,18 @@ install = (Vue, opts = {}) => {
|
|
|
350
351
|
war: true,
|
|
351
352
|
jar: true,
|
|
352
353
|
};
|
|
353
|
-
|
|
354
|
-
if (undefined
|
|
354
|
+
let type = fileTypeMap[suffix];
|
|
355
|
+
if (undefined === type) {
|
|
355
356
|
return false;
|
|
356
357
|
}
|
|
357
358
|
return true;
|
|
358
359
|
},
|
|
359
360
|
isPicture: function (suffix) {
|
|
360
|
-
if (!suffix || suffix
|
|
361
|
+
if (!suffix || suffix === "") {
|
|
361
362
|
return false;
|
|
362
363
|
}
|
|
363
364
|
|
|
364
|
-
|
|
365
|
+
let fileTypeMap = {
|
|
365
366
|
jpg: true,
|
|
366
367
|
jpeg: true,
|
|
367
368
|
png: true,
|
|
@@ -371,18 +372,18 @@ install = (Vue, opts = {}) => {
|
|
|
371
372
|
webp: true
|
|
372
373
|
};
|
|
373
374
|
|
|
374
|
-
|
|
375
|
-
if (undefined
|
|
375
|
+
let type = fileTypeMap[suffix];
|
|
376
|
+
if (undefined === type) {
|
|
376
377
|
return false;
|
|
377
378
|
}
|
|
378
379
|
|
|
379
380
|
return true;
|
|
380
381
|
},
|
|
381
382
|
isVideo: function (suffix) {
|
|
382
|
-
if (!suffix || suffix
|
|
383
|
+
if (!suffix || suffix === "") {
|
|
383
384
|
return false;
|
|
384
385
|
}
|
|
385
|
-
|
|
386
|
+
let fileTypeMap = {
|
|
386
387
|
avi: true,
|
|
387
388
|
mov: true,
|
|
388
389
|
mpeg: true,
|
|
@@ -394,18 +395,18 @@ install = (Vue, opts = {}) => {
|
|
|
394
395
|
ogg: true,
|
|
395
396
|
};
|
|
396
397
|
|
|
397
|
-
|
|
398
|
-
if (undefined
|
|
398
|
+
let type = fileTypeMap[suffix];
|
|
399
|
+
if (undefined === type) {
|
|
399
400
|
return false;
|
|
400
401
|
}
|
|
401
402
|
|
|
402
403
|
return true;
|
|
403
404
|
},
|
|
404
405
|
isText: function (suffix) {
|
|
405
|
-
if (!suffix || suffix
|
|
406
|
+
if (!suffix || suffix === "") {
|
|
406
407
|
return false;
|
|
407
408
|
}
|
|
408
|
-
|
|
409
|
+
let fileTypeMap = {
|
|
409
410
|
txt: true,
|
|
410
411
|
log: true,
|
|
411
412
|
md: true,
|
|
@@ -434,18 +435,18 @@ install = (Vue, opts = {}) => {
|
|
|
434
435
|
yml: true,
|
|
435
436
|
};
|
|
436
437
|
|
|
437
|
-
|
|
438
|
-
if (undefined
|
|
438
|
+
let type = fileTypeMap[suffix];
|
|
439
|
+
if (undefined === type) {
|
|
439
440
|
return false;
|
|
440
441
|
}
|
|
441
442
|
|
|
442
443
|
return true;
|
|
443
444
|
},
|
|
444
445
|
isZip: function (suffix) {
|
|
445
|
-
if (!suffix || suffix
|
|
446
|
+
if (!suffix || suffix === "") {
|
|
446
447
|
return false;
|
|
447
448
|
}
|
|
448
|
-
|
|
449
|
+
let fileTypeMap = {
|
|
449
450
|
zip: true,
|
|
450
451
|
war: true,
|
|
451
452
|
rar: true,
|
|
@@ -459,18 +460,18 @@ install = (Vue, opts = {}) => {
|
|
|
459
460
|
tar: true,
|
|
460
461
|
};
|
|
461
462
|
|
|
462
|
-
|
|
463
|
-
if (undefined
|
|
463
|
+
let type = fileTypeMap[suffix];
|
|
464
|
+
if (undefined === type) {
|
|
464
465
|
return false;
|
|
465
466
|
}
|
|
466
467
|
|
|
467
468
|
return true;
|
|
468
469
|
},
|
|
469
470
|
isOffice: function (suffix) {
|
|
470
|
-
if (!suffix || suffix
|
|
471
|
+
if (!suffix || suffix === "") {
|
|
471
472
|
return false;
|
|
472
473
|
}
|
|
473
|
-
|
|
474
|
+
let fileTypeMap = {
|
|
474
475
|
doc: true,
|
|
475
476
|
docx: true,
|
|
476
477
|
ppt: true,
|
|
@@ -479,23 +480,23 @@ install = (Vue, opts = {}) => {
|
|
|
479
480
|
xlsx: true,
|
|
480
481
|
};
|
|
481
482
|
|
|
482
|
-
|
|
483
|
-
if (undefined
|
|
483
|
+
let type = fileTypeMap[suffix];
|
|
484
|
+
if (undefined === type) {
|
|
484
485
|
return false;
|
|
485
486
|
}
|
|
486
487
|
|
|
487
488
|
return true;
|
|
488
489
|
},
|
|
489
490
|
isPdf: function (suffix) {
|
|
490
|
-
if (!suffix || suffix
|
|
491
|
+
if (!suffix || suffix === "") {
|
|
491
492
|
return false;
|
|
492
493
|
}
|
|
493
|
-
|
|
494
|
+
let fileTypeMap = {
|
|
494
495
|
pdf: true,
|
|
495
496
|
};
|
|
496
497
|
|
|
497
|
-
|
|
498
|
-
if (undefined
|
|
498
|
+
let type = fileTypeMap[suffix];
|
|
499
|
+
if (undefined === type) {
|
|
499
500
|
return false;
|
|
500
501
|
}
|
|
501
502
|
|
|
@@ -504,8 +505,8 @@ install = (Vue, opts = {}) => {
|
|
|
504
505
|
isPictureFile: function (fileName) {
|
|
505
506
|
if(!fileName)return false;
|
|
506
507
|
let typeStr = Object.prototype.toString.call(fileName);
|
|
507
|
-
|
|
508
|
-
if (typeStr
|
|
508
|
+
let suffix = null
|
|
509
|
+
if (typeStr === "[object Object]") {
|
|
509
510
|
suffix = this.getFileSuffix(fileName.name);
|
|
510
511
|
}else{
|
|
511
512
|
suffix = this.getFileSuffix(fileName);
|
|
@@ -513,12 +514,12 @@ install = (Vue, opts = {}) => {
|
|
|
513
514
|
return this.isPicture(suffix);
|
|
514
515
|
},
|
|
515
516
|
isTextFile: function (fileName) {
|
|
516
|
-
|
|
517
|
+
let suffix = this.getFileSuffix(fileName);
|
|
517
518
|
return this.isText(suffix);
|
|
518
519
|
},
|
|
519
520
|
getShowUrl(url, showImagePreview) {
|
|
520
|
-
|
|
521
|
-
|
|
521
|
+
let index = url.lastIndexOf("/");
|
|
522
|
+
let filename;
|
|
522
523
|
if (index >= 0) {
|
|
523
524
|
filename = url.substring(url.lastIndexOf("/") + 1);
|
|
524
525
|
} else {
|
|
@@ -532,11 +533,11 @@ install = (Vue, opts = {}) => {
|
|
|
532
533
|
}
|
|
533
534
|
},
|
|
534
535
|
getFileIconRequire: function (name, showType) {
|
|
535
|
-
|
|
536
|
+
let iconType = this.getDiyFileIconType(name);
|
|
536
537
|
if (!iconType) {
|
|
537
538
|
iconType = "other";
|
|
538
539
|
}
|
|
539
|
-
|
|
540
|
+
let fileIconNameMap = {
|
|
540
541
|
word: "ico-wrod.svg",
|
|
541
542
|
excel: "ico-excel.svg",
|
|
542
543
|
ppt: "ico-ppt.svg",
|
|
@@ -556,15 +557,15 @@ install = (Vue, opts = {}) => {
|
|
|
556
557
|
if (showType) {
|
|
557
558
|
iconType = showType;
|
|
558
559
|
}
|
|
559
|
-
|
|
560
|
+
let fileIcenName = fileIconNameMap[iconType];
|
|
560
561
|
return reqImg(fileIcenName);
|
|
561
562
|
},
|
|
562
563
|
getFileIconPath: function (name, showType) {
|
|
563
|
-
|
|
564
|
+
let iconType = this.getDiyFileIconType(name);
|
|
564
565
|
if (!iconType) {
|
|
565
566
|
iconType = "other";
|
|
566
567
|
}
|
|
567
|
-
|
|
568
|
+
let fileIconNameMap = {
|
|
568
569
|
word: "ico-wrod.svg",
|
|
569
570
|
excel: "ico-excel.svg",
|
|
570
571
|
ppt: "ico-ppt.svg",
|
|
@@ -584,12 +585,12 @@ install = (Vue, opts = {}) => {
|
|
|
584
585
|
if (showType) {
|
|
585
586
|
iconType = showType;
|
|
586
587
|
}
|
|
587
|
-
|
|
588
|
-
|
|
588
|
+
let fileIcenName = fileIconNameMap[iconType];
|
|
589
|
+
let path = "/resources/images/" + fileIcenName;
|
|
589
590
|
return path;
|
|
590
591
|
},
|
|
591
592
|
getDiyFileIconType: function (name) {
|
|
592
|
-
|
|
593
|
+
let fileIconTypeMap = {
|
|
593
594
|
doc: "word",
|
|
594
595
|
docx: "word",
|
|
595
596
|
xls: "excel",
|
|
@@ -620,14 +621,14 @@ install = (Vue, opts = {}) => {
|
|
|
620
621
|
psd: "psd",
|
|
621
622
|
};
|
|
622
623
|
|
|
623
|
-
|
|
624
|
-
if (suffix
|
|
624
|
+
let suffix = this.getFileSuffix(name);
|
|
625
|
+
if (suffix === "") {
|
|
625
626
|
// 默认是文本类型
|
|
626
627
|
return "";
|
|
627
628
|
}
|
|
628
629
|
|
|
629
|
-
|
|
630
|
-
if (undefined
|
|
630
|
+
let iconType = fileIconTypeMap[suffix];
|
|
631
|
+
if (undefined === iconType) {
|
|
631
632
|
return "";
|
|
632
633
|
}
|
|
633
634
|
return iconType;
|
|
@@ -650,8 +651,8 @@ install = (Vue, opts = {}) => {
|
|
|
650
651
|
return pathname.slice(lastDotIndex + 1).toLowerCase();
|
|
651
652
|
},
|
|
652
653
|
downloadFile: function () {
|
|
653
|
-
|
|
654
|
-
|
|
654
|
+
let filePath, name;
|
|
655
|
+
let opts;
|
|
655
656
|
if (typeof arguments[0] === "string") {
|
|
656
657
|
filePath = arguments[0];
|
|
657
658
|
name = arguments[1];
|
|
@@ -661,7 +662,7 @@ install = (Vue, opts = {}) => {
|
|
|
661
662
|
name = opts.name;
|
|
662
663
|
}
|
|
663
664
|
if (filePath) {
|
|
664
|
-
|
|
665
|
+
let url = null;
|
|
665
666
|
if (filePath.indexOf("?") >= 0) {
|
|
666
667
|
url = filePath + "&_d=true";
|
|
667
668
|
} else {
|
|
@@ -686,8 +687,8 @@ install = (Vue, opts = {}) => {
|
|
|
686
687
|
};
|
|
687
688
|
|
|
688
689
|
Vue.prototype.$openFilePreview = function () {
|
|
689
|
-
|
|
690
|
-
|
|
690
|
+
let filePath;
|
|
691
|
+
let opts;
|
|
691
692
|
if (typeof arguments[0] === "string") {
|
|
692
693
|
filePath = arguments[0];
|
|
693
694
|
} else {
|
|
@@ -716,7 +717,7 @@ install = (Vue, opts = {}) => {
|
|
|
716
717
|
|
|
717
718
|
function openInNewTab(url) {
|
|
718
719
|
if (!url) return;
|
|
719
|
-
|
|
720
|
+
let a = document.createElement("a");
|
|
720
721
|
a.href = url;
|
|
721
722
|
a.target = "_blank";
|
|
722
723
|
document.body.appendChild(a);
|
|
@@ -725,8 +726,8 @@ install = (Vue, opts = {}) => {
|
|
|
725
726
|
}
|
|
726
727
|
|
|
727
728
|
Vue.prototype.$getFilePreviewUrl = async function (obj, callback) {
|
|
728
|
-
|
|
729
|
-
|
|
729
|
+
let filePath;
|
|
730
|
+
let opts;
|
|
730
731
|
if (typeof obj === "string") {
|
|
731
732
|
filePath = obj;
|
|
732
733
|
} else {
|
|
@@ -759,7 +760,7 @@ install = (Vue, opts = {}) => {
|
|
|
759
760
|
index = index || 0;
|
|
760
761
|
attachments.forEach((item, i) => {
|
|
761
762
|
let typeStr = Object.prototype.toString.call(item);
|
|
762
|
-
if (typeStr
|
|
763
|
+
if (typeStr === "[object Object]") {
|
|
763
764
|
if (that.$commonFileUtil.isPictureFile(item.url)) {
|
|
764
765
|
if (i <= index) {
|
|
765
766
|
pictureIndex++;
|
|
@@ -794,7 +795,7 @@ install = (Vue, opts = {}) => {
|
|
|
794
795
|
let currentFile = attachment[index];
|
|
795
796
|
let typeStr = Object.prototype.toString.call(currentFile);
|
|
796
797
|
let url =
|
|
797
|
-
typeStr
|
|
798
|
+
typeStr === "[object Object]"
|
|
798
799
|
? currentFile.domain + currentFile.url
|
|
799
800
|
: currentFile;
|
|
800
801
|
if (that.$commonFileUtil.isPictureFile(url)) {
|
|
@@ -805,7 +806,7 @@ install = (Vue, opts = {}) => {
|
|
|
805
806
|
} else {
|
|
806
807
|
let typeStr = Object.prototype.toString.call(attachment);
|
|
807
808
|
let url =
|
|
808
|
-
typeStr
|
|
809
|
+
typeStr === "[object Object]"
|
|
809
810
|
? attachment.domain + attachment.url
|
|
810
811
|
: attachment;
|
|
811
812
|
if (that.$commonFileUtil.isPictureFile(url)) {
|
|
@@ -834,7 +835,7 @@ install = (Vue, opts = {}) => {
|
|
|
834
835
|
let parentTarget = target.$attrs["parent-target"] || target.$parent;
|
|
835
836
|
let originTarget = parentTarget.$refs._viewDialog ? parentTarget : target;
|
|
836
837
|
let updateParam =
|
|
837
|
-
param
|
|
838
|
+
param !== null && param !== undefined && param.updateParam !== null && param.updateParam !== undefined ? param.updateParam : {};
|
|
838
839
|
for (let key in updateParam) {
|
|
839
840
|
originTarget.$emit("update:" + key, updateParam[key]);
|
|
840
841
|
}
|
|
@@ -847,14 +848,14 @@ install = (Vue, opts = {}) => {
|
|
|
847
848
|
Vue.prototype.$baseStartPickerOptions = function (value, type) {
|
|
848
849
|
return {
|
|
849
850
|
disabledDate: (time) => {
|
|
850
|
-
if (value
|
|
851
|
+
if (value !== null && value !== undefined && value !== "") {
|
|
851
852
|
let date = new Date(value.replace(/-/g, "/"));
|
|
852
|
-
if (!type || type
|
|
853
|
+
if (!type || type === "date") {
|
|
853
854
|
date.setDate(date.getDate() + 1);
|
|
854
855
|
return time.getTime() >= date.getTime();
|
|
855
|
-
} else if (type
|
|
856
|
+
} else if (type === "year") {
|
|
856
857
|
return time.getYear() > date.getYear();
|
|
857
|
-
} else if (type
|
|
858
|
+
} else if (type === "month") {
|
|
858
859
|
date.setMonth(date.getMonth() + 1);
|
|
859
860
|
return time.getTime() >= date.getTime();
|
|
860
861
|
}
|
|
@@ -868,7 +869,7 @@ install = (Vue, opts = {}) => {
|
|
|
868
869
|
Vue.prototype.$baseEndPickerOptions = function (value, format) {
|
|
869
870
|
return {
|
|
870
871
|
disabledDate: (time) => {
|
|
871
|
-
if (value
|
|
872
|
+
if (value !== null && value !== undefined && value !== "") {
|
|
872
873
|
let date = new Date(value.replace(/-/g, "/"));
|
|
873
874
|
return time.getTime() < date.getTime();
|
|
874
875
|
} else {
|
|
@@ -1043,20 +1044,20 @@ install = (Vue, opts = {}) => {
|
|
|
1043
1044
|
|
|
1044
1045
|
//数字精确位数
|
|
1045
1046
|
Vue.prototype.$currency = function (value, priceScale, priceRoundType) {
|
|
1046
|
-
if (value
|
|
1047
|
-
if (priceScale
|
|
1047
|
+
if (value !== null && value !== undefined) {
|
|
1048
|
+
if (priceScale === null || priceScale === undefined) {
|
|
1048
1049
|
priceScale = 2;
|
|
1049
1050
|
}
|
|
1050
|
-
if (priceRoundType
|
|
1051
|
+
if (priceRoundType === null || priceRoundType === undefined) {
|
|
1051
1052
|
priceRoundType = "roundHalfUp";
|
|
1052
1053
|
}
|
|
1053
|
-
|
|
1054
|
-
if (priceRoundType
|
|
1054
|
+
let price;
|
|
1055
|
+
if (priceRoundType === "roundHalfUp") {
|
|
1055
1056
|
price = (
|
|
1056
1057
|
Math.round(value * Math.pow(10, priceScale)) /
|
|
1057
1058
|
Math.pow(10, priceScale)
|
|
1058
1059
|
).toFixed(priceScale);
|
|
1059
|
-
} else if (priceRoundType
|
|
1060
|
+
} else if (priceRoundType === "roundUp") {
|
|
1060
1061
|
price = (
|
|
1061
1062
|
Math.ceil(value * Math.pow(10, priceScale)) / Math.pow(10, priceScale)
|
|
1062
1063
|
).toFixed(priceScale);
|
|
@@ -1240,16 +1241,25 @@ install = (Vue, opts = {}) => {
|
|
|
1240
1241
|
}
|
|
1241
1242
|
let $i18n = that.$i18n;
|
|
1242
1243
|
let value = zhValue;
|
|
1243
|
-
if ($i18n.locale
|
|
1244
|
+
if ($i18n.locale === "zh") {
|
|
1244
1245
|
value = zhValue;
|
|
1245
|
-
} else if ($i18n.locale
|
|
1246
|
+
} else if ($i18n.locale === "en") {
|
|
1246
1247
|
value = enValue;
|
|
1247
1248
|
}
|
|
1248
1249
|
return value;
|
|
1249
1250
|
};
|
|
1250
1251
|
|
|
1252
|
+
Vue.prototype.$utcToLocal = function (utcTime) {
|
|
1253
|
+
if(!utcTime)return utcTime;
|
|
1254
|
+
let offsetHours = this.$store.getters.utcTransformOffset;// 时区偏移量,单位:小时
|
|
1255
|
+
if(!offsetHours || offsetHours === 0)return utcTime;
|
|
1256
|
+
let localTime = moment(utcTime).add(offsetHours, "hours");
|
|
1257
|
+
return localTime.format("YYYY-MM-DD HH:mm:ss");
|
|
1258
|
+
};
|
|
1259
|
+
|
|
1251
1260
|
Vue.prototype.$window = window;
|
|
1252
1261
|
};
|
|
1262
|
+
|
|
1253
1263
|
window && Object.assign(window, imFun.prefixConfig);
|
|
1254
1264
|
if (typeof window !== "undefined" && window.Vue) {
|
|
1255
1265
|
install(window.Vue);
|
|
@@ -285,6 +285,34 @@
|
|
|
285
285
|
{{ user.locked ? $t1("是") : $t1("否") }}
|
|
286
286
|
</td>
|
|
287
287
|
</tr>
|
|
288
|
+
<tr>
|
|
289
|
+
<th>
|
|
290
|
+
{{ $t1("地区") }}
|
|
291
|
+
</th>
|
|
292
|
+
<td colspan="3">
|
|
293
|
+
<el-form-item
|
|
294
|
+
prop="areaName"
|
|
295
|
+
:rules="[{ required: false, trigger: 'blur' }]"
|
|
296
|
+
>
|
|
297
|
+
<el-input
|
|
298
|
+
class="search-input"
|
|
299
|
+
v-model="user.areaName"
|
|
300
|
+
clearable
|
|
301
|
+
@clear="
|
|
302
|
+
user.areaName = null;
|
|
303
|
+
user.areaId = null;
|
|
304
|
+
"
|
|
305
|
+
v-el-readonly
|
|
306
|
+
>
|
|
307
|
+
<i
|
|
308
|
+
slot="suffix"
|
|
309
|
+
class="el-input__icon el-icon-search"
|
|
310
|
+
@click="showAreaDialog = true"
|
|
311
|
+
></i>
|
|
312
|
+
</el-input>
|
|
313
|
+
</el-form-item>
|
|
314
|
+
</td>
|
|
315
|
+
</tr>
|
|
288
316
|
<tr v-if="userType == 2">
|
|
289
317
|
<th>
|
|
290
318
|
{{ $t1("签约人") }}
|
|
@@ -504,6 +532,12 @@
|
|
|
504
532
|
@confirm="confirmCountry"
|
|
505
533
|
multi="false"
|
|
506
534
|
/>
|
|
535
|
+
<areaDialog
|
|
536
|
+
v-if="showAreaDialog"
|
|
537
|
+
:visiable.sync="showAreaDialog"
|
|
538
|
+
@confirm="confirmArea"
|
|
539
|
+
multi="false"
|
|
540
|
+
/>
|
|
507
541
|
</div>
|
|
508
542
|
</template>
|
|
509
543
|
|
|
@@ -519,6 +553,7 @@ export default {
|
|
|
519
553
|
saleOrgDialog: () => import("../../../views/user/sale_org/dialog.vue"),
|
|
520
554
|
positionDialog: () => import("../../../views/user/position/dialog.vue"),
|
|
521
555
|
countryDialog: () => import("../../../views/user/country/dialog.vue"),
|
|
556
|
+
areaDialog: () => import("../../../views/user/area/dialog.vue"),
|
|
522
557
|
tempStorageButton,
|
|
523
558
|
},
|
|
524
559
|
props: ["_dataId", "userType", "flag"],
|
|
@@ -558,6 +593,8 @@ export default {
|
|
|
558
593
|
userType: null,
|
|
559
594
|
countryName: null,
|
|
560
595
|
countryCode: null,
|
|
596
|
+
areaName: null,
|
|
597
|
+
areaId: null,
|
|
561
598
|
},
|
|
562
599
|
companyTableData: [],
|
|
563
600
|
vxeOption: {},
|
|
@@ -608,6 +645,7 @@ export default {
|
|
|
608
645
|
saveConfirm: () => {},
|
|
609
646
|
},
|
|
610
647
|
showCountryDialog: false,
|
|
648
|
+
showAreaDialog: false,
|
|
611
649
|
};
|
|
612
650
|
},
|
|
613
651
|
computed: {
|
|
@@ -1285,6 +1323,13 @@ export default {
|
|
|
1285
1323
|
(item) => item.companyCode == companyCode
|
|
1286
1324
|
);
|
|
1287
1325
|
},
|
|
1326
|
+
confirmArea(rows) {
|
|
1327
|
+
if (rows.length) {
|
|
1328
|
+
let row = rows[0];
|
|
1329
|
+
this.user.areaId = row.id;
|
|
1330
|
+
this.user.areaName = row.fullName;
|
|
1331
|
+
}
|
|
1332
|
+
},
|
|
1288
1333
|
},
|
|
1289
1334
|
};
|
|
1290
1335
|
</script>
|