fmui-base 2.1.44 → 2.1.46

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/lib/db/db.js CHANGED
@@ -311,6 +311,34 @@ context.create('FlowModuleAPI', {
311
311
  });
312
312
  }
313
313
  },
314
+ insertBatchRelation: {
315
+ url: _variables2.default.URLS.insertBatchRelation,
316
+ method: 'POST',
317
+ header: {
318
+ Authorization: 'Bearer ' + getLoginUserInfo().token
319
+ },
320
+ /* header:{'content-Type':'application/x-www-form-urlencoded'},*/
321
+ willFetch: function willFetch() {
322
+ _Toast2.default.show({
323
+ content: _react2.default.createElement(_loading2.default, null),
324
+ duration: 800
325
+ });
326
+ }
327
+ },
328
+ startFlowTest: {
329
+ url: _variables2.default.URLS.startFlowTest,
330
+ method: 'POST',
331
+ header: {
332
+ Authorization: 'Bearer ' + getLoginUserInfo().token
333
+ },
334
+ /* header:{'content-Type':'application/x-www-form-urlencoded'},*/
335
+ willFetch: function willFetch() {
336
+ _Toast2.default.show({
337
+ content: _react2.default.createElement(_loading2.default, null),
338
+ duration: 800
339
+ });
340
+ }
341
+ },
314
342
  startProcess: {
315
343
  url: _variables2.default.URLS.startProcess,
316
344
  method: 'GET',
@@ -934,6 +962,21 @@ context.create('FlowModuleAPI', {
934
962
  duration: 800
935
963
  });
936
964
  }
965
+ },
966
+
967
+ getProcessListByCodes: {
968
+ mockUrl: 'query/queryCanBack.json',
969
+ url: _variables2.default.URLS.getProcessListByCodes,
970
+ method: 'GET',
971
+ header: {
972
+ Authorization: 'Bearer ' + getLoginUserInfo().token
973
+ },
974
+ /* header:{'content-Type':'application/x-www-form-urlencoded'},*/
975
+ willFetch: function willFetch() {
976
+ // Toast.show({
977
+ // content: <Loading />
978
+ // });
979
+ }
937
980
  }
938
981
 
939
982
  });
@@ -61,7 +61,8 @@ exports.default = {
61
61
 
62
62
  getComponentInfoList: urlBasicPrefix + 'mobilehall/mobileoffice/getComponentInfoList' + '?', //获取关联表单字段
63
63
 
64
-
64
+ insertBatchRelation: approveUrlPrefix + 'insertBatchRelation' + '?', // 关联流程
65
+ startFlowTest: approveUrlPrefix + 'startFlowTest' + '?', // 检验间隔时间
65
66
  startProcess: approveUrlPrefix + 'startProcess' + '?', // 启动流程的接口
66
67
  claimTask: approveUrlPrefix + 'claimTask' + '?', //校验流程
67
68
  saveForm: approveUrlPrefix + 'saveForm' + '?', //保存到草稿箱
@@ -122,7 +123,8 @@ exports.default = {
122
123
  getCategoryListByModule: approveUrlPrefix + "getCategoryListByModule" + '?', //获取所有节点
123
124
  cancelLimit: approveUrlPrefix + "cancelLimit" + '?', //取消超时
124
125
  getCanCancelLimit: approveUrlPrefix + "getCanCancelLimit" + '?', //是否可以取消超时
125
- getUserInfo: approveUrlPrefix + "getUserInfo" + '?' //获取用户信息
126
+ getUserInfo: approveUrlPrefix + "getUserInfo" + '?', //获取用户信息
127
+ getProcessListByCodes: approveUrlPrefix + "getProcessListByCodes" + '?' //获取可发起的子流程
126
128
  },
127
129
  nodataIcon: context + "/mobile/fmui/images/noData.png",
128
130
  loadingIcon: context + "/mobile/fmui/images/loading.gif",
@@ -141,6 +141,7 @@ var commentAttachId = '';
141
141
  var remindStyle = '';
142
142
  var FlowCommon = void 0;
143
143
  var _thirdMenuType = void 0;
144
+ var isSub = '';
144
145
  var regxp = {
145
146
  "*": /[\w\W]+/,
146
147
  "*6-16": /^[\w\W]{6,16}$/,
@@ -199,6 +200,7 @@ var PageHome = function (_React$Component) {
199
200
  var status = '0';
200
201
  var dataId = props.dataId;
201
202
  var editType = '';
203
+ isSub = props.isSub ? props.isSub : '';
202
204
  if (dataId && dataId != '-1') {
203
205
  //非新增
204
206
  setPageTitle("流程详情");
@@ -230,6 +232,12 @@ var PageHome = function (_React$Component) {
230
232
  permissionCode = 'start';
231
233
  setPageTitle("新建");
232
234
  }
235
+ //子流程打开
236
+ if (isSub != '') {
237
+ editType = 'readd';
238
+ permissionCode = 'start';
239
+ setPageTitle("新建");
240
+ }
233
241
  var isPush = props.isPush;
234
242
 
235
243
  var query = props.query == null ? {} : JSON.parse(props.query);
@@ -323,7 +331,7 @@ var PageHome = function (_React$Component) {
323
331
  // category:category,
324
332
  processInstanceId: props.processInstanceId,
325
333
  taskId: props.taskId,
326
- userId: userId,
334
+ userId: loginUserId,
327
335
  formItem: [],
328
336
  formStyleObj: {}, //表单字体样式
329
337
  formTblName: '',
@@ -441,7 +449,13 @@ var PageHome = function (_React$Component) {
441
449
  designActivity: '', //选择的提醒环节id
442
450
  processData: '1', //1 保留流程数据,2清除已办数据
443
451
  processDataList: [],
444
- commentUpload: '' //1 批示意见允许上传
452
+ commentUpload: '', //1 批示意见允许上传
453
+ subProcessCode: '', //子流程code
454
+ allSubprocessList: [], //可选择的子流程
455
+ dataInherit: '', //是否同步主表数据 1为同步
456
+ selectProcessCode: '', //选中的子流程
457
+ subProcessType: '' //子流程类型 0串行 1并行
458
+
445
459
  };
446
460
  FlowCommon = require('pages/flow_common/' + module).default ? require('pages/flow_common/' + module).default : require('pages/flow_common/' + module);
447
461
 
@@ -777,6 +791,9 @@ var PageHome = function (_React$Component) {
777
791
  var readScopeId = '';
778
792
  var readScopeList = [];
779
793
  var isRemoveCommentFormHtml = '0';
794
+ var subProcessCode = '';
795
+ var dataInherit = '';
796
+ var subProcessType = '';
780
797
  if (content.readScopeId && typeof content.readScopeId != "undefined") {
781
798
  readScopeId = content.readScopeId;
782
799
  }
@@ -790,6 +807,15 @@ var PageHome = function (_React$Component) {
790
807
  if (content.commentUpload && typeof content.commentUpload != "undefined") {
791
808
  commentUpload = content.commentUpload;
792
809
  }
810
+ if (content.subProcessCode && typeof content.subProcessCode != "undefined") {
811
+ subProcessCode = content.subProcessCode;
812
+ }
813
+ if (content.dataInherit && typeof content.dataInherit != "undefined") {
814
+ dataInherit = content.dataInherit;
815
+ }
816
+ if (content.subProcessType && typeof content.subProcessType != "undefined") {
817
+ subProcessType = content.subProcessType;
818
+ }
793
819
  var formKey = form.formcode;
794
820
  var formStyleObj = form.formStyle;
795
821
 
@@ -1353,7 +1379,10 @@ var PageHome = function (_React$Component) {
1353
1379
  readScopeId: readScopeId,
1354
1380
  readScopeList: readScopeList,
1355
1381
  isRemoveCommentFormHtml: isRemoveCommentFormHtml,
1356
- commentUpload: commentUpload
1382
+ commentUpload: commentUpload,
1383
+ subProcessCode: subProcessCode,
1384
+ dataInherit: dataInherit,
1385
+ subProcessType: subProcessType
1357
1386
  }, function () {
1358
1387
  t.refs["selectMember_circulate"].initSelectData();
1359
1388
  t.refs["selectMember_circulate1"].initSelectData();
@@ -1616,6 +1645,17 @@ var PageHome = function (_React$Component) {
1616
1645
  key: 'change',
1617
1646
  value: function change(data, itemParam) {
1618
1647
  console.log("数据回调" + itemParam.key);
1648
+ //子流程去除id字段
1649
+ if (isSub != '' && data) {
1650
+ var mainTblData = data.mainTblData;
1651
+ if (mainTblData && mainTblData.length > 0) {
1652
+ for (var i = 0; i < mainTblData.length; i++) {
1653
+ if (mainTblData[i].key == 'id') {
1654
+ mainTblData.splice(i, 1);
1655
+ }
1656
+ }
1657
+ }
1658
+ }
1619
1659
  this.setState({
1620
1660
  editFormData: data
1621
1661
  });
@@ -2078,6 +2118,7 @@ var PageHome = function (_React$Component) {
2078
2118
  }, {
2079
2119
  key: 'handleSubmitFunc',
2080
2120
  value: function handleSubmitFunc(operate) {
2121
+ console.log("handleSubmitFunc operate==" + operate);
2081
2122
  var t = this;
2082
2123
  var auditorUserIds = null;
2083
2124
  // this.state.personValue.map((item, index) => {
@@ -2926,6 +2967,58 @@ var PageHome = function (_React$Component) {
2926
2967
  }).catch(function (error) {
2927
2968
  console.error(error);
2928
2969
  });
2970
+ } else if (operate == 'subprocess') {
2971
+ //发起子流程
2972
+ var subProcessCode = t.state.subProcessCode;
2973
+ var canBackType = '';
2974
+
2975
+ if (subProcessCode != '') {
2976
+ //没有点击过驳回
2977
+ _db2.default.FlowModuleAPI.getProcessListByCodes({
2978
+ processCodes: subProcessCode
2979
+ }).then(function (content) {
2980
+ var subProcessList = content;
2981
+ if (subProcessList != null && subProcessList != '' && subProcessList.length > 0) {
2982
+ var selectOptions = [];
2983
+ subProcessList.map(function (item, index) {
2984
+ var option = {};
2985
+ option.value = item.code;
2986
+ option.content = item.processName;
2987
+ option.disable = false;
2988
+ option.checked = false;
2989
+ option.name = item.processName;
2990
+ if (index == 0) {
2991
+ option.checked = true;
2992
+ }
2993
+ selectOptions.push(option);
2994
+ });
2995
+ t.setState({
2996
+ allSubprocessList: selectOptions,
2997
+ selectProcessCode: selectOptions[0].value,
2998
+ operate: operate,
2999
+ pageStatus: '1'
3000
+ }, function () {
3001
+ $(window).scrollTop(0);
3002
+ });
3003
+ } else {
3004
+ _Toast2.default.show({
3005
+ type: 'error',
3006
+ content: '当前节点无可发起的子流程'
3007
+ });
3008
+ return false;
3009
+ }
3010
+ }).catch(function (error) {
3011
+ console.error(error);
3012
+ });
3013
+ } else {
3014
+ t.setState({
3015
+ operate: operate,
3016
+ pageStatus: '1',
3017
+ backReasonText: ''
3018
+ }, function () {
3019
+ $(window).scrollTop(0);
3020
+ });
3021
+ }
2929
3022
  } else {
2930
3023
  //其他按钮
2931
3024
  if (typeof FlowCommon[operate] === "function") {
@@ -3772,9 +3865,150 @@ var PageHome = function (_React$Component) {
3772
3865
  this.cancelLimitFlow(param);
3773
3866
  } else if (operate == 18) {
3774
3867
  this.sendMail();
3868
+ } else if (operate == 'subprocess') {
3869
+ this.startSubProcess();
3775
3870
  }
3776
3871
  }
3872
+ //子流程自动关联
3873
+
3874
+ }, {
3875
+ key: 'insertBatchRelation',
3876
+ value: function insertBatchRelation(processInstanceId, relationIds, activityId, dataInherit) {
3877
+ _db2.default.FlowModuleAPI.insertBatchRelation({
3878
+ processInstanceId: processInstanceId,
3879
+ relationIds: relationIds,
3880
+ activityId: activityId,
3881
+ dataInherit: dataInherit
3882
+ }).then(function (content) {
3883
+ console.log("content==" + content);
3884
+ }).catch(function (error) {
3885
+ console.error(error);
3886
+ });
3887
+ }
3888
+
3889
+ //发起子流程
3890
+
3891
+ }, {
3892
+ key: 'startSubProcess',
3893
+ value: function startSubProcess() {
3894
+ console.log("startSubProcess====");
3895
+ var t = this;
3896
+ var selectProcessCode = t.state.selectProcessCode;
3897
+ var dataInherit = t.state.dataInherit;
3898
+ var parentProcessInstanceId = t.state.processInstanceId;
3899
+ var parentTaskId = t.state.taskId;
3900
+ var parentDataId = t.state.dataId;
3901
+ var userId = t.state.userId;
3902
+ var isPush = t.state.isPush;
3903
+ var activityId = t.state.activityId;
3904
+ var param = {
3905
+ code: selectProcessCode
3906
+ };
3777
3907
 
3908
+ _db2.default.FlowModuleAPI.startFlowTest(param).then(function (content) {
3909
+ var canStart = content.canStart;
3910
+ var reminder = content.reminder;
3911
+ if (canStart == "1") {
3912
+ param.parentProcessInstanceId = parentProcessInstanceId;
3913
+ param.parentTaskId = parentTaskId;
3914
+ _db2.default.FlowModuleAPI.startProcess(param).then(function (content) {
3915
+ var openTaskId = content.openTaskId;
3916
+ var processInstanceId = content.processInstanceId;
3917
+ var list = content.list;
3918
+ if (openTaskId != null && openTaskId != '') {
3919
+ if (list != null && list != '' && list.length > 0) {
3920
+ t.insertBatchRelation(parentProcessInstanceId, processInstanceId, activityId, dataInherit);
3921
+ for (var j = 0; j < list.length; j++) {
3922
+ if (openTaskId == list[j].id) {
3923
+ var jumppath = '#/process/processDetails/' + openTaskId + '/' + list[j].formKey + '/-1/0/0/' + list[j].processInstanceId + '/approve/' + userId + '/undefined/' + parentProcessInstanceId;
3924
+ if (dataInherit && dataInherit == '1') {
3925
+ jumppath = '#/process/processDetails/' + openTaskId + '/' + list[j].formKey + '/' + parentDataId + '/0/0/' + list[j].processInstanceId + '/approve/' + userId + '/undefined/' + parentProcessInstanceId;
3926
+ }
3927
+ if (isPush == '1') {
3928
+ closePage();
3929
+ } else {
3930
+ backPage();
3931
+ }
3932
+ setTimeout(function () {
3933
+ location.hash = jumppath;
3934
+ }, 100);
3935
+ }
3936
+ }
3937
+ }
3938
+ } else {
3939
+ if (list != null && list != '' && list.length > 0) {
3940
+ var assigneeName = '';
3941
+ for (var i = 0; i < list.length; i++) {
3942
+ if (list[i].assigneeName != null && list[i].assigneeName != '') {
3943
+ assigneeName = assigneeName + ',' + list[i].assigneeName;
3944
+ }
3945
+ }
3946
+ _Toast2.default.show({
3947
+ type: 'success',
3948
+ content: "流程已发送给" + assigneeName.substring(1)
3949
+ });
3950
+ }
3951
+ }
3952
+ }).catch(function (error) {
3953
+ console.log(error.message);
3954
+ });
3955
+ } else {
3956
+ _Dialog2.default.confirm({
3957
+ locale: 'zh_CN',
3958
+ title: '提示',
3959
+ content: reminder,
3960
+ onConfirm: function onConfirm() {
3961
+ param.parentProcessInstanceId = parentProcessInstanceId;
3962
+ param.parentTaskId = parentTaskId;
3963
+ _db2.default.FlowModuleAPI.startProcess(param).then(function (content) {
3964
+ var openTaskId = content.openTaskId;
3965
+ var processInstanceId = content.processInstanceId;
3966
+ var list = content.list;
3967
+ t.insertBatchRelation(parentProcessInstanceId, processInstanceId, activityId, dataInherit);
3968
+ if (openTaskId != null && openTaskId != '') {
3969
+ if (list != null && list != '' && list.length > 0) {
3970
+ for (var j = 0; j < list.length; j++) {
3971
+ if (openTaskId == list[j].id) {
3972
+ var jumppath = '#/process/processDetails/' + openTaskId + '/' + list[j].formKey + '/-1/0/0/' + list[j].processInstanceId + '/approve/' + userId + '/undefined/' + parentProcessInstanceId;
3973
+ if (dataInherit && dataInherit == '1') {
3974
+ jumppath = '#/process/processDetails/' + openTaskId + '/' + list[j].formKey + '/' + parentDataId + '/0/0/' + list[j].processInstanceId + '/approve/' + userId + '/undefined/' + parentProcessInstanceId;
3975
+ }
3976
+ if (isPush == '1') {
3977
+ closePage();
3978
+ } else {
3979
+ backPage();
3980
+ }
3981
+ setTimeout(function () {
3982
+ location.hash = jumppath;
3983
+ }, 100);
3984
+ }
3985
+ }
3986
+ }
3987
+ } else {
3988
+ if (list != null && list != '' && list.length > 0) {
3989
+ var assigneeName = '';
3990
+ for (var i = 0; i < list.length; i++) {
3991
+ if (list[i].assigneeName != null && list[i].assigneeName != '') {
3992
+ assigneeName = assigneeName + ',' + list[i].assigneeName;
3993
+ }
3994
+ }
3995
+ _Toast2.default.show({
3996
+ type: 'success',
3997
+ content: "流程已发送给" + assigneeName.substring(1)
3998
+ });
3999
+ }
4000
+ }
4001
+ }).catch(function (error) {
4002
+ console.log(error.message);
4003
+ });
4004
+ },
4005
+ onCancel: function onCancel() {
4006
+ console.log('confirm cancel');
4007
+ }
4008
+ });
4009
+ }
4010
+ }).catch(function (error) {});
4011
+ }
3778
4012
  //驳回流程
3779
4013
 
3780
4014
  }, {
@@ -4469,6 +4703,9 @@ var PageHome = function (_React$Component) {
4469
4703
  dataId = content.dataId;
4470
4704
  t.setState({ dataId: dataId });
4471
4705
  }
4706
+ if (isSub != '') {
4707
+ t.insertBatchRelation(t.state.processInstanceId, isSub, t.state.activityId, '');
4708
+ }
4472
4709
  if (typeof FlowCommon.operateCallBack === "function") {
4473
4710
  // var type = 6;
4474
4711
  // if(t.state.isStart && t.state.dataId==''){//是不是起始节点
@@ -5875,6 +6112,9 @@ var PageHome = function (_React$Component) {
5875
6112
  var sysWatermark = _this2.state.sysWatermark;
5876
6113
  /* buttonCodeList.push({'buttonCode':'BASE_SUMBIT','buttonName':'通过'});
5877
6114
  buttonCodeList.push({'buttonCode':'PAGE_SAVE','buttonName':'保存'});*/
6115
+ if (_this2.state.subProcessCode && _this2.state.subProcessCode != '') {
6116
+ buttonCodeList.push({ 'buttonCode': 'subprocess', 'buttonName': '发起子流程' });
6117
+ }
5878
6118
  buttonCodeList = buttonCodeList.concat();
5879
6119
  var alllength = buttonCodeList.length + extensionButtonList.length;
5880
6120
  if (alllength > 4) {
@@ -6250,6 +6490,17 @@ var PageHome = function (_React$Component) {
6250
6490
  });
6251
6491
  }
6252
6492
 
6493
+ //选择子流程
6494
+
6495
+ }, {
6496
+ key: 'selectSubProcess',
6497
+ value: function selectSubProcess(value, index, data) {
6498
+ debugger;
6499
+ this.setState({
6500
+ selectProcessCode: value
6501
+ });
6502
+ }
6503
+
6253
6504
  //选择跳转节点
6254
6505
 
6255
6506
  }, {
@@ -6901,6 +7152,12 @@ var PageHome = function (_React$Component) {
6901
7152
  permissionCode = 'other';
6902
7153
  }
6903
7154
  }
7155
+ //子流程打开
7156
+ if (isSub != '') {
7157
+ editType = 'readd';
7158
+ permissionCode = 'start';
7159
+ setPageTitle("新建");
7160
+ }
6904
7161
  var isPush = nextProps.isPush;
6905
7162
  var isDraft = nextProps.query.isDraft; //是不是草稿箱,1是,0:不是
6906
7163
  if (isDraft) {
@@ -7824,6 +8081,26 @@ var PageHome = function (_React$Component) {
7824
8081
  value: this.state.cancelLimitReasonText,
7825
8082
  onChange: this.changeCancelLimitReasonText.bind(this) })
7826
8083
  ),
8084
+ _react2.default.createElement(
8085
+ _Group2.default.List,
8086
+ { className: this.state.operate == 'subprocess' && this.state.allSubprocessList.length > 0 ? '' : 't-DN' },
8087
+ _react2.default.createElement(
8088
+ 'div',
8089
+ { style: { background: '#f2f3f5', padding: '10px 5px' } },
8090
+ _react2.default.createElement(
8091
+ 'span',
8092
+ { className: 'theme-color' },
8093
+ _react2.default.createElement('i', { className: 'iconfont icon-back t-rotate-180 t-FS14 t-FR' }),
8094
+ '\u53D1\u8D77\u5B50\u6D41\u7A0B'
8095
+ )
8096
+ ),
8097
+ _react2.default.createElement(_RadioField2.default, {
8098
+ data: this.state.allSubprocessList,
8099
+ mode: 'list',
8100
+ onChange: this.selectSubProcess.bind(this),
8101
+ required: true
8102
+ })
8103
+ ),
7827
8104
  _react2.default.createElement(
7828
8105
  'div',
7829
8106
  { className: 't-P0 t-bottom-fixed' },