fmui-base 2.3.49 → 2.3.51
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/README.md +2 -0
- package/lib/db/db.js +8 -0
- package/lib/db/variables.js +1 -0
- package/lib/form/form.js +134 -120
- package/lib/form/subForm.js +3 -3
- package/lib/form/table.js +93 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/lib/db/db.js
CHANGED
|
@@ -855,6 +855,14 @@ context.create('FlowModuleAPI', {
|
|
|
855
855
|
});
|
|
856
856
|
}
|
|
857
857
|
},
|
|
858
|
+
batchCheckCaAuth: {
|
|
859
|
+
mockUrl: 'query/batchValidateForm.json',
|
|
860
|
+
url: _variables2.default.URLS.batchCheckCaAuth,
|
|
861
|
+
method: 'GET',
|
|
862
|
+
header: {
|
|
863
|
+
Authorization: 'Bearer ' + getLoginUserInfo().token
|
|
864
|
+
}
|
|
865
|
+
},
|
|
858
866
|
completeTaskBatch: {
|
|
859
867
|
mockUrl: 'query/getDoneTaskListByProcessId.json',
|
|
860
868
|
url: _variables2.default.URLS.completeTaskBatch,
|
package/lib/db/variables.js
CHANGED
|
@@ -97,6 +97,7 @@ exports.default = {
|
|
|
97
97
|
forceEnd: approveUrlPrefix + 'forceEnd' + '?', //结束流程
|
|
98
98
|
getUndoTaskInfo: approveUrlPrefix + "getUndoTaskInfo" + '?', //获取待办详情
|
|
99
99
|
batchValidateForm: approveUrlPrefix + "batchValidateForm" + '?', //批量校验表单必填
|
|
100
|
+
batchCheckCaAuth: approveUrlPrefix + "batchCheckCaAuth" + '?', //批量通过前CA授权检测
|
|
100
101
|
completeTaskBatch: approveUrlPrefix + "completeTaskBatch" + '?', //批量办理
|
|
101
102
|
readCompleteTaskBatch: approveUrlPrefix + "readCompleteTaskBatch" + '?', //批量已阅
|
|
102
103
|
getSignature: approveUrlPrefix + "getSignature" + '?', //获取签章
|
package/lib/form/form.js
CHANGED
|
@@ -1472,27 +1472,7 @@ var PageHome = function (_React$Component) {
|
|
|
1472
1472
|
t.resolveMobileOfficeAllowEdit();
|
|
1473
1473
|
|
|
1474
1474
|
//修改样式
|
|
1475
|
-
|
|
1476
|
-
var objs = itemParam.formStyleObj.contentStyle;
|
|
1477
|
-
if (objs != null && objs != '' && objs != undefined && objs.fontFamily != null) {
|
|
1478
|
-
styleStr = "font-family: '" + objs.fontFamily + "';" + "color:" + objs.color + ";" + "font-size:" + objs.fontSize + ";" + "font-weight:" + objs.fontWeight + ";" + "font-style:" + objs.fontStyle;
|
|
1479
|
-
}
|
|
1480
|
-
|
|
1481
|
-
var placeholderStyleStr = "";
|
|
1482
|
-
if (objs != null && objs != '' && objs != undefined && objs.fontFamily != null) {
|
|
1483
|
-
placeholderStyleStr = "font-family: '" + objs.fontFamily + "';" + "font-size:" + objs.fontSize + ";" + "font-weight:" + objs.fontWeight + ";" + "font-style:" + objs.fontStyle;
|
|
1484
|
-
}
|
|
1485
|
-
if (itemParam.fieldId != null && itemParam.fieldId != "") {
|
|
1486
|
-
if ($("." + itemParam.fieldId).find(".t-text-field-placeholder").length > 0) {
|
|
1487
|
-
$("." + itemParam.fieldId).find(".t-text-field-placeholder").attr("style", placeholderStyleStr);
|
|
1488
|
-
}
|
|
1489
|
-
if ($("." + itemParam.fieldId).find(".t-select-field-placeholder").length > 0) {
|
|
1490
|
-
$("." + itemParam.fieldId).find(".t-select-field-placeholder").attr("style", placeholderStyleStr);
|
|
1491
|
-
}
|
|
1492
|
-
if ($("." + itemParam.fieldId).find(".t-datetime-field-placeholder").length > 0) {
|
|
1493
|
-
$("." + itemParam.fieldId).find(".t-datetime-field-placeholder").attr("style", placeholderStyleStr);
|
|
1494
|
-
}
|
|
1495
|
-
}
|
|
1475
|
+
t.applyFieldFormStyles(itemParam);
|
|
1496
1476
|
});
|
|
1497
1477
|
|
|
1498
1478
|
t.props.onChange(data, t.state.itemParam);
|
|
@@ -1533,27 +1513,7 @@ var PageHome = function (_React$Component) {
|
|
|
1533
1513
|
t.resolveMobileOfficeAllowEdit();
|
|
1534
1514
|
|
|
1535
1515
|
//修改样式
|
|
1536
|
-
|
|
1537
|
-
var objs = itemParam.formStyleObj.contentStyle;
|
|
1538
|
-
if (objs != null && objs != '' && objs != undefined && objs.fontFamily != null) {
|
|
1539
|
-
styleStr = "font-family: '" + objs.fontFamily + "';" + "color:" + objs.color + ";" + "font-size:" + objs.fontSize + ";" + "font-weight:" + objs.fontWeight + ";" + "font-style:" + objs.fontStyle;
|
|
1540
|
-
}
|
|
1541
|
-
|
|
1542
|
-
var placeholderStyleStr = "";
|
|
1543
|
-
if (objs != null && objs != '' && objs != undefined && objs.fontFamily != null) {
|
|
1544
|
-
placeholderStyleStr = "font-family: '" + objs.fontFamily + "';" + "font-size:" + objs.fontSize + ";" + "font-weight:" + objs.fontWeight + ";" + "font-style:" + objs.fontStyle;
|
|
1545
|
-
}
|
|
1546
|
-
if (itemParam.fieldId != null && itemParam.fieldId != "") {
|
|
1547
|
-
if ($("." + itemParam.fieldId).find(".t-text-field-placeholder").length > 0) {
|
|
1548
|
-
$("." + itemParam.fieldId).find(".t-text-field-placeholder").attr("style", placeholderStyleStr);
|
|
1549
|
-
}
|
|
1550
|
-
if ($("." + itemParam.fieldId).find(".t-select-field-placeholder").length > 0) {
|
|
1551
|
-
$("." + itemParam.fieldId).find(".t-select-field-placeholder").attr("style", placeholderStyleStr);
|
|
1552
|
-
}
|
|
1553
|
-
if ($("." + itemParam.fieldId).find(".t-datetime-field-placeholder").length > 0) {
|
|
1554
|
-
$("." + itemParam.fieldId).find(".t-datetime-field-placeholder").attr("style", placeholderStyleStr);
|
|
1555
|
-
}
|
|
1556
|
-
}
|
|
1516
|
+
t.applyFieldFormStyles(itemParam);
|
|
1557
1517
|
});
|
|
1558
1518
|
t.props.onChange(data, t.state.itemParam);
|
|
1559
1519
|
}
|
|
@@ -1689,54 +1649,9 @@ var PageHome = function (_React$Component) {
|
|
|
1689
1649
|
}
|
|
1690
1650
|
}
|
|
1691
1651
|
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
var objs = itemParam.formStyleObj.contentStyle;
|
|
1695
|
-
if (objs != null && objs != '' && objs != undefined && objs.fontFamily != null) {
|
|
1696
|
-
styleStr = "font-family: '" + objs.fontFamily + "';" + "color:" + objs.color + ";" + "font-size:" + objs.fontSize + ";" + "font-weight:" + objs.fontWeight + ";" + "font-style:" + objs.fontStyle;
|
|
1697
|
-
}
|
|
1698
|
-
if (itemType == "text") {
|
|
1699
|
-
$("." + itemParam.fieldId).find(".t-text-field-input").attr("style", styleStr);
|
|
1700
|
-
$("." + itemParam.fieldId).find(".t-FB1").find("span").attr("style", styleStr);
|
|
1701
|
-
} else if (itemType == "select") {
|
|
1702
|
-
$("." + itemParam.fieldId).find(".t-FB1").find("span").attr("style", styleStr);
|
|
1703
|
-
} else if (itemType == "checkbox") {
|
|
1704
|
-
$("." + itemParam.fieldId).find(".t-checkbox-field-value-list").attr("style", styleStr);
|
|
1705
|
-
} else if (itemType == 'textarea') {
|
|
1706
|
-
$("." + itemParam.fieldId).find(".t-textarea-field-content").attr("style", styleStr);
|
|
1707
|
-
} else if (itemType == 'popuser') {
|
|
1708
|
-
if (objs != null && objs != '' && objs != undefined && objs.fontFamily != null) {
|
|
1709
|
-
styleStr = "font-family: '" + objs.fontFamily + "';" + "font-size:" + objs.fontSize + ";" + "font-weight:" + objs.fontWeight + ";" + "font-style:" + objs.fontStyle;
|
|
1710
|
-
}
|
|
1711
|
-
$("." + itemParam.fieldId).find(".t-popuser-placeholder").attr("style", styleStr);
|
|
1712
|
-
} else if (itemType == 'poppage') {
|
|
1713
|
-
if (objs != null && objs != '' && objs != undefined && objs.fontFamily != null) {
|
|
1714
|
-
styleStr = "font-family: '" + objs.fontFamily + "';" + "font-size:" + objs.fontSize + ";" + "font-weight:" + objs.fontWeight + ";" + "font-style:" + objs.fontStyle;
|
|
1715
|
-
}
|
|
1716
|
-
$("." + itemParam.fieldId).find(".t-poppage-placeholder").attr("style", styleStr);
|
|
1717
|
-
} else if (itemType == 'datetime') {
|
|
1718
|
-
// alert($("." + itemParam.fieldId).find(".t-datetime-field-value").find("span").text());
|
|
1719
|
-
$("." + itemParam.fieldId).find(".t-datetime-field-value").find("span").attr("style", styleStr);
|
|
1720
|
-
// $("." + itemParam.fieldId).find(".t-datetime-field-value").find("span").attr("style",styleStr);
|
|
1721
|
-
}
|
|
1722
|
-
|
|
1723
|
-
var placeholderStyleStr = "";
|
|
1724
|
-
if (objs != null && objs != '' && objs != undefined && objs.fontFamily != null) {
|
|
1725
|
-
placeholderStyleStr = "font-family: '" + objs.fontFamily + "';" + "font-size:" + objs.fontSize + ";" + "font-weight:" + objs.fontWeight + ";" + "font-style:" + objs.fontStyle;
|
|
1726
|
-
}
|
|
1727
|
-
if (itemParam.fieldId != null && itemParam.fieldId != "") {
|
|
1728
|
-
if ($("." + itemParam.fieldId).find(".t-text-field-placeholder").length > 0) {
|
|
1729
|
-
$("." + itemParam.fieldId).find(".t-text-field-placeholder").attr("style", placeholderStyleStr);
|
|
1730
|
-
}
|
|
1731
|
-
if ($("." + itemParam.fieldId).find(".t-select-field-placeholder").length > 0) {
|
|
1732
|
-
$("." + itemParam.fieldId).find(".t-select-field-placeholder").attr("style", placeholderStyleStr);
|
|
1733
|
-
}
|
|
1734
|
-
if ($("." + itemParam.fieldId).find(".t-datetime-field-placeholder").length > 0) {
|
|
1735
|
-
$("." + itemParam.fieldId).find(".t-datetime-field-placeholder").attr("style", placeholderStyleStr);
|
|
1736
|
-
}
|
|
1737
|
-
}
|
|
1652
|
+
//修改样式(字段内容 + 字段名称;主表/子表统一处理)
|
|
1653
|
+
t.applyFieldFormStyles(itemParam);
|
|
1738
1654
|
if (t.props.dataType === 'sub') {
|
|
1739
|
-
t.applySubFormLabelStyle(itemParam);
|
|
1740
1655
|
// 子表多列:loadComponet 完成后同步排版(预判与 ref 不一致时需重排)
|
|
1741
1656
|
if (t.props.onSubFieldLayoutChange) {
|
|
1742
1657
|
t.props.onSubFieldLayoutChange();
|
|
@@ -2111,47 +2026,126 @@ var PageHome = function (_React$Component) {
|
|
|
2111
2026
|
}, {
|
|
2112
2027
|
key: 'componentDidUpdate',
|
|
2113
2028
|
value: function componentDidUpdate() {
|
|
2114
|
-
if (this.
|
|
2115
|
-
this.
|
|
2029
|
+
if (this.state.loaded && this.state.itemParam && this.state.itemParam.fieldId) {
|
|
2030
|
+
this.applyFieldFormStyles(this.state.itemParam);
|
|
2116
2031
|
}
|
|
2117
2032
|
}
|
|
2118
2033
|
|
|
2119
|
-
//
|
|
2034
|
+
// 是否配置了可用的字体样式属性(字体/字号/颜色等任一即可)
|
|
2120
2035
|
|
|
2121
2036
|
}, {
|
|
2122
|
-
key: '
|
|
2123
|
-
value: function
|
|
2124
|
-
if (!
|
|
2125
|
-
return;
|
|
2037
|
+
key: 'hasFormStyleProps',
|
|
2038
|
+
value: function hasFormStyleProps(styleObj) {
|
|
2039
|
+
if (!styleObj) {
|
|
2040
|
+
return false;
|
|
2126
2041
|
}
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2042
|
+
return !!(styleObj.fontFamily || styleObj.fontSize || styleObj.color || styleObj.fontWeight || styleObj.fontStyle);
|
|
2043
|
+
}
|
|
2044
|
+
|
|
2045
|
+
// 组装 CSS 声明;important=true 用于压过 SaltUI 固定字号
|
|
2046
|
+
|
|
2047
|
+
}, {
|
|
2048
|
+
key: 'buildFormCssDecls',
|
|
2049
|
+
value: function buildFormCssDecls(styleObj, options) {
|
|
2050
|
+
if (!this.hasFormStyleProps(styleObj)) {
|
|
2051
|
+
return '';
|
|
2133
2052
|
}
|
|
2134
|
-
|
|
2135
|
-
|
|
2053
|
+
options = options || {};
|
|
2054
|
+
var important = options.important ? ' !important' : '';
|
|
2055
|
+
var parts = [];
|
|
2056
|
+
if (styleObj.fontFamily) {
|
|
2057
|
+
parts.push("font-family:'" + styleObj.fontFamily + "'" + important);
|
|
2136
2058
|
}
|
|
2137
|
-
if (
|
|
2138
|
-
|
|
2059
|
+
if (!options.skipColor && styleObj.color) {
|
|
2060
|
+
parts.push('color:' + styleObj.color + important);
|
|
2139
2061
|
}
|
|
2140
|
-
if (
|
|
2141
|
-
|
|
2062
|
+
if (styleObj.fontSize) {
|
|
2063
|
+
parts.push('font-size:' + styleObj.fontSize + important);
|
|
2064
|
+
if (options.withLineHeight) {
|
|
2065
|
+
var n = parseInt(styleObj.fontSize, 10);
|
|
2066
|
+
if (!isNaN(n) && n > 0) {
|
|
2067
|
+
parts.push('line-height:' + Math.round(n * 1.35) + 'px' + important);
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2142
2070
|
}
|
|
2143
|
-
if (
|
|
2144
|
-
|
|
2071
|
+
if (styleObj.fontWeight) {
|
|
2072
|
+
parts.push('font-weight:' + styleObj.fontWeight + important);
|
|
2145
2073
|
}
|
|
2146
|
-
if (
|
|
2147
|
-
|
|
2074
|
+
if (styleObj.fontStyle) {
|
|
2075
|
+
parts.push('font-style:' + styleObj.fontStyle + important);
|
|
2148
2076
|
}
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2077
|
+
return parts.join(';');
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
// 字段名称+字段内容统一用 style 标签落地,避免各控件默认字号不一致、jQuery 被 React 冲掉
|
|
2081
|
+
|
|
2082
|
+
}, {
|
|
2083
|
+
key: 'applyFieldFormStyles',
|
|
2084
|
+
value: function applyFieldFormStyles(itemParam) {
|
|
2085
|
+
if (!itemParam || !itemParam.fieldId || typeof document === 'undefined') {
|
|
2086
|
+
return;
|
|
2087
|
+
}
|
|
2088
|
+
// fieldId 多为 UUID,常以数字开头;`.` + UUID 非法选择器会静默失效
|
|
2089
|
+
// 统一用属性选择器,避免 CSS.escape 兼容/转义差异
|
|
2090
|
+
var fid = String(itemParam.fieldId);
|
|
2091
|
+
var scope = '[class~="' + fid.replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"]';
|
|
2092
|
+
var styleId = 'fmui-field-style-' + fid.replace(/[^a-zA-Z0-9_-]/g, '_');
|
|
2093
|
+
var formStyleObj = itemParam.formStyleObj || {};
|
|
2094
|
+
var ts = formStyleObj.titleStyle || {};
|
|
2095
|
+
var cs = formStyleObj.contentStyle || {};
|
|
2096
|
+
var cssParts = [];
|
|
2097
|
+
var subColumnCount = parseInt(this.props.subColumnCount, 10);
|
|
2098
|
+
var isSubFormMultiCol = this.props.dataType === 'sub' && !isNaN(subColumnCount) && subColumnCount > 1;
|
|
2099
|
+
|
|
2100
|
+
if (this.hasFormStyleProps(ts)) {
|
|
2101
|
+
var labelCss = this.buildFormCssDecls(ts, { important: true, withLineHeight: true });
|
|
2102
|
+
var fontSizeNum = parseInt(ts.fontSize, 10);
|
|
2103
|
+
// 字号大于默认时放宽标签宽度,减少「主表单/行」被挤成两行
|
|
2104
|
+
if (!isNaN(fontSizeNum) && fontSizeNum > 16 && !isSubFormMultiCol) {
|
|
2105
|
+
labelCss += ';width:auto;min-width:118px;max-width:46%;box-sizing:border-box';
|
|
2106
|
+
}
|
|
2107
|
+
if (isSubFormMultiCol) {
|
|
2108
|
+
labelCss += ';margin-left:0;padding-left:0;padding-right:0;width:100%;max-width:100%';
|
|
2109
|
+
}
|
|
2110
|
+
cssParts.push([scope + ' .t-field-layout-h-label', scope + ' .t-field-layout-h-label span', scope + ' .t-field-layout-v-label', scope + ' .t-field-layout-v-label-left'].join(',') + '{' + labelCss + '}');
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
if (this.hasFormStyleProps(cs)) {
|
|
2114
|
+
var contentCss = this.buildFormCssDecls(cs, { important: true, withLineHeight: true });
|
|
2115
|
+
cssParts.push([scope + ' .t-text-field-input', scope + ' .t-text-field-content-main', scope + ' .t-text-field-content-main span', scope + ' .t-field-content-box > .t-FB1', scope + ' .t-field-content-box > .t-FB1 span', scope + ' .t-field-multi', scope + ' .t-field-multi span', scope + ' .t-select-field-value', scope + ' .t-select-field-value span', scope + ' .t-radio-field-value', scope + ' .t-radio-field-value span', scope + ' .t-radio-field-value .t-FB1', scope + ' .t-radio-field-value .t-omit', scope + ' .t-datetime-field-value', scope + ' .t-datetime-field-value span', scope + ' .t-textarea-field-content', scope + ' .t-textarea-field-content textarea', scope + ' .t-checkbox-field-content', scope + ' .t-checkbox-field-label', scope + ' .t-checkbox-field-value-list', scope + ' .t-checkbox-field-value-list span', scope + ' .dd-select-input-option-text', scope + ' .t-popuser-value', scope + ' .t-popuser-value span', scope + ' .t-popuser-placeholder', scope + ' .t-poppage-value', scope + ' .t-poppage-value span', scope + ' .t-poppage-placeholder',
|
|
2116
|
+
// 月日自定义、意见、html 等非 SaltUI 标准内容节点
|
|
2117
|
+
scope + ' .t-FL', scope + ' .flex-comment .t-PT10', scope + ' .flex-comment .t-textarea-field-content', scope + ' .ueditor-content', scope + ' .t-FB1.t-FAL', scope + ' .t-FB1.t-omit', scope + ' .t-omit', scope + ' .t-LH1_4', scope + ' .t-FS16', scope + ' .t-field-box.t-FS16', scope + ' .t-field-box.t-FS16 .t-FB1', scope + ' .section-content .t-FB1'].join(',') + '{' + contentCss + '}');
|
|
2118
|
+
|
|
2119
|
+
var placeholderCss = this.buildFormCssDecls(cs, { important: true, skipColor: true, withLineHeight: true });
|
|
2120
|
+
cssParts.push([scope + ' .t-text-field-placeholder', scope + ' .t-select-field-placeholder', scope + ' .t-datetime-field-placeholder', scope + ' .t-checkbox-field-placeholder'].join(',') + '{' + placeholderCss + '}');
|
|
2121
|
+
}
|
|
2122
|
+
|
|
2123
|
+
var styleEl = document.getElementById(styleId);
|
|
2124
|
+
if (!styleEl) {
|
|
2125
|
+
styleEl = document.createElement('style');
|
|
2126
|
+
styleEl.id = styleId;
|
|
2127
|
+
styleEl.setAttribute('data-fmui-field-style', fid);
|
|
2128
|
+
document.head.appendChild(styleEl);
|
|
2154
2129
|
}
|
|
2130
|
+
styleEl.innerHTML = cssParts.join('');
|
|
2131
|
+
}
|
|
2132
|
+
|
|
2133
|
+
// 兼容旧调用:统一走 CSS 注入
|
|
2134
|
+
|
|
2135
|
+
}, {
|
|
2136
|
+
key: 'applyFieldContentStyle',
|
|
2137
|
+
value: function applyFieldContentStyle(itemParam) {
|
|
2138
|
+
this.applyFieldFormStyles(itemParam);
|
|
2139
|
+
}
|
|
2140
|
+
}, {
|
|
2141
|
+
key: 'applyFieldLabelStyle',
|
|
2142
|
+
value: function applyFieldLabelStyle(itemParam) {
|
|
2143
|
+
this.applyFieldFormStyles(itemParam);
|
|
2144
|
+
}
|
|
2145
|
+
}, {
|
|
2146
|
+
key: 'applySubFormLabelStyle',
|
|
2147
|
+
value: function applySubFormLabelStyle(itemParam) {
|
|
2148
|
+
this.applyFieldFormStyles(itemParam);
|
|
2155
2149
|
}
|
|
2156
2150
|
|
|
2157
2151
|
//重新加载组件;options.silent=true 时不向上触发 onChange(用于字段关联批量刷新,避免死循环)
|
|
@@ -3504,6 +3498,12 @@ var PageHome = function (_React$Component) {
|
|
|
3504
3498
|
mainTblDataItem.value = userInfo.dutyName;
|
|
3505
3499
|
} else if (relatepopuservalue == 'relateusercardid') {
|
|
3506
3500
|
mainTblDataItem.value = userInfo.cardId;
|
|
3501
|
+
} else if (relatepopuservalue == 'relateusersex') {
|
|
3502
|
+
mainTblDataItem.value = userInfo.sexName || '';
|
|
3503
|
+
} else if (relatepopuservalue == 'relateuserpolitical') {
|
|
3504
|
+
mainTblDataItem.value = userInfo.politicalOutlookShow || '';
|
|
3505
|
+
} else if (relatepopuservalue == 'relateusernation') {
|
|
3506
|
+
mainTblDataItem.value = userInfo.nation || '';
|
|
3507
3507
|
}
|
|
3508
3508
|
t.props.reloadItemParam(data.mainTblName + "_" + mainTblDataItem.key, mainTblDataItem.value);
|
|
3509
3509
|
}
|
|
@@ -3526,6 +3526,12 @@ var PageHome = function (_React$Component) {
|
|
|
3526
3526
|
mainTblDataItem.value = userInfo.dutyName;
|
|
3527
3527
|
} else if (relatepopuservalue == 'relateusercardid') {
|
|
3528
3528
|
mainTblDataItem.value = userInfo.cardId;
|
|
3529
|
+
} else if (relatepopuservalue == 'relateusersex') {
|
|
3530
|
+
mainTblDataItem.value = userInfo.sexName || '';
|
|
3531
|
+
} else if (relatepopuservalue == 'relateuserpolitical') {
|
|
3532
|
+
mainTblDataItem.value = userInfo.politicalOutlookShow || '';
|
|
3533
|
+
} else if (relatepopuservalue == 'relateusernation') {
|
|
3534
|
+
mainTblDataItem.value = userInfo.nation || '';
|
|
3529
3535
|
}
|
|
3530
3536
|
// 如果当前Form是在子表中(dataType === 'sub'),需要通过SubForm来刷新
|
|
3531
3537
|
// SubForm的reloadSubItemParam方法可以刷新子表所有行的字段
|
|
@@ -4624,7 +4630,11 @@ var PageHome = function (_React$Component) {
|
|
|
4624
4630
|
_react2.default.createElement(
|
|
4625
4631
|
'div',
|
|
4626
4632
|
{ className: t.state.itemParam.required ? "t-field-layout-h-label required" : "t-field-layout-h-label" },
|
|
4627
|
-
|
|
4633
|
+
_react2.default.createElement(
|
|
4634
|
+
'span',
|
|
4635
|
+
{ style: t.state.itemParam.formStyleObj.titleStyle == null ? {} : t.state.itemParam.formStyleObj.titleStyle },
|
|
4636
|
+
t.state.itemParam.title
|
|
4637
|
+
)
|
|
4628
4638
|
),
|
|
4629
4639
|
_react2.default.createElement(
|
|
4630
4640
|
HBox,
|
|
@@ -4694,7 +4704,11 @@ var PageHome = function (_React$Component) {
|
|
|
4694
4704
|
_react2.default.createElement(
|
|
4695
4705
|
'div',
|
|
4696
4706
|
{ className: t.state.itemParam.required ? "t-field-layout-h-label required" : "t-field-layout-h-label" },
|
|
4697
|
-
|
|
4707
|
+
_react2.default.createElement(
|
|
4708
|
+
'span',
|
|
4709
|
+
{ style: t.state.itemParam.formStyleObj.titleStyle == null ? {} : t.state.itemParam.formStyleObj.titleStyle },
|
|
4710
|
+
t.state.itemParam.title
|
|
4711
|
+
)
|
|
4698
4712
|
),
|
|
4699
4713
|
_react2.default.createElement(
|
|
4700
4714
|
HBox,
|
|
@@ -4903,7 +4917,7 @@ var PageHome = function (_React$Component) {
|
|
|
4903
4917
|
{ className: 't-field-layout-h-label t-FBJ' },
|
|
4904
4918
|
_react2.default.createElement(
|
|
4905
4919
|
'span',
|
|
4906
|
-
null,
|
|
4920
|
+
{ style: t.state.itemParam.formStyleObj.titleStyle == null ? {} : t.state.itemParam.formStyleObj.titleStyle },
|
|
4907
4921
|
t.state.itemParam.title
|
|
4908
4922
|
)
|
|
4909
4923
|
),
|
package/lib/form/subForm.js
CHANGED
|
@@ -573,7 +573,7 @@ var PageHome = function (_React$Component) {
|
|
|
573
573
|
css.fontWeight = ts.fontWeight;
|
|
574
574
|
}
|
|
575
575
|
if (ts.fontFamily) {
|
|
576
|
-
css.fontFamily = ts.fontFamily;
|
|
576
|
+
css.fontFamily = "'" + ts.fontFamily + "'";
|
|
577
577
|
}
|
|
578
578
|
if (ts.fontStyle) {
|
|
579
579
|
css.fontStyle = ts.fontStyle;
|
|
@@ -595,7 +595,7 @@ var PageHome = function (_React$Component) {
|
|
|
595
595
|
}
|
|
596
596
|
var scope = '.subform-fields-wrap.subform-fields-multi';
|
|
597
597
|
var labelCss = this.getSubFormLabelCssText(true);
|
|
598
|
-
return _react2.default.createElement('style', { dangerouslySetInnerHTML: { __html: [scope + ' .t-field-layout-v-label,', scope + ' .t-field-layout-v-label-left,', scope + ' .t-field-layout-h-label,', scope + ' .t-field-layout-h-label-left{' + labelCss + '}', scope + ' .t-field-layout-v-label,' + scope + ' .t-field-layout-h-label{
|
|
598
|
+
return _react2.default.createElement('style', { dangerouslySetInnerHTML: { __html: [scope + ' .t-field-layout-v-label,', scope + ' .t-field-layout-v-label-left,', scope + ' .t-field-layout-h-label,', scope + ' .t-field-layout-h-label-left{' + labelCss + '}', scope + ' .t-field-layout-v-label,' + scope + ' .t-field-layout-h-label{margin-left:0!important;padding-left:0!important;padding-right:0!important;}'].join('') } });
|
|
599
599
|
}
|
|
600
600
|
|
|
601
601
|
// 子表多列布局样式(按行分组,避免 flex-wrap 导致错位)
|
|
@@ -613,7 +613,7 @@ var PageHome = function (_React$Component) {
|
|
|
613
613
|
var text = scope + ' .subform-col-field-slot-text';
|
|
614
614
|
var pick = scope + ' .subform-col-field-slot-pick';
|
|
615
615
|
var pickCol = pick + ' ' + col;
|
|
616
|
-
return _react2.default.createElement('style', { dangerouslySetInnerHTML: { __html: [scope + '{display:block;}', scope + ' .subform-fields-flow{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;box-sizing:border-box;}', row + '{display:flex;align-items:stretch;width:100%;border-bottom:0.5px solid #e9ebee;box-sizing:border-box;}', scope + ' .subform-field-full{width:100%;box-sizing:border-box;border-bottom:0.5px solid #e9ebee;}', scope + ' .subform-field-col{display:flex;flex-direction:column;box-sizing:border-box;border-bottom:0.5px solid #e9ebee;}', scope + ' .subform-field-slot-hidden{display:none!important;width:0!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;border:none!important;}', slot + '{box-sizing:border-box;padding:8px 16px 8px 0;overflow:hidden;}', col + '{width:100%;}', col + ' .t-group-list{border-bottom:none!important;background:transparent;}', col + ' .t-group-list-item::after{display:none!important;}', col + '>.t-group-list>.t-group-list-item::after{display:none!important;}', col + ' .t-field-box.t-field-content-box{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;min-height:0!important;padding-left:0!important;padding-right:0!important;}', col + ' .t-field-layout-h-label,' + col + ' .t-field-layout-v-label,' + col + ' .t-field-layout-v-label-left{width:100%!important;max-width:100%!important;margin-left:0!important;padding-left:0!important;padding-right:0!important;
|
|
616
|
+
return _react2.default.createElement('style', { dangerouslySetInnerHTML: { __html: [scope + '{display:block;}', scope + ' .subform-fields-flow{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;box-sizing:border-box;}', row + '{display:flex;align-items:stretch;width:100%;border-bottom:0.5px solid #e9ebee;box-sizing:border-box;}', scope + ' .subform-field-full{width:100%;box-sizing:border-box;border-bottom:0.5px solid #e9ebee;}', scope + ' .subform-field-col{display:flex;flex-direction:column;box-sizing:border-box;border-bottom:0.5px solid #e9ebee;}', scope + ' .subform-field-slot-hidden{display:none!important;width:0!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;border:none!important;}', slot + '{box-sizing:border-box;padding:8px 16px 8px 0;overflow:hidden;}', col + '{width:100%;}', col + ' .t-group-list{border-bottom:none!important;background:transparent;}', col + ' .t-group-list-item::after{display:none!important;}', col + '>.t-group-list>.t-group-list-item::after{display:none!important;}', col + ' .t-field-box.t-field-content-box{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;min-height:0!important;padding-left:0!important;padding-right:0!important;}', col + ' .t-field-layout-h-label,' + col + ' .t-field-layout-v-label,' + col + ' .t-field-layout-v-label-left{width:100%!important;max-width:100%!important;margin-left:0!important;padding-left:0!important;padding-right:0!important;background:transparent!important;}', col + ' .t-field-box{padding-left:0!important;padding-right:0!important;}', col + ' .t-field-content-box{justify-content:flex-start!important;align-items:flex-start!important;}', col + ' .t-field-content-box .t-FB1,' + col + ' .t-field-multi{width:100%!important;max-width:100%!important;padding:0 0 4px 0!important;text-align:left!important;}', col + ' .t-field-content-box .t-FB1 span,' + col + ' .t-field-multi span,' + col + ' .t-text-field-content-main span{text-align:left!important;word-break:break-word;}', col + ' .t-text-field-content{width:100%;justify-content:flex-start!important;}', col + ' .t-text-field-input{text-align:left!important;}', text + ' .t-text-field-input,' + text + ' .t-text-field-content-main span{white-space:normal!important;word-wrap:break-word;word-break:break-word;line-height:20px;}', text + ' .t-text-field-placeholder.t-DN{display:none!important;}', pickCol + '.t-field.t-select-field.t-FBH,' + pickCol + '.t-field.t-radio-field.t-FBH,' + pickCol + '.t-field.t-datetime-field.t-FBH{display:block!important;position:relative!important;width:100%!important;}', pickCol + '.t-field-pos-box{width:100%!important;padding-right:28px!important;box-sizing:border-box;}', pickCol + '.t-field-layout-v-label{margin-left:0!important;padding-left:0!important;}', pickCol + '.t-field-content-box{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:24px!important;padding:2px 0 11px 0!important;}', pickCol + '.t-field-pos-icon{position:absolute!important;right:0!important;top:auto!important;bottom:10px!important;margin:0!important;height:26px!important;display:flex!important;align-items:center!important;justify-content:center!important;}', pickCol + '.t-select-field-content,' + pickCol + '.t-radio-field-value,' + pickCol + '.t-datetime-field-value,' + pickCol + '.t-datetime-field-placeholder,' + pickCol + '.t-select-field-placeholder{min-height:24px!important;line-height:24px!important;}', pickCol + '.t-field-content-box>.t-FB1{flex:1!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:0!important;text-align:left!important;}', pickCol + '.t-select-field-content,' + pickCol + '.t-field-content-box>.t-FB1>div{width:100%!important;text-align:left!important;}', pickCol + '.t-select-field-placeholder,' + pickCol + '.t-datetime-field-placeholder,' + pickCol + '.t-select-field-value,' + pickCol + '.t-radio-field-value,' + pickCol + '.t-datetime-field-value{text-align:left!important;justify-content:flex-start!important;width:100%!important;}', pickCol + '.t-select-field-placeholder,' + pickCol + '.t-datetime-field-placeholder{position:static!important;height:auto!important;line-height:24px!important;flex:none!important;max-width:100%!important;}', pickCol + '.t-select-field-value,' + pickCol + '.t-radio-field-value,' + pickCol + '.t-datetime-field-value{display:flex!important;flex-direction:row!important;align-items:flex-start!important;flex-wrap:wrap!important;}', pickCol + '.t-select-field-value .t-FB1,' + pickCol + '.t-radio-field-value .t-FB1,' + pickCol + '.t-datetime-field-value .t-FB1,' + pickCol + '.t-select-field-value span,' + pickCol + '.t-radio-field-value span,' + pickCol + '.t-datetime-field-value span{display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;-webkit-box-orient:horizontal!important;text-align:left!important;}'].join('') } });
|
|
617
617
|
}
|
|
618
618
|
|
|
619
619
|
// 子表字段是否隐藏(设计隐藏 / 流程权限 / 关联规则 / 扩展方法)
|
package/lib/form/table.js
CHANGED
|
@@ -458,11 +458,103 @@ var PageHome = function (_React$Component) {
|
|
|
458
458
|
key: 'componentDidMount',
|
|
459
459
|
value: function componentDidMount() {
|
|
460
460
|
var t = this;
|
|
461
|
+
t.applyFormLevelStyles(t.props.formStyleObj);
|
|
461
462
|
// 等子字段 loadComponet 完成后再统一刷新关联/联动,避免打开编辑页时清空已保存值
|
|
462
463
|
setTimeout(function () {
|
|
463
464
|
t.initFormLinkageAndRelaFields();
|
|
464
465
|
}, 500);
|
|
465
466
|
}
|
|
467
|
+
}, {
|
|
468
|
+
key: 'componentDidUpdate',
|
|
469
|
+
value: function componentDidUpdate(prevProps) {
|
|
470
|
+
if (prevProps.formStyleObj !== this.props.formStyleObj) {
|
|
471
|
+
this.applyFormLevelStyles(this.props.formStyleObj);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
}, {
|
|
475
|
+
key: 'hasFormStyleProps',
|
|
476
|
+
value: function hasFormStyleProps(styleObj) {
|
|
477
|
+
if (!styleObj) {
|
|
478
|
+
return false;
|
|
479
|
+
}
|
|
480
|
+
return !!(styleObj.fontFamily || styleObj.fontSize || styleObj.color || styleObj.fontWeight || styleObj.fontStyle);
|
|
481
|
+
}
|
|
482
|
+
}, {
|
|
483
|
+
key: 'buildFormCssDecls',
|
|
484
|
+
value: function buildFormCssDecls(styleObj, options) {
|
|
485
|
+
if (!this.hasFormStyleProps(styleObj)) {
|
|
486
|
+
return '';
|
|
487
|
+
}
|
|
488
|
+
options = options || {};
|
|
489
|
+
var important = options.important ? ' !important' : '';
|
|
490
|
+
var parts = [];
|
|
491
|
+
if (styleObj.fontFamily) {
|
|
492
|
+
parts.push("font-family:'" + styleObj.fontFamily + "'" + important);
|
|
493
|
+
}
|
|
494
|
+
if (!options.skipColor && styleObj.color) {
|
|
495
|
+
parts.push('color:' + styleObj.color + important);
|
|
496
|
+
}
|
|
497
|
+
if (styleObj.fontSize) {
|
|
498
|
+
parts.push('font-size:' + styleObj.fontSize + important);
|
|
499
|
+
if (options.withLineHeight) {
|
|
500
|
+
var n = parseInt(styleObj.fontSize, 10);
|
|
501
|
+
if (!isNaN(n) && n > 0) {
|
|
502
|
+
parts.push('line-height:' + Math.round(n * 1.35) + 'px' + important);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
if (styleObj.fontWeight) {
|
|
507
|
+
parts.push('font-weight:' + styleObj.fontWeight + important);
|
|
508
|
+
}
|
|
509
|
+
if (styleObj.fontStyle) {
|
|
510
|
+
parts.push('font-style:' + styleObj.fontStyle + important);
|
|
511
|
+
}
|
|
512
|
+
return parts.join(';');
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
// 表单级统一样式:覆盖主表/子表/编辑/只读,避免依赖 fieldId class(UUID 数字开头选择器会失效)
|
|
516
|
+
|
|
517
|
+
}, {
|
|
518
|
+
key: 'applyFormLevelStyles',
|
|
519
|
+
value: function applyFormLevelStyles(formStyleObj) {
|
|
520
|
+
if (typeof document === 'undefined') {
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
var styleId = 'fmui-form-level-style';
|
|
524
|
+
var styleEl = document.getElementById(styleId);
|
|
525
|
+
if (!formStyleObj) {
|
|
526
|
+
if (styleEl) {
|
|
527
|
+
styleEl.innerHTML = '';
|
|
528
|
+
}
|
|
529
|
+
return;
|
|
530
|
+
}
|
|
531
|
+
var ts = formStyleObj.titleStyle || {};
|
|
532
|
+
var cs = formStyleObj.contentStyle || {};
|
|
533
|
+
var scope = '.fmui-form-style-root';
|
|
534
|
+
var cssParts = [];
|
|
535
|
+
if (this.hasFormStyleProps(ts)) {
|
|
536
|
+
var labelCss = this.buildFormCssDecls(ts, { important: true, withLineHeight: true });
|
|
537
|
+
var fontSizeNum = parseInt(ts.fontSize, 10);
|
|
538
|
+
if (!isNaN(fontSizeNum) && fontSizeNum > 16) {
|
|
539
|
+
labelCss += ';width:auto;min-width:118px;max-width:46%;box-sizing:border-box';
|
|
540
|
+
}
|
|
541
|
+
cssParts.push([scope + ' .t-field-layout-h-label', scope + ' .t-field-layout-h-label span', scope + ' .t-field-layout-v-label', scope + ' .t-field-layout-v-label-left'].join(',') + '{' + labelCss + '}');
|
|
542
|
+
}
|
|
543
|
+
if (this.hasFormStyleProps(cs)) {
|
|
544
|
+
var contentCss = this.buildFormCssDecls(cs, { important: true, withLineHeight: true });
|
|
545
|
+
cssParts.push([scope + ' .t-text-field-input', scope + ' .t-text-field-content-main', scope + ' .t-text-field-content-main span', scope + ' .t-field-content-box > .t-FB1', scope + ' .t-field-content-box > .t-FB1 span', scope + ' .t-field-multi', scope + ' .t-field-multi span', scope + ' .t-select-field-value', scope + ' .t-select-field-value span', scope + ' .t-radio-field-value', scope + ' .t-radio-field-value span', scope + ' .t-radio-field-value .t-FB1', scope + ' .t-radio-field-value .t-omit', scope + ' .t-datetime-field-value', scope + ' .t-datetime-field-value span', scope + ' .t-textarea-field-content', scope + ' .t-textarea-field-content textarea', scope + ' .t-checkbox-field-content', scope + ' .t-checkbox-field-label', scope + ' .t-checkbox-field-value-list', scope + ' .t-checkbox-field-value-list span', scope + ' .dd-select-input-option-text', scope + ' .t-popuser-value', scope + ' .t-popuser-value span', scope + ' .t-popuser-placeholder', scope + ' .t-poppage-value', scope + ' .t-poppage-value span', scope + ' .t-poppage-placeholder', scope + ' .t-FL', scope + ' .flex-comment .t-textarea-field-content', scope + ' .ueditor-content',
|
|
546
|
+
// 弹出选择/只读展示:常带 t-FS16 等工具类,需一并覆盖
|
|
547
|
+
scope + ' .t-FB1.t-FAL', scope + ' .t-FB1.t-omit', scope + ' .t-omit', scope + ' .t-LH1_4', scope + ' .t-FS16', scope + ' .t-field-box.t-FS16', scope + ' .t-field-box.t-FS16 .t-FB1', scope + ' .section-content .t-FB1'].join(',') + '{' + contentCss + '}');
|
|
548
|
+
var placeholderCss = this.buildFormCssDecls(cs, { important: true, skipColor: true, withLineHeight: true });
|
|
549
|
+
cssParts.push([scope + ' .t-text-field-placeholder', scope + ' .t-select-field-placeholder', scope + ' .t-datetime-field-placeholder', scope + ' .t-checkbox-field-placeholder'].join(',') + '{' + placeholderCss + '}');
|
|
550
|
+
}
|
|
551
|
+
if (!styleEl) {
|
|
552
|
+
styleEl = document.createElement('style');
|
|
553
|
+
styleEl.id = styleId;
|
|
554
|
+
document.head.appendChild(styleEl);
|
|
555
|
+
}
|
|
556
|
+
styleEl.innerHTML = cssParts.join('');
|
|
557
|
+
}
|
|
466
558
|
|
|
467
559
|
// 编辑/查看打开后:刷新字段关联规则,并按触发条件回填联动字段(保留已保存值)
|
|
468
560
|
|
|
@@ -2598,7 +2690,7 @@ var PageHome = function (_React$Component) {
|
|
|
2598
2690
|
}
|
|
2599
2691
|
return _react2.default.createElement(
|
|
2600
2692
|
'div',
|
|
2601
|
-
|
|
2693
|
+
{ className: 'fmui-form-style-root' },
|
|
2602
2694
|
_react2.default.createElement(
|
|
2603
2695
|
'div',
|
|
2604
2696
|
null,
|