centaline-data-driven-v3 0.0.56 → 0.0.58

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.
@@ -61,7 +61,8 @@
61
61
  <template v-for="(row, rowindex) in model.listData" :key="rowindex">
62
62
  <tr v-if="from == 'form' || pageRowMin <= rowindex && rowindex <= pageRowMax"
63
63
  :ref="el => getRowsRef(el, rowindex)" @click="rowClickHandle($event, rowindex)"
64
- class="ct-tr" :style="row.rowStyle">
64
+ class="ct-tr" :style="row.rowStyle" :draggable="row.flagDrag == '1' ? true : false"
65
+ @dragstart="onDragStart($event, row, null, 'table')">
65
66
 
66
67
  <td v-if="model.isMulti" class="ct-td tdFiexd left-fixation checkbox-td"
67
68
  :class="[model.tdClass, rowindex === model.selectIndex ? 'select' : null,]"
@@ -85,9 +86,10 @@
85
86
  column.fixed === 'left' ? 'left-fixation' : null,
86
87
  column.width === undefined ? 'ct-table-auto' : null,
87
88
  column.fixed === 'right' ? 'right-fixation' : null,
88
- ]" v-bind="column.attrs" @drop="drop($event, row, column, 'body')"
89
- @dragover.prevent @dragenter="dragenter($event, column, 'body')"
90
- @dragleave="dragleave($event, column, 'body')">
89
+ ]" v-bind="column.attrs" :draggable="column.paramName == 'drop' ? true : false"
90
+ @drop="drop($event, row, column, 'table')" @dragover.prevent
91
+ @dragenter="dragenter($event, column, 'table')"
92
+ @dragleave="dragleave($event, column, 'table')">
91
93
  <!--操作列-->
92
94
  <div v-if="column.id === 'operation'" class="div_allinline"
93
95
  :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
@@ -217,7 +219,7 @@
217
219
  style="margin-top: 10px;width: 100%;display: inline-block;height: 30px;margin-bottom: 10px;">
218
220
  <el-button size="mini" @click="popupClickHandler()" class="max-search-btn" style="float:right;"
219
221
  type="primary">
220
- {{common.LocalizedString('确认','確認')}}
222
+ {{ common.LocalizedString('确认', '確認') }}
221
223
  </el-button>
222
224
  </div>
223
225
  <div v-if="isLoading" v-loading="isLoading" style="top: 30px"></div>
@@ -237,7 +239,7 @@ import Tablecurrency from './Tablecurrency.vue';
237
239
  import SearchTable from '../../../loader/src/SearchTable'
238
240
  import { RouterClickHandler, RouterMouseenterHandler } from '../../../utils/mixins';
239
241
  import { ElMessage } from 'element-plus'
240
- const emit = defineEmits(['rowClickHandle', 'searchComplate', 'refreshRowHandle', 'simpleRouterRefreshHandler', 'loaded', 'scrollHandle', 'closeSideBar', 'refreshParent', 'popupClickHandler', 'drop'])
242
+ const emit = defineEmits(['rowClickHandle', 'searchComplate', 'refreshRowHandle', 'simpleRouterRefreshHandler', 'loaded', 'scrollHandle', 'closeSideBar', 'refreshParent', 'popupClickHandler', 'drag'])
241
243
  const props = defineProps({
242
244
  vmodel: Object,
243
245
  api: String,
@@ -372,6 +374,7 @@ function searchComplate(m, defaultSearch) {
372
374
  function load(data) {
373
375
  model.value = data;
374
376
  model.value.$vue = { searchStrat, searchEnd, downloadUrl, loadStats, setTableHeight, updateCurrentRow, doAction, itemKey, refreshTableColumns, calculatingRowHeight, emit, operationLoading, getPage };
377
+ model.value.isIframe = props.isIframe
375
378
  //自动查询 调用合并列
376
379
  if (model.value.listData.length > 0) {
377
380
  if (model.value.rowMergedColumns.length > 0) {
@@ -456,41 +459,126 @@ function toolbarClickHandler(field) {
456
459
  }
457
460
  //导入
458
461
  function importComplete(res, field) {
462
+ if (res && res.rtnCode && res.rtnCode === 201) {
463
+ if (res.rtnMsg) {
464
+ ElMessage({
465
+ message: res.rtnMsg,
466
+ type: 'warning',
467
+ showClose: true,
468
+ });
469
+ }
470
+ return;
471
+ }
472
+ else if (res && res.rtnCode && res.rtnCode === 202 && res.rtnMsg) {
473
+ common.confirm(res.rtnMsg, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => {
474
+
475
+ })
476
+ .catch(() => {
477
+ });
478
+ }
459
479
  if (field.flagAsync) {
460
- if (res.content && res.content.action) {
461
- var dialogOption = {
462
- title: field.pageTitle || field.label,
463
- content: [{
464
- component: 'ct-progress',
465
- width: '350px',
466
- height: '165px',
467
- attrs: {
468
- progressAction: res.content.action,
469
- progressKey: res.content.key,
470
- progressType: 'import',
471
- onFinished(data) {
472
- common.closeDialog(dialogOption);
473
- if (data.rtnMsg) {
480
+ if (res.rtnCode && res.rtnCode === 202 && res.rtnMsg) {
481
+ common.confirm(res.rtnMsg, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => {
482
+ if (res.content && res.content.action) {
483
+ var dialogOption = {
484
+ title: field.pageTitle || field.label,
485
+ content: [{
486
+ component: 'ct-progress',
487
+ width: '350px',
488
+ height: '165px',
489
+ attrs: {
490
+ progressAction: res.content.action,
491
+ progressKey: res.content.key,
492
+ progressType: 'import',
493
+ onFinished(data) {
494
+ common.closeDialog(dialogOption);
495
+ if (field.isExport) {
496
+ if (data.content.indexOf(".zip") > -1) {
497
+ window.location.href = encodeURI(data.content);
498
+ }
499
+ else {
500
+ if (data.content.indexOf("?") > -1) {
501
+ downloadUrl.value = data.content + "&" + Math.random();
502
+ }
503
+ else {
504
+ downloadUrl.value = data.content + "?" + Math.random();
505
+ }
506
+ }
507
+ }
508
+ if (data.rtnMsg) {
509
+ ElMessage({
510
+ message: data.rtnMsg,
511
+ type: 'success',
512
+ showClose: true,
513
+ });
514
+ }
515
+ getPage(1, false);
516
+ },
517
+ onError(data) {
518
+ common.closeDialog(dialogOption);
519
+ ElMessage({
520
+ message: data.rtnMsg,
521
+ type: 'warning',
522
+ showClose: true,
523
+ });
524
+ }
525
+ },
526
+ }]
527
+ };
528
+ common.openDialog(dialogOption);
529
+ }
530
+ })
531
+ .catch(() => { });
532
+ }
533
+ else {
534
+ if (res.content && res.content.action) {
535
+ var dialogOption = {
536
+ title: field.pageTitle || field.label,
537
+ content: [{
538
+ component: 'ct-progress',
539
+ width: '350px',
540
+ height: '165px',
541
+ attrs: {
542
+ progressAction: res.content.action,
543
+ progressKey: res.content.key,
544
+ progressType: 'import',
545
+ onFinished(data) {
546
+ common.closeDialog(dialogOption);
547
+ if (field.isExport) {
548
+ if (data.content.indexOf(".zip") > -1) {
549
+ window.location.href = encodeURI(data.content);
550
+ }
551
+ else {
552
+ if (data.content.indexOf("?") > -1) {
553
+ downloadUrl.value = data.content + "&" + Math.random();
554
+ }
555
+ else {
556
+ downloadUrl.value = data.content + "?" + Math.random();
557
+ }
558
+ }
559
+ }
560
+ if (data.rtnMsg) {
561
+ ElMessage({
562
+ message: data.rtnMsg,
563
+ type: 'success',
564
+ showClose: true,
565
+ });
566
+ }
567
+ getPage(1, false);
568
+ },
569
+ onError(data) {
570
+ common.closeDialog(dialogOption);
474
571
  ElMessage({
475
572
  message: data.rtnMsg,
476
- type: 'success',
573
+ type: 'warning',
477
574
  showClose: true,
478
575
  });
479
576
  }
480
- getPage(1, false);
481
577
  },
482
- onError(data) {
483
- common.closeDialog(dialogOption);
484
- ElMessage({
485
- message: data.rtnMsg,
486
- type: 'warning',
487
- showClose: true,
488
- });
489
- }
490
- },
491
- }]
492
- };
493
- common.openDialog(dialogOption);
578
+ }]
579
+ };
580
+ common.openDialog(dialogOption);
581
+ }
494
582
  }
495
583
  }
496
584
  else {
@@ -1048,6 +1136,7 @@ function updateCurrentRow(router, data, flagSimple) {
1048
1136
  SearchTable.getCurrentRowApiData(model.value,
1049
1137
  function () {
1050
1138
  itemKey.value = Math.random()
1139
+ model.value.selectAll = false
1051
1140
  emit("searchComplate");
1052
1141
  if (data && !flagSimple) {
1053
1142
  emit("simpleRouterRefreshHandler");
@@ -1145,11 +1234,11 @@ function refreshTableColumns(data) {
1145
1234
  load(SearchTable.loadSearchTableModel(data, model.value.searchModel, false, props.api));
1146
1235
  }
1147
1236
  else {
1148
- if (refTableStats.value){
1237
+ if (refTableStats.value) {
1149
1238
  disabledStats.value = true;
1150
1239
  getPage(1, true);
1151
1240
  }
1152
- else{
1241
+ else {
1153
1242
  SearchTable.loadSearchTableApi(props.api, load, searchModel, true);
1154
1243
  }
1155
1244
  }
@@ -1238,10 +1327,17 @@ function fiexdHead() {
1238
1327
  }
1239
1328
  });
1240
1329
  }
1330
+ // 拖拽开始事件
1331
+ function onDragStart(event, row, column, name) {
1332
+ if (name == "table" && row.flagDrag == "1") {
1333
+ emit("drag", row, column, 'drag');
1334
+ }
1335
+ }
1336
+
1241
1337
  function drop(e, row, column, name) {
1242
1338
  let routerKey = "edit";
1243
1339
  let submitData = {};
1244
- if (props.dragStartName == "top" && name == "body" && column.paramName == "drop") {
1340
+ if (props.dragStartName == "top" && name == "table" && column.paramName == "drop") {
1245
1341
  var actionRouter = model.value.actionRouter;
1246
1342
  let field = actionRouter.find((b) => {
1247
1343
  return b.key === routerKey;
@@ -1276,18 +1372,17 @@ function drop(e, row, column, name) {
1276
1372
  }
1277
1373
  });
1278
1374
 
1279
- if (name === "body") {
1375
+ if (name === "table") {
1280
1376
  let el = e.target.nodeName.toLowerCase() == "td" ? e.target : getTDOfParents(e.target);
1281
1377
  removeClass(el, "dragEnterHover");
1282
1378
  }
1283
1379
  }
1284
-
1285
- emit("drop", row, column);
1286
-
1380
+ emit("drag", row, column, 'drop');
1287
1381
  }
1382
+
1288
1383
  function dragenter(e, column, name) {
1289
1384
  let el = e.target.nodeName.toLowerCase() == "td" ? e.target : getTDOfParents(e.target);
1290
- if (name === "body" && column.paramName == "drop") {
1385
+ if (name === "table" && column.paramName == "drop") {
1291
1386
  addClass(el, "dragEnterHover");
1292
1387
  }
1293
1388
  dragenterEl.value = el;
@@ -1296,7 +1391,7 @@ function dragenter(e, column, name) {
1296
1391
  function dragleave(e, column, name) {
1297
1392
  let el = e.target.nodeName.toLowerCase() == "td" ? e.target : getTDOfParents(e.target);
1298
1393
  // 目标节点的背景色恢复原样
1299
- if (name === "body" && dragenterEl.value != el) {
1394
+ if (name === "table" && dragenterEl.value != el) {
1300
1395
  removeClass(el, "dragEnterHover");
1301
1396
  }
1302
1397
 
@@ -20,7 +20,9 @@
20
20
  @refreshParent="refreshParentHandler" @simpleRouterRefreshHandler="simpleRouterRefreshHandler"
21
21
  @closeSideBar="closeSideBar" @popupClickHandler="popupClickHandler" :dragStartItem="dragStartItem"
22
22
  :dragStartName="dragStartName"
23
- @flagNotificationParentAfterContentChanged="flagNotificationParentAfterContentChanged">
23
+ @flagNotificationParentAfterContentChanged="flagNotificationParentAfterContentChanged"
24
+ @drag="drag"
25
+ >
24
26
  </searchTable>
25
27
  </div>
26
28
  <div ref="refSidebar" v-if="flagSideBar && flagSideBarOfData"
@@ -43,7 +45,7 @@ import SearchCategory from './SearchList/SearchCategory.vue';
43
45
  import SearchSideMenu from './SearchList/SearchSideMenu.vue';
44
46
  import SearchSideRight from './SearchList/SearchSideRight.vue';
45
47
  import { ref, nextTick, onMounted, watch, onActivated } from 'vue'
46
- const emit = defineEmits(['loaded', 'failLoad', 'tableLoaded', 'scrollHandle', 'rowClickHandle', 'refreshParent', 'submit', 'flagNotificationParentAfterContentChanged'])
48
+ const emit = defineEmits(['loaded', 'failLoad', 'tableLoaded', 'scrollHandle', 'rowClickHandle', 'refreshParent', 'submit', 'flagNotificationParentAfterContentChanged','drag'])
47
49
  const props = defineProps({
48
50
  vmodel: Object,
49
51
  parameterAction: String,
@@ -451,6 +453,9 @@ function popupClickHandler(tempListData) {
451
453
  function flagNotificationParentAfterContentChanged() {
452
454
  emit('flagNotificationParentAfterContentChanged');
453
455
  }
456
+ function drag(row, column,type) {
457
+ emit('drag',row,column,type);
458
+ }
454
459
  watch(() => props.pageHeight, (value) => {
455
460
  if (props.pageHeight) {
456
461
  pageHeightReal.value = props.pageHeight;
@@ -1,16 +1,18 @@
1
1
  <template>
2
2
  <ct-field :vmodel="model">
3
3
  <template #Control>
4
+ <div style="width: 100%;">
4
5
  <el-steps :space="model.code2.space" :direction="model.code2.direction" :active="model.code2.active"
5
6
  :simple="model.code2.simple" :process-status="model.code2.processStatus"
6
7
  :finish-status="model.code2.finishStatus" :align-center="model.code2.alignCenter">
7
- <el-step v-for="(step, index) in model.code1" :key="index" :title="step.title" :icon="step.icon">
8
+ <el-step v-for="(step, index) in model.code1" :key="index" :title="step.title" :icon="step.icon" :status="step.status">
8
9
  <template #description>
9
10
  <div v-html="step.description">
10
11
  </div>
11
12
  </template>
12
13
  </el-step>
13
14
  </el-steps>
15
+ </div>
14
16
  </template>
15
17
  </ct-field>
16
18
  </template>
@@ -28,9 +28,15 @@
28
28
  </template>
29
29
  </template>
30
30
  </el-table-column>
31
- <template v-else>
32
- <el-table-column v-if="col.show" :prop="col.id" :label="col.name" :min-width="col.width">
31
+ <template v-else-if="col.show">
32
+ <el-table-column v-if="col.flagHtml" :prop="col.id" :label="col.name" :min-width="col.width">
33
+ <template #default="scope">
34
+ <span v-html="scope.row[col.id]"></span>
35
+ </template>
36
+ </el-table-column>
37
+ <el-table-column v-else :prop="col.id" :label="col.name" :min-width="col.width">
33
38
  </el-table-column>
39
+
34
40
  </template>
35
41
  </template>
36
42
  </el-table>
@@ -9,11 +9,19 @@ const DatePicker = function (source) {
9
9
  if (source.controlType == Enum.ControlType.DateTime || source.controlType == Enum.ControlType.DateTimeRange || this.flagtime) {
10
10
  return 'yyyy-MM-dd HH:mm:ss'
11
11
  }
12
+ else if(source.controlType == Enum.ControlType.DateYearMonth
13
+ || source.controlType == Enum.ControlType.MonthRange){
14
+ return 'yyyy-MM'
15
+ }
12
16
  return 'yyyy-MM-dd'
13
17
  },
14
18
  //APP格式
15
19
  get valueFormatAPP() {
16
- return ['year', 'month', 'day']
20
+ if(source.controlType == Enum.ControlType.DateYearMonth
21
+ || source.controlType == Enum.ControlType.MonthRange){
22
+ return ['year', 'month']
23
+ }
24
+ return ['year', 'month', 'day']
17
25
  },
18
26
  //是否时间
19
27
  get flagtime() {
@@ -24,20 +32,25 @@ const DatePicker = function (source) {
24
32
  },
25
33
  //是否区间
26
34
  get flagrange() {
27
- if (source.controlType == Enum.ControlType.DateRange || source.controlType == Enum.ControlType.DateTimeRange || source.controlType == Enum.ControlType.TimeRange) {
35
+ if (source.controlType == Enum.ControlType.DateRange
36
+ || source.controlType == Enum.ControlType.DateTimeRange
37
+ || source.controlType == Enum.ControlType.MonthRange
38
+ || source.controlType == Enum.ControlType.TimeRange) {
28
39
  return true
29
40
  }
30
41
  return false
31
42
  },
32
43
  //控件类型
33
44
  get dateType() {
34
- if (source.controlType == Enum.ControlType.DateTime || source.controlType == Enum.ControlType.DateTimeRange) {
45
+ if (source.controlType == Enum.ControlType.DateTime
46
+ || source.controlType == Enum.ControlType.DateTimeRange) {
35
47
  return 'datetime'
36
48
  }
37
49
  else if (this.flagtime) {
38
50
  return 'time'
39
51
  }
40
- else if (source.controlType == Enum.ControlType.DateYearMonth) {
52
+ else if (source.controlType == Enum.ControlType.DateYearMonth
53
+ || source.controlType == Enum.ControlType.MonthRange) {
41
54
  return 'month'
42
55
  }
43
56
  return 'date'
@@ -26,8 +26,8 @@ const Base = function (source, moreActionRouter) {
26
26
  if (source.labelDelimiter) {
27
27
  l = l + source.labelDelimiter;
28
28
  }
29
- if(common.flagApp()){
30
- l=l.trim();
29
+ if (common.flagApp()) {
30
+ l = l.trim();
31
31
  }
32
32
  return l;
33
33
  },
@@ -235,7 +235,7 @@ const Base = function (source, moreActionRouter) {
235
235
  },
236
236
  //允许的文件类型(针对上传控件)
237
237
  get fileAccept1() {
238
- return source.fileAccept1||'';
238
+ return source.fileAccept1 || '';
239
239
  },
240
240
  set fileAccept1(v) {
241
241
  source.fileAccept1 = v;
@@ -724,8 +724,8 @@ const Base = function (source, moreActionRouter) {
724
724
  set lineFeed(v) {
725
725
  source.lineFeed = v;
726
726
  },
727
- // 主要给 表单分组控件使用 控制分组里面的内容是否使用 懒加载
728
- get lazyLoad() {
727
+ // 主要给 表单分组控件使用 控制分组里面的内容是否使用 懒加载
728
+ get lazyLoad() {
729
729
  if (typeof source.lazyLoad !== "undefined") {
730
730
  return source.lazyLoad;
731
731
  }
@@ -734,6 +734,13 @@ const Base = function (source, moreActionRouter) {
734
734
  set lazyLoad(v) {
735
735
  source.lazyLoad = v;
736
736
  },
737
+ // 控件类型为 VueCustomizedComponent 时 对应的 前端vue的组件名称
738
+ get vueComponentName() {
739
+ return source.vueComponentName;
740
+ },
741
+ set vueComponentName(v) {
742
+ source.vueComponentName = v;
743
+ },
737
744
  //Field结束
738
745
 
739
746
  collapseName: -1,//所属分组
@@ -831,28 +838,30 @@ const Base = function (source, moreActionRouter) {
831
838
  }
832
839
 
833
840
  }
834
- this.code1 = this.defaultCode1;
835
- this.code2 = this.defaultCode2;
836
- this.name1 = this.defaultName1;
841
+ this.code1 = this.defaultCode1 || '';
842
+ this.code2 = this.defaultCode2 || '';
843
+ this.name1 = this.defaultName1 || '';
837
844
 
838
845
  }
839
846
  else {
840
- if (this.controlType === Enum.ControlType.DateRange || this.controlType === Enum.ControlType.DateTimeRange) {
847
+ if (this.controlType === Enum.ControlType.DateRange
848
+ || this.controlType === Enum.ControlType.DateTimeRange
849
+ || this.controlType === Enum.ControlType.MonthRange) {
841
850
  this.code1 = '';
842
851
  this.code2 = '';
843
852
  }
844
853
  else if (this.controlType === Enum.ControlType.CheckBoxList) {
845
854
  this.value = [];
846
855
  }
847
- else if (this.controlType === Enum.ControlType.SearchListBox
848
- || this.controlType === Enum.ControlType.ComboBox
849
- || this.controlType === Enum.ControlType.MultiSelectNoSearch
850
- || this.controlType === Enum.ControlType.MultiSelectWithSearch
856
+ else if (this.controlType === Enum.ControlType.SearchListBox
857
+ || this.controlType === Enum.ControlType.ComboBox
858
+ || this.controlType === Enum.ControlType.MultiSelectNoSearch
859
+ || this.controlType === Enum.ControlType.MultiSelectWithSearch
851
860
  || this.controlType === Enum.ControlType.PhoneNumberText) {
852
- this.code1 = '';
853
- this.code2 = '';
854
- this.name1 = '';
855
- this.value = '';
861
+ this.code1 = '';
862
+ this.code2 = '';
863
+ this.name1 = '';
864
+ this.value = '';
856
865
  }
857
866
  else {
858
867
  this.code1 = '';
@@ -910,6 +919,23 @@ const Base = function (source, moreActionRouter) {
910
919
  configurable: true
911
920
  });
912
921
  }
922
+ else if (source.controlType == Enum.ControlType.NumberWithPlusAndMinus) {
923
+ Object.defineProperty(rtnFormObj, source.fieldName1, {
924
+ get: function () {
925
+ if (source.code1) {
926
+ let val = source.code1
927
+ if (typeof source.code1 === 'string') {
928
+ val = JSON.parse(source.code1)
929
+ }
930
+ return val
931
+ }
932
+ return []
933
+
934
+ },
935
+ enumerable: true,
936
+ configurable: true
937
+ });
938
+ }
913
939
  return rtnFormObj;
914
940
  },
915
941
 
@@ -973,6 +973,80 @@ function popupSearchListHandler(singleSelectio, field, router, model, Fields, pr
973
973
  }
974
974
  common.openDialog(dialogOption);
975
975
  }
976
+ //弹出分组搜索列表
977
+ function popupGroupListHandler(field, router, model, Fields, props, callBack) {
978
+ let submitData = {};
979
+ let verified = true;
980
+ let flagSearchlist = false;
981
+ let tempFormData = model.getFormObj();
982
+
983
+ let check = true;
984
+ let checkMsg;
985
+ router.submitFormField.forEach((v) => {
986
+ Fields.forEach((f) => {
987
+ if (f.model && f.model.fieldName1 === v) {
988
+ if (typeof f.model.validExcute !== 'undefined') {
989
+ if (!f.model.validExcute()) {
990
+ common.message(f.model.displayValidMessage)
991
+ verified = false;
992
+ return;
993
+ }
994
+ }
995
+ }
996
+ });
997
+ if (!verified) {
998
+ return;
999
+ }
1000
+ submitData[v] = common.getDataOfUpperLower(tempFormData, v);
1001
+ if (!submitData[v]) {
1002
+ if (model.fieldsDic[v]) {
1003
+ if (model.fieldsDic[v].required) {
1004
+ checkMsg = "请先录入" + model.fieldsDic[v].controlLabel;
1005
+ check = false;
1006
+ }
1007
+ }
1008
+ else {
1009
+ checkMsg = "未读取到表单项(" + v + ")的值";
1010
+ check = false;
1011
+ }
1012
+ }
1013
+ });
1014
+
1015
+ if (!verified) {
1016
+ return;
1017
+ }
1018
+ if (!check) {
1019
+ common.message(checkMsg, 'warning')
1020
+ return;
1021
+ }
1022
+ submitData = router.getActionPara(submitData).para;
1023
+ var dialogOption = {
1024
+ title: router.pageTitle,
1025
+ pane: common.getParentPane(),
1026
+ content: [{
1027
+ component: 'ct-popupgrouplist',
1028
+ width: router.pageWidth + 'px',
1029
+ height: (router.pageHeight || 500) + 'px',
1030
+ documentHeight: props.documentHeight,
1031
+ documentWidth: props.documentWidth,
1032
+ attrs: {
1033
+ searchConditionApi: router.actionForSearchLayout,
1034
+ searchFormApi: router.actionForSearchLayout,
1035
+ searchDataApi: router.actionForSearch,
1036
+ apiParam: submitData,
1037
+ flagPopupSearchlist: flagSearchlist,
1038
+ onSubmit: (option) => {
1039
+ if (typeof callBack === "function" && !router.callBackFunName) {
1040
+ callBack(option);
1041
+ }
1042
+ model.$vue.changeCallBackHandler(field, router.callBackFunName, option);
1043
+ common.closeDialog(dialogOption);
1044
+ }
1045
+ },
1046
+ }]
1047
+ };
1048
+ common.openDialog(dialogOption);
1049
+ }
976
1050
  function getFileData(field, model) {
977
1051
  var submitData = {};
978
1052
  var tempFormData = model.getFormObj();
@@ -1008,7 +1082,16 @@ function changeHandler(field, model) {
1008
1082
  var router = model.actionRouters.find((v) => {
1009
1083
  return v.id === field.onAfterChanged;
1010
1084
  });
1011
- clickHandler(router);
1085
+ if(router){
1086
+ clickHandler(router);
1087
+ }
1088
+ else{
1089
+ if (model.scripts) {
1090
+ model.scripts.formData.setExcuteListData(model.fields);
1091
+ }
1092
+ model.scripts.$fd = field.id;
1093
+ common.excute.call(model.scripts, field.onAfterChanged);
1094
+ }
1012
1095
  }
1013
1096
  }
1014
1097
  function getRouterAndSubmitData(field, model) {
@@ -1067,6 +1150,7 @@ const Form = {
1067
1150
  clearRelatedHandle,
1068
1151
  doAction,
1069
1152
  popupSearchListHandler,
1153
+ popupGroupListHandler,
1070
1154
  getFileData,
1071
1155
  changeHandler,
1072
1156
  getRouterAndSubmitData,