centaline-data-driven 1.3.30 → 1.3.31

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,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.3.30",
3
+ "version": "1.3.31",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
@@ -8,15 +8,15 @@
8
8
  :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
9
9
  :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
10
10
 
11
- <ct-searchlist :searchConditionApi="'/PropertyContactImportList/getLayoutOfSearch'"
11
+ <!-- <ct-searchlist :searchConditionApi="'/PropertyContactImportList/getLayoutOfSearch'"
12
12
  :searchDataApi="'/PropertyContactImportList/getListOfSearchModel'">
13
- </ct-searchlist>
13
+ </ct-searchlist> -->
14
14
 
15
- <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
16
- :searchDataApi="'/PropertyRETList/getListOfSearchModel'"
17
- :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"
18
- :searchStatsApi="'/exampleList/getListStats'"
19
- ></ct-searchlist> -->
15
+ <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
16
+ :searchDataApi="'/PropertyRETList/getListOfSearchModel'"
17
+ :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"
18
+ :searchStatsApi="'/exampleList/getListStats'">
19
+ </ct-searchlist>
20
20
 
21
21
  <ct-dialog-list></ct-dialog-list>
22
22
  </div>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div v-loading="loading" :style="{width:pageWidth?pageWidth+'px':'100%',margin:'auto'}">
3
- <div v-if="model !== null && !loading" class="ct-form" :class="{'domDisabled':model.pageDisabled}">
3
+ <div v-if="model !== null && !loading" class="ct-form" :class="{'domDisabled':model.pageDisabled}" :key="formKey">
4
4
  <!--可根据场景判断显示el-card还是el-main-->
5
5
  <component :is="model.showTitle?'el-main':'el-card'">
6
6
  <div slot="header" class="clearfix" v-if="typeof model.title !== 'undefined' && model.flagShowTitle">
@@ -107,6 +107,7 @@
107
107
  isScroll: false,
108
108
  loading: true,
109
109
  activeName: '-1',
110
+ formKey:0,
110
111
  collapse: [],//分组数组
111
112
  collapseActiveNames: [],//默认展开的分组name
112
113
  collapseFieldsRow: [],//分组数组对应的行列布局
@@ -414,7 +415,16 @@
414
415
  }
415
416
  else if (field.isExport) {
416
417
  submitData = field.getActionPara(submitData).para;
417
- self.model.export(field, submitData);
418
+ if(field.flagAsync){
419
+ self.model.export(field, submitData);
420
+ }
421
+ else{
422
+ field.doAction(submitData, (data) => {
423
+ if(data.content){
424
+ window.open(data.content, "_blank");
425
+ }
426
+ });
427
+ }
418
428
  }
419
429
  else {
420
430
  submitData = field.getActionPara(submitData).para;
@@ -422,6 +432,14 @@
422
432
  if(field && field.changeCallBackFunName){
423
433
  self.changeCallBackHandler(field, field.changeCallBackFunName, data.content);
424
434
  }
435
+ else if(field.isRefersh){
436
+ self.collapse.splice(0, self.collapse.length);
437
+ self.collapseActiveNames.splice(0, self.collapseActiveNames.length);
438
+ self.collapseFieldsRow.splice(0, self.collapseFieldsRow.length);
439
+ self.independentItem.splice(0, self.independentItem.length);
440
+ self.load(self.loaderObj.Form(data.content));
441
+ self.formKey=self.formKey+1;
442
+ }
425
443
  else{
426
444
  self.model.doAction(data);
427
445
  }
@@ -1,80 +1,33 @@
1
1
  <template>
2
- <div
3
- style="width: 100%"
4
- class="ct-searchtable"
5
- ref="searchTable"
6
- :style="{ 'margin-top': isLayout ? '0' : '', padding: isLayout ? '0' : '' }"
7
- >
8
- <ct-tableStats
9
- ref="tableStats"
10
- class="ct-search-table-list-header"
11
- v-if="!isLoading && searchStatsApi"
12
- :api="searchStatsApi"
13
- @searchStats="searchStats"
14
- @setTableHeight="setTableHeight"
15
- :searchModel="model.searchModel"
16
- ></ct-tableStats>
17
- <ct-tabletoolbar
18
- ref="toolbar"
19
- v-if="!isLoading"
2
+ <div style="width: 100%" class="ct-searchtable" ref="searchTable" :style="{ 'margin-top': isLayout ? '0' : '', padding: isLayout ? '0' : '' }">
3
+ <ct-tableStats ref="tableStats" class="ct-search-table-list-header"
4
+ v-if="!isLoading && searchStatsApi" :api="searchStatsApi"
5
+ @searchStats="searchStats" @setTableHeight="setTableHeight" :searchModel="model.searchModel">
6
+ </ct-tableStats>
7
+
8
+ <ct-tabletoolbar ref="toolbar" v-if="!isLoading"
20
9
  :buttons="model.buttons"
21
- @click="toolbarClickHandler($event)"
22
- @importComplete="importComplete"
23
- :optionApi="model.optionApi"
24
- :searchModel="model.searchModel"
25
- ></ct-tabletoolbar>
26
- <ct-tabletip
27
- ref="listHeader"
28
- class="ct-search-table-list-header"
29
- :tip="model.listHeader"
30
- v-if="!isLoading"
31
- ></ct-tabletip>
32
- <div
33
- v-loading="tableLoading"
34
- v-if="!isLoading"
35
- :style="{ height: '0px', top: model.tableHeight * 0.55 + 'px' }"
36
- ></div>
10
+ @click="toolbarClickHandler($event)" @importComplete="importComplete"
11
+ :optionApi="model.optionApi" :searchModel="model.searchModel">
12
+ </ct-tabletoolbar>
13
+
14
+ <ct-tabletip ref="listHeader" class="ct-search-table-list-header" :tip="model.listHeader" v-if="!isLoading"></ct-tabletip>
15
+
16
+ <div v-loading="tableLoading" v-if="!isLoading" :style="{ height: '0px', top: model.tableHeight * 0.55 + 'px' }"></div>
37
17
  <div v-loading="operationLoading"></div>
38
- <div
39
- class="ct-tableParent"
40
- ref="tableParent"
41
- v-bind="model.attrs"
42
- v-if="!isLoading"
43
- :style="{
44
- height: from == 'form' ? '100%' : model.tableHeight + 'px',
45
- 'border-bottom': isLayout ? 'none' : '',
46
- 'border-top': isLayout ? 'none' : '',
47
- }"
48
- @scroll="scrollHandle($event)"
49
- :v-focus="model.flagFocus"
50
- @keydown.up="rowKeyDownHandle($event, 0)"
51
- @keydown.down="rowKeyDownHandle($event, 1)"
52
- tabindex="-1"
53
- >
18
+
19
+ <div class="ct-tableParent" ref="tableParent" v-bind="model.attrs" v-if="!isLoading"
20
+ :style="{ height: from == 'form' ? '100%' : model.tableHeight + 'px','border-bottom': isLayout ? 'none' : '','border-top': isLayout ? 'none' : '',}"
21
+ @scroll="scrollHandle($event)" :v-focus="model.flagFocus"
22
+ @keydown.up="rowKeyDownHandle($event, 0)" @keydown.down="rowKeyDownHandle($event, 1)"
23
+ tabindex="-1">
54
24
  <div class="ct-table-content" v-if="!isLayout">
55
- <table
56
- border="0"
57
- cellpadding="0"
58
- cellspacing="0"
59
- :class="[
60
- 'ct-table',
61
- model.attrs.size ? 'ct-table-' + model.attrs.size : '',
62
- ]"
63
- >
25
+ <table border="0" cellpadding="0" cellspacing="0"
26
+ :class="['ct-table',model.attrs.size ? 'ct-table-' + model.attrs.size : '',]">
64
27
  <!--表头-->
65
28
  <thead ref="tableHead" class="right-no-fixation-th">
66
- <tr
67
- class="ct-tr"
68
- ref="headTr"
69
- v-for="(columns, columnsIndex) in model.columnsArr"
70
- :key="columnsIndex"
71
- >
72
- <th
73
- v-if="model.isMulti && columnsIndex === 0"
74
- ref="headLeftThs"
75
- class="ct-td left-fixation-th checkbox-td"
76
- :class="[model.tdClass]"
77
- >
29
+ <tr class="ct-tr" ref="headTr" v-for="(columns, columnsIndex) in model.columnsArr" :key="columnsIndex">
30
+ <th v-if="model.isMulti && columnsIndex === 0" ref="headLeftThs" class="ct-td left-fixation-th checkbox-td" :class="[model.tdClass]">
78
31
  <label class="el-checkbox">
79
32
  <span class="el-checkbox__input" :class="model.selectAllType">
80
33
  <span class="el-checkbox__inner"></span>
@@ -88,20 +41,9 @@
88
41
  </span>
89
42
  </label>
90
43
  </th>
91
- <th
92
- :ref="
93
- column.fixed
94
- ? column.fixed === 'left'
95
- ? 'headLeftThs'
96
- : 'headRightThs'
97
- : 'headThs'
98
- "
99
- v-for="(column, colIndex) in columns"
100
- :key="colIndex"
101
- v-if="column.show"
102
- class="ct-td ct-searchtable-th"
103
- :rowspan="column.rowspan"
104
- :colspan="column.colspan"
44
+ <th :ref=" column.fixed ? column.fixed === 'left' ? 'headLeftThs' : 'headRightThs' : 'headThs'"
45
+ v-for="(column, colIndex) in columns" :key="colIndex" v-if="column.show"
46
+ class="ct-td ct-searchtable-th" :rowspan="column.rowspan" :colspan="column.colspan"
105
47
  :class="[
106
48
  colHasWidth[colIndex],
107
49
  column.sortAction,
@@ -111,31 +53,14 @@
111
53
  column.fixed === 'left' ? 'left-fixation-th' : null,
112
54
  column.fixed === 'right' ? 'right-fixation-th' : null,
113
55
  column.width === undefined ? 'ct-table-auto' : null,
114
- typeof column.fixed === 'undefined'
115
- ? 'right-no-fixation-th'
116
- : null,
56
+ typeof column.fixed === 'undefined' ? 'right-no-fixation-th': null,
117
57
  ]"
118
- @mousemove="thMouseMoveHandle($event)"
119
- @mousedown="thMouseDownHandle($event, colIndex)"
120
- v-bind="column.attrs"
121
- >
58
+ @mousemove="thMouseMoveHandle($event)" @mousedown="thMouseDownHandle($event, colIndex)"
59
+ v-bind="column.attrs">
122
60
  <span>{{ column.name }}</span>
123
- <span
124
- class="caret-wrapper"
125
- v-if="column.sort"
126
- @click="toSort($event, column)"
127
- @contextmenu.prevent="clearSort($event, column)"
128
- >
129
- <i
130
- class="sort-caret ascending"
131
- @click.left="toSort($event, column, 'asc')"
132
- @contextmenu.prevent="clearSort($event, column)"
133
- ></i>
134
- <i
135
- class="sort-caret descending"
136
- @click.left="toSort($event, column, 'desc')"
137
- @contextmenu.prevent="clearSort($event, column)"
138
- ></i>
61
+ <span class="caret-wrapper" v-if="column.sort" @click="toSort($event, column)" @contextmenu.prevent="clearSort($event, column)">
62
+ <i class="sort-caret ascending" @click.left="toSort($event, column, 'asc')" @contextmenu.prevent="clearSort($event, column)"></i>
63
+ <i class="sort-caret descending" @click.left="toSort($event, column, 'desc')" @contextmenu.prevent="clearSort($event, column)"></i>
139
64
  </span>
140
65
  </th>
141
66
 
@@ -147,49 +72,20 @@
147
72
  <!--表体-->
148
73
  <tbody>
149
74
  <!--可视区域的行数据-->
150
- <tr
151
- v-for="(row, rowindex) in model.listData"
152
- :key="rowindex"
153
- v-if="pageRowMin <= rowindex && rowindex <= pageRowMax"
154
- :ref="'rows.' + rowindex"
155
- @click="rowClickHandle($event, rowindex)"
156
- class="ct-tr"
157
- :style="row.$style"
158
- >
159
- <td
160
- v-if="model.isMulti"
161
- class="ct-td tdFiexd left-fixation checkbox-td"
162
- :class="[model.tdClass]"
163
- align="center"
164
- >
165
- <label
166
- v-if="!model.rightMulti || row[model.rightMulti] == 1"
167
- class="el-checkbox is-checked"
168
- >
75
+ <tr v-for="(row, rowindex) in model.listData" :key="rowindex" v-if="pageRowMin <= rowindex && rowindex <= pageRowMax"
76
+ :ref="'rows.' + rowindex" @click="rowClickHandle($event, rowindex)"
77
+ class="ct-tr" :style="row.$style">
78
+ <td v-if="model.isMulti" class="ct-td tdFiexd left-fixation checkbox-td" :class="[model.tdClass]" align="center">
79
+ <label v-if="!model.rightMulti || row[model.rightMulti] == 1" class="el-checkbox is-checked">
169
80
  <span class="el-checkbox__input" :class="rowCheckClass(row)">
170
81
  <span class="el-checkbox__inner"></span>
171
- <input
172
- type="checkbox"
173
- v-model="row.$select"
174
- @change="selectOne($event)"
175
- class="el-checkbox__original checkbox-td-1"
176
- />
82
+ <input type="checkbox" v-model="row.$select" @change="selectOne($event)" class="el-checkbox__original checkbox-td-1"/>
177
83
  </span>
178
84
  </label>
179
85
  </td>
180
- <td
181
- :ref="
182
- column.fixed
183
- ? column.fixed === 'left'
184
- ? 'headLeftTds'
185
- : 'headRightTds'
186
- : null
187
- "
188
- v-for="(column, colIndex) in model.dataFieldcolumns"
189
- :key="colIndex"
190
- v-if="tdShow(column, row)"
191
- :rowspan="tdRowspan(column, row)"
192
- class="ct-td"
86
+ <td :ref="column.fixed? column.fixed === 'left' ? 'headLeftTds': 'headRightTds' : null"
87
+ v-for="(column, colIndex) in model.dataFieldcolumns" :key="colIndex" v-if="tdShow(column, row)"
88
+ :rowspan="tdRowspan(column, row)" class="ct-td"
193
89
  :class="[
194
90
  colHasWidth[colIndex],
195
91
  model.tdClass,
@@ -199,95 +95,45 @@
199
95
  column.width === undefined ? 'ct-table-auto' : null,
200
96
  column.fixed === 'right' ? 'right-fixation' : null,
201
97
  ]"
202
- v-bind="column.attrs"
203
- >
98
+ v-bind="column.attrs">
204
99
  <!--操作列-->
205
- <div
206
- v-if="column.id === 'operation'"
207
- class="div_allinline"
208
- :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
209
- >
210
- <ct-tablecurrency
211
- v-for="(router, rowRouterIndex) in getRowRouterShow(row)"
212
- :key="rowRouterIndex"
213
- v-if="!router.rightField || row[router.rightField] == 1"
214
- :isOperationalColumn="true"
215
- :router="router"
216
- :colValue="router.label"
217
- :rowData="row"
218
- @click="rolRouterClickHandler"
219
- >
100
+ <div v-if="column.id === 'operation'" class="div_allinline" :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'">
101
+ <ct-tablecurrency v-for="(router, rowRouterIndex) in getRowRouterShow(row)" :key="rowRouterIndex"
102
+ v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true"
103
+ :router="router" :colValue="router.label" :rowData="row" @click="rolRouterClickHandler">
220
104
  </ct-tablecurrency>
221
- <el-popover
222
- v-if="getRowRouterDisplay(row).length > 0"
223
- :ref="'popover' + rowindex"
105
+ <el-popover v-if="getRowRouterDisplay(row).length > 0" :ref="'popover' + rowindex"
224
106
  :append-to-table="option.appendId ? option.appendId : ''"
225
- class="Stats-popover"
226
- popper-class="el-popover1"
227
- :placement="option.placement ? option.placement : 'left'"
228
- :trigger="option.trigger ? option.trigger : ''"
229
- >
107
+ class="Stats-popover" popper-class="el-popover1"
108
+ :placement="option.placement ? option.placement : 'left'" :trigger="option.trigger ? option.trigger : ''">
230
109
  <div class="tab-list" style="border-bottom: none">
231
- <ct-tablecurrency
232
- v-for="(router, rowRouterIndex) in getRowRouterDisplay(
233
- row
234
- )"
235
- :key="rowRouterIndex"
236
- v-if="!router.rightField || row[router.rightField] == 1"
237
- :isOperationalColumn="true"
238
- :isShowImg="false"
239
- :rowindex="rowindex"
240
- :router="router"
241
- :colValue="router.label"
242
- :rowData="row"
243
- @click="rolRouterClickHandler"
244
- >
110
+ <ct-tablecurrency v-for="(router, rowRouterIndex) in getRowRouterDisplay(row)"
111
+ :key="rowRouterIndex" v-if="!router.rightField || row[router.rightField] == 1"
112
+ :isOperationalColumn="true" :isShowImg="false" :rowindex="rowindex"
113
+ :router="router" :colValue="router.label" :rowData="row" @click="rolRouterClickHandler">
245
114
  </ct-tablecurrency>
246
115
  </div>
247
- <span
248
- :slot="
249
- getRowRouterDisplay(row).length > 0 ? 'reference' : ''
250
- "
251
- class="icon-more"
252
- ></span>
116
+ <span :slot="getRowRouterDisplay(row).length > 0 ? 'reference' : ''" class="icon-more"></span>
253
117
  </el-popover>
254
118
  </div>
255
119
 
256
- <ct-tablecurrency
257
- v-else-if="column.id === 'voice'"
258
- :isShowVoice="true"
259
- :router="column.router"
260
- :colValue="column.router.label"
261
- :rowData="row"
262
- @click="rolRouterClickHandler"
263
- :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
264
- >
120
+ <ct-tablecurrency v-else-if="column.id === 'voice'" :isShowVoice="true"
121
+ :router="column.router" :colValue="column.router.label"
122
+ :rowData="row" @click="rolRouterClickHandler" :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'">
265
123
  </ct-tablecurrency>
266
124
 
267
125
  <!--可点击的列-->
268
- <ct-tablecurrency
269
- v-else-if="column.router"
270
- :align="column.attrs.align"
271
- :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
272
- :router="column.router"
273
- :colValue="row[column.id]"
274
- :rowData="row"
275
- @click="rolRouterClickHandler"
276
- >
126
+ <ct-tablecurrency v-else-if="column.router"
127
+ :align="column.attrs.align" :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
128
+ :router="column.router" :colValue="row[column.id]" :rowData="row" @click="rolRouterClickHandler">
277
129
  </ct-tablecurrency>
278
130
 
279
131
  <!--正常的列-->
280
- <div
281
- v-else-if="column.flagHtml"
282
- v-html="row[column.id]"
283
- :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
284
- :style="column.style ? column.style : ''"
285
- ></div>
286
- <div
287
- v-else-if="typeof column.template === 'undefined'"
288
- :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
289
- :style="column.style ? column.style : ''"
290
- >
132
+ <div v-else-if="column.flagHtml" v-html="row[column.id]"
133
+ :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'" :style="column.style ? column.style : ''">
134
+ </div>
135
+ <div v-else-if="typeof column.template === 'undefined'"
136
+ :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'" :style="column.style ? column.style : ''">
291
137
  {{ row[column.id] }}
292
138
  </div>
293
139
 
@@ -306,35 +152,16 @@
306
152
  </div>
307
153
  <div v-else>
308
154
  <div v-for="(row, rowindex) in model.listData" :key="rowindex">
309
- <ct-layout
310
- :ref="'layout' + rowindex"
311
- :vmodel="row"
312
- :cellLayout="model.cellLayout"
313
- :key="tableComplate"
314
- :rowindex="rowindex"
315
- :actionRouter="model.actionRouter"
316
- @click="rolRouterCellClickHandler"
317
- ></ct-layout>
155
+ <ct-layout :ref="'layout' + rowindex" :vmodel="row" :cellLayout="model.cellLayout" :key="tableComplate"
156
+ :rowindex="rowindex" :actionRouter="model.actionRouter" @click="rolRouterCellClickHandler">
157
+ </ct-layout>
318
158
  </div>
319
159
  </div>
320
160
  </div>
321
- <ct-tabletip
322
- ref="listFooter"
323
- class="ct-search-table-list-footer"
324
- :tip="model.listFooter"
325
- v-if="!isLoading && !isLayout"
326
- ></ct-tabletip>
327
- <ct-tabletip
328
- ref="footer"
329
- class="ct-search-table-footer"
330
- :tip="model.footer"
331
- v-if="!isLoading && !isLayout"
332
- ></ct-tabletip>
333
- <div
334
- v-if="isLoading && searchLoading"
335
- v-loading="isLoading"
336
- style="top: 30px"
337
- ></div>
161
+
162
+ <ct-tabletip ref="listFooter" class="ct-search-table-list-footer" :tip="model.listFooter" v-if="!isLoading && !isLayout"></ct-tabletip>
163
+ <ct-tabletip ref="footer" class="ct-search-table-footer" :tip="model.footer" v-if="!isLoading && !isLayout"></ct-tabletip>
164
+ <div v-if="isLoading && searchLoading" v-loading="isLoading" style="top: 30px"></div>
338
165
  </div>
339
166
  </template>
340
167
  <script>
@@ -966,12 +793,6 @@ export default {
966
793
  submitData["searchFields"] = self.model.searchModel.searchData;
967
794
  }
968
795
 
969
- //如果是导出按钮,则直接交给父组件处理
970
- if (field.isExport) {
971
- self.$emit("toolbarClick", field, submitData);
972
- return;
973
- }
974
-
975
796
  this.routerClickHandler(field, submitData, action);
976
797
  },
977
798
  rolRouterClickHandler(field, rowData, rowindex) {
@@ -1004,43 +825,31 @@ export default {
1004
825
  if (field.pageStyle) {
1005
826
  submitData.pageStyle = field.pageStyle;
1006
827
  }
1007
- self.$common
1008
- .getDataDrivenOpts()
1009
- .handler.openTab(
1010
- action,
1011
- submitData,
1012
- field.pageTitle,
1013
- self.model,
1014
- field.dialogWidth
1015
- );
1016
- } else if (field.isSearchPageInTab) {
1017
- // 外部框架tab页打开
828
+ self.$common.getDataDrivenOpts().handler.openTab(action,submitData,field.pageTitle,self.model,field.dialogWidth);
829
+ }
830
+ else if (field.isSearchPageInTab) {// 外部框架tab页打开
1018
831
  submitData = field.getActionPara(submitData).para;
1019
- self.$common
1020
- .getDataDrivenOpts()
1021
- .handler.openTabSearch(field, submitData);
1022
- } else if (field.isBrowserNewTab) {
1023
- // 浏览器打开
832
+ self.$common.getDataDrivenOpts().handler.openTabSearch(field, submitData);
833
+ }
834
+ else if (field.isBrowserNewTab) {// 浏览器打开
1024
835
  submitData = field.getActionPara(submitData).para;
1025
836
  let query = self.$common.objectToQueryStr(submitData);
1026
837
  window.open(action + query, "_blank");
1027
- } else if (field.isOpenUrlInBrowse) {
1028
- // 浏览器打开
838
+ }
839
+ else if (field.isOpenUrlInBrowse) {// 浏览器打开
1029
840
  window.open(submitData[field.submitFormField], "_blank");
1030
- } else if (field.isSeeVoice) {
1031
- //看视频
841
+ }
842
+ else if (field.isSeeVoice) {//看视频
1032
843
  self.$common.browseVideo(field, submitData);
1033
- } else if (field.isBrowseAttachment) {
1034
- //浏览附件
1035
- var MediaAlbum = [
1036
- { albumName: self.model.title || "媒体", medias: [] },
1037
- ];
844
+ }
845
+ else if (field.isBrowseAttachment) {//浏览附件
846
+ var MediaAlbum = [{ albumName: self.model.title || "媒体", medias: [] },];
1038
847
  submitData.mediaData.forEach((v) => {
1039
848
  MediaAlbum[0].medias.push(v);
1040
849
  });
1041
850
  self.$common.viewerfile(field, MediaAlbum, 0, 0);
1042
- } else if (field.isUrlInLayer) {
1043
- //URL页面(弹层)
851
+ }
852
+ else if (field.isUrlInLayer) {//URL页面(弹层)
1044
853
  var dialogOption = {
1045
854
  title: field.pageTitle,
1046
855
  pane: self.$common.getParentPane(self),
@@ -1071,10 +880,7 @@ export default {
1071
880
  delete() {
1072
881
  var res = {};
1073
882
  res.notification = 4;
1074
- res.content =
1075
- self.model.listData[self.model.selectIndex][
1076
- self.model.primaryKey
1077
- ];
883
+ res.content = self.model.listData[self.model.selectIndex][self.model.primaryKey];
1078
884
  self.model.doAction(res);
1079
885
  self.$common.closeDialog(dialogOption.dialog);
1080
886
  },
@@ -1090,7 +896,20 @@ export default {
1090
896
  ],
1091
897
  };
1092
898
  self.$common.openDialog(dialogOption);
1093
- } else {
899
+ }
900
+ else if (field.isExport) {
901
+ if(field.flagAsync){
902
+ self.model.export(field, submitData);
903
+ }
904
+ else{
905
+ field.doAction(submitData, (data) => {
906
+ if(data.content){
907
+ window.open(data.content, "_blank");
908
+ }
909
+ });
910
+ }
911
+ }
912
+ else {
1094
913
  //self.operationLoading = true;
1095
914
 
1096
915
  //Form
@@ -1219,7 +1038,8 @@ export default {
1219
1038
  ],
1220
1039
  };
1221
1040
  self.$common.openDialog(dialogOption);
1222
- } else {
1041
+ }
1042
+ else {
1223
1043
  self.operationLoading = true;
1224
1044
  field.doAction(submitData, (data) => {
1225
1045
  self.operationLoading = false;
@@ -1243,8 +1063,7 @@ export default {
1243
1063
  // self.$common.excuteFunStr.call(self.model.scripts, field.action,parm);
1244
1064
  // var fun = self.model.scripts.formData[action];
1245
1065
  // fun(submitData,field);
1246
- let title =
1247
- field.pageTitle == undefined ? field.label : field.pageTitle;
1066
+ let title = field.pageTitle == undefined ? field.label : field.pageTitle;
1248
1067
  submitData.actionType = field.actionType;
1249
1068
  var fun = self.$common.getDataDrivenOpts().handler[action];
1250
1069
  fun(submitData, title, self.$parent);
@@ -1252,8 +1071,7 @@ export default {
1252
1071
  };
1253
1072
 
1254
1073
  if (field.alert) {
1255
- self.$common
1256
- .confirm(field.alertMsg, field.alertCaption, {
1074
+ self.$common.confirm(field.alertMsg, field.alertCaption, {
1257
1075
  confirmButtonText: field.alertOKButtonText,
1258
1076
  cancelButtonText: field.alertCancelButtonText,
1259
1077
  //type: 'warning'
@@ -1263,7 +1081,8 @@ export default {
1263
1081
  clickAcion();
1264
1082
  })
1265
1083
  .catch(() => {});
1266
- } else {
1084
+ }
1085
+ else {
1267
1086
  clickAcion();
1268
1087
  }
1269
1088
  },
@@ -113,6 +113,9 @@ const Router = function (source) {
113
113
  get isBrowseAttachment() {
114
114
  return source.actionType === Enum.ActionType.BrowseAttachment;
115
115
  },
116
+ get isRefersh() {
117
+ return source.actionType === Enum.ActionType.Refersh;
118
+ },
116
119
  //打开页面(1Form,2SearchList(弹在tab),3Tab,4执行客户端脚本,5SearchList(弹出))
117
120
  get navToNewPage() {
118
121
  return source.navToNewPage;
@@ -353,6 +356,9 @@ const Router = function (source) {
353
356
  get isRight() {
354
357
  return Enum.HalignType.Right == source.align;
355
358
  },
359
+ get flagAsync() {
360
+ return source.flagAsync;
361
+ },
356
362
  };
357
363
  return rtn;
358
364
  }
@@ -816,6 +816,13 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
816
816
  }
817
817
  });
818
818
  },
819
+ export(btn, submitData) {
820
+ Vue.prototype.$api.postHandler(common.globalUri(),
821
+ {
822
+ action: btn.action,
823
+ para: submitData
824
+ });
825
+ },
819
826
  _scripts: null,
820
827
  get scripts() {
821
828
  if (rtn._scripts !== null) {