fmui-base 2.3.20 → 2.3.21

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,7 @@
3
3
  ---npm publish
4
4
 
5
5
  ## 更新日志
6
+ - 2.3.21:移动端切换组织时支持重新加载当前组织选人字段
6
7
  - 2.3.20:移动端流程表单选人字段默认值支持选择当前用户,当前用户组织,与宏值逻辑一致
7
8
  - 2.3.19:移动端流程表单支持在线编辑
8
9
  - 2.3.18:流程抢占加签支持加签多人,流程表单支持在线编辑
package/lib/form/form.js CHANGED
@@ -3756,16 +3756,20 @@ var PageHome = function (_React$Component) {
3756
3756
  var t = this;
3757
3757
  var ctx = t.buildOfficeCtx();
3758
3758
  ctx.mode = mode || 'edit';
3759
- // 可编辑入口二次校验:仅 wpsWebOffice
3759
+ // 可编辑入口:进页已解析为 wps 时不再二次 resolveType(企微 location.href 卸页易导致请求 abort → 误弹「无法识别正文类型」)
3760
3760
  if (mode !== 'preview' && ctx.mode !== 'preview' && !ctx.readOnly) {
3761
+ if (t.state.mobileOfficeResolved && t.state.mobileOfficeAllowEdit) {
3762
+ MobileOffice.open(ctx);
3763
+ return;
3764
+ }
3761
3765
  MobileOffice.resolveType(ctx).then(function (resolved) {
3762
3766
  if (!t.isMobileWpsWebOffice(resolved)) {
3763
3767
  _Toast2.default.show({ content: '移动端暂仅支持 WPS 中台在线编辑,请到 PC 端操作' });
3764
3768
  return;
3765
3769
  }
3766
3770
  MobileOffice.open(ctx);
3767
- }).catch(function () {
3768
- _Toast2.default.show({ content: '无法识别正文类型' });
3771
+ }).catch(function (err) {
3772
+ console.error('[openWeboffice] resolveType failed', err);
3769
3773
  });
3770
3774
  return;
3771
3775
  }
@@ -7822,6 +7822,23 @@ var PageHome = function (_React$Component) {
7822
7822
  if (!fieldMap || Object.keys(fieldMap).length == 0) {
7823
7823
  return;
7824
7824
  }
7825
+ var isPopuserVal = function isPopuserVal(v) {
7826
+ return v && (typeof v === 'undefined' ? 'undefined' : _typeof(v)) == 'object' && !Array.isArray(v) && (v.type == 'popuser' || v.defaultUserScopeJson);
7827
+ };
7828
+ var parsePopDefault = function parsePopDefault(popVal) {
7829
+ if (!popVal) {
7830
+ return null;
7831
+ }
7832
+ var json = popVal.defaultUserScopeJson;
7833
+ if (typeof json == 'string') {
7834
+ try {
7835
+ return JSON.parse(json);
7836
+ } catch (e) {
7837
+ return null;
7838
+ }
7839
+ }
7840
+ return json || null;
7841
+ };
7825
7842
  var editFormData = t.state.editFormData || {};
7826
7843
  var mainTblData = editFormData.mainTblData || [];
7827
7844
  var mainTblName = editFormData.mainTblName || t.state.form && t.state.form.formTblName || '';
@@ -7849,9 +7866,10 @@ var PageHome = function (_React$Component) {
7849
7866
  } else if (mainTblName && mapKey.indexOf(mainTblName + '$') === 0) {
7850
7867
  itemCode = mapKey.substring(mainTblName.length + 1);
7851
7868
  }
7869
+ var storeVal = isPopuserVal(newVal) ? '' : newVal;
7852
7870
  for (var i = 0; i < mainTblData.length; i++) {
7853
7871
  if (mainTblData[i].key == itemCode || mainTblData[i].key == mapKey) {
7854
- mainTblData[i].value = newVal;
7872
+ mainTblData[i].value = storeVal;
7855
7873
  }
7856
7874
  }
7857
7875
  // 可编辑 / 只读字段均通过 Form.reloadItemParam 刷新展示
@@ -7874,7 +7892,12 @@ var PageHome = function (_React$Component) {
7874
7892
  continue;
7875
7893
  }
7876
7894
  try {
7877
- formRef.reloadItemParam([{ key: 'value', value: newVal }]);
7895
+ if (isPopuserVal(newVal)) {
7896
+ var popDefault = parsePopDefault(newVal);
7897
+ formRef.reloadItemParam([{ key: 'value', value: '' }, { key: 'defaultValue', value: popDefault }]);
7898
+ } else {
7899
+ formRef.reloadItemParam([{ key: 'value', value: newVal }]);
7900
+ }
7878
7901
  // 只读 TextField 偶发不跟 props,强制再刷一次
7879
7902
  if (typeof formRef.forceUpdate === 'function') {
7880
7903
  formRef.forceUpdate();
@@ -7898,8 +7921,23 @@ var PageHome = function (_React$Component) {
7898
7921
  }
7899
7922
  var mv = resolveMacroVal(it);
7900
7923
  if (typeof mv != 'undefined') {
7901
- it.defaultValue = mv;
7902
- it.value = mv;
7924
+ if (isPopuserVal(mv)) {
7925
+ var popDefault = parsePopDefault(mv);
7926
+ it.value = '';
7927
+ it.defaultValue = popDefault;
7928
+ if (!it.popuserMap) {
7929
+ it.popuserMap = {};
7930
+ }
7931
+ it.popuserMap.defaultUserScopeJson = mv.defaultUserScopeJson;
7932
+ it.popuserMap.defaultScopeName = mv.scopeName;
7933
+ it.popuserMap.defaultScopeValue = mv.scopeValue;
7934
+ if (mv.defaultType) {
7935
+ it.popuserMap.defaultType = mv.defaultType;
7936
+ }
7937
+ } else {
7938
+ it.defaultValue = mv;
7939
+ it.value = mv;
7940
+ }
7903
7941
  }
7904
7942
  if (it.children && it.children.length) {
7905
7943
  syncDefault(it.children);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.3.20",
3
+ "version": "2.3.21",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",