centaline-data-driven 1.2.38 → 1.2.39

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.39",
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="'/Flow/readDetail'" :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",jsonData: {}},
21
21
  }
22
22
  },
23
23
  methods: {
@@ -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'
@@ -40,7 +40,6 @@
40
40
  created() {
41
41
  var self = this;
42
42
  this.$nextTick(function () {
43
-
44
43
  if (self.vmodel) {
45
44
  self.load(self.vmodel);
46
45
  self.$emit('loaded');
@@ -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>
@@ -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;
@@ -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>
@@ -99,6 +99,8 @@
99
99
  </ct-tablecurrency>
100
100
 
101
101
  <!--正常的列-->
102
+ <div v-else-if="column.flagHtml" v-html="row[column.id]" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" :style="column.style ? column.style:''">
103
+ </div>
102
104
  <div v-else-if="typeof column.template === 'undefined'" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" :style="column.style ? column.style:''">
103
105
  {{row[column.id]}}
104
106
  </div>
@@ -677,7 +679,7 @@
677
679
  if (field.pageStyle) {
678
680
  submitData.pageStyle = field.pageStyle;
679
681
  }
680
- self.$common.getDataDrivenOpts().handler.openTab(action, submitData, field.pageTitle, self.model);
682
+ self.$common.getDataDrivenOpts().handler.openTab(action, submitData, field.pageTitle, self.model,field.dialogWidth);
681
683
  }
682
684
  else if (field.isBrowserNewTab) {// 浏览器打开
683
685
  submitData = field.getActionPara(submitData).para;
@@ -903,11 +905,12 @@
903
905
  border-bottom: 1px solid #ebeef5;
904
906
  width: 100%;
905
907
  outline: 0;
908
+ border-top: 1px solid #fff;
906
909
  }
907
910
 
908
911
  .ct-searchtable .ct-table {
909
912
  min-width: 100%;
910
- border-collapse: separate;
913
+ border-collapse: collapse;
911
914
  }
912
915
 
913
916
  .ct-searchtable .ct-table th {
@@ -30,17 +30,18 @@
30
30
  </li>
31
31
  </ul>
32
32
  </div>
33
- <el-popover :append-to-table="option.appendId?option.appendId:''" class="Stats-popover"
33
+ <el-popover :append-to-table="option.appendId?option.appendId:''" class="Stats-popover" popper-class="el-popover1"
34
34
  :placement="option.placement?option.placement:'left'"
35
35
  :trigger="option.trigger?option.trigger:''">
36
36
  <div v-if="FlagStatistics" class="tab-list" style="border-bottom:none">
37
- <div class="tablf" v-for="(item, index) in showData[1]" @click="handleClick($event,item)" style="text-align:left">
38
- <ul class="btnTab">
37
+ <div class="popovertablf" v-for="(item, index) in showData[1]" @click="handleClick($event,item)">
38
+ <ul class="popoverbtnTab" style="padding:0px">
39
39
  <li :class="[selectStats==item.code1+'*'+item.controlLabel?'activecolor':'']">{{item.controlLabel}}</li>
40
40
  <li class="tdcenter">
41
41
  <span :class="[selectStats==item.code1+'*'+item.controlLabel?'active':'']"></span>
42
42
  </li>
43
43
  </ul>
44
+ <br />
44
45
  </div>
45
46
  </div>
46
47
  <sapn slot="reference" class="icon-more">⋮</sapn>
@@ -176,8 +177,8 @@
176
177
 
177
178
  <style>
178
179
  .tab-list {
179
- position:relative;
180
- margin-bottom: 10px;
180
+ position: relative;
181
+ margin-bottom: 10px;
181
182
  height: 30px;
182
183
  }
183
184
 
@@ -194,6 +195,10 @@
194
195
  color: #ee5d56;
195
196
  }
196
197
 
198
+ .tab-list .popoverbtnTab:hover, .tab-list .popovertablf:hover {
199
+ color: #ee5d56;
200
+ }
201
+
197
202
  .tab-list .tabl-el {
198
203
  max-width: 150px;
199
204
  box-shadow: 0 6px 12px rgb(0 0 0 / 18%);
@@ -207,6 +212,23 @@
207
212
  display: block;
208
213
  }
209
214
 
215
+ .tab-list .popovertablf {
216
+ font-size: 14px !important;
217
+ font-weight: bold;
218
+ text-align: center;
219
+ display: block;
220
+ padding: 5px 8px;
221
+ }
222
+
223
+ .tab-list .popoverbtnTab {
224
+ font-size: 14px !important;
225
+ font-weight: bold;
226
+ cursor: pointer;
227
+ float: left;
228
+ list-style-type: none;
229
+ padding: 0px 20px 0px 20px;
230
+ }
231
+
210
232
  .tab-list .tdcenter {
211
233
  line-height: 1px;
212
234
  height: 1px;
@@ -218,18 +240,21 @@
218
240
  /* border-bottom-right-radius: 12px !important; */
219
241
  /* border-top-right-radius: 11px; */
220
242
  width: 20px;
221
- border-bottom: #ee5d56 solid 3px;
243
+ border-bottom: #ee5d56 solid 3px;
222
244
  }
223
245
 
246
+
247
+
224
248
  .tab-list .activecolor {
225
249
  color: #ee5d56 !important;
226
250
  }
227
251
 
228
-
229
- .tab-list .btnTab span {
252
+ .tab-list .btnTab span, .tab-list .popovertablf span {
230
253
  display: inline-block;
231
254
  }
232
255
 
256
+
257
+
233
258
  .tab-list .icon-more {
234
259
  color: #ee5d56;
235
260
  font-size: 20px;
@@ -241,7 +266,12 @@
241
266
  }
242
267
 
243
268
  .Stats-popover {
244
- position:absolute;
245
- right:5px;
269
+ position: absolute;
270
+ right: 5px;
271
+ }
272
+ </style>
273
+ <style>
274
+ .el-popover1 {
275
+ min-width: inherit !important;
246
276
  }
247
277
  </style>
@@ -57,6 +57,7 @@
57
57
  methods: {
58
58
  load(data) {
59
59
  this.model = data;
60
+ this.model.self = this;
60
61
  },
61
62
  clearClickHandle: function (event) {
62
63
  this.model.value = '';
@@ -1,7 +1,9 @@
1
1
  <template>
2
2
  <div class="field-top">
3
- <div v-if="model !== null" class="ct-text ct-flex-div max-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'',model.attrs.size?'ct-font-size-'+model.attrs.size:'']"
4
- @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
3
+ <div style="width:100%;display:flex;">
4
+ <div v-if="model !== null" class="ct-text ct-flex-div max-flex-div" style="flex:1;"
5
+ :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'',model.attrs.size?'ct-font-size-'+model.attrs.size:'']"
6
+ @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
5
7
  <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div max-input-group" :class="[model.labelClass]">
6
8
  <span>{{model.label}}</span>
7
9
  </div>
@@ -19,13 +21,14 @@
19
21
  </el-input>
20
22
 
21
23
  <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
22
- <transition name="el-fade-in" class="ct-flex-div-span">
23
- <span v-show="!valid" class="errorMessage ">
24
- {{validMessage}}
25
- </span>
26
- </transition>
27
24
  <ctQuickInputSos v-if="!model.lock && model.paramName" class="ct-flex-div-span" :pn="model.paramName" :action="api" @click="model.value=$event"></ctQuickInputSos>
28
25
  </div>
26
+ <transition name="el-fade-in" class="ct-flex-div-span">
27
+ <span v-show="!valid" class="errorMessage ">
28
+ {{validMessage}}
29
+ </span>
30
+ </transition>
31
+ </div>
29
32
  </div>
30
33
  </template>
31
34
  <script>
@@ -34,7 +37,7 @@
34
37
  export default {
35
38
  name: 'ct-text',
36
39
  mixins: [dynamicElement],
37
- components: {
40
+ components: {
38
41
  'ctQuickInputSos': ctQuickInputSos,
39
42
  },
40
43
  props: {
@@ -301,6 +301,12 @@ const Router = function (source) {
301
301
  }
302
302
  });
303
303
  },
304
+ get subText() {
305
+ return source.subText;
306
+ },
307
+ get locked() {
308
+ return source.locked;
309
+ },
304
310
  };
305
311
  return rtn;
306
312
  }
@@ -157,7 +157,10 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
157
157
  get title() {
158
158
  return v.columnToolTip;
159
159
  }
160
- }
160
+ },
161
+ get flagHtml() {
162
+ return v.flagHtml;
163
+ },
161
164
  };
162
165
  if (col.show) {
163
166
  //合并表头时暂不支持固定列