centaline-data-driven 1.2.38 → 1.2.41

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.2.38",
3
+ "version": "1.2.41",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Detail.vue CHANGED
@@ -10,7 +10,7 @@
10
10
  name: 'DataDrivendetail',
11
11
  data() {
12
12
  return {
13
- apiParam: {actionType: 1,chanceID: "1"} ,
13
+ apiParam: {actionType: 1,chanceID: "2"} ,
14
14
  }
15
15
  },
16
16
  mounted() {
package/src/Form.vue CHANGED
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
3
  <!-- <ct-form :api="'/api/third-dept-tran/profit-return/applyUI'" :apiParam="apiParam"></ct-form> -->
4
- <ct-form :api="'/PropertyRET/getLayoutOfNewStepOne'" :apiParam="apiParam"></ct-form>
4
+ <ct-form :api="'/PropertyRET/getLayoutOfNew'" :apiParam="apiParam"></ct-form>
5
5
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
6
6
  <!--<ct-form :api="'/api/form/formdata/contractDetail'" :apiParam="apiParam"></ct-form>-->
7
7
  <!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
@@ -17,7 +17,7 @@
17
17
  // apiParam: {profitReturnId: "1504359257134055426", actionType: 1, pageStyle: 2, pageTitle: "查看返利", pageOnly: true} ,
18
18
  // apiParam: {headerParam: {}, urlParam: {contractID: "06cad32e-4d0d-4b6f-bd24-16a28629a550", actionType: "0"}}
19
19
  // apiParam: {originalTraId: "1475658732246241281", actionType: 2, chanceID: "1"} ,
20
- apiParam: {actionType: "2", pageStyle: "2", pageTitle: "新增盘源", pageOnly: "true"},
20
+ apiParam: {actionType: "2", propertyID: "", estateID: "1", buildingID: "1", floorID: "1", roomNo: "1504",tradeID: "100"}
21
21
  }
22
22
  },
23
23
  methods: {
@@ -1,15 +1,15 @@
1
1
  <template>
2
2
  <div id="app-search" style="height:100%;position: fixed;">
3
- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-layout'" :searchDataApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-list'"></ct-searchlist>
3
+ <!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/transaction-workflow/getLayoutOfSearch'" :searchDataApi="'/api/third-dept-tran/transaction-workflow/list'"></ct-searchlist> -->
4
4
 
5
5
  <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getListOfSearchModel'" :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"></ct-searchlist> -->
6
6
  <!-- <ct-searchlist :searchConditionApi="'/PropertyPublishLogList/getLayoutOfSearch'" :searchDataApi="'/PropertyPublishLogList/getListOfSearchModel'"></ct-searchlist> -->
7
7
 
8
- <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
8
+ <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
9
9
  :searchDataApi="'/PropertyRETList/getListOfSearchModel'"
10
10
  :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"
11
11
  :searchStatsApi="'/exampleList/getListStats'"
12
- ></ct-searchlist> -->
12
+ ></ct-searchlist>
13
13
 
14
14
  <!--<ct-searchlist :searchConditionApi="'/api/invoice-info/search-condition'" :searchDataApi="'/api/invoice-info/list'" :searchDataStatisticsApi="'api/ContractList/GetLayoutOfStatisticsTool'" :apiParam="para"></ct-searchlist>-->
15
15
  <!-- <ct-searchlist :searchConditionApi="'/PropertyStatusList/getLayoutOfSearch'" :searchDataApi="'/PropertyStatusList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
@@ -23,7 +23,8 @@
23
23
  name: 'DataDrivenSearch',
24
24
  data() {
25
25
  return {
26
- para: {searchFields: {fields: []}, pageAttribute: {pageIndex: 1}, flagSearch: true}
26
+ para:{},
27
+ // para: {searchFields: {fields: []}, pageAttribute: {pageIndex: 1}, flagSearch: true}
27
28
  // para: {publishID: "1503900718229229568"}
28
29
  // para: {paramKey: "PropertyStatusID", code: "002.001", name: "盘源状态", paramName: "盘源状态"}
29
30
  }
Binary file
@@ -114,7 +114,6 @@ html {
114
114
  display:initial;
115
115
  }
116
116
  .ct-Seg .ct-radios .el-input__suffix-inner {
117
- float: right;
118
117
  display: none;
119
118
  }
120
119
  .ct-Seg .ct-radios .el-input__suffix-inner .el-icon-circle-close {
@@ -321,7 +320,12 @@ html {
321
320
  .el-input__icon {
322
321
  height:initial;
323
322
  }
324
-
323
+ .st-serach-screen .el-input__icon {
324
+ line-height:initial!important;
325
+ }
326
+ .ct-checkbox .cover-list-item-span{
327
+ line-height: initial!important;
328
+ }
325
329
  /*两个div在同一行并居中*/
326
330
  .div_allinline {
327
331
  text-align: center;
@@ -783,4 +787,11 @@ html {
783
787
  }
784
788
  .list-button .max-btn-add{
785
789
  width: 85px;
786
- }
790
+ }
791
+ .el-radio__input.is-checked .el-radio__inner {
792
+ border-color: #409eff;
793
+ background: #409eff;
794
+ }
795
+ .el-radio__input.is-checked + .el-radio__label {
796
+ color: #409eff;
797
+ }
@@ -105,6 +105,8 @@
105
105
  }
106
106
  .ct-checkbox .ct-checkbox-mian{
107
107
  padding-left: 0!important;
108
+ min-height: 26px;
109
+ line-height: 25px;
108
110
  }
109
111
  .cover-list-item .el-checkbox{
110
112
  margin-right: 10px!important;
@@ -156,7 +158,7 @@
156
158
  white-space: nowrap;
157
159
  }
158
160
  .max-cover-list-item .el-input__icon{
159
- line-height: 40px!important;
161
+ line-height:initial;
160
162
  }
161
163
  .el-card{
162
164
  border: none;
@@ -206,7 +208,7 @@
206
208
  }
207
209
  .ct-Seg.ct-Seg-mini .ct-radios, .ct-Seg.ct-Seg-mini .ct-radios .el-radio__label {
208
210
  min-height: 26px;
209
- line-height: 26px;
211
+ line-height: 25px!important;
210
212
  }
211
213
  .el-input-group__append, .el-input-group__prepend {
212
214
  color: #666;
@@ -228,3 +230,10 @@
228
230
  .hyperLinkList .el-button + .el-button{
229
231
  margin-left: 0!important;
230
232
  }
233
+ .el-radio__input.is-checked .el-radio__inner {
234
+ border-color: #409eff;
235
+ background: #409eff;
236
+ }
237
+ .el-radio__input.is-checked + .el-radio__label {
238
+ color: #409eff;
239
+ }
@@ -5,7 +5,7 @@
5
5
  placement="bottom"
6
6
  @click.native="dropClick"
7
7
  @command="commandClick"
8
- :disabled="model.disabled">
8
+ :disabled="model.disabled || model.locked">
9
9
  <el-button type="primary">
10
10
  {{model.label}}<i class="el-icon-arrow-down el-icon--right"></i>
11
11
  </el-button>
@@ -13,15 +13,7 @@
13
13
  <el-dropdown-item v-for="item in model.elementOptions" :key="item.code" :command="item.code">{{item.name}}</el-dropdown-item>
14
14
  </el-dropdown-menu>
15
15
  </el-dropdown>
16
- <el-button v-else-if="!model.isImport"
17
- :type="model.isHyperLink ? 'text' : 'primary'"
18
- v-bind="model.attrs" @click="$emit('click',model)"
19
- :style="{color:model.textColor,backgroundColor:model.bgColor,borderColor:model.borderColor}"
20
- :icon="model.icon"
21
- :disabled="model.disabled">
22
- <!-- <i v-if="model.isShowIocn" :class="model.iconClass"></i> -->
23
- {{model.label}}</el-button>
24
- <el-upload v-else
16
+ <el-upload v-else-if="model.isImport"
25
17
  :action="model.action"
26
18
  v-bind="model.attrs"
27
19
  size="mini"
@@ -33,6 +25,23 @@
33
25
  :on-error="handleAvatarError">
34
26
  <el-button size="mini" type="primary">{{model.label}}</el-button>
35
27
  </el-upload>
28
+ <el-button v-else-if="model.subText" style="height: 100%;padding: 5px 0;"
29
+ :type="model.isHyperLink ? 'text' : 'primary'"
30
+ v-bind="model.attrs" @click="$emit('click',model)"
31
+ :style="{color:model.textColor,backgroundColor:model.bgColor,borderColor:model.borderColor}"
32
+ :icon="model.icon"
33
+ :disabled="model.disabled || model.locked">
34
+ <div>{{model.label}}</div>
35
+ <div style="color:red;font-weight:700;">{{model.subText}}</div>
36
+ </el-button>
37
+ <el-button v-else
38
+ :type="model.isHyperLink ? 'text' : 'primary'"
39
+ v-bind="model.attrs" @click="$emit('click',model)"
40
+ :style="{color:model.textColor,backgroundColor:model.bgColor,borderColor:model.borderColor}"
41
+ :icon="model.icon"
42
+ :disabled="model.disabled || model.locked">
43
+ {{model.label}}
44
+ </el-button>
36
45
  </template>
37
46
  <script>
38
47
  import dynamicElement from '../../mixins/dynamicElement'
@@ -6,15 +6,12 @@
6
6
  {{model.label}}
7
7
  </div>
8
8
  <div class="ct-checkbox-mian cover-list-item" :class="[model.showLabel?'showLabel':'',model.value !== ''?'hasValue':'']">
9
- <span>
10
- <el-checkbox-group v-model="model.checkedItemArr" @change="changeHandler1">
11
- <el-checkbox :disabled="model.lock" v-for="item in model.options" :label="item[model.optionAttrs.value]" :key="item[model.optionAttrs.value]">{{item[model.optionAttrs.label]}}</el-checkbox>
12
- </el-checkbox-group>
13
- </span>
14
-
15
- <span v-if="!model.lock" class="cover-list-item-span max-cover-list-item">
16
- <i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
17
- </span>
9
+ <el-checkbox-group v-model="model.checkedItemArr" @change="changeHandler1">
10
+ <el-checkbox :disabled="model.lock" v-for="item in model.options" :label="item[model.optionAttrs.value]" :key="item[model.optionAttrs.value]">{{item[model.optionAttrs.label]}}</el-checkbox>
11
+ <span v-if="!model.lock" class="cover-list-item-span max-cover-list-item">
12
+ <i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
13
+ </span>
14
+ </el-checkbox-group>
18
15
  </div>
19
16
  </div>
20
17
  <span v-show="!valid" class="errorMessage">
@@ -40,7 +37,6 @@
40
37
  created() {
41
38
  var self = this;
42
39
  this.$nextTick(function () {
43
-
44
40
  if (self.vmodel) {
45
41
  self.load(self.vmodel);
46
42
  self.$emit('loaded');
@@ -104,14 +100,12 @@
104
100
  }
105
101
 
106
102
  .ct-checkbox .cover-list-item {
107
- position: relative;
108
103
  }
109
104
 
110
105
  .ct-checkbox .cover-list-item-span {
111
- position: absolute;
112
- top: -6px;
113
- right: 0px;
114
106
  display: none;
107
+ min-height: 26px;
108
+ font-size: 12px;
115
109
  }
116
110
 
117
111
  .ct-checkbox .ct-checkbox-mian .el-icon-circle-close:hover {
@@ -510,7 +510,7 @@
510
510
  }
511
511
  .ct-searchtable .ct-table {
512
512
  min-width: 100%;
513
- border-collapse: separate;
513
+ border-collapse: collapse;
514
514
  }
515
515
  .ct-searchtable .ct-table th {
516
516
  background-color: #f4f7fa !important;
@@ -178,7 +178,7 @@
178
178
  <span class="i">{{col.operationName}}</span>
179
179
  </div>
180
180
  <div class="t-item"><span class="i" :class="'operation'+col.flagKey">{{col.desc}}</span></div>
181
- <div class="t-item" style="height: 50px;">
181
+ <div class="t-item" style="min-height: 50px;">
182
182
  <component class="el-button t-but el-button--info max-info" v-if="col.router && col.router.show" :is="col.router.is" :vmodel="col.router" :api="model.optionApi" @click="fieldClickHandler(col.router,$event)"></component>
183
183
  </div>
184
184
  </div>
@@ -404,9 +404,6 @@
404
404
  lookOwner() {
405
405
  this.codeOwner = true
406
406
  },
407
- onSearch() {
408
- console.log('submit!');
409
- },
410
407
  handleClick(tab, event) {
411
408
  let i=tab.index;
412
409
  if(this.model.tags2 && this.model.tags2[i]){
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div v-loading="loading" style="width:100%">
2
+ <div v-loading="loading" :style="{width:pageWidth?pageWidth+'px':'100%',margin:'auto'}">
3
3
  <div v-if="model !== null && !loading" class="ct-form" :class="{'domDisabled':model.pageDisabled}">
4
4
  <!--可根据场景判断显示el-card还是el-main-->
5
5
  <component :is="model.showTitle?'el-main':'el-card'">
@@ -95,6 +95,7 @@
95
95
  source: Object,
96
96
  apiParam: Object,
97
97
  parentModel: Object,
98
+ pageWidth: Number,
98
99
  showTitle: {
99
100
  type: Boolean,
100
101
  default: false
@@ -380,7 +381,7 @@
380
381
  }
381
382
  else if (field.isFormPageInTab || field.isSearchPageInTab) {// 外部框架tab页打开
382
383
  submitData = field.getActionPara(submitData).para;
383
- self.$common.getDataDrivenOpts().handler.openTab(field.action, submitData, field.pageTitle);
384
+ self.$common.getDataDrivenOpts().handler.openTab(field.action, submitData, field.pageTitle,self.model,field.dialogWidth);
384
385
  }
385
386
  else if (field.isBrowserNewTab) {// 浏览器打开
386
387
  submitData = field.getActionPara(submitData).para;
@@ -533,8 +534,9 @@
533
534
  if (f.$el.offsetParent && f.$el.offsetParent.offsetParent) {
534
535
  let total = f.$el.offsetParent.offsetParent.offsetTop;
535
536
  //this.$common.setScrollTop(total);
536
-
537
- if (f.$el.offsetParent.offsetParent.offsetParent === null || f.$el.offsetParent.offsetParent.classList[0] === 'app-main') {
537
+ if (f.$el.offsetParent.offsetParent.offsetParent === null
538
+ || f.$el.offsetParent.offsetParent.offsetParent.classList[0] === 'app-main'
539
+ || f.$el.offsetParent.offsetParent.classList[0] === 'app-main') {
538
540
  total = f.$el.offsetParent.offsetTop;
539
541
  this.$common.setScrollTop(total);
540
542
  }
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <div class="field-top">
3
- <div style="width:100;" v-if="model !== null" class="ct-inputNumber" :class="[model.attrs.size?'ct-font-size-'+model.attrs.size:'',model.lock ? 'ct-inputNumber-lock' : ''
3
+ <div style="width:100%;display:flex;">
4
+ <div style="flex:1;" v-if="model !== null" class="ct-inputNumber" :class="[model.attrs.size?'ct-font-size-'+model.attrs.size:'',model.lock ? 'ct-inputNumber-lock' : ''
4
5
  ]" @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
5
6
  <div class="ct-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
6
7
  <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div" :class="[model.labelClass]">
@@ -23,13 +24,14 @@
23
24
  <span v-if="model.unitName" class="ct-unitname el-input__suffix el-input__suffix-inner" :class="showClear?'unitName-20':'unitName-0'">{{model.unitName}}</span>
24
25
  </div>
25
26
  <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
26
- <transition name="el-fade-in ct-flex-div-span">
27
- <span v-show="!valid" class="errorMessage">
28
- {{validMessage}}
29
- </span>
30
- </transition>
31
27
  </div>
32
28
  </div>
29
+ <transition name="el-fade-in ct-flex-div-span">
30
+ <span v-show="!valid" class="errorMessage">
31
+ {{validMessage}}
32
+ </span>
33
+ </transition>
34
+ </div>
33
35
  </div>
34
36
  </template>
35
37
  <script>
@@ -1,15 +1,14 @@
1
1
  <template>
2
- <div class="ct-form-list" v-focus="foucus" :class="{'tableDisabled':model.tableDisabled}">
2
+ <div class="ct-form-repeat" v-focus="foucus" :class="{'tableDisabled':model.tableDisabled}">
3
3
  <div class="list-button">
4
4
  <el-button v-if="model.create" type="success" class=" max-btn-add" size="mini" icon="el-icon-circle-plus-outline" @click="addRow">
5
5
  新增
6
6
  </el-button>
7
7
  </div>
8
-
9
- <div class="el-col el-col-24" v-for="(v, i) in model.tableData" :key="v.guid" v-if="!v.deleted">
10
- <div class="list-title">
11
- <h5>{{model.title}}</h5>
12
- </div>
8
+ <div class="list-title">
9
+ <h5>{{model.title}}</h5>
10
+ </div>
11
+ <div class="el-col el-col-24 ct-form-repeat-el-col" v-for="(v, i) in model.tableData" :key="v.guid" v-if="!v.deleted">
13
12
  <el-row v-if="v.field.length > 0">
14
13
  <el-col v-for="(col, index) in v.field" :key="col.guid" v-if="col.show !== false" :span="col.colspan" style="padding:5px">
15
14
  <component ref="Fields" :is="col.is" :vmodel="col" :api="model.OptApi" v-bind="col.bindPara"
@@ -18,7 +17,7 @@
18
17
  </el-col>
19
18
  </el-row>
20
19
  <div class="list-button" v-if="i>0">
21
- <el-button v-if="v.delete" type="success" class=" max-btn-add" size="mini" icon="el-icon-circle-plus-outline" @click="deleteRow(i)">
20
+ <el-button v-if="v.delete" type="success" class=" max-btn-add" size="mini" icon="el-icon-delete" @click="deleteRow(i)">
22
21
  删除
23
22
  </el-button>
24
23
  </div>
@@ -137,50 +136,32 @@
137
136
  }
138
137
  </script>
139
138
  <style>
140
- .el-table-add-row {
141
- margin-top: 10px;
142
- width: 100%;
143
- height: 34px;
144
- border: 1px dashed #c1c1cd;
145
- border-radius: 3px;
146
- cursor: pointer;
147
- justify-content: center;
148
- display: flex;
149
- line-height: 34px;
150
- }
151
-
152
- .ct-form-list .list-title {
153
- padding-bottom: 5px;
154
- text-align: left;
155
- display: inline-table;
156
- width: 45%;
157
- }
158
-
159
- .ct-form-list .list-button {
160
- padding-bottom: 5px;
161
- text-align: right;
162
- display: inline-table;
163
- float: right;
164
- }
165
-
166
- .ct-table-inputnumber {
167
- text-align: right;
139
+
140
+ .ct-form-repeat {
141
+ display: table;
142
+ background: aliceblue;
143
+ padding:10px;
168
144
  }
169
145
 
170
- .ct-form-list .el-table__footer-wrapper .el-table__footer .has-gutter div {
171
- text-align: right;
172
- }
146
+ .ct-form-repeat .list-title {
147
+ padding-bottom: 5px;
148
+ text-align: left;
149
+ display: inline-table;
150
+ width: 45%;
151
+ }
173
152
 
174
- .ct-form-list .el-table__footer-wrapper .el-table__footer .has-gutter tr td:first-child div {
175
- text-align: left;
176
- }
153
+ .ct-form-repeat .list-button {
154
+ padding-bottom: 5px;
155
+ text-align: right;
156
+ display: inline-table;
157
+ float: right;
158
+ }
159
+ .ct-form-repeat .ct-form-repeat-el-col {
160
+ border-bottom: 1px dashed #f1706b;
161
+ }
162
+ .ct-form-repeat .ct-form-repeat-el-col:last-child {
163
+ border-bottom: none;
164
+ }
177
165
 
178
- .ct-table-required {
179
- color: red;
180
- }
181
166
 
182
- .tableDisabled {
183
- pointer-events: none;
184
- opacity: 0.4;
185
- }
186
167
  </style>
@@ -88,9 +88,21 @@
88
88
  v-bind="column.attrs">
89
89
  <!--操作列-->
90
90
  <div v-if="column.id==='operation'" class="div_allinline" :class="column.autoRowHeight ? 'lineFeedCell':'cell'">
91
- <ct-tablecurrency v-for="(router,rowRouterIndex) in model.rowRouter" :key="rowRouterIndex" v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true"
92
- :router="router" :colValue="router.label" :rowData="row" @click="rolRouterClickHandler">
91
+ <ct-tablecurrency v-for="(router,rowRouterIndex) in getRowRouterShow(row)" :key="rowRouterIndex"
92
+ v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true"
93
+ :router="router" :colValue="router.label" :rowData="row" @click="rolRouterClickHandler">
93
94
  </ct-tablecurrency>
95
+ <el-popover :ref="'popover'+rowindex" :append-to-table="option.appendId?option.appendId:''" class="Stats-popover" popper-class="el-popover1"
96
+ :placement="option.placement?option.placement:'left'"
97
+ :trigger="option.trigger?option.trigger:''">
98
+ <div class="tab-list" style="border-bottom:none">
99
+ <ct-tablecurrency v-for="(router,rowRouterIndex) in getRowRouterDisplay(row)" :key="rowRouterIndex"
100
+ v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true" :isShowImg="false" :rowindex="rowindex"
101
+ :router="router" :colValue="router.label" :rowData="row" @click="rolRouterClickHandler">
102
+ </ct-tablecurrency>
103
+ </div>
104
+ <span :slot="getRowRouterDisplay(row).length>0?'reference':''" class="icon-more"></span>
105
+ </el-popover>
94
106
  </div>
95
107
 
96
108
  <!--可点击的列-->
@@ -99,6 +111,8 @@
99
111
  </ct-tablecurrency>
100
112
 
101
113
  <!--正常的列-->
114
+ <div v-else-if="column.flagHtml" v-html="row[column.id]" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" :style="column.style ? column.style:''">
115
+ </div>
102
116
  <div v-else-if="typeof column.template === 'undefined'" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" :style="column.style ? column.style:''">
103
117
  {{row[column.id]}}
104
118
  </div>
@@ -176,6 +190,13 @@
176
190
  pageRowMax: 100,//页面实际的第后行号
177
191
  displayRowNumber: 30,
178
192
  selectAllType:1,
193
+ option: {
194
+ isHidden: true,//是否开启操作栏隐藏设置,默认开启
195
+ showNum: 3,//如果isHidden为true时,个数大于3就会隐藏,默认是3
196
+ appendId: '',//将浮动栏添加到对应id或者class节点中。或者.xxx。传空字符串是添加到body中。
197
+ trigger: 'hover',//触发方式,传值可查看Popper UI组件trigger属性
198
+ placement: 'right-start',//方向,传值可查看Popper UI组件placement属性
199
+ },
179
200
  }
180
201
  },
181
202
  activated() {
@@ -506,9 +527,8 @@
506
527
  var h4 = this.$refs.footer.$el.offsetHeight | 0;
507
528
  var h5 = this.$refs.listHeader.$el.offsetHeight | 0;
508
529
  var h6 = this.$refs.listFooter.$el.offsetHeight | 0;
509
- var h7 = this.$refs.tableStats?(this.$refs.tableStats.$el.offsetHeight+7 | 0):0;
530
+ var h7 = this.$refs.tableStats?(this.$refs.tableStats.$el.offsetHeight+7 | 0):0;
510
531
  let tableHeight = h1 - h2 - h3 - h4 - h5 - h6 - h7-22;
511
- console.log(tableHeight+" "+h7);
512
532
  this.model.tableHeight = tableHeight < 40 ? 350 : tableHeight;
513
533
  this.$nextTick(() => {
514
534
  self.getScrollAttr();
@@ -650,9 +670,13 @@
650
670
 
651
671
  this.routerClickHandler(field, submitData, action);
652
672
  },
653
- rolRouterClickHandler(field, rowData) {
673
+ rolRouterClickHandler(field, rowData,rowindex) {
674
+ if(this.$refs['popover'+rowindex]){
675
+ this.$refs['popover'+rowindex][0].doClose();
676
+ }
677
+
654
678
  var self = this;
655
- var submitData = {};
679
+ var submitData = {};
656
680
  field.submitListField.forEach((k) => {
657
681
  submitData[k] = rowData[k];
658
682
  });
@@ -677,7 +701,7 @@
677
701
  if (field.pageStyle) {
678
702
  submitData.pageStyle = field.pageStyle;
679
703
  }
680
- self.$common.getDataDrivenOpts().handler.openTab(action, submitData, field.pageTitle, self.model);
704
+ self.$common.getDataDrivenOpts().handler.openTab(action, submitData, field.pageTitle, self.model,field.dialogWidth);
681
705
  }
682
706
  else if (field.isBrowserNewTab) {// 浏览器打开
683
707
  submitData = field.getActionPara(submitData).para;
@@ -894,7 +918,33 @@
894
918
  let self = this;
895
919
  self.model.searchStats = m;
896
920
  self.getPage(1);
897
- }
921
+ },
922
+ getRowRouterShow(row) {
923
+ let self=this;
924
+ let rowRouterShow=[];
925
+ self.model.rowRouter.forEach((v) => {
926
+ if (!v.rightField || row[v.rightField] == 1) {
927
+ if(rowRouterShow.length<self.model.rowMenuDisplayCount){
928
+ rowRouterShow.push(v);
929
+ }
930
+ }
931
+ });
932
+ return rowRouterShow;
933
+ },
934
+ getRowRouterDisplay(row) {
935
+ let self=this;
936
+ let rowRouterDisplay=[];
937
+ let i=0;
938
+ self.model.rowRouter.forEach((v) => {
939
+ if (!v.rightField || row[v.rightField] == 1) {
940
+ i=i+1;
941
+ if(i>self.model.rowMenuDisplayCount){
942
+ rowRouterDisplay.push(v);
943
+ }
944
+ }
945
+ });
946
+ return rowRouterDisplay;
947
+ },
898
948
  },
899
949
  }</script>
900
950
  <style>
@@ -903,11 +953,12 @@
903
953
  border-bottom: 1px solid #ebeef5;
904
954
  width: 100%;
905
955
  outline: 0;
956
+ border-top: 1px solid #fff;
906
957
  }
907
958
 
908
959
  .ct-searchtable .ct-table {
909
960
  min-width: 100%;
910
- border-collapse: separate;
961
+ border-collapse: collapse;
911
962
  }
912
963
 
913
964
  .ct-searchtable .ct-table th {
@@ -1110,4 +1161,35 @@
1110
1161
  .ct-table .checkbox-td .checkbox-td-1 {
1111
1162
  vertical-align: inherit;
1112
1163
  }
1164
+
1165
+ .tab-list {
1166
+ position: relative;
1167
+ margin-bottom: 0px !important;;
1168
+ height: auto !important;;
1169
+ display: block;
1170
+ padding-left: 8px;
1171
+ padding-right: 4px;
1172
+ }
1173
+ .tab-list .subdiv_allinline {
1174
+ float: none;
1175
+ display: block;
1176
+ width: -webkit-fill-available;
1177
+ }
1178
+ .div_allinline .Stats-popover {
1179
+ float: right;
1180
+ margin-top: 3px;
1181
+ margin-left: 4px;
1182
+ height: 16px;
1183
+ }
1184
+ .icon-more {
1185
+ background: url('../../../assets/XL.png')no-repeat;
1186
+ background-size: 100% 100%;
1187
+ width: 16px;
1188
+ height: 16px;
1189
+ display: table-caption;
1190
+ cursor: pointer;
1191
+ }
1192
+ .el-popover1 {
1193
+ min-width: inherit !important;
1194
+ }
1113
1195
  </style>