fmui-base 2.3.71 → 2.3.73

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 CHANGED
@@ -3,6 +3,8 @@
3
3
  ---npm publish
4
4
 
5
5
  ## 更新日志
6
+ - 2.3.73:移动端流程表单增加退回后重新提交前的批示意见在表单下方显示
7
+ - 2.3.72:移动端表单设置自定义样式时图标乱码问题
6
8
  - 2.3.71:移动端办理列表缓急标签样式
7
9
  - 2.3.70:移动端支持表单的规则设置校验
8
10
  - 2.3.69:移动端批示意见字段落款支持表单上的自定义样式
@@ -310,15 +310,29 @@ var PageHome = function (_React$Component) {
310
310
  { className: 't-PR5' },
311
311
  item.orgShowName
312
312
  );
313
- var caImg = t.state.caSignatureMap && t.state.caSignatureMap[item.id] || t.normalizeBase64(item.caSignatureImg);
314
- var hasSignImg = !!(caImg || item.signPic != null && item.signPic !== '');
315
- var signPicHtml = caImg ? _react2.default.createElement('img', { className: 't-H64 t-PR5 signPic', src: 'data:image/png;base64,' + caImg }) : item.signPic ? _react2.default.createElement('img', { className: 't-H64 t-PR5 signPic', src: t.state.loadImg + item.signPic }) : "";
313
+ // 优先 base64 / dataURI,避免 viewImage?token= 拼在链接上
314
+ var signSrc = '';
315
+ if (item.imgSrc && String(item.imgSrc).indexOf('data:') === 0) {
316
+ signSrc = String(item.imgSrc);
317
+ } else {
318
+ var caImg = t.state.caSignatureMap && t.state.caSignatureMap[item.id] || t.normalizeBase64(item.caSignatureImg);
319
+ if (caImg) {
320
+ var mime = String(caImg).indexOf('/9j/') === 0 ? 'image/jpeg' : 'image/png';
321
+ signSrc = 'data:' + mime + ';base64,' + caImg;
322
+ } else if (item.signPic) {
323
+ // 兜底:后端未转 base64 时仍走附件预览(不推荐)
324
+ signSrc = t.state.loadImg + item.signPic;
325
+ }
326
+ }
327
+ var hasSignImg = !!signSrc;
328
+ var signPicHtml = signSrc ? _react2.default.createElement('img', { className: 't-H64 t-PR5 signPic', src: signSrc }) : "";
316
329
  var taskNameHtml = _react2.default.createElement(
317
330
  'span',
318
331
  { className: 't-PR5' },
319
332
  item.taskName
320
333
  );
321
- var sealHtml = item.sealFileId && item.sealFileId !== "" ? _react2.default.createElement('img', { className: 't-PR5', src: t.state.loadImg + item.sealFileId, style: { 'position': 'absolute', 'top': '-35px', 'right': '10px', 'height': '64px', 'opacity': 0.8 } }) : "";
334
+ var sealSrc = item.sealSrc && String(item.sealSrc).indexOf('data:') === 0 ? String(item.sealSrc) : item.sealFileId && item.sealFileId !== "" ? t.state.loadImg + item.sealFileId : '';
335
+ var sealHtml = sealSrc ? _react2.default.createElement('img', { className: 't-PR5', src: sealSrc, style: { 'position': 'absolute', 'top': '-35px', 'right': '10px', 'height': '64px', 'opacity': 0.8 } }) : "";
322
336
  var inscriptionShowArray = item.inscriptionShow.split(",");
323
337
  var showUserName = inscriptionShowArray.indexOf("userName") >= 0 && (item.inscriptionShow.indexOf("signImg") < 0 || item.inscriptionShow.indexOf("signImg") >= 0 && !hasSignImg);
324
338
  var _returnHtml = inscriptionShowArray.map(function (inscriptionItem) {
package/lib/form/form.js CHANGED
@@ -2109,6 +2109,7 @@ var PageHome = function (_React$Component) {
2109
2109
  }
2110
2110
 
2111
2111
  // 组装 CSS 声明;important=true 用于压过 SaltUI 固定字号
2112
+ // options.skipFontFamily:避免字段字体覆盖 iconfont 图标
2112
2113
 
2113
2114
  }, {
2114
2115
  key: 'buildFormCssDecls',
@@ -2119,7 +2120,7 @@ var PageHome = function (_React$Component) {
2119
2120
  options = options || {};
2120
2121
  var important = options.important ? ' !important' : '';
2121
2122
  var parts = [];
2122
- if (styleObj.fontFamily) {
2123
+ if (!options.skipFontFamily && styleObj.fontFamily) {
2123
2124
  parts.push("font-family:'" + styleObj.fontFamily + "'" + important);
2124
2125
  }
2125
2126
  if (!options.skipColor && styleObj.color) {
@@ -2143,6 +2144,15 @@ var PageHome = function (_React$Component) {
2143
2144
  return parts.join(';');
2144
2145
  }
2145
2146
 
2147
+ // 字段样式注入后恢复图标字体,防止 font-family !important 导致 icon 乱码
2148
+
2149
+ }, {
2150
+ key: 'buildIconFontRestoreCss',
2151
+ value: function buildIconFontRestoreCss(scope) {
2152
+ var base = '{font-style:normal !important;font-weight:normal !important;}';
2153
+ return [[scope + ' .iconfont', scope + ' .iconfont:before', scope + ' .iconfont:after', scope + ' i.iconfont', scope + ' span.iconfont'].join(',') + '{font-family:"iconfont" !important;' + base.slice(1), [scope + ' .iconfont-ywtb', scope + ' .iconfont-ywtb:before', scope + ' .iconfont-ywtb:after'].join(',') + '{font-family:"iconfont-ywtb" !important;' + base.slice(1)].join('');
2154
+ }
2155
+
2146
2156
  // 字段名称+字段内容统一用 style 标签落地,避免各控件默认字号不一致、jQuery 被 React 冲掉
2147
2157
 
2148
2158
  }, {
@@ -2177,15 +2187,26 @@ var PageHome = function (_React$Component) {
2177
2187
  }
2178
2188
 
2179
2189
  if (this.hasFormStyleProps(cs)) {
2190
+ // 普通文本内容:完整字体样式
2180
2191
  var contentCss = this.buildFormCssDecls(cs, { important: true, withLineHeight: true });
2181
- 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',
2192
+ // 含图标的选人/选页等:不写 font-family,避免盖住 iconfont
2193
+ var contentCssNoFont = this.buildFormCssDecls(cs, { important: true, withLineHeight: true, skipFontFamily: true });
2194
+ cssParts.push([scope + ' .t-text-field-input', scope + ' .t-text-field-content-main', scope + ' .t-text-field-content-main span:not(.iconfont)', scope + ' .t-field-content-box > .t-FB1', scope + ' .t-field-content-box > .t-FB1 span:not(.iconfont)', scope + ' .t-field-multi', scope + ' .t-field-multi span:not(.iconfont)', scope + ' .t-select-field-value', scope + ' .t-select-field-value span:not(.iconfont)', scope + ' .t-radio-field-value', scope + ' .t-radio-field-value span:not(.iconfont)', 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:not(.iconfont)', 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:not(.iconfont)', scope + ' .dd-select-input-option-text', scope + ' .t-popuser-placeholder', scope + ' .t-poppage-placeholder',
2182
2195
  // 月日自定义、意见、html 等非 SaltUI 标准内容节点
2183
2196
  scope + ' .t-FL', scope + ' .flex-comment .t-PT10', scope + ' .flex-comment .t-textarea-field-content',
2184
2197
  // 批示意见落款与内容字体颜色一致
2185
- scope + ' .comment-html', scope + ' .comment-html span', scope + ' .comment-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 + '}');
2198
+ scope + ' .comment-html', scope + ' .comment-html span:not(.iconfont)', scope + ' .comment-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 + '}');
2199
+
2200
+ // 选人/选页标签:只同步颜色字号,不改 font-family
2201
+ if (contentCssNoFont) {
2202
+ cssParts.push([scope + ' .t-popuser-value', scope + ' .t-popuser-value span:not(.iconfont)', scope + ' .t-poppage-value', scope + ' .t-poppage-value span:not(.iconfont)'].join(',') + '{' + contentCssNoFont + '}');
2203
+ }
2186
2204
 
2187
2205
  var placeholderCss = this.buildFormCssDecls(cs, { important: true, skipColor: true, withLineHeight: true });
2188
2206
  cssParts.push([scope + ' .t-text-field-placeholder', scope + ' .t-select-field-placeholder', scope + ' .t-datetime-field-placeholder', scope + ' .t-checkbox-field-placeholder'].join(',') + '{' + placeholderCss + '}');
2207
+
2208
+ // 兜底恢复图标字体
2209
+ cssParts.push(this.buildIconFontRestoreCss(scope));
2189
2210
  }
2190
2211
 
2191
2212
  var styleEl = document.getElementById(styleId);
package/lib/form/table.js CHANGED
@@ -488,7 +488,7 @@ var PageHome = function (_React$Component) {
488
488
  options = options || {};
489
489
  var important = options.important ? ' !important' : '';
490
490
  var parts = [];
491
- if (styleObj.fontFamily) {
491
+ if (!options.skipFontFamily && styleObj.fontFamily) {
492
492
  parts.push("font-family:'" + styleObj.fontFamily + "'" + important);
493
493
  }
494
494
  if (!options.skipColor && styleObj.color) {
@@ -512,6 +512,15 @@ var PageHome = function (_React$Component) {
512
512
  return parts.join(';');
513
513
  }
514
514
 
515
+ // 字段样式注入后恢复图标字体,防止 font-family !important 导致 icon 乱码
516
+
517
+ }, {
518
+ key: 'buildIconFontRestoreCss',
519
+ value: function buildIconFontRestoreCss(scope) {
520
+ var base = '{font-style:normal !important;font-weight:normal !important;}';
521
+ return [[scope + ' .iconfont', scope + ' .iconfont:before', scope + ' .iconfont:after', scope + ' i.iconfont', scope + ' span.iconfont'].join(',') + '{font-family:"iconfont" !important;' + base.slice(1), [scope + ' .iconfont-ywtb', scope + ' .iconfont-ywtb:before', scope + ' .iconfont-ywtb:after'].join(',') + '{font-family:"iconfont-ywtb" !important;' + base.slice(1)].join('');
522
+ }
523
+
515
524
  // 表单级统一样式:覆盖主表/子表/编辑/只读,避免依赖 fieldId class(UUID 数字开头选择器会失效)
516
525
 
517
526
  }, {
@@ -542,13 +551,19 @@ var PageHome = function (_React$Component) {
542
551
  }
543
552
  if (this.hasFormStyleProps(cs)) {
544
553
  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 + ' .flex-comment .t-PT10',
554
+ var contentCssNoFont = this.buildFormCssDecls(cs, { important: true, withLineHeight: true, skipFontFamily: true });
555
+ cssParts.push([scope + ' .t-text-field-input', scope + ' .t-text-field-content-main', scope + ' .t-text-field-content-main span:not(.iconfont)', scope + ' .t-field-content-box > .t-FB1', scope + ' .t-field-content-box > .t-FB1 span:not(.iconfont)', scope + ' .t-field-multi', scope + ' .t-field-multi span:not(.iconfont)', scope + ' .t-select-field-value', scope + ' .t-select-field-value span:not(.iconfont)', scope + ' .t-radio-field-value', scope + ' .t-radio-field-value span:not(.iconfont)', 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:not(.iconfont)', 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:not(.iconfont)', scope + ' .dd-select-input-option-text', scope + ' .t-popuser-placeholder', scope + ' .t-poppage-placeholder', scope + ' .t-FL', scope + ' .flex-comment .t-textarea-field-content', scope + ' .flex-comment .t-PT10',
546
556
  // 批示意见落款与内容字体颜色一致
547
- scope + ' .comment-html', scope + ' .comment-html span', scope + ' .comment-content', scope + ' .ueditor-content',
557
+ scope + ' .comment-html', scope + ' .comment-html span:not(.iconfont)', scope + ' .comment-content', scope + ' .ueditor-content',
548
558
  // 弹出选择/只读展示:常带 t-FS16 等工具类,需一并覆盖
549
559
  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 + '}');
560
+ // 选人/选页标签:只同步颜色字号,不改 font-family
561
+ if (contentCssNoFont) {
562
+ cssParts.push([scope + ' .t-popuser-value', scope + ' .t-popuser-value span:not(.iconfont)', scope + ' .t-poppage-value', scope + ' .t-poppage-value span:not(.iconfont)'].join(',') + '{' + contentCssNoFont + '}');
563
+ }
550
564
  var placeholderCss = this.buildFormCssDecls(cs, { important: true, skipColor: true, withLineHeight: true });
551
565
  cssParts.push([scope + ' .t-text-field-placeholder', scope + ' .t-select-field-placeholder', scope + ' .t-datetime-field-placeholder', scope + ' .t-checkbox-field-placeholder'].join(',') + '{' + placeholderCss + '}');
566
+ cssParts.push(this.buildIconFontRestoreCss(scope));
552
567
  }
553
568
  if (!styleEl) {
554
569
  styleEl = document.createElement('style');
@@ -544,6 +544,8 @@ var PageHome = function (_React$Component) {
544
544
  mobileFlowChar: '0', //是否开启流程图 1开启 0禁用
545
545
  mobileSubTblDefault: '1', //移动端子表默认 1展开 0收起;未设置按展开
546
546
  enableMessageBoard: '0', //流程启用留言板
547
+ showPreResubmitComment: '0', //退回后重新提交前意见在表单下方显示
548
+ preResubmitCommentList: [], //重新发起前批示意见(历史轮)
547
549
  enableAttachmentArea: '0', //流程启用附件区
548
550
  relationCount: 0, //关联流程数量
549
551
  hasRelationBtn: false, //当前是否具备关联流程按钮权限
@@ -1730,6 +1732,8 @@ var PageHome = function (_React$Component) {
1730
1732
  mobileSubTblDefault: mobileSubTblDefault,
1731
1733
  enableMessageBoard: enableMessageBoard,
1732
1734
  enableAttachmentArea: enableAttachmentArea,
1735
+ showPreResubmitComment: content.showPreResubmitComment != null && content.showPreResubmitComment !== '' ? String(content.showPreResubmitComment) : '0',
1736
+ preResubmitCommentList: Array.isArray(content.preResubmitCommentList) ? content.preResubmitCommentList : [],
1733
1737
  readScopeId: readScopeId,
1734
1738
  readScopeList: readScopeList,
1735
1739
  readRangeType: readRangeType,
@@ -9627,10 +9631,215 @@ var PageHome = function (_React$Component) {
9627
9631
  }
9628
9632
  }, 100);
9629
9633
  }
9634
+
9635
+ /** 按批示意见落款设置拼装(与 PC 一致) */
9636
+
9637
+ }, {
9638
+ key: 'buildPreResubmitInscription',
9639
+ value: function buildPreResubmitInscription(c) {
9640
+ var show = (c.inscriptionShow || c.inscription_show || '').toString();
9641
+ if (!show) {
9642
+ show = 'userName,date,time';
9643
+ }
9644
+ var raw = c.signtime || c.time || c.createdDate || '';
9645
+ var s = raw == null ? '' : String(raw).replace('T', ' ');
9646
+ var date = s.length >= 10 ? s.substring(0, 10) : '';
9647
+ var time = '';
9648
+ if (s.length >= 19) {
9649
+ time = s.substring(11, 19);
9650
+ } else if (s.length >= 16) {
9651
+ time = s.substring(11, 16);
9652
+ }
9653
+ var parts = [];
9654
+ var hasSignImg = false;
9655
+ if (show.indexOf('signImg') !== -1) {
9656
+ // 与批示意见组件 List.jsx 一致:纯 base64 拼 dataURI。
9657
+ // 注意:JPEG base64 以 /9j/ 开头,绝不能用 startsWith('/') 当路径跳过前缀。
9658
+ var src = '';
9659
+ if (c.imgSrc && String(c.imgSrc).indexOf('data:') === 0) {
9660
+ src = String(c.imgSrc);
9661
+ } else {
9662
+ var caImg = c.caSignatureImg || c.ca_signature_img || '';
9663
+ if (caImg) {
9664
+ var imgData = String(caImg).replace(/\s+/g, '');
9665
+ var mark = 'base64,';
9666
+ var markIdx = imgData.indexOf(mark);
9667
+ if (markIdx > -1) {
9668
+ imgData = imgData.substring(markIdx + mark.length);
9669
+ }
9670
+ if (imgData.indexOf('data:') === 0 || imgData.indexOf('http') === 0) {
9671
+ src = imgData;
9672
+ } else if (imgData) {
9673
+ var mime = imgData.indexOf('/9j/') === 0 ? 'image/jpeg' : 'image/png';
9674
+ src = 'data:' + mime + ';base64,' + imgData;
9675
+ }
9676
+ } else if (c.signPic) {
9677
+ var fidRaw = String(c.signPic);
9678
+ if (fidRaw.indexOf('data:') === 0 || fidRaw.indexOf('http') === 0) {
9679
+ src = fidRaw;
9680
+ } else {
9681
+ var signFid = fidRaw;
9682
+ var sinIdx = signFid.indexOf('_sinPic');
9683
+ if (sinIdx > -1) {
9684
+ signFid = signFid.substring(0, sinIdx);
9685
+ }
9686
+ src = _variables2.default.loadImg + '&fid=' + signFid;
9687
+ }
9688
+ } else if (c.imgSrc) {
9689
+ src = String(c.imgSrc);
9690
+ }
9691
+ }
9692
+ if (src) {
9693
+ hasSignImg = true;
9694
+ parts.push(_react2.default.createElement('img', { key: 'sign', className: 'signPic', src: src, style: { maxHeight: 64, maxWidth: 120, verticalAlign: 'middle', marginRight: 6 } }));
9695
+ }
9696
+ }
9697
+ // 有签名图时与表单一致:不再重复显示姓名
9698
+ if (show.indexOf('userName') !== -1 && !hasSignImg) {
9699
+ var un = c.userName || '';
9700
+ if (c.replacename) {
9701
+ un = un ? un + '(' + c.replacename + ')' : c.replacename;
9702
+ }
9703
+ if (un) {
9704
+ parts.push(_react2.default.createElement(
9705
+ 'span',
9706
+ { key: 'un' },
9707
+ un,
9708
+ ' '
9709
+ ));
9710
+ }
9711
+ }
9712
+ if (show.indexOf('org') !== -1) {
9713
+ var orgName = c.orgShowName || c.orgName || '';
9714
+ if (orgName) {
9715
+ parts.push(_react2.default.createElement(
9716
+ 'span',
9717
+ { key: 'org' },
9718
+ orgName,
9719
+ ' '
9720
+ ));
9721
+ }
9722
+ }
9723
+ if (show.indexOf('date') !== -1 && date) {
9724
+ parts.push(_react2.default.createElement(
9725
+ 'span',
9726
+ { key: 'date' },
9727
+ date,
9728
+ ' '
9729
+ ));
9730
+ }
9731
+ if (show.indexOf('time') !== -1 && time) {
9732
+ parts.push(_react2.default.createElement(
9733
+ 'span',
9734
+ { key: 'time' },
9735
+ time,
9736
+ ' '
9737
+ ));
9738
+ }
9739
+ if (show.indexOf('taskName') !== -1 && c.taskName) {
9740
+ parts.push(_react2.default.createElement(
9741
+ 'span',
9742
+ { key: 'tn' },
9743
+ c.taskName
9744
+ ));
9745
+ }
9746
+ return parts;
9747
+ }
9748
+
9749
+ /** 按批示意见字段分组 */
9750
+
9751
+ }, {
9752
+ key: 'groupPreResubmitByField',
9753
+ value: function groupPreResubmitByField(list) {
9754
+ var order = [];
9755
+ var map = {};
9756
+ (list || []).forEach(function (c, i) {
9757
+ var item = c || {};
9758
+ var key = item.field != null && String(item.field) !== '' ? String(item.field) : '_idx_' + i;
9759
+ if (!map[key]) {
9760
+ map[key] = {
9761
+ key: key,
9762
+ label: item.taskName || item.field || '批示意见',
9763
+ items: []
9764
+ };
9765
+ order.push(key);
9766
+ }
9767
+ map[key].items.push(item);
9768
+ });
9769
+ return order.map(function (k) {
9770
+ return map[k];
9771
+ });
9772
+ }
9773
+
9774
+ /** 表单下方:外框表格(左字段名 / 右内容+落款,同字段合并) */
9775
+
9776
+ }, {
9777
+ key: 'renderPreResubmitCommentBlock',
9778
+ value: function renderPreResubmitCommentBlock() {
9779
+ var _this5 = this;
9780
+
9781
+ if (this.state.showPreResubmitComment !== '1') {
9782
+ return null;
9783
+ }
9784
+ var list = this.state.preResubmitCommentList || [];
9785
+ if (!list.length) {
9786
+ return null;
9787
+ }
9788
+ var groups = this.groupPreResubmitByField(list);
9789
+ return _react2.default.createElement(
9790
+ 'div',
9791
+ { className: 'pre-resubmit-comment-area t-ML16 t-MR16 t-MT8 t-MB8 t-BCf', style: { border: '1px solid #d9d9d9', borderRadius: 2, overflow: 'hidden' } },
9792
+ _react2.default.createElement(
9793
+ 'div',
9794
+ { className: 't-FS14 t-PL12 t-PR12 t-PT10 t-PB10', style: { fontWeight: 'bold', borderBottom: '1px solid #d9d9d9', background: '#fafafa' } },
9795
+ '\u9000\u56DE\u540E\u91CD\u65B0\u63D0\u4EA4\u524D\u7684\u6279\u793A\u610F\u89C1'
9796
+ ),
9797
+ _react2.default.createElement(
9798
+ 'table',
9799
+ { style: { width: '100%', borderCollapse: 'collapse', margin: 0 } },
9800
+ _react2.default.createElement(
9801
+ 'tbody',
9802
+ null,
9803
+ groups.map(function (group) {
9804
+ return _react2.default.createElement(
9805
+ 'tr',
9806
+ { key: group.key },
9807
+ _react2.default.createElement(
9808
+ 'td',
9809
+ { style: { width: 88, verticalAlign: 'middle', textAlign: 'center', padding: '10px 6px', border: '1px solid #d9d9d9', background: '#fafafa', fontSize: 14 } },
9810
+ group.label
9811
+ ),
9812
+ _react2.default.createElement(
9813
+ 'td',
9814
+ { style: { verticalAlign: 'top', padding: '10px 12px', border: '1px solid #d9d9d9', fontSize: 14 } },
9815
+ group.items.map(function (c, idx) {
9816
+ var content = c.fullMessage != null ? c.fullMessage : c.content || '';
9817
+ return _react2.default.createElement(
9818
+ 'div',
9819
+ { key: c.id || idx, style: idx > 0 ? { marginTop: 12, paddingTop: 12, borderTop: '1px dashed #e8e8e8' } : null },
9820
+ _react2.default.createElement(
9821
+ 'div',
9822
+ { style: { whiteSpace: 'pre-wrap', wordBreak: 'break-word', lineHeight: 1.6 } },
9823
+ content
9824
+ ),
9825
+ _react2.default.createElement(
9826
+ 'div',
9827
+ { style: { textAlign: 'right', marginTop: 4, lineHeight: 1.6 } },
9828
+ _this5.buildPreResubmitInscription(c)
9829
+ )
9830
+ );
9831
+ })
9832
+ )
9833
+ );
9834
+ })
9835
+ )
9836
+ )
9837
+ );
9838
+ }
9630
9839
  }, {
9631
9840
  key: 'render',
9632
9841
  value: function render() {
9633
- var _this5 = this;
9842
+ var _this6 = this;
9634
9843
 
9635
9844
  var isReadOnly = false;
9636
9845
  var t = this;
@@ -9674,7 +9883,7 @@ var PageHome = function (_React$Component) {
9674
9883
  title: this.state.titleCommentBackAlert,
9675
9884
  show: this.state.showCommentBackAlert,
9676
9885
  onConfirm: function onConfirm() {
9677
- _this5.setState({ showCommentBackAlert: false });
9886
+ _this6.setState({ showCommentBackAlert: false });
9678
9887
  }
9679
9888
  },
9680
9889
  _react2.default.createElement(
@@ -9732,7 +9941,8 @@ var PageHome = function (_React$Component) {
9732
9941
  _Group2.default.List,
9733
9942
  null,
9734
9943
  this.state.tableStatus == '0' ? "" : _react2.default.createElement(_table2.default, { key: 'approveFormTable_' + this.state.formTableKey, ref: 'approveFormTable', module: this.state.module, operate: this.state.operate, editType: this.state.editType, dataId: this.state.dataId, hasCommentField: t.state.hasCommentField, newspyj: t.state.newspyj, commentField: t.state.commentField, commentAttitude: t.state.commentAttitude, status: t.state.status, form: t.state.formItem, formStyleObj: t.state.formStyleObj, subColumnCount: t.state.subColumnCount, mobileSubTblDefault: t.state.mobileSubTblDefault, allForm: t.state.form, data: t.state.editFormData, commentFieldList: t.state.commentFieldList, defaultValue: t.state.defaultValue, commentDefaultList: t.state.commentDefaultList, commentBackList: t.state.commentBackList, fieldControll: t.state.fieldControll, caIsPrd: t.state.caIsPrd, preCaFields: t.state.preCaFields, formRelaField: t.state.formRelaField, isRemoveCommentFormHtml: t.state.isRemoveCommentFormHtml, commentUpload: t.state.commentUpload, isCaUser: t.state.isCaUser, caFirm: t.state.caFirm, caESignatureName: t.state.caESignatureName, caFormSign: t.state.caFormSign, inscriptionShow: t.state.inscriptionShow, finalButtons: t.state.finalButtons, onChange: this.change.bind(this) })
9735
- )
9944
+ ),
9945
+ this.renderPreResubmitCommentBlock()
9736
9946
  )
9737
9947
  )
9738
9948
  ),
@@ -10402,7 +10612,7 @@ var PageHome = function (_React$Component) {
10402
10612
  '(\u5DF2\u529E)'
10403
10613
  ) : _react2.default.createElement(
10404
10614
  'span',
10405
- { key: 'add-' + item.userid + '-' + idx, onClick: _this5.moveToReducePool.bind(_this5, item.userid), style: { margin: '0 8px 8px 0', padding: '4px 10px', background: '#e60012', color: '#fff', borderRadius: '4px', fontSize: '13px' } },
10615
+ { key: 'add-' + item.userid + '-' + idx, onClick: _this6.moveToReducePool.bind(_this6, item.userid), style: { margin: '0 8px 8px 0', padding: '4px 10px', background: '#e60012', color: '#fff', borderRadius: '4px', fontSize: '13px' } },
10406
10616
  item.username,
10407
10617
  ' \xD7'
10408
10618
  );
@@ -10423,7 +10633,7 @@ var PageHome = function (_React$Component) {
10423
10633
  (this.state.reduceSignReducePool || []).map(function (item, idx) {
10424
10634
  return _react2.default.createElement(
10425
10635
  'span',
10426
- { key: 'reduce-' + item.userid + '-' + idx, onClick: _this5.moveToAddPool.bind(_this5, item.userid), style: { margin: '0 8px 8px 0', padding: '4px 10px', background: '#e60012', color: '#fff', borderRadius: '4px', fontSize: '13px' } },
10636
+ { key: 'reduce-' + item.userid + '-' + idx, onClick: _this6.moveToAddPool.bind(_this6, item.userid), style: { margin: '0 8px 8px 0', padding: '4px 10px', background: '#e60012', color: '#fff', borderRadius: '4px', fontSize: '13px' } },
10427
10637
  item.username,
10428
10638
  ' \xD7'
10429
10639
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.3.71",
3
+ "version": "2.3.73",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",