centaline-data-driven 1.2.27 → 1.2.30

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.
@@ -7,6 +7,7 @@ const paths = {
7
7
  "dynamicMt": "./src/centaline/dynamicMt/index.js",//多行文本组件
8
8
  "dynamicSo": "./src/centaline/dynamicSo/index.js",//单选下拉菜单
9
9
  "dynamicSos": "./src/centaline/dynamicSos/index.js",//单选搜索下拉菜单
10
+ "dynamicSosTt": "./src/centaline/dynamicSosTt/index.js",//电话号码编辑框
10
11
  "dynamicT": "./src/centaline/dynamicT/index.js",//文本input组件
11
12
  "dynamicL": "./src/centaline/dynamicL/index.js",//文本label组件
12
13
  "dynamicTags": "./src/centaline/dynamicTags/index.js",//多选搜索下拉菜单组件
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.2.27",
3
+ "version": "1.2.30",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Form.vue CHANGED
@@ -1,40 +1,25 @@
1
1
  <template>
2
2
  <div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
- <!-- <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form> -->
3
+ <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form>
4
+ <!-- <ct-form :api="'/PropertyPublish/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
4
5
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
5
6
  <!--:api="'FormSample/formdata'"-->
6
7
  <!--<ct-form :source="formdata.content"></ct-form>-->
7
8
  <!--<ct-form :api="'/api/form/formdata/contractDetail'" :apiParam="apiParam"></ct-form>-->
8
9
  <!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
9
- <!-- <ct-form :api="'/forminfo/readDetail'" :apiParam="apiParam"></ct-form> -->
10
- <!-- <ct-form :api="'PropertyKey/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
11
- <ct-form :api="'PropertyDuty/getLayoutOfClearDuty'" :apiParam="para"></ct-form>
12
- <!-- <ct-form :api="'/api/distribution/transaction/add'" :apiParam="apiParam"></ct-form> -->
13
10
  <ct-dialog-list></ct-dialog-list>
14
11
  </div>
15
12
  </template>
16
13
 
17
14
  <script>
18
15
  export default {
19
- name: 'DataDrivenForm',
16
+ name: 'App',
20
17
  data() {
21
18
  return {
22
- // apiParam: {originalTraId: "1481454808274235394", actionType: 3, pageTitle: "成交报告", pageOnly: true} ,
19
+ // apiParam: {originalTraId: "1475658732246241281", actionType: 2, chanceID: "1"} ,
20
+ apiParam: {originalTraId: "1475658732246241281", actionType: 3, pageTitle: "成交报告", pageOnly: true} ,
23
21
  // apiParam: {headerParam: {}, urlParam: {contractID: "06cad32e-4d0d-4b6f-bd24-16a28629a550", actionType: "0"}}
24
22
  // apiParam: {SN: "13557_132", UserID: "wuhan3"},
25
- // apiParam: {actionType: 3,formId: "2c12649f-09c5-4aa9-8011-b6d1c7b56a41"} ,
26
- // apiParam: {chanceID: "1", actionType: 2} ,
27
- // apiParam: {worklistID: "1494206747714392064", actionType: 2}
28
- para: {propertyID: "1", actionType: 2}
29
- // apiParam: {
30
- // actionType: 2,
31
- // agentId: "1450283160825425922",
32
- // estateId: "B6E6B3D8-FDF2-4AF8-91E6-B348D637E993",
33
- // pageOnly: true,
34
- // pageStyle: 2,
35
- // propertyId: "14102015-0736-9265-205A-451687BF7062",
36
- // relProId: "1475708315466829833",
37
- // }
38
23
  }
39
24
  },
40
25
  methods: {
@@ -3,7 +3,7 @@
3
3
  <!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist> -->
4
4
 
5
5
  <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getListOfSearchModel'" :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"></ct-searchlist> -->
6
- <ct-searchlist :searchConditionApi="'/exampleList/getLayoutOfSearch'" :searchDataApi="'/exampleList/getListOfSearchModel'"></ct-searchlist>
6
+ <ct-searchlist :searchConditionApi="'/PropertyPublishLogList/getLayoutOfSearch'" :searchDataApi="'/PropertyPublishLogList/getListOfSearchModel'"></ct-searchlist>
7
7
 
8
8
  <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
9
9
  :searchDataApi="'/PropertyRETList/getListOfSearchModel'"
@@ -24,7 +24,7 @@
24
24
  data() {
25
25
  return {
26
26
  //para: { agentId: "1424932685198864386", estateId: "L201402181627000007233", estateName: "271医院宿舍区", pageOnly: "true", pageTitle: "销控房源列表" }
27
- para: {}
27
+ para: {publishID: "1503900718229229568"}
28
28
  // para: {paramKey: "PropertyStatusID", code: "002.001", name: "盘源状态", paramName: "盘源状态"}
29
29
  }
30
30
  },
@@ -777,3 +777,6 @@ html {
777
777
  .details-mid .st-serach-screen,.details-mid .ct-searchtable{
778
778
  border-radius: initial;
779
779
  }
780
+ .current-row .el-table__cell .el-input-group__prepend{
781
+ min-width: 0!important;
782
+ }
@@ -149,10 +149,10 @@
149
149
  if(item.attrs.height){
150
150
  ph=parseInt(item.attrs.height.replace('px',''));
151
151
  }
152
- if(self.vmodel.pane && self.vmodel.pane.$el.offsetHeight<ph){
153
- item.attrs.height=(self.vmodel.pane.$el.offsetHeight-30)+'px';
152
+ if(self.vmodel.pane && self.vmodel.pane.$el.clientHeight<ph){
153
+ item.attrs.height=(self.vmodel.pane.$el.clientHeight-40)+'px';
154
154
  }
155
- // console.log(document.body.offsetHeight);
155
+ // console.log(document.body.clientHeight);可见区域高度
156
156
  // console.log(item.attrs.height)
157
157
  return h('div', {
158
158
  style: {
@@ -33,6 +33,8 @@
33
33
  :rowspan="column.rowspan"
34
34
  :colspan="column.colspan"
35
35
  :class="[colHasWidth[colIndex],column.sortAction,model.tdClass,
36
+ rowBorderLeftColumns.includes(column.id)?'ct-td4':null,
37
+ rowBorderRightColumns.includes(column.id)?'ct-td5':null,
36
38
  colIndex === leftShadow?'shadowLeft':null,
37
39
  colIndex === rightShadow?'shadowRight':null,
38
40
  column.fixed === 'left'?'left-fixation-th':null,
@@ -63,8 +65,13 @@
63
65
  v-for="(column,colIndex) in model.dataFieldcolumns" :key="colIndex"
64
66
  v-if="tdShow(column, row)"
65
67
  :rowspan="tdRowspan(column, row)"
68
+ :colspan="tdColspan(column, row)"
66
69
  class="ct-td"
67
70
  :class="[colHasWidth[colIndex],model.tdClass,
71
+ //row.flagRow && row.columnShow===column.id?'ct-td3':null,
72
+ rowBorderLeftColumns.includes(column.id)?'ct-td4':null,
73
+ rowBorderRightColumns.includes(column.id)?'ct-td5':null,
74
+ selectKey===row[model.rowHiddenKey]?'select':null,
68
75
  colIndex === leftShadow?'shadowLeft':null,
69
76
  colIndex === rightShadow?'shadowRight':null,
70
77
  column.fixed === 'left'?'left-fixation':null,
@@ -72,8 +79,12 @@
72
79
  column.fixed === 'right'?'right-fixation':null]"
73
80
  v-bind="column.attrs">
74
81
  <!--操作列-->
75
- <div v-if="column.id==='operation'" class="div_allinline" :class="column.autoRowHeight ? 'lineFeedCell':'cell'">
76
- <ct-tablecurrency v-for="(router,rowRouterIndex) in model.rowRouter" :key="rowRouterIndex" v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true"
82
+ <div v-if="row.flagRow" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" style="color: #999;">
83
+ {{row.rowHiddenColumns && row.rowHiddenColumns.includes(column.id)?"":row.descNewRow}}
84
+ </div>
85
+ <div v-else-if="column.id==='operation' && row.rowHiddenColumns==undefined" class="div_allinline" :class="column.autoRowHeight ? 'lineFeedCell':'cell'">
86
+ <ct-tablecurrency v-for="(router,rowRouterIndex) in model.rowRouter" :key="rowRouterIndex"
87
+ v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true"
77
88
  :router="router" :colValue="router.label" :rowData="row" @click="rolRouterClickHandler">
78
89
  </ct-tablecurrency>
79
90
  </div>
@@ -83,7 +94,7 @@
83
94
  </ct-tablecurrency>
84
95
  <!--正常的列-->
85
96
  <div v-else-if="typeof column.template === 'undefined'" :class="column.autoRowHeight ? 'lineFeedCell':'cell'">
86
- {{row[column.id]}}
97
+ {{row.rowHiddenColumns && row.rowHiddenColumns.includes(column.id)?"":row[column.id]}}
87
98
  </div>
88
99
  </td>
89
100
  </tr>
@@ -119,6 +130,10 @@
119
130
  colHasWidth: {},//有无列宽集合
120
131
  pageRowMin: 0,//页面实际的第一行号
121
132
  pageRowMax: 100,//页面实际的第后行号
133
+ rowMergedColumns:['contactNameDesc','propertyIdentityTypeID','operation'],
134
+ rowBorderLeftColumns:['contactNameDesc','operation'],
135
+ rowBorderRightColumns:['propertyIdentityTypeID','operation'],
136
+ selectKey:'',
122
137
  }
123
138
  },
124
139
  mounted() {
@@ -149,13 +164,31 @@
149
164
  });
150
165
  this.model.scripts.formData = this.model.formData;
151
166
  this.model.scripts.formData.formTable = this.model;
167
+ this.model.setHiddenRow();
152
168
  console.log(this.model);
153
169
  },
154
170
  lookOwner(router) {
155
171
  var self = this;
156
- var submitData=router.getActionPara({}).para;
157
- router.doAction(submitData, (res) => {
172
+ var submitData={
173
+ action: router.action,
174
+ para: {
175
+ searchFields: null,
176
+ pageAttribute: { pageIndex: 1 },
177
+ flagSearch: true
178
+ }
179
+ };
180
+ submitData.para.searchFields=router.getSearchPara();
181
+ submitData.para.searchFields.fields.push({
182
+ fieldName1: 'flagLookFromButton',
183
+ groupName: 'flagLookFromButton',
184
+ operation: 1,
185
+ searchDataType: 3,
186
+ searchValue1: '1',
187
+ });
188
+ router.doSearch(submitData, (res) => {
158
189
  if (res.rtnCode === 200) {
190
+ res.apiRouter=self.apiRouter;
191
+ res.rowMergedColumns=self.rowMergedColumns;
159
192
  self.loaderObj.ContactList(res,null,self.load);
160
193
  self.flagLook = true;
161
194
  }
@@ -179,19 +212,21 @@
179
212
  },
180
213
  rowColorChange() {
181
214
  var index = this.model.selectIndex;
182
- if (typeof this.$refs['rows.' + index] !== "undefined" && this.currentRow !== this.$refs['rows.' + index][0]) {
183
- if (this.currentRow !== null) {
184
- for (var i = 0; i < this.currentRow.children.length; i++) {
185
- this.currentRow.children[i].classList.remove('select');
186
- }
187
- }
188
- if (this.$refs['rows.' + index][0]) {
189
- for (var j = 0; j < this.$refs['rows.' + index][0].children.length; j++) {
190
- this.$refs['rows.' + index][0].children[j].classList.add('select');
191
- }
192
- }
193
- this.currentRow = this.$refs['rows.' + index][0] || null;
194
- }
215
+ this.selectKey=this.model.listData[index][this.model.rowHiddenKey];
216
+ this.currentRow = this.$refs['rows.' + index][0] || null;
217
+ // if (typeof this.$refs['rows.' + index] !== "undefined" && this.currentRow !== this.$refs['rows.' + index][0]) {
218
+ // if (this.currentRow !== null) {
219
+ // for (var i = 0; i < this.currentRow.children.length; i++) {
220
+ // this.currentRow.children[i].classList.remove('select');
221
+ // }
222
+ // }
223
+ // if (this.$refs['rows.' + index][0]) {
224
+ // for (var j = 0; j < this.$refs['rows.' + index][0].children.length; j++) {
225
+ // this.$refs['rows.' + index][0].children[j].classList.add('select');
226
+ // }
227
+ // }
228
+ // this.currentRow = this.$refs['rows.' + index][0] || null;
229
+ // }
195
230
  },
196
231
  tdRowspan(column, row) {
197
232
  if (!column.show) {
@@ -199,19 +234,28 @@
199
234
  }
200
235
 
201
236
  //合并行
202
- if (row.$rowspan !== 0 && this.model.rowMergedColumns.indexOf(column.id) > -1) {
237
+ if (row.$rowspan !== 0 && this.rowMergedColumns.includes(column.id)) {
203
238
  return row.$rowspan;
204
239
  }
205
240
 
206
241
  return '';
207
242
  },
243
+ tdColspan(column, row) {
244
+ if (row.colspan !== 0 && row.columnShow===column.id) {
245
+ return row.colspan;
246
+ }
247
+ },
208
248
  tdShow(column, row) {
209
249
  if (!column.show) {
210
250
  return false;
211
251
  }
212
252
 
213
253
  //合并行
214
- if (row.$rowspan === 0 && this.model.rowMergedColumns.indexOf(column.id) > -1) {
254
+ if (row.$rowspan === 0 && this.rowMergedColumns.indexOf(column.id) > -1) {
255
+ return false;
256
+ }
257
+
258
+ if(row.flagRow && row.columnShow!==column.id && !row.rowHiddenColumns.includes(column.id)){
215
259
  return false;
216
260
  }
217
261
 
@@ -222,13 +266,7 @@
222
266
  field.submitListField.forEach((k) => {
223
267
  submitData[k] = rowData[k];
224
268
  });
225
-
226
- let action = field.action;
227
- if (field.actionField) {
228
- action = rowData[field.actionField];
229
- }
230
-
231
- this.routerClickHandler(field, submitData, action);
269
+ this.routerClickHandler(field, submitData, null);
232
270
  },
233
271
  fieldClickHandler(field) {
234
272
  var self = this;
@@ -462,11 +500,11 @@
462
500
 
463
501
  .ct-tableParent {
464
502
  overflow: auto;
465
- border-bottom: 1px solid #ebeef5;
503
+ border-bottom: 0px;
466
504
  width: 100%;
467
505
  outline: 0;
468
506
  }
469
- .ct-searchtable .ct-table {
507
+ .ct-searchtable .ct-table {
470
508
  min-width: 100%;
471
509
  border-collapse: separate;
472
510
  }
@@ -492,6 +530,12 @@
492
530
  .ct-searchtable .ct-tr > .ct-td3 {
493
531
  border: 1px solid #e7e8eb;
494
532
  }
533
+ .ct-searchtable .ct-tr > .ct-td4 {
534
+ border-left: 1px solid #e7e8eb;
535
+ }
536
+ .ct-searchtable .ct-tr > .ct-td5 {
537
+ border-right: 1px solid #e7e8eb;
538
+ }
495
539
  .shadowLeft {
496
540
  border-right: 1px solid #e7e8eb;
497
541
  box-shadow: 2px 0 3px -1px rgba(0,0,0,0.1);
@@ -34,16 +34,16 @@
34
34
  <span class="cover-list-item-span" v-if="model.lock||model.paramName">
35
35
  <!--锁定-->
36
36
  <span v-if="model.lock || !file.rightEdit" class="el-dropdown-link">
37
- &nbsp;{{file.mediaLabelName}}
37
+ <span style="width:80px;height:26px;display: inline-flex">&nbsp;{{file.mediaLabelName}}</span>
38
38
  </span>
39
39
  <!--复杂分类-->
40
40
  <span v-else-if="model.isComplexClassify" class="el-dropdown-link" @click="classifyFormClickHandle(file)">
41
- &nbsp;{{file.mediaLabelName}}<i class="el-icon-arrow-down el-icon--right"></i>
41
+ <span style="width:80px;height:26px;display: inline-flex">&nbsp;{{file.mediaLabelName}}</span><i class="el-icon-arrow-down el-icon--right"></i>
42
42
  </span>
43
43
  <!--简单分类-->
44
44
  <el-dropdown v-else class="el-upload-list__item-preview" trigger="click" placement="top" @command="classifySelectedClickHandle">
45
45
  <span class="el-dropdown-link" @click="classifyClickHandle">
46
- &nbsp;{{file.mediaLabelName}}<i class="el-icon-arrow-down el-icon--right"></i>
46
+ <span style="width:80px;height:26px;display: inline-flex">&nbsp;{{file.mediaLabelName}}</span><i class="el-icon-arrow-down el-icon--right"></i>
47
47
  </span>
48
48
  <el-dropdown-menu slot="dropdown" class="el-upload-list__item-preview">
49
49
  <el-dropdown-item v-for="(option, index) in model.optionModel.options" :key="index" :command="{option:option,file:file}">
@@ -331,6 +331,19 @@
331
331
  background-color: #544f48;
332
332
  opacity: 0.8;
333
333
  }
334
+ .ct-file .el-dropdown-link{
335
+ cursor: pointer;
336
+ color: #fff;
337
+ position: relative;
338
+ width: 100px;
339
+ height: 26px;
340
+ display: inline-block;
341
+ }
342
+ .el-icon--right {
343
+ position: absolute;
344
+ right: 5px;
345
+ top: 6px;
346
+ }
334
347
  .ct-file .cover-list-item-span-delete {
335
348
  position: inherit;
336
349
  bottom: 160px;
@@ -554,8 +554,7 @@
554
554
  },
555
555
  getFormObj(){
556
556
  let formData=this.model.getFormObj();
557
- if(this.$route && this.$route.query && this.$route.query.pageStyle)
558
- {
557
+ if(this.$route && this.$route.query && this.$route.query.pageStyle){
559
558
  return Object.assign(formData,{'pageStyle':this.$route.query.pageStyle});
560
559
  }
561
560
  return formData;
@@ -12,8 +12,8 @@
12
12
  </el-input>
13
13
  <span v-if="model.sufLabel" style="width:auto" class="spanMessage">{{model.sufLabel}}</span> -->
14
14
  <div class="el-input el-input--mini el-input-group el-input-group--prepend el-input--suffix showLabel lableinput">
15
- <div class="el-input-group__prepend">
16
- <div v-if="model.showLabel && model.label" slot="prepend" class="" :class="[model.labelClass]">
15
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend">
16
+ <div slot="prepend" class="" :class="[model.labelClass]">
17
17
  {{model.label}}
18
18
  </div>
19
19
  </div>
@@ -19,7 +19,7 @@
19
19
  :prop="col.id" :label="col.name" :min-width="col.width">
20
20
  </el-table-column>
21
21
  </el-table>
22
- <div style="margin-top: 20px; width:100%;">
22
+ <div style="margin-top: 20px;width: 100%;display: inline-block;height: 30px;margin-bottom: 10px;">
23
23
  <el-input v-if="jumpBtnName" size="mini" v-model="jumpStr" placeholder="定位" style="width:150px"></el-input>
24
24
  <el-button v-if="jumpBtnName" size="mini" @click="jumpClickHandler()">{{jumpBtnName}}</el-button>
25
25
  <el-button v-if="filterBtnName" size="mini" @click="filterClickHandler()" style="margin-left: 0px;">{{filterBtnName}}</el-button>
@@ -113,7 +113,7 @@
113
113
  </ct-tablecurrency>
114
114
 
115
115
  <!--正常的列-->
116
- <div v-else-if="typeof column.template === 'undefined'" :class="column.autoRowHeight ? 'lineFeedCell':'cell'">
116
+ <div v-else-if="typeof column.template === 'undefined'" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" :style="column.style ? column.style:''">
117
117
  {{row[column.id]}}
118
118
  </div>
119
119
 
@@ -0,0 +1,14 @@
1
+ import dynamicSosTt from './src/dynamicSosTt';
2
+ import api from '../api/index'
3
+
4
+ dynamicSosTt.install = function (Vue) {
5
+ Vue.component(dynamicSosTt.name, dynamicSosTt);
6
+
7
+ Vue.use(api);
8
+ }
9
+
10
+ if (typeof window !== 'undefined' && window.Vue) {
11
+ window.Vue.use(dynamicSosTt);
12
+ }
13
+
14
+ export default dynamicSosTt;