fmui-base 2.3.19 → 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,8 @@
3
3
  ---npm publish
4
4
 
5
5
  ## 更新日志
6
+ - 2.3.21:移动端切换组织时支持重新加载当前组织选人字段
7
+ - 2.3.20:移动端流程表单选人字段默认值支持选择当前用户,当前用户组织,与宏值逻辑一致
6
8
  - 2.3.19:移动端流程表单支持在线编辑
7
9
  - 2.3.18:流程抢占加签支持加签多人,流程表单支持在线编辑
8
10
  - 2.3.17:流程提交保存时增加表单的乐观锁校验功能,用来校验该表单数据在办理时有无被其他人修改过
package/lib/form/form.js CHANGED
@@ -1271,10 +1271,6 @@ var PageHome = function (_React$Component) {
1271
1271
  popCode = form.popuserMap.popCode;
1272
1272
  chooseWay = form.popuserMap.chooseWay;
1273
1273
  itemParam.chooseObj = form.popuserMap.chooseObj;
1274
- //表单默认值
1275
- if (form.popuserMap.defaultUserScopeJson) {
1276
- itemParam.defaultValue = JSON.parse(form.popuserMap.defaultUserScopeJson);
1277
- }
1278
1274
  } else {
1279
1275
  popCode = form.popuserMap.chooseObj;
1280
1276
  //兼容老数据
@@ -1294,6 +1290,25 @@ var PageHome = function (_React$Component) {
1294
1290
  }
1295
1291
  chooseWay = form.popuserMap.chooseWay;
1296
1292
  }
1293
+ //表单默认值(当前用户/组织):与宏值一致,赋值字段清空已保存值,走 defaultValue 回填
1294
+ if (form.popuserMap.defaultUserScopeJson) {
1295
+ try {
1296
+ itemParam.defaultValue = JSON.parse(form.popuserMap.defaultUserScopeJson);
1297
+ } catch (e) {
1298
+ itemParam.defaultValue = form.popuserMap.defaultUserScopeJson;
1299
+ }
1300
+ if (fuzhiFields && fuzhiFields.split(",").indexOf(itemParam.uniqueName) != -1 && itemParam.defaultValue) {
1301
+ value = "";
1302
+ if (mainTblData && mainTblData.length) {
1303
+ for (var _pu = 0; _pu < mainTblData.length; _pu++) {
1304
+ if (mainTblData[_pu].key == key) {
1305
+ mainTblData[_pu].value = "";
1306
+ break;
1307
+ }
1308
+ }
1309
+ }
1310
+ }
1311
+ }
1297
1312
  if (form.popuserMap.chooseScope) {
1298
1313
  if (form.popuserMap.chooseScope == 5) {
1299
1314
  itemParam.queryLimit = form.popuserMap.chooseScope;
@@ -3741,16 +3756,20 @@ var PageHome = function (_React$Component) {
3741
3756
  var t = this;
3742
3757
  var ctx = t.buildOfficeCtx();
3743
3758
  ctx.mode = mode || 'edit';
3744
- // 可编辑入口二次校验:仅 wpsWebOffice
3759
+ // 可编辑入口:进页已解析为 wps 时不再二次 resolveType(企微 location.href 卸页易导致请求 abort → 误弹「无法识别正文类型」)
3745
3760
  if (mode !== 'preview' && ctx.mode !== 'preview' && !ctx.readOnly) {
3761
+ if (t.state.mobileOfficeResolved && t.state.mobileOfficeAllowEdit) {
3762
+ MobileOffice.open(ctx);
3763
+ return;
3764
+ }
3746
3765
  MobileOffice.resolveType(ctx).then(function (resolved) {
3747
3766
  if (!t.isMobileWpsWebOffice(resolved)) {
3748
3767
  _Toast2.default.show({ content: '移动端暂仅支持 WPS 中台在线编辑,请到 PC 端操作' });
3749
3768
  return;
3750
3769
  }
3751
3770
  MobileOffice.open(ctx);
3752
- }).catch(function () {
3753
- _Toast2.default.show({ content: '无法识别正文类型' });
3771
+ }).catch(function (err) {
3772
+ console.error('[openWeboffice] resolveType failed', err);
3754
3773
  });
3755
3774
  return;
3756
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.19",
3
+ "version": "2.3.21",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",