cloud-web-corejs 1.0.54-dev.209 → 1.0.54-dev.210

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.54-dev.209",
4
+ "version": "1.0.54-dev.210",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -84,6 +84,7 @@ let chartContainers = [],
84
84
  wfConfig: null,
85
85
  wfStartBindSave:false,
86
86
  wfAgreenBindSave:false,
87
+ wfAgreeConfigData:[],
87
88
  wfConfigDataEnabled:false,
88
89
  wfConfigData:[],
89
90
  },
@@ -1016,7 +1017,9 @@ let chartContainers = [],
1016
1017
  },
1017
1018
  copyNewFieldWidget(origin) {
1018
1019
  let newWidget = baseRefUtil.deepClone(origin);
1020
+ let sourceType = newWidget.type;
1019
1021
  newWidget.type = (newWidget.targetType || newWidget.type);
1022
+ newWidget.sourceType = sourceType;
1020
1023
  let tempId = baseRefUtil.generateId();
1021
1024
  newWidget.id = newWidget.type.replace(/-/g, '') + tempId;
1022
1025
  if (newWidget.hasOwnProperty("tableField")) {
@@ -1095,6 +1098,9 @@ let chartContainers = [],
1095
1098
  },
1096
1099
  copyNewContainerWidget(origin) {
1097
1100
  let newCon = baseRefUtil.deepClone(origin);
1101
+ let sourceType = newCon.type;
1102
+ newCon.type = (newCon.targetType || newCon.type);
1103
+ newCon.sourceType = sourceType;
1098
1104
  newCon.id = newCon.type.replace(/-/g, '') + baseRefUtil.generateId();
1099
1105
  newCon.options.name = newCon.id;
1100
1106
  if (newCon.options.keyNameEnabled = true) {
@@ -21,10 +21,16 @@
21
21
  <el-form-item :label="i18nt('流程通过时自动保存表单数据')">
22
22
  <el-switch v-model="formConfig.wfAgreenBindSave"></el-switch>
23
23
  </el-form-item>
24
+ <el-form-item :label="i18nt('流程通过时自动保存表单数据的节点配置')">
25
+ <a href="javascript:void(0);" class="a-link link-oneLind" @click="openWfConfigDataDialog2">
26
+ <span>{{ formConfig.wfAgreeConfigData && formConfig.wfAgreeConfigData.length ? "已维护" : "" }}</span>
27
+ <i class="el-icon-edit"></i>
28
+ </a>
29
+ </el-form-item>
24
30
  <el-form-item :label="i18nt('启用流程节点可编辑表单')">
25
31
  <el-switch v-model="formConfig.wfConfigDataEnabled"></el-switch>
26
32
  </el-form-item>
27
- <el-form-item :label="i18nt('流程节点可编辑表单设置')">
33
+ <el-form-item :label="i18nt('流程节点可编辑表单配置')">
28
34
  <a href="javascript:void(0);" class="a-link link-oneLind" @click="openWfConfigDataDialog">
29
35
  <span>{{ formConfig.wfConfigData && formConfig.wfConfigData.length ? "已维护" : "" }}</span>
30
36
  <i class="el-icon-edit"></i>
@@ -73,47 +79,11 @@
73
79
  <i class="el-icon-edit"></i>
74
80
  </a>
75
81
  </el-form-item>
76
- <!--
77
- <el-form-item :label="i18nt('designer.setting.formSize')">
78
- <el-select v-model="formConfig.size"><el-option v-for="item in formSizes" :key="item.value" :label="item.label" :value="item.value"></el-option></el-select>
79
- </el-form-item>
80
- <el-form-item :label="i18nt('designer.setting.labelPosition')">
81
- <el-radio-group v-model="formConfig.labelPosition" class="radio-group-custom">
82
- <el-radio-button label="left">{{ i18nt('designer.setting.leftPosition') }}</el-radio-button>
83
- <el-radio-button label="top">{{ i18nt('designer.setting.topPosition') }}</el-radio-button>
84
- </el-radio-group>
85
- </el-form-item>
86
- <el-form-item :label="i18nt('designer.setting.labelAlign')">
87
- <el-radio-group v-model="formConfig.labelAlign" class="radio-group-custom">
88
- <el-radio-button label="label-left-align">{{ i18nt('designer.setting.leftAlign') }}</el-radio-button>
89
- <el-radio-button label="label-center-align">{{ i18nt('designer.setting.centerAlign') }}</el-radio-button>
90
- <el-radio-button label="label-right-align">{{ i18nt('designer.setting.rightAlign') }}</el-radio-button>
91
- </el-radio-group>
92
- </el-form-item>
93
- <el-form-item :label="i18nt('designer.setting.labelWidth')">
94
- <el-input-number v-model="formConfig.labelWidth" :min="0" style="width: 100%"></el-input-number>
95
- </el-form-item>-->
96
82
  <el-form-item :label="i18nt('designer.setting.formCss')">
97
83
  <el-button type="info" icon="el-icon-edit" plain round @click="editFormCss">
98
84
  {{ i18nt('designer.setting.addCss') }}
99
85
  </el-button>
100
86
  </el-form-item>
101
- <!--
102
- <el-form-item :label="i18nt('designer.setting.customClass')">
103
- <el-select v-model="formConfig.customClass" multiple filterable allow-create default-first-option>
104
- <el-option v-for="(item, idx) in cssClassList" :key="idx" :label="item" :value="item"></el-option>
105
- </el-select>
106
- </el-form-item>
107
- <el-form-item :label="i18nt('designer.setting.globalFunctions')">
108
- <el-button type="info" icon="el-icon-edit" plain round @click="editGlobalFunctions">{{ i18nt('designer.setting.addEventHandler') }}</el-button>
109
- </el-form-item>
110
- <el-form-item label-width="0">
111
- <el-divider class="custom-divider">{{ i18nt('designer.setting.formSFCSetting') }}</el-divider>
112
- </el-form-item>
113
- <el-form-item :label="i18nt('designer.setting.formModelName')"><el-input type="text" v-model="formConfig.modelName"></el-input></el-form-item>
114
- <el-form-item :label="i18nt('designer.setting.formRefName')"><el-input type="text" v-model="formConfig.refName"></el-input></el-form-item>
115
- <el-form-item :label="i18nt('designer.setting.formRulesName')"><el-input type="text" v-model="formConfig.rulesName"></el-input></el-form-item>
116
- -->
117
87
  </el-collapse-item>
118
88
  <el-collapse-item name="2" title="列表标签页信息">
119
89
  <el-form-item :label="i18nt('列表启用多标签')">
@@ -336,7 +306,7 @@
336
306
  <el-dialog
337
307
  v-if="dialogVisible"
338
308
  custom-class="dialog-style list-dialog"
339
- :title="i18nt('流程节点信息')"
309
+ :title="i18nt('流程节点可编辑表单配置')"
340
310
  :visible.sync="dialogVisible"
341
311
  :show-close="!0"
342
312
  :append-to-body="true"
@@ -391,15 +361,15 @@
391
361
  <el-input v-model="row.taskSteps" clearable></el-input>
392
362
  </template>
393
363
  </el-table-column>
394
- <!-- <el-table-column :label="i18nt('设置')" width="150">
395
- <template slot-scope="{row}">
396
- <el-select v-model="row.type" clearable>
397
- <el-option :value="1" label="可编辑"></el-option>
398
- <el-option :value="2" label="仅显示"></el-option>
399
- <el-option :value="3" label="隐藏"></el-option>
400
- </el-select>
401
- </template>
402
- </el-table-column>-->
364
+ <!-- <el-table-column :label="i18nt('设置')" width="150">
365
+ <template slot-scope="{row}">
366
+ <el-select v-model="row.type" clearable>
367
+ <el-option :value="1" label="可编辑"></el-option>
368
+ <el-option :value="2" label="仅显示"></el-option>
369
+ <el-option :value="3" label="隐藏"></el-option>
370
+ </el-select>
371
+ </template>
372
+ </el-table-column>-->
403
373
  <el-table-column :label="i18nt('designer.setting.actionColumn')" width="100" align="center">
404
374
  <template #header>
405
375
  <span>{{ i18nt('designer.setting.actionColumn') }}</span>
@@ -430,6 +400,103 @@
430
400
  </div>
431
401
  </el-dialog>
432
402
 
403
+ <el-dialog
404
+ v-if="dialogVisible2"
405
+ custom-class="dialog-style list-dialog"
406
+ :title="i18nt('流程通过时自动保存表单数据的节点配置')"
407
+ :visible.sync="dialogVisible2"
408
+ :show-close="!0"
409
+ :append-to-body="true"
410
+ :modal="false"
411
+ :close-on-click-modal="!1"
412
+ :close-on-press-escape="!1"
413
+ :destroy-on-close="!0"
414
+ width="1220px"
415
+ top="5vh"
416
+ v-dialog-drag
417
+ :fullscreen="true"
418
+ >
419
+ <div class="cont" style="padding-bottom: 8px;">
420
+ <el-table
421
+ ref="singleTable"
422
+ width="100%"
423
+ :data="wfAgreeConfigData"
424
+ height="100%"
425
+ border=""
426
+ row-key="columnId"
427
+ stripe=""
428
+ style="margin-bottom: 0px;"
429
+ >
430
+ <el-table-column type="index" width="35" fixed="left"></el-table-column>
431
+ <el-table-column :label="i18nt('服务')" width="150">
432
+ <template slot-scope="{row}">
433
+ <el-select v-model="row.serveType" @change="changeServeType(row)">
434
+ <el-option :value="1" label="正式"></el-option>
435
+ <el-option :value="2" label="UAT"></el-option>
436
+ <el-option :value="3" label="测试"></el-option>
437
+ <el-option :value="4" label="自定义"></el-option>
438
+ </el-select>
439
+ </template>
440
+ </el-table-column>
441
+ <el-table-column :label="i18nt('自定义服务')" width="150">
442
+ <template slot-scope="{row}">
443
+ <el-input v-model="row.serveName" clearable :disabled="row.serveType!==4"></el-input>
444
+ </template>
445
+ </el-table-column>
446
+ <el-table-column :label="i18nt('组织编码')" width="250">
447
+ <template slot-scope="{row,$index}">
448
+ <el-input v-model="row.companyCodes" clearable></el-input>
449
+ </template>
450
+ </el-table-column>
451
+ <el-table-column :label="i18nt('流程模板编码')" width="150">
452
+ <template slot-scope="{row}">
453
+ <el-input v-model="row.modelKey" clearable></el-input>
454
+ </template>
455
+ </el-table-column>
456
+ <el-table-column :label="i18nt('节点步骤')" width="250">
457
+ <template slot-scope="{row}">
458
+ <el-input v-model="row.taskSteps" clearable></el-input>
459
+ </template>
460
+ </el-table-column>
461
+ <!-- <el-table-column :label="i18nt('设置')" width="150">
462
+ <template slot-scope="{row}">
463
+ <el-select v-model="row.type" clearable>
464
+ <el-option :value="1" label="可编辑"></el-option>
465
+ <el-option :value="2" label="仅显示"></el-option>
466
+ <el-option :value="3" label="隐藏"></el-option>
467
+ </el-select>
468
+ </template>
469
+ </el-table-column>-->
470
+ <el-table-column :label="i18nt('designer.setting.actionColumn')" width="100" align="center">
471
+ <template #header>
472
+ <span>{{ i18nt('designer.setting.actionColumn') }}</span>
473
+ <el-button :title="i18nt('designer.setting.addTableColumn')" size="mini" type="" circle=""
474
+ icon="el-icon-plus" @click="addItem2"></el-button>
475
+ </template>
476
+ <template slot-scope="scope">
477
+ <el-button
478
+ :title="i18nt('designer.setting.deleteTableColumn')"
479
+ size="mini"
480
+ type=""
481
+ circle=""
482
+ icon="el-icon-minus"
483
+ @click="wfAgreeConfigData.splice(scope.$index,1)"
484
+ ></el-button>
485
+ </template>
486
+ </el-table-column>
487
+
488
+ </el-table>
489
+ </div>
490
+ <div class="dialog-footer" slot="footer">
491
+ <el-button @click="dialogVisible2 = false" class="button-sty" icon="el-icon-close">
492
+ {{ i18nt('designer.hint.cancel') }}
493
+ </el-button>
494
+ <el-button type="primary" @click="confirmWfConfigDataDialog2" class="button-sty" icon="el-icon-check">
495
+ {{ i18nt('designer.hint.confirm') }}
496
+ </el-button>
497
+ </div>
498
+ </el-dialog>
499
+
433
500
  <formTemplateDialog v-if="showFormTemplateDialog" :visiable.sync="showFormTemplateDialog"
434
501
  @confirm="confirmFormTemplate" multi="false"/>
435
502
  <wfObjConfigDialog v-if="showWfObjConfigDialog" :visiable.sync="showWfObjConfigDialog"
@@ -501,7 +568,10 @@ export default {
501
568
  showWfObjConfigDialog: false,
502
569
 
503
570
  dialogVisible: false,
504
- wfConfigData: []
571
+ wfConfigData: [],
572
+
573
+ dialogVisible2: false,
574
+ wfAgreeConfigData: []
505
575
  };
506
576
  },
507
577
  created() {
@@ -743,6 +813,28 @@ export default {
743
813
  this.dialogVisible = !1;
744
814
  this.formConfig.wfConfigData = this.wfConfigData;
745
815
  },
816
+
817
+ openWfConfigDataDialog2() {
818
+ let wfAgreeConfigData = this.formConfig.wfAgreeConfigData || [];
819
+ this.dialogVisible2 = true;
820
+ this.wfAgreeConfigData = this.$baseLodash.cloneDeep(wfAgreeConfigData)
821
+ },
822
+ addItem2() {
823
+ let newItem = {
824
+ type: null,
825
+ serveType: null,
826
+ serveName: null,
827
+ modelKey: null,
828
+ taskSteps: null,
829
+ companyCodes: null
830
+ }
831
+ this.wfAgreeConfigData.push(newItem);
832
+ },
833
+ confirmWfConfigDataDialog2() {
834
+ this.dialogVisible2 = !1;
835
+ this.formConfig.wfAgreeConfigData = this.wfAgreeConfigData;
836
+ },
837
+
746
838
  }
747
839
  };
748
840
  </script>
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <div>
3
- <el-form-item :label="i18nt('有流程可编辑')">
3
+ <!-- <el-form-item :label="i18nt('有流程可编辑')">
4
4
  <el-switch v-model="optionModel.enabledByWf" @change="changeEnabledByWf"></el-switch>
5
5
  </el-form-item>
6
6
  <el-form-item :label="i18nt('有流程隐藏')">
7
7
  <el-switch v-model="optionModel.hiddenByWf" @change="changeHiddenByWf"></el-switch>
8
- </el-form-item>
8
+ </el-form-item>-->
9
9
  <el-form-item :label="i18nt('特定流程节点设置')">
10
10
  <el-switch v-model="optionModel.wfEdit" @change="changeWfEdit"></el-switch>
11
11
  </el-form-item>
@@ -24,16 +24,6 @@
24
24
  <i class="el-icon-edit"></i>
25
25
  </a>
26
26
  </el-form-item>
27
-
28
- <!-- <el-form-item :label="i18nt('特定流程节点显隐')">
29
- <el-switch v-model="optionModel.wfEdit" @change="changeWfEdit"></el-switch>
30
- </el-form-item>
31
- <el-form-item :label="i18nt('流程节点信息')">
32
- <a href="javascript:void(0);" class="a-link link-oneLind" @click="openDialog">
33
- <span>{{ optionModel.wfConfigData && optionModel.wfConfigData.length ? "已维护" : "" }}</span>
34
- <i class="el-icon-edit"></i>
35
- </a>
36
- </el-form-item>-->
37
27
  <el-dialog
38
28
  v-if="dialogVisible"
39
29
  custom-class="dialog-style list-dialog"
@@ -101,24 +91,6 @@
101
91
  </el-select>
102
92
  </template>
103
93
  </el-table-column>
104
- <!-- <el-table-column :label="i18nt('流程模板')" width="250" prop="label">
105
- <template slot-scope="scope">
106
- <el-select v-model="scope.row.modelId" @change="changeModelId">
107
- <el-option v-for="(wfDefItem,index) in wfDefItems" :key="index" :value="wfDefItem.modelId"
108
- :label="wfDefItem.modelName"></el-option>
109
- </el-select>
110
-
111
- </template>
112
- </el-table-column>
113
- <el-table-column :label="i18nt('流程节点')" width="550" prop="prop">
114
- <template slot-scope="scope">
115
- <el-checkbox-group v-model="scope.row.nodeIds" v-if="!!wfNodeMap[scope.row.modelId]">
116
- <el-checkbox v-for="(node,index) in wfNodeMap[scope.row.modelId]" :key="index"
117
- :label="node.nodeId">{{ node.nodeName }}
118
- </el-checkbox>
119
- </el-checkbox-group>
120
- </template>
121
- </el-table-column>-->
122
94
  <el-table-column :label="i18nt('designer.setting.actionColumn')" width="100" align="center">
123
95
  <template #header>
124
96
  <span>{{ i18nt('designer.setting.actionColumn') }}</span>
@@ -889,6 +889,9 @@ const projectTagConfig = {
889
889
 
890
890
  }
891
891
 
892
+ export const hiddenWidgetTypesOfWf = ["button"];
893
+ export const freeWidgetTypesOfWf = ["reset_button"];
894
+
892
895
  export const basicFields = [
893
896
  {
894
897
  type: "input",
@@ -1759,6 +1762,7 @@ export const basicFields = [
1759
1762
  options: {
1760
1763
  name: "",
1761
1764
  label: "",
1765
+ wfHideFlag:1,
1762
1766
  columnWidth: "200px",
1763
1767
  size: "",
1764
1768
  displayStyle: "block",
@@ -1969,6 +1973,7 @@ export const basicFields = [
1969
1973
  prefixIcon: "",
1970
1974
  suffixIcon: "",
1971
1975
  customClass: "",
1976
+ wfHideFlag:1,
1972
1977
  aLinkFlag: 1,
1973
1978
  underline: false,
1974
1979
  href: "",
@@ -28,7 +28,9 @@ import {
28
28
  containers,
29
29
  advancedFields,
30
30
  basicFields,
31
- customFields
31
+ customFields,
32
+ hiddenWidgetTypesOfWf,
33
+ freeWidgetTypesOfWf
32
34
  } from "../../../components/xform/form-designer/widget-panel/widgetsConfig.js"
33
35
  import scriptHttpMixin from "../../../components/xform/mixins/scriptHttp";
34
36
  import defaultHandleMixin from "../../../components/xform/mixins/defaultHandle";
@@ -480,6 +482,7 @@ modules = {
480
482
  this.getFieldWidgetByType(type1)
481
483
  );
482
484
  fieldWidget.options = t.columnOption;
485
+ fieldWidget.columnType = t.formatS
483
486
  t.widget = fieldWidget;
484
487
  }
485
488
  let type2 = columnFormatMap[t.editFormatS];
@@ -488,6 +491,8 @@ modules = {
488
491
  this.getFieldWidgetByType(type2)
489
492
  );
490
493
  fieldWidget.options = t.editColumnOption;
494
+ fieldWidget.columnType = t.editFormatS
495
+
491
496
  t.editWidget = fieldWidget;
492
497
  }
493
498
  }
@@ -518,20 +523,15 @@ modules = {
518
523
  //处理组件显隐规则
519
524
  this.handleWidgetShowRule(widget);
520
525
 
521
- if (wfParam.hasWf) {
522
- //有流程
526
+ if (!widgetEditOnWf && wfParam.hasWf) {
527
+ //有流程,且不匹配流程节点可编辑表单设置信息
523
528
  //设置组件的有流程可编辑,有流程隐藏
524
529
  this.hanldeWfWidgetNew1(widget)
525
530
  if (toModify) {
526
531
  //后台返回流程可以修改单据
527
532
  //设置组件的特定流程节点的可编辑,仅显示,隐藏
528
533
  if (taskDefinitionKey) {
529
- this.hanldeWfWidgetNew2(widget, (modifyFlag, saveButtonWidget) => {
530
- if (!saveButton && saveButtonWidget) {
531
- //获取保存按钮
532
- saveButton = saveButtonWidget
533
- }
534
- })
534
+ this.hanldeWfWidgetNew2(widget)
535
535
  }
536
536
  if (widget.formItemFlag && !widget.options.hidden && !widget.options.disbaled) {
537
537
  //存在存在可以编辑输入框框
@@ -540,14 +540,47 @@ modules = {
540
540
  }
541
541
  }
542
542
  });
543
- if (toModify && hasModifyItem && saveButton) {
544
- //后台返回流程可以修改单据,存在保存按钮,存在可以编辑输入框框
545
- saveButton.options.disabled = false;
546
- saveButton.options.hidden = false;
547
- }
543
+
548
544
 
549
545
  this.wfModifyEnabled = hasModifyItem;
550
546
  },
547
+ getIsSaveAtWfAgree() {
548
+ //流程通过的时候是否可以执行保存
549
+ let wfParam = this.wfParam || {};
550
+ let wfInfo = wfParam?.wfInfo
551
+ let toModify = wfInfo?.toModify;
552
+ let result = false;
553
+
554
+ let formConfig = this.formConfig;
555
+ if (toModify && formConfig.wfAgreenBindSave) {
556
+
557
+ let modelKey = wfInfo.modelKey;
558
+ let companyCode = this.$store.getters.companyCode;
559
+ let taskStep = (wfInfo.taskStep ?? "") + "";
560
+ let taskDefinitionKey = wfInfo.taskDefinitionKey;
561
+ let bdService = this.bdService;
562
+
563
+ let wfConfigData = formConfig.wfAgreeConfigData || []
564
+ let flag = false;
565
+ wfConfigData.forEach(item => {
566
+ let type = item.type;
567
+ let taskStepList = item.taskSteps ? item.taskSteps.split(',') : []
568
+ if (taskStepList.includes(taskStep)) {
569
+ let companyCodeStr = item.companyCodes;
570
+ let companyCodes = companyCodeStr ? companyCodeStr.split(",").filter(item => !!item) : [];
571
+ let flag1 = !item.serveName || item.serveName == bdService;
572
+ let flag2 = !item.modelKey || item.modelKey == modelKey;
573
+ let flag3 = !companyCodes.length || companyCodes.includes(companyCode)
574
+ if (flag1 && flag2 && flag3) {
575
+ //可编辑
576
+ result = true;
577
+ }
578
+ }
579
+ })
580
+ return result;
581
+ }
582
+ },
583
+
551
584
  hanldeWfWidgetNew0() {
552
585
 
553
586
  let wfParam = this.wfParam || {};
@@ -584,85 +617,53 @@ modules = {
584
617
  return result;
585
618
  }
586
619
  },
620
+ getIsfreeWidgetTypesOfWf(widget) {
621
+ if(!widget)return false;
622
+ let widgetType = widget.type;
623
+ let sourceType = widget.sourceType;
624
+ let result = freeWidgetTypesOfWf.includes(widgetType) || (sourceType && freeWidgetTypesOfWf.includes(sourceType))
625
+ return widget.options.label == "重置" || result
626
+ },
627
+ getIsHiddenWidgetTypesOfWf(widget) {
628
+ if(!widget)return false;
629
+ let widgetType = widget.type;
630
+ let targetType = widget.targetType;
631
+ let result = hiddenWidgetTypesOfWf.includes(widgetType) || (targetType && hiddenWidgetTypesOfWf.includes(targetType))
632
+ return result
633
+ },
587
634
  hanldeWfWidgetNew1(widget) {
635
+ if (!widget) return;
636
+ if (this.getIsfreeWidgetTypesOfWf(widget))return//过滤掉不受限组件
637
+ if (this.widgetEditOnWf) return//匹配到流程第一步可编辑,不执行下面禁用隐藏
588
638
  let wfParam = this.wfParam || {};
589
- if (!wfParam.hasWf) return;
590
- let isWfFlag = this.hasConfig(widget, 'wfFlag');
591
- let widgetType = widget?.type;
592
- let enabledByWf = widget?.options?.enabledByWf;
593
- let hiddenByWf = widget?.options?.hiddenByWf;
594
- let widgetName = widget?.options?.name;
595
- /* if (!hiddenByWf && this.widgetEditOnWf) {
596
- enabledByWf = true;
597
- }*/
598
- let hidden = null;
599
- let disabled = null;
600
- if (isWfFlag) {
601
- if (!this.widgetEditOnWf) {
602
- if (this.hasConfig(widget, 'disabled')) {
603
- if (!enabledByWf) {
604
- disabled = true;
605
- let onClick = widget.options.onClick;
606
- if (onClick && onClick.startsWith("this.getFormRef().$baseReload()")) {
607
- disabled = false;
608
- }
609
- } else {
610
- disabled = false;
611
- }
612
- if (widgetType == 'reset_button' && enabledByWf === undefined) {
613
- disabled = false;
614
- }
615
- if (disabled !== null) {
616
- widget.options.disabled = disabled;
617
- }
618
- }
619
- }
620
-
621
- if (hiddenByWf) {
622
- hidden = true
623
- }
624
- if (widget && widgetType == 'save_button' && hiddenByWf === undefined) {
625
- hidden = true
626
- }
627
- if (hidden !== null) {
628
- widget.options.hidden = hidden;
629
- }
639
+ if (!wfParam.hasWf) return;//过滤掉没流程
640
+ if (widget.columnType == 'editDelete') {
641
+ //数据表格列的删除标识,有流程隐藏
642
+ widget.options.hidden = true
643
+ } else if (this.getIsHiddenWidgetTypesOfWf(widget)) {
644
+ //有流程隐藏的组件,button
645
+ widget.options.hidden = true
646
+ } else if (widget.formItemFlag) {
647
+ //有流程禁用,编辑输入框
648
+ widget.options.disabled = true;
630
649
  }
631
650
 
632
- /*if (widget?.type == "data-table") {
633
- let loopDo = (t, e) => {
634
- if (t.children && t.children.length) {
635
- t.children.forEach(item => {
636
- loopDo(item)
637
- })
638
- } else {
639
- if (t.widget) {
640
- this.hanldeWfWidgetNew1(t.widget)
641
- }
642
- if (t.widgetList && t.widgetList.length) {
643
- loopHandleWidget(t.widgetList, (item1) => {
644
- this.hanldeWfWidgetNew1(item1)
645
- });
646
- }
647
- }
648
- }
649
- widget.options.tableColumns.forEach(item => {
650
- loopDo(item)
651
- })
652
651
 
653
- }*/
654
652
  },
655
653
  hanldeWfWidgetNew2(widget, callback) {
656
654
  let hasModifyItem = false;
657
655
  let saveButton;
658
- let flag = this.hanldeWfWidgetItemNew(widget)
659
- if (flag) {
660
- hasModifyItem = true
656
+ if (!this.widgetEditOnWf) {
657
+ let flag = this.hanldeWfWidgetItemNew(widget)
658
+ if (flag) {
659
+ hasModifyItem = true
660
+ }
661
661
  }
662
+
662
663
  if (widget?.options?.saveButton) {
663
664
  saveButton = widget;
664
665
  }
665
- callback(hasModifyItem, saveButton)
666
+ callback && callback(hasModifyItem, saveButton)
666
667
  },
667
668
  hanldeWfWidgetItemNew(widget) {
668
669
  let hasModifyItem = false;
@@ -1076,8 +1077,9 @@ modules = {
1076
1077
  }
1077
1078
 
1078
1079
  if (formConfig.wfAgreenBindSave) {
1080
+ //流程通过的时候,是否自动保存单据
1079
1081
  option.onClickAgree = (done) => {
1080
- if (that.wfModifyEnabled) {
1082
+ if (that.getIsSaveAtWfAgree()) {
1081
1083
  let formRef = this.getFormRef ? this.getFormRef() : this;
1082
1084
  formRef.validate(valid => {
1083
1085
  if (valid) {
@@ -1089,7 +1091,7 @@ modules = {
1089
1091
  }
1090
1092
  }
1091
1093
  option.onBeforeAgree = (done) => {
1092
- if (that.wfModifyEnabled) {
1094
+ if (that.getIsSaveAtWfAgree()) {
1093
1095
  this.saveDefaultHandle({
1094
1096
  config: {
1095
1097
  successMsg: false,
@@ -843,6 +843,7 @@ export function getDefaultFormConfig() {
843
843
  wfConfig: null,
844
844
  wfStartBindSave: false,
845
845
  wfAgreenBindSave:false,
846
+ wfAgreeConfigData:[],
846
847
  wfConfigDataEnabled:false,
847
848
  wfConfigData:[]
848
849
  };
@@ -495,7 +495,7 @@ export default {
495
495
  this.qrTimer2 = setTimeout(() => {
496
496
  this.qrExpired = true;
497
497
  this.clearQrLoginTimer();
498
- }, 10000)
498
+ }, 60000)
499
499
  },
500
500
  checkQrLoginTimerHanlde() {
501
501
  this.qrTimer1 = setTimeout(() => {