fmui-base 2.3.29 → 2.3.30

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.30:移动端日期型字段日期格式(xx年xx月xx日)移动端办理后丢失
6
7
  - 2.3.29:移动端办理宏值签名丢失
7
8
  - 2.3.28:传阅支持群发控制,支持禁选组织、职务、群组,管理员跳转选泽的用户用户替换跳转所在的节点办理人,指定办理的环节且后续节点是固定的办理人员的情况下支持无参与者自动通过,流程办理支持多次撤回
8
9
  - 2.3.27:批示意见附件样式调整
package/lib/form/form.js CHANGED
@@ -1148,6 +1148,14 @@ var PageHome = function (_React$Component) {
1148
1148
  });
1149
1149
  } else if (typeof value === 'number' && !isNaN(value)) {
1150
1150
  // 接口偶发返回时间戳:保留数字供组件展示,提交值在下方 sync 时格式化
1151
+ } else if (dateFormatShow == 'zhDate' && value && typeof value === 'string' && /年/.test(value)) {
1152
+ // zhDate 兜底:只读回显/脏数据可能是「yyyy年MM月dd日」,勿当无效值清空
1153
+ var zhInitYmd = this.parseZhDateToYmd(value);
1154
+ if (zhInitYmd) {
1155
+ value = new Date(zhInitYmd.replace(/-/g, "/")).getTime();
1156
+ } else {
1157
+ value = null;
1158
+ }
1151
1159
  } else if (value && typeof value === 'string' && value.length >= 10) {
1152
1160
  value = value.substring(0, 19);
1153
1161
  value = new Date(value.replace(/-/g, "/")).getTime();
@@ -2950,6 +2958,24 @@ var PageHome = function (_React$Component) {
2950
2958
  return weekdays[dayIndex];
2951
2959
  }
2952
2960
 
2961
+ // 中文日期「yyyy年MM月dd日」→「yyyy-MM-dd」(zhDate 只读回显用,落库禁止中文)
2962
+
2963
+ }, {
2964
+ key: 'parseZhDateToYmd',
2965
+ value: function parseZhDateToYmd(str) {
2966
+ if (str == null || str === '') {
2967
+ return '';
2968
+ }
2969
+ var m = String(str).trim().match(/^(\d{4})年(\d{1,2})月(\d{1,2})日/);
2970
+ if (!m) {
2971
+ return '';
2972
+ }
2973
+ var zy = m[1];
2974
+ var zm = m[2].length === 1 ? '0' + m[2] : m[2];
2975
+ var zd = m[3].length === 1 ? '0' + m[3] : m[3];
2976
+ return zy + '-' + zm + '-' + zd;
2977
+ }
2978
+
2953
2979
  // 时间字段提交值:统一格式化为字符串,避免 mainTblData 存入时间戳
2954
2980
 
2955
2981
  }, {
@@ -2990,6 +3016,13 @@ var PageHome = function (_React$Component) {
2990
3016
  return mPad + '-' + dPad;
2991
3017
  }
2992
3018
  }
3019
+ // zhDate:展示「xxxx年xx月xx日」,落库必须 yyyy-MM-dd(与 PC data-showtype=zhDate 一致)
3020
+ if (dateFormatShow === 'zhDate' && typeof raw === 'string') {
3021
+ var zhYmd = this.parseZhDateToYmd(raw);
3022
+ if (zhYmd) {
3023
+ return zhYmd;
3024
+ }
3025
+ }
2993
3026
  if (typeof raw === 'string') {
2994
3027
  if (raw.length >= 10 && raw.indexOf('-') >= 0) {
2995
3028
  // 时分字段提交仍只需 HH:mm
@@ -3000,6 +3033,10 @@ var PageHome = function (_React$Component) {
3000
3033
  if (dateFormatShow === 'MonthDay' || dateFormat === 'MD') {
3001
3034
  return this.dateFormat(new Date(raw.replace(/-/g, '/')).getTime(), dateFormat, dateFormatShow) || '';
3002
3035
  }
3036
+ // zhDate / 普通日期:取 yyyy-MM-dd
3037
+ if (dateFormatShow === 'zhDate' || dateFormat === 'YMD') {
3038
+ return raw.substring(0, 10);
3039
+ }
3003
3040
  return raw.substring(0, 19);
3004
3041
  }
3005
3042
  if (/^\d+$/.test(raw)) {
@@ -3007,10 +3044,17 @@ var PageHome = function (_React$Component) {
3007
3044
  }
3008
3045
  }
3009
3046
  if (typeof raw === 'number' && !isNaN(raw)) {
3047
+ // zhDate 落库不要中文展示串
3048
+ if (dateFormatShow === 'zhDate') {
3049
+ return this.dateFormat(raw, 'YMD') || '';
3050
+ }
3010
3051
  return this.dateFormat(raw, dateFormat, dateFormatShow) || '';
3011
3052
  }
3012
3053
  var d = new Date(raw);
3013
3054
  if (!isNaN(d.getTime())) {
3055
+ if (dateFormatShow === 'zhDate') {
3056
+ return this.dateFormat(d.getTime(), 'YMD') || '';
3057
+ }
3014
3058
  return this.dateFormat(d.getTime(), dateFormat, dateFormatShow) || '';
3015
3059
  }
3016
3060
  return '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.3.29",
3
+ "version": "2.3.30",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",