cloud-web-corejs 1.0.54-dev.677 → 1.0.54-dev.679
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 +2 -1
- package/src/components/baseArea/index.vue +665 -0
- package/src/components/table/index.js +1180 -1
- package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +158 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +74 -75
- package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaDataType-editor.vue +24 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaName-editor.vue +20 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -0
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +54 -2
- package/src/components/xform/form-render/container-item/data-table-mixin.js +82 -74
- package/src/components/xform/form-render/indexMixin.js +34 -0
- package/src/components/xform/lang/en-US.js +7 -0
- package/src/components/xform/lang/zh-CN.js +7 -0
- package/src/index.js +4 -0
- package/src/layout/components/Sidebar/default.vue +1 -1
- package/src/views/bd/setting/formVersion/compareBasicSection.vue +6 -7
- package/src/views/bd/setting/formVersion/compareCodeSection.vue +21 -17
- package/src/views/bd/setting/formVersion/compareContMixin.scss +14 -20
- package/src/views/bd/setting/formVersion/compareDialog.vue +2 -2
- package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +3 -3
- package/src/views/bd/setting/formVersion/reverButton.vue +1 -1
- package/src/views/bd/setting/formVersion/tableDetailDiff.js +3 -2
- package/src/views/user/form/vform/designer.vue +3 -1
- package/src/views/user/form/vform/formFieldMapping.js +2 -3
|
@@ -123,6 +123,8 @@ modules = {
|
|
|
123
123
|
eventConfig: {},
|
|
124
124
|
dynamicTableColumns: [],
|
|
125
125
|
dynamicColumnsPreloaded: false,
|
|
126
|
+
dynamicColumnsInitResolved: false,
|
|
127
|
+
dynamicColumnsInitSkipped: false,
|
|
126
128
|
};
|
|
127
129
|
},
|
|
128
130
|
watch: {
|
|
@@ -177,8 +179,8 @@ modules = {
|
|
|
177
179
|
if (!this.widget.options.dynamicColumnMode) {
|
|
178
180
|
this.$set(this.widget.options, "dynamicColumnMode", "append");
|
|
179
181
|
}
|
|
180
|
-
if (this.widget.options.
|
|
181
|
-
this.$set(this.widget.options, "
|
|
182
|
+
if (this.widget.options.dynamicColumnSourceType === undefined) {
|
|
183
|
+
this.$set(this.widget.options, "dynamicColumnSourceType", "none");
|
|
182
184
|
}
|
|
183
185
|
this.initRefList();
|
|
184
186
|
// this.initConfig();
|
|
@@ -695,7 +697,13 @@ modules = {
|
|
|
695
697
|
getTableColumns() {
|
|
696
698
|
return this.widget.options.tableColumns || [];
|
|
697
699
|
},
|
|
700
|
+
getDynamicColumnSourceType() {
|
|
701
|
+
return this.widget.options.dynamicColumnSourceType || "none";
|
|
702
|
+
},
|
|
698
703
|
getDynamicTableColumnsFromScript() {
|
|
704
|
+
if (this.getDynamicColumnSourceType() !== "script") {
|
|
705
|
+
return undefined;
|
|
706
|
+
}
|
|
699
707
|
const script = this.widget.options.dynamicColumnsScript;
|
|
700
708
|
if (!script) {
|
|
701
709
|
return undefined;
|
|
@@ -746,12 +754,16 @@ modules = {
|
|
|
746
754
|
}
|
|
747
755
|
return staticCols;
|
|
748
756
|
},
|
|
749
|
-
getEffectiveTableColumns() {
|
|
757
|
+
getEffectiveTableColumns(forceDynamic = false) {
|
|
750
758
|
const staticColumns = this.widget.options.tableColumns || [];
|
|
751
759
|
const runtimeDynamic = this.dynamicTableColumns || [];
|
|
752
|
-
const
|
|
753
|
-
|
|
754
|
-
|
|
760
|
+
const applyScriptDynamic =
|
|
761
|
+
forceDynamic || !this.shouldSkipDynamicColumnsOnInit();
|
|
762
|
+
if (applyScriptDynamic) {
|
|
763
|
+
const scriptDynamic = this.getDynamicTableColumnsFromScript();
|
|
764
|
+
if (scriptDynamic !== undefined) {
|
|
765
|
+
return this.mergeDynamicTableColumns(staticColumns, scriptDynamic);
|
|
766
|
+
}
|
|
755
767
|
}
|
|
756
768
|
if (runtimeDynamic.length) {
|
|
757
769
|
if (this.widget.options.dynamicColumnMode === "replace") {
|
|
@@ -780,11 +792,16 @@ modules = {
|
|
|
780
792
|
this.widget.options.tableColumns = savedColumns;
|
|
781
793
|
return tableColumns;
|
|
782
794
|
},
|
|
783
|
-
ensureEffectiveColumnWidgets() {
|
|
784
|
-
const effectiveColumns = this.getEffectiveTableColumns();
|
|
795
|
+
ensureEffectiveColumnWidgets(forceDynamic = false) {
|
|
796
|
+
const effectiveColumns = this.getEffectiveTableColumns(forceDynamic);
|
|
785
797
|
this.attachTableColumnWidgets(effectiveColumns);
|
|
786
798
|
this.syncEffectiveColumnWidgetFieldKeys(effectiveColumns);
|
|
787
799
|
},
|
|
800
|
+
shouldSkipDynamicColumnsOnInit() {
|
|
801
|
+
return (
|
|
802
|
+
this.dynamicColumnsInitResolved && this.dynamicColumnsInitSkipped
|
|
803
|
+
);
|
|
804
|
+
},
|
|
788
805
|
getColumnVisible(columnConfig) {
|
|
789
806
|
if (columnConfig.show === false) {
|
|
790
807
|
return false;
|
|
@@ -800,8 +817,8 @@ modules = {
|
|
|
800
817
|
return true;
|
|
801
818
|
},
|
|
802
819
|
applyTableColumnsReload() {
|
|
803
|
-
this.ensureEffectiveColumnWidgets();
|
|
804
|
-
const effectiveColumns = this.getEffectiveTableColumns();
|
|
820
|
+
this.ensureEffectiveColumnWidgets(true);
|
|
821
|
+
const effectiveColumns = this.getEffectiveTableColumns(true);
|
|
805
822
|
return new Promise((resolve) => {
|
|
806
823
|
this.initColumnWidgetConfig(() => {
|
|
807
824
|
const columns = this.createColumns();
|
|
@@ -859,11 +876,8 @@ modules = {
|
|
|
859
876
|
}
|
|
860
877
|
);
|
|
861
878
|
},
|
|
862
|
-
refreshTableColumns() {
|
|
863
|
-
return this.applyTableColumnsReload();
|
|
864
|
-
},
|
|
865
879
|
refreshColumnVisible() {
|
|
866
|
-
return this.
|
|
880
|
+
return this.applyTableColumnsReload();
|
|
867
881
|
},
|
|
868
882
|
normalizeDynamicColumnItem(item, index) {
|
|
869
883
|
if (!item || typeof item !== "object") {
|
|
@@ -955,7 +969,19 @@ modules = {
|
|
|
955
969
|
}
|
|
956
970
|
return [];
|
|
957
971
|
},
|
|
958
|
-
|
|
972
|
+
loadDynamicColumns(options = {}) {
|
|
973
|
+
const source = this.getDynamicColumnSourceType();
|
|
974
|
+
if (source === "script") {
|
|
975
|
+
return this.applyTableColumnsReload().then((columns) => {
|
|
976
|
+
options.success && options.success(null, columns);
|
|
977
|
+
return columns;
|
|
978
|
+
});
|
|
979
|
+
}
|
|
980
|
+
if (source !== "api") {
|
|
981
|
+
const columns = this.getEffectiveTableColumns(true);
|
|
982
|
+
options.success && options.success(null, columns);
|
|
983
|
+
return Promise.resolve(columns);
|
|
984
|
+
}
|
|
959
985
|
const isLoading = options.isLoading ?? true;
|
|
960
986
|
const mode = options.mode ?? this.widget.options.dynamicColumnMode;
|
|
961
987
|
return this.requestDynamicColumnsFromApi({
|
|
@@ -971,18 +997,19 @@ modules = {
|
|
|
971
997
|
});
|
|
972
998
|
});
|
|
973
999
|
},
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
},
|
|
980
|
-
resolveShouldAutoLoadDynamicColumns() {
|
|
1000
|
+
resolveShouldInitDynamicColumns() {
|
|
1001
|
+
const source = this.getDynamicColumnSourceType();
|
|
1002
|
+
if (source === "none") {
|
|
1003
|
+
return Promise.resolve(false);
|
|
1004
|
+
}
|
|
981
1005
|
const options = this.widget.options;
|
|
982
|
-
if (
|
|
1006
|
+
if (source === "api" && !options.dynamicColumnScriptCode) {
|
|
983
1007
|
return Promise.resolve(false);
|
|
984
1008
|
}
|
|
985
|
-
|
|
1009
|
+
if (source === "script" && !options.dynamicColumnsScript) {
|
|
1010
|
+
return Promise.resolve(false);
|
|
1011
|
+
}
|
|
1012
|
+
const script = options.dynamicColumnLoadScript;
|
|
986
1013
|
if (!script) {
|
|
987
1014
|
return Promise.resolve(true);
|
|
988
1015
|
}
|
|
@@ -990,46 +1017,15 @@ modules = {
|
|
|
990
1017
|
if (!formRef || formRef.designState) {
|
|
991
1018
|
return Promise.resolve(false);
|
|
992
1019
|
}
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
return;
|
|
998
|
-
}
|
|
999
|
-
settled = true;
|
|
1000
|
-
resolve(true);
|
|
1001
|
-
};
|
|
1002
|
-
const finishSkip = () => {
|
|
1003
|
-
if (settled) {
|
|
1004
|
-
return;
|
|
1005
|
-
}
|
|
1006
|
-
settled = true;
|
|
1007
|
-
resolve(false);
|
|
1008
|
-
};
|
|
1009
|
-
const done = finishLoad;
|
|
1010
|
-
try {
|
|
1011
|
-
const result = formRef.handleCustomEvent(script, ["done"], [done]);
|
|
1012
|
-
if (settled) {
|
|
1013
|
-
return;
|
|
1014
|
-
}
|
|
1015
|
-
if (result === null || result === false) {
|
|
1016
|
-
if (result === null) {
|
|
1017
|
-
finishSkip();
|
|
1018
|
-
return;
|
|
1019
|
-
}
|
|
1020
|
-
// return false:异步 defer 等待 done();未调用则视为跳过
|
|
1021
|
-
setTimeout(() => {
|
|
1022
|
-
if (!settled) {
|
|
1023
|
-
finishSkip();
|
|
1024
|
-
}
|
|
1025
|
-
}, 0);
|
|
1026
|
-
return;
|
|
1027
|
-
}
|
|
1028
|
-
finishLoad();
|
|
1029
|
-
} catch (e) {
|
|
1030
|
-
finishSkip();
|
|
1020
|
+
try {
|
|
1021
|
+
const result = this.handleCustomEvent(script);
|
|
1022
|
+
if (result === false || result === null) {
|
|
1023
|
+
return Promise.resolve(false);
|
|
1031
1024
|
}
|
|
1032
|
-
|
|
1025
|
+
return Promise.resolve(true);
|
|
1026
|
+
} catch (e) {
|
|
1027
|
+
return Promise.resolve(false);
|
|
1028
|
+
}
|
|
1033
1029
|
},
|
|
1034
1030
|
isTableColumnGridInitialized() {
|
|
1035
1031
|
return !!this.vxeOption;
|
|
@@ -1066,28 +1062,33 @@ modules = {
|
|
|
1066
1062
|
});
|
|
1067
1063
|
},
|
|
1068
1064
|
bootstrapDynamicColumnsBeforeInit() {
|
|
1069
|
-
return this.
|
|
1070
|
-
|
|
1065
|
+
return this.resolveShouldInitDynamicColumns().then((shouldInit) => {
|
|
1066
|
+
this.dynamicColumnsInitResolved = true;
|
|
1067
|
+
this.dynamicColumnsInitSkipped = !shouldInit;
|
|
1068
|
+
if (!shouldInit) {
|
|
1069
|
+
return;
|
|
1070
|
+
}
|
|
1071
|
+
if (this.getDynamicColumnSourceType() !== "api") {
|
|
1071
1072
|
return;
|
|
1072
1073
|
}
|
|
1073
1074
|
this.dynamicColumnsPreloaded = true;
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
.catch(() => {
|
|
1078
|
-
this.dynamicColumnsPreloaded = false;
|
|
1079
|
-
});
|
|
1075
|
+
return this.loadDynamicColumns({ isLoading: true }).catch(() => {
|
|
1076
|
+
this.dynamicColumnsPreloaded = false;
|
|
1077
|
+
});
|
|
1080
1078
|
});
|
|
1081
1079
|
},
|
|
1082
1080
|
tryAutoLoadDynamicColumns() {
|
|
1083
|
-
if (
|
|
1081
|
+
if (
|
|
1082
|
+
this.dynamicColumnsPreloaded ||
|
|
1083
|
+
this.getDynamicColumnSourceType() !== "api"
|
|
1084
|
+
) {
|
|
1084
1085
|
return Promise.resolve();
|
|
1085
1086
|
}
|
|
1086
|
-
return this.
|
|
1087
|
+
return this.resolveShouldInitDynamicColumns().then((shouldLoad) => {
|
|
1087
1088
|
if (!shouldLoad) {
|
|
1088
1089
|
return;
|
|
1089
1090
|
}
|
|
1090
|
-
return this.
|
|
1091
|
+
return this.loadDynamicColumns({ isLoading: true }).catch(() => {});
|
|
1091
1092
|
});
|
|
1092
1093
|
},
|
|
1093
1094
|
getTableData: function () {
|
|
@@ -1886,6 +1887,9 @@ modules = {
|
|
|
1886
1887
|
isQueryAllPage,
|
|
1887
1888
|
exportItemConfig,
|
|
1888
1889
|
vform: true,
|
|
1890
|
+
...(this.getDynamicColumnSourceType() !== "none"
|
|
1891
|
+
? { visibleSync: false }
|
|
1892
|
+
: {}),
|
|
1889
1893
|
...(dataTableConfig.otherConfig || {}),
|
|
1890
1894
|
config: {
|
|
1891
1895
|
height: height,
|
|
@@ -2602,6 +2606,10 @@ modules = {
|
|
|
2602
2606
|
let vabSearchName = widget.options.vabSearchName;
|
|
2603
2607
|
if (vabSearchName) newData[vabSearchName] = null;
|
|
2604
2608
|
}
|
|
2609
|
+
if (widget.type === "area-select") {
|
|
2610
|
+
let areaName = widget.options.areaName;
|
|
2611
|
+
if (areaName) newData[areaName] = null;
|
|
2612
|
+
}
|
|
2605
2613
|
}
|
|
2606
2614
|
},
|
|
2607
2615
|
createNewTableData(isEdit, defaultValueEnabled = true) {
|
|
@@ -1564,6 +1564,18 @@ modules = {
|
|
|
1564
1564
|
baseRefUtil.deepClone(val)
|
|
1565
1565
|
);
|
|
1566
1566
|
}
|
|
1567
|
+
} else if ("area-select" === e.type) {
|
|
1568
|
+
let c = currentFormData[fieldKeyName];
|
|
1569
|
+
this.$set(this.formDataModel, fieldKeyName, baseRefUtil.deepClone(c));
|
|
1570
|
+
let areaName = e.options.areaName;
|
|
1571
|
+
if (areaName) {
|
|
1572
|
+
let val = currentFormData[areaName] ?? null;
|
|
1573
|
+
this.$set(
|
|
1574
|
+
this.formDataModel,
|
|
1575
|
+
areaName,
|
|
1576
|
+
baseRefUtil.deepClone(val)
|
|
1577
|
+
);
|
|
1578
|
+
}
|
|
1567
1579
|
} else if ("table2-item" === e.type) {
|
|
1568
1580
|
this.$set(this.formDataModel, fieldKeyName, []);
|
|
1569
1581
|
} else if (e.formItemFlag) {
|
|
@@ -2125,6 +2137,10 @@ modules = {
|
|
|
2125
2137
|
let vabSearchName = widget.options.vabSearchName;
|
|
2126
2138
|
if (vabSearchName) fieldMap[vabSearchName] = vabSearchName;
|
|
2127
2139
|
}
|
|
2140
|
+
if (this.isAreaSelectFlagWidget(widget)) {
|
|
2141
|
+
let areaName = widget.options.areaName;
|
|
2142
|
+
if (areaName) fieldMap[areaName] = areaName;
|
|
2143
|
+
}
|
|
2128
2144
|
}
|
|
2129
2145
|
} else {
|
|
2130
2146
|
if (widget.category === "container") {
|
|
@@ -2161,6 +2177,9 @@ modules = {
|
|
|
2161
2177
|
type === "multiSearch"
|
|
2162
2178
|
);
|
|
2163
2179
|
},
|
|
2180
|
+
isAreaSelectFlagWidget(widget) {
|
|
2181
|
+
return widget?.type === "area-select";
|
|
2182
|
+
},
|
|
2164
2183
|
getFormTemplateTableDTOs() {
|
|
2165
2184
|
let formTemplateTableDTOs = [];
|
|
2166
2185
|
let formCode = this.reportTemplate.formCode;
|
|
@@ -2288,6 +2307,21 @@ modules = {
|
|
|
2288
2307
|
});
|
|
2289
2308
|
}
|
|
2290
2309
|
}
|
|
2310
|
+
} else if (widget.tableField && this.isAreaSelectFlagWidget(widget)) {
|
|
2311
|
+
if (submitFlag) {
|
|
2312
|
+
fields.push({
|
|
2313
|
+
fieldDesc: widget.options.label + "ID",
|
|
2314
|
+
fieldName: widgetName,
|
|
2315
|
+
});
|
|
2316
|
+
let areaName = widget.options.areaName;
|
|
2317
|
+
if (areaName) {
|
|
2318
|
+
fields.push({
|
|
2319
|
+
fieldDesc: widget.options.label,
|
|
2320
|
+
fieldName: areaName,
|
|
2321
|
+
name: areaName,
|
|
2322
|
+
});
|
|
2323
|
+
}
|
|
2324
|
+
}
|
|
2291
2325
|
} else if (widget.tableField) {
|
|
2292
2326
|
if (submitFlag) {
|
|
2293
2327
|
fields.push({
|
|
@@ -55,6 +55,7 @@ export default {
|
|
|
55
55
|
"file-upload": "File",
|
|
56
56
|
"rich-editor": "Rich Editor",
|
|
57
57
|
cascader: "Cascader",
|
|
58
|
+
"area-select": "Area Select",
|
|
58
59
|
slot: "Slot",
|
|
59
60
|
custom: "Custom Component"
|
|
60
61
|
},
|
|
@@ -190,6 +191,12 @@ export default {
|
|
|
190
191
|
textContent: "Text",
|
|
191
192
|
htmlContent: "HTML",
|
|
192
193
|
clearable: "Clearable",
|
|
194
|
+
areaDataType: "Area Level",
|
|
195
|
+
areaDataType1: "Province/City",
|
|
196
|
+
areaDataType2: "Province/City/District",
|
|
197
|
+
areaDataType3: "Province/City/District/Town",
|
|
198
|
+
areaName: "Area Name Field",
|
|
199
|
+
areaNameHint: "Form field name for area full name",
|
|
193
200
|
editable: "Editable",
|
|
194
201
|
format: "Format",
|
|
195
202
|
valueFormat: "Value Format",
|
|
@@ -77,6 +77,7 @@ export default {
|
|
|
77
77
|
"copy_button": "复制按钮",
|
|
78
78
|
"rich-editor": "富文本",
|
|
79
79
|
cascader: "级联选择",
|
|
80
|
+
"area-select": "地区选择",
|
|
80
81
|
slot: "插槽",
|
|
81
82
|
echart: '图表',
|
|
82
83
|
'echart-pie': '饼图',
|
|
@@ -353,6 +354,12 @@ export default {
|
|
|
353
354
|
preWrap: '自动换行',
|
|
354
355
|
htmlContent: "HTML",
|
|
355
356
|
clearable: "可清除",
|
|
357
|
+
areaDataType: "地区层级",
|
|
358
|
+
areaDataType1: "省/市",
|
|
359
|
+
areaDataType2: "省/市/区",
|
|
360
|
+
areaDataType3: "省/市/区/乡镇",
|
|
361
|
+
areaName: "地区名称字段",
|
|
362
|
+
areaNameHint: "用于保存地区全称的表单字段名",
|
|
356
363
|
editable: "可输入",
|
|
357
364
|
format: "显示格式",
|
|
358
365
|
valueFormat: "绑定值格式",
|
package/src/index.js
CHANGED
|
@@ -134,6 +134,10 @@ import baseInputBatch from "@base/components/baseInputBatch/index.vue";
|
|
|
134
134
|
|
|
135
135
|
Vue.component(baseInputBatch.name, baseInputBatch);
|
|
136
136
|
|
|
137
|
+
import baseArea from "@base/components/baseArea/index.vue";
|
|
138
|
+
|
|
139
|
+
Vue.component(baseArea.name, baseArea);
|
|
140
|
+
|
|
137
141
|
Vue.component("baseInputExport", () =>
|
|
138
142
|
import("@base/components/baseInputExport/index.vue")
|
|
139
143
|
);
|
|
@@ -1547,7 +1547,7 @@ export default {
|
|
|
1547
1547
|
// height: auto !important;
|
|
1548
1548
|
// }
|
|
1549
1549
|
.el-menu--vertical{
|
|
1550
|
-
> .el-menu--popup{overflow:
|
|
1550
|
+
> .el-menu--popup{overflow: auto;//不用atuo 超出不出滚动条
|
|
1551
1551
|
.el-submenu__title, .el-menu-item{
|
|
1552
1552
|
height: auto !important;
|
|
1553
1553
|
line-height: 1.4 !important;
|
|
@@ -76,8 +76,8 @@ export default {
|
|
|
76
76
|
@include compare-cont-shell;
|
|
77
77
|
@include compare-cont-title;
|
|
78
78
|
@include compare-version-label;
|
|
79
|
+
margin:16px;
|
|
79
80
|
}
|
|
80
|
-
|
|
81
81
|
.table-border_1 {
|
|
82
82
|
width: 100%;
|
|
83
83
|
border-collapse: collapse;
|
|
@@ -86,8 +86,7 @@ export default {
|
|
|
86
86
|
th,
|
|
87
87
|
td {
|
|
88
88
|
padding: 10px 12px;
|
|
89
|
-
border: 1px solid
|
|
90
|
-
font-size: 13px;
|
|
89
|
+
border: 1px solid rgba(0,0,0,0.15);
|
|
91
90
|
line-height: 20px;
|
|
92
91
|
vertical-align: middle;
|
|
93
92
|
word-break: break-all;
|
|
@@ -95,15 +94,15 @@ export default {
|
|
|
95
94
|
|
|
96
95
|
th {
|
|
97
96
|
width: 160px;
|
|
98
|
-
background:
|
|
99
|
-
color:
|
|
97
|
+
background: rgba(0,0,0,0.04);
|
|
98
|
+
color: rgba(0,0,0,.65);
|
|
100
99
|
font-weight: 500;
|
|
101
100
|
text-align: left;
|
|
102
101
|
}
|
|
103
102
|
|
|
104
103
|
td {
|
|
105
104
|
width: calc((100% - 160px) / 2);
|
|
106
|
-
color:
|
|
105
|
+
color: rgba(0,0,0,.85);
|
|
107
106
|
|
|
108
107
|
.version-blue,
|
|
109
108
|
.version-green {
|
|
@@ -119,7 +118,7 @@ export default {
|
|
|
119
118
|
tr.id-difference {
|
|
120
119
|
td {
|
|
121
120
|
background: #fef0f0;
|
|
122
|
-
color:
|
|
121
|
+
color: $red;
|
|
123
122
|
}
|
|
124
123
|
}
|
|
125
124
|
}
|
|
@@ -10,23 +10,25 @@
|
|
|
10
10
|
</div>
|
|
11
11
|
<div v-if="enableDiff" class="compare-diff-legend">
|
|
12
12
|
<span class="compare-diff-nav">
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
<el-button plain
|
|
14
|
+
:type="!diffNavList.length ? 'info' : 'primary'"
|
|
15
|
+
class="button-sty"
|
|
16
|
+
:disabled="!diffNavList.length"
|
|
16
17
|
@click="diffNavList.length && gotoPrevDiff()"
|
|
17
18
|
>
|
|
18
19
|
<i class="el-icon-top"></i>{{ $t1("上一处差异") }}
|
|
19
|
-
</
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
</el-button>
|
|
21
|
+
<el-button plain
|
|
22
|
+
:type="!diffNavList.length ? 'info' : 'primary'"
|
|
23
|
+
class="button-sty"
|
|
24
|
+
:disabled="!diffNavList.length"
|
|
23
25
|
@click="diffNavList.length && gotoNextDiff()"
|
|
24
26
|
>
|
|
25
27
|
<i class="el-icon-bottom"></i>{{ $t1("下一处差异") }}
|
|
26
|
-
</
|
|
27
|
-
<
|
|
28
|
+
</el-button>
|
|
29
|
+
<el-button type="primary" plain @click="gotoTop" class="button-sty">
|
|
28
30
|
<i class="el-icon-caret-top"></i>{{ $t1("返回顶部") }}
|
|
29
|
-
</
|
|
31
|
+
</el-button>
|
|
30
32
|
<span v-if="diffNavList.length" class="diff-nav-count">
|
|
31
33
|
{{ currentDiffIndex < 0 ? "-" : currentDiffIndex + 1 }} /
|
|
32
34
|
{{ diffNavList.length }}
|
|
@@ -358,7 +360,8 @@ export default {
|
|
|
358
360
|
@include compare-cont-full-link;
|
|
359
361
|
@include compare-version-label;
|
|
360
362
|
@include compare-flex-row;
|
|
361
|
-
|
|
363
|
+
padding:0 16px 16px;
|
|
364
|
+
overflow: hidden;
|
|
362
365
|
.compare-code-flex {
|
|
363
366
|
margin-top: 0;
|
|
364
367
|
|
|
@@ -378,17 +381,15 @@ export default {
|
|
|
378
381
|
position: relative;
|
|
379
382
|
min-height: 28px;
|
|
380
383
|
padding-right: 24px;
|
|
384
|
+
margin-bottom:16px;
|
|
381
385
|
}
|
|
382
386
|
|
|
383
387
|
.compare-header-main {
|
|
384
|
-
|
|
385
|
-
align-items: center;
|
|
386
|
-
flex-wrap: wrap;
|
|
387
|
-
gap: 0 16px;
|
|
388
|
+
position:relative;
|
|
388
389
|
}
|
|
389
390
|
|
|
390
391
|
.title {
|
|
391
|
-
|
|
392
|
+
|
|
392
393
|
}
|
|
393
394
|
|
|
394
395
|
.compare-diff-legend {
|
|
@@ -397,7 +398,9 @@ export default {
|
|
|
397
398
|
flex-wrap: wrap;
|
|
398
399
|
font-size: 12px;
|
|
399
400
|
gap: 0 12px;
|
|
400
|
-
|
|
401
|
+
position: absolute;
|
|
402
|
+
top: 8px;
|
|
403
|
+
left: 127px;
|
|
401
404
|
.legend-item {
|
|
402
405
|
display: inline-block;
|
|
403
406
|
padding: 2px 8px;
|
|
@@ -501,6 +504,7 @@ export default {
|
|
|
501
504
|
flex-direction: column;
|
|
502
505
|
margin: 0;
|
|
503
506
|
overflow: hidden;
|
|
507
|
+
background:#FFF;border-radius:12px;
|
|
504
508
|
|
|
505
509
|
.compare-code-header {
|
|
506
510
|
flex-shrink: 0;
|
|
@@ -1,32 +1,26 @@
|
|
|
1
|
+
@import "~@/styles/variables.scss";
|
|
1
2
|
@mixin compare-cont-shell {
|
|
2
3
|
position: relative;
|
|
3
|
-
margin-bottom: 8px;
|
|
4
|
-
padding: 8px;
|
|
5
|
-
background: #fff;
|
|
6
|
-
border-radius: 2px;
|
|
7
|
-
|
|
8
4
|
~ .compare-cont {
|
|
9
5
|
margin-bottom: 0;
|
|
6
|
+
|
|
10
7
|
}
|
|
11
8
|
}
|
|
12
9
|
|
|
13
10
|
@mixin compare-cont-title {
|
|
14
11
|
> .title {
|
|
15
|
-
|
|
16
|
-
margin-bottom: 8px;
|
|
17
|
-
font-size: 14px;
|
|
18
|
-
color: #303133;
|
|
12
|
+
margin: -16px -16px 16px;
|
|
19
13
|
}
|
|
20
14
|
}
|
|
21
15
|
|
|
22
16
|
@mixin compare-cont-full-link {
|
|
23
17
|
.is-full {
|
|
24
18
|
position: absolute;
|
|
25
|
-
top:
|
|
26
|
-
right:
|
|
27
|
-
padding:
|
|
19
|
+
top: 12px;
|
|
20
|
+
right: 12px;
|
|
21
|
+
padding: 4px 6px;
|
|
28
22
|
font-size: 16px;
|
|
29
|
-
color:
|
|
23
|
+
color: $baseColor;
|
|
30
24
|
background: #f2f6fc;
|
|
31
25
|
border-radius: 4px;
|
|
32
26
|
|
|
@@ -40,21 +34,21 @@
|
|
|
40
34
|
.version-blue,
|
|
41
35
|
.version-green {
|
|
42
36
|
display: inline-block;
|
|
43
|
-
height:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
font-size: 12px;
|
|
47
|
-
line-height: 22px;
|
|
37
|
+
height: 26px;
|
|
38
|
+
padding: 0 8px;
|
|
39
|
+
line-height: 26px;
|
|
48
40
|
color: #fff;
|
|
49
41
|
vertical-align: middle;
|
|
42
|
+
width: 88px;
|
|
43
|
+
text-align: center;
|
|
50
44
|
}
|
|
51
45
|
|
|
52
46
|
.version-blue {
|
|
53
|
-
background:
|
|
47
|
+
background: $baseColor;
|
|
54
48
|
}
|
|
55
49
|
|
|
56
50
|
.version-green {
|
|
57
|
-
background:
|
|
51
|
+
background: $green;
|
|
58
52
|
}
|
|
59
53
|
}
|
|
60
54
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
:close-on-click-modal="falseValue"
|
|
8
8
|
:visible.sync="showDialog"
|
|
9
9
|
:modal="falseValue"
|
|
10
|
-
custom-class="dialog-style list-dialog dialog-checkbox
|
|
10
|
+
custom-class="dialog-style list-dialog dialog-checkbox nopd0 form-version-compare-dialog"
|
|
11
11
|
width="1200px"
|
|
12
12
|
@close="dialogClose"
|
|
13
13
|
v-el-drag-dialog
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
>
|
|
17
17
|
<div
|
|
18
18
|
class="cont compare-dialog-cont"
|
|
19
|
-
style="height: calc(100vh -
|
|
19
|
+
style="height: calc(100vh - 48px); overflow: auto"
|
|
20
20
|
>
|
|
21
21
|
<compareContent
|
|
22
22
|
v-if="compareReady"
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
:close-on-click-modal="falseValue"
|
|
8
8
|
:visible.sync="showDialog"
|
|
9
9
|
:modal="falseValue"
|
|
10
|
-
custom-class="dialog-style list-dialog dialog-checkbox
|
|
10
|
+
custom-class="dialog-style list-dialog dialog-checkbox nopd0"
|
|
11
11
|
width="1200px"
|
|
12
12
|
@close="dialogClose"
|
|
13
13
|
v-el-drag-dialog
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<div
|
|
18
18
|
class="cont"
|
|
19
19
|
id="containt"
|
|
20
|
-
style="height: calc(100vh -
|
|
20
|
+
style="height: calc(100vh - 48px); overflow: hidden"
|
|
21
21
|
>
|
|
22
22
|
<el-tabs ref="xTabs" v-model="activeName" class="tab-box">
|
|
23
23
|
<el-tab-pane :label="$t1('详情')" name="first">
|
|
@@ -392,7 +392,7 @@ export default {
|
|
|
392
392
|
</script>
|
|
393
393
|
<style scoped lang="scss">
|
|
394
394
|
.grid-height {
|
|
395
|
-
height: calc(100vh -
|
|
395
|
+
height: calc(100vh - 106px) !important;
|
|
396
396
|
}
|
|
397
397
|
::v-deep .detail-wrap .d-cont {
|
|
398
398
|
height: calc(100vh - 148px) !important;
|
|
@@ -34,14 +34,15 @@ export function getDetailRowKey(row, index = 0) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export function sortDetailRowsByZdEn(rows = []) {
|
|
37
|
-
return [...rows].sort((a, b) => {
|
|
37
|
+
/* return [...rows].sort((a, b) => {
|
|
38
38
|
const aVal = String(a?.zdEn ?? "");
|
|
39
39
|
const bVal = String(b?.zdEn ?? "");
|
|
40
40
|
return aVal.localeCompare(bVal, "zh-CN", {
|
|
41
41
|
numeric: true,
|
|
42
42
|
sensitivity: "base",
|
|
43
43
|
});
|
|
44
|
-
});
|
|
44
|
+
}); */
|
|
45
|
+
return [...rows];
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
export function buildRowDiffMaps(preCellDiff = {}, curCellDiff = {}) {
|
|
@@ -668,10 +668,12 @@ export default {
|
|
|
668
668
|
|
|
669
669
|
/* 处理地区选择字段 */
|
|
670
670
|
if (fldObj.type === "AreaSelect") {
|
|
671
|
-
fieldSchema.optionItemsReadonly = true;
|
|
672
671
|
fieldSchema.options.areaDataType = !fldObj.areaDataType
|
|
673
672
|
? fieldSchema.options.areaDataType
|
|
674
673
|
: fldObj.areaDataType * 1;
|
|
674
|
+
if (fldObj.areaName) {
|
|
675
|
+
fieldSchema.options.areaName = fldObj.areaName;
|
|
676
|
+
}
|
|
675
677
|
}
|
|
676
678
|
|
|
677
679
|
/* 处理一对一字段 */
|