centaline-data-driven 1.3.26 → 1.3.29

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.26",
3
+ "version": "1.3.29",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Form.vue CHANGED
@@ -2,7 +2,7 @@
2
2
  <div id="form-app" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
3
  <!-- <ct-form :api="'/PropertyRET/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
4
4
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
5
- <ct-form :api="'/salemanage/adjust/point/readDetail'" :apiParam="apiParam"></ct-form>
5
+ <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form>
6
6
  <!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
7
7
  <ct-dialog-list></ct-dialog-list>
8
8
  </div>
@@ -14,7 +14,11 @@
14
14
  data() {
15
15
  return {
16
16
  apiParam:{
17
- adjustID:"220704140952A0156309F316436CAEBA",actionType:3
17
+ actionType: 3,
18
+ originalTraId: "1547488795469586434",
19
+ pageOnly: true,
20
+ pageStyle: 2,
21
+ pageTitle: "成交报告"
18
22
  }
19
23
  }
20
24
  },
@@ -8,9 +8,8 @@
8
8
  :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
9
9
  :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
10
10
 
11
- <ct-searchlist :searchConditionApi="'/ProfileWorklistList/getLayoutOfSearch'"
12
- :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
13
- :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'">
11
+ <ct-searchlist :searchConditionApi="'/PropertyContactImportList/getLayoutOfSearch'"
12
+ :searchDataApi="'/PropertyContactImportList/getListOfSearchModel'">
14
13
  </ct-searchlist>
15
14
 
16
15
  <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
@@ -1,4 +1,7 @@
1
1
  .ccai.ct-Sw .ct-radios {
2
2
  padding-top: 0px;
3
3
  padding-bottom: 0;
4
- }
4
+ }
5
+ .ccai.button-absolute{
6
+ bottom: 26px;
7
+ }
@@ -269,7 +269,6 @@
269
269
  }
270
270
  #dragAll .el-checkbox__input.is-checked+.el-checkbox__label{
271
271
  font-weight: 700;
272
- font-size: 16px;
273
272
  }
274
273
  /* .dragItem .el-checkbox__input.is-checked .el-checkbox__inner,
275
274
  .dragItem .el-checkbox__input.is-indeterminate .el-checkbox__inner {
@@ -2,9 +2,10 @@
2
2
  <!--使用draggable组件-->
3
3
  <div class="dragCol" ref="dragCol">
4
4
  <div class="dragItem dragHeader" ref="dragHeader">
5
- <el-checkbox id="dragAll" v-model="checkAll" @change="handleAllChecked" class="checkbox-common">{{
6
- this.vmodel.label
7
- }}
5
+ <el-checkbox id="dragAll" v-model="checkAll" :indeterminate="isIndeterminate" @change="handleAllChecked"
6
+ class="checkbox-common">{{
7
+ this.vmodel.label
8
+ }}
8
9
  </el-checkbox>
9
10
  <span class="svgIcon">
10
11
  <!-- <svg-icon icon-class="sort" style="cursor: pointer"></svg-icon> -->
@@ -12,8 +13,9 @@
12
13
  </div>
13
14
  <!-- <div class="dragMain" style="height:dragMainHeight;"> -->
14
15
  <div class="dragMain" ref="dragMain" :style="{ height: mainHeight }">
15
- <draggable v-model="testList" :options="{ group: { name: 'itxst', pull: 'clone' }, sort: true }"
16
- animation="300" :move="onMove" dragClass="dragClass" ghostClass="ghostClass" chosenClass="chosenClass"
16
+ <draggable v-model="testList"
17
+ :options="{ group: { name: 'itxst', pull: 'clone' }, sort: true }" animation="300"
18
+ :move="onMove" dragClass="dragClass" ghostClass="ghostClass" chosenClass="chosenClass"
17
19
  @input="handleListChange($event)">
18
20
  <transition-group>
19
21
  <div class="dragItem canDragon" v-for="(item, index) in testList" :key="index" ref="dragItem">
@@ -51,7 +53,8 @@ export default {
51
53
  checkAll: true,
52
54
  //定义要被拖拽对象的数组
53
55
  testList: [],
54
- mainHeight: 500
56
+ mainHeight: 500,
57
+ isIndeterminate: true
55
58
  };
56
59
  },
57
60
  watch: {
@@ -65,8 +68,14 @@ export default {
65
68
  }
66
69
  if (i === this.testList.length) {
67
70
  this.checkAll = true;
71
+ this.isIndeterminate = false
68
72
  } else {
69
73
  this.checkAll = false;
74
+ if (i > 0 && i < this.testList.length) {
75
+ this.isIndeterminate = true
76
+ } else {
77
+ this.isIndeterminate = false
78
+ }
70
79
  }
71
80
  });
72
81
  },
@@ -74,12 +83,16 @@ export default {
74
83
  }
75
84
  },
76
85
  created() {
77
- if (typeof this.vmodel === "undefined") {
78
- this.model = this.loaderObj.DragSort(this.source);
79
- } else {
80
- this.model = this.vmodel;
81
- this.testList = this.vmodel.dragList;
82
- }
86
+ this.$nextTick(function () {
87
+ if (typeof this.vmodel === 'undefined') {
88
+ this.model = this.loaderObj.DragSort(this.source);
89
+ }
90
+ else {
91
+ this.model = this.vmodel;
92
+ this.testList = this.vmodel.dragList;
93
+ // console.log('this.testList', this.testList);
94
+ }
95
+ });
83
96
 
84
97
  this.testList.forEach(item => {
85
98
  // 处理后端传过来的数据,如果没有可以判断是否勾选复选框的字段,则需给数据作处理,加上一个isChecked字段,判断复选框勾选
@@ -99,16 +112,17 @@ export default {
99
112
  let screenHeight = document.body.clientHeight;
100
113
  let dragHeaderHeight = this.$refs.dragHeader.offsetHeight;
101
114
  let dragMainHeight = this.$refs.dragMain.style.height;
102
- let num = this.testList.length
103
- let dragItemAll = 44.68 * num;
104
115
  dragMainHeight =
105
116
  screenHeight - dragHeaderHeight - 26 - 8 - 44 - 40;
117
+ this.mainHeight = dragMainHeight + "px";
118
+ let num = this.testList.length
119
+ let dragItemAll = 44.68 * num;
106
120
  if (dragMainHeight > dragItemAll) {
107
121
  this.mainHeight = dragItemAll + "px";
108
122
  this.$refs.dragMain.style.overflowY = 'hidden'
109
123
  } else {
110
124
  this.mainHeight = dragMainHeight + "px";
111
- this.$refs.dragMain.style.overflowY = 'scroll'
125
+ this.$refs.dragMain.style.overflowY = 'overlay'
112
126
  }
113
127
 
114
128
  });
@@ -217,7 +231,7 @@ export default {
217
231
  .dragHeader {}
218
232
 
219
233
  .dragMain {
220
- overflow-y: scroll;
234
+ overflow-y: overlay;
221
235
  overflow-x: hidden;
222
236
  }
223
237
 
@@ -68,7 +68,8 @@
68
68
  <component v-for="(btn, index) in model.links" :key="index" :is="btn.is" :vmodel="btn" @click="clickHandler" v-if="btn.show"></component>
69
69
  </el-col>
70
70
  </el-row>
71
- <el-row v-if="model.buttons.findIndex((v)=>{return v.show}) > -1" :class="isScroll?'button-absolute':'button-initial'">
71
+ <el-row v-if="model.buttons.findIndex((v)=>{return v.show}) > -1" :class="isScroll?'ccai button-absolute':'button-initial'"
72
+ :style="{'max-width':pageWidth?(pageWidth-20)+'px':'100%'}">
72
73
  <el-col :span="24" style="text-align:center">
73
74
  <component v-for="(btn, index) in model.buttons" :key="index" :is="btn.is" :vmodel="btn" @click="clickHandler" v-if="btn.show"></component>
74
75
  </el-col>
@@ -116,7 +117,8 @@
116
117
  this.init();
117
118
  },
118
119
  updated(){
119
- if(this.$el.parentElement.scrollHeight>this.$el.parentElement.clientHeight){
120
+ if(this.$el.parentElement.scrollHeight>this.$el.parentElement.clientHeight
121
+ && !this.model.isHorizontalLayout){
120
122
  this.isScroll=true;
121
123
  }
122
124
  },
@@ -592,6 +594,7 @@
592
594
  var rtnBool = true;
593
595
  var jump = false;
594
596
  var i=0;
597
+
595
598
  self.$refs.Fields.forEach((f) => {
596
599
  if (f.model && typeof f.validExcute !== 'undefined') {
597
600
  if (!f.validExcute()) {
@@ -617,7 +620,7 @@
617
620
 
618
621
  if (!jump) {
619
622
  if (this.model.isHorizontalLayout) {//水平布局
620
- this.activeName = f.model.collapseName.toString();
623
+ this.activeName = f.model.collapseName.toString()==='-1'?self.activeName:f.model.collapseName.toString();
621
624
  jump = true;
622
625
  }
623
626
  else {//垂直布局
@@ -716,7 +719,6 @@
716
719
  background-color: #fff;
717
720
  width: 100%;
718
721
  margin: auto;
719
- max-width: 800px;
720
722
  box-shadow: 0 2px 20px 0 rgb(0 0 0 / 10%);
721
723
  margin-left: -20px;
722
724
  }
@@ -16,7 +16,7 @@
16
16
  <!--数据列-->
17
17
  <el-table-column v-for="(v,i) in model.rows[0].field" :key="i" :prop="v.id" :label="v.label" v-if="v.show !== false">
18
18
  <template slot="header" slot-scope="scope">
19
- <div :class="[{'ct-table-required':v.required&&model.rows[0].edit&& model.rows[0].delete&&!model.tableDisabled},getHeadClass(v)]">
19
+ <div :class="[{'ct-table-required':v.required&&model.rows[0].edit&& model.rows[0].delete&&!model.tableDisabled},getHeadClass(v)]">
20
20
  {{v.label}}
21
21
  </div>
22
22
  </template>
@@ -32,8 +32,8 @@
32
32
  </span>
33
33
  <!--可点击的列-->
34
34
  <span v-else-if="v.router" :class="'cell'" style="display: flex;">
35
- <ct-tablecurrency :router="v.router" :colValue="scope.row[v.id].code1" :rowData="scope.row"
36
- @click="rolRouterClickHandler">
35
+ <span>{{scope.row.isSet}}</span>
36
+ <ct-tablecurrency :router="v.router" :colValue="scope.row[v.id].code1" :rowData="scope.row" @click="rolRouterClickHandler">
37
37
  </ct-tablecurrency>
38
38
  </span>
39
39
  <ct-span v-else :vmodel="scope.row[v.id]" :rowNum="scope.row.$sourceIndex" ref="FieldsLabel"></ct-span>
@@ -191,7 +191,8 @@
191
191
  app.model.currentRow.isNew = false;
192
192
  app.model.currentRow.index = index;
193
193
  app.model.currentRow.isSet = true;
194
- row.isSet = true;
194
+ row.isSet = true;
195
+ app.itemKey = Math.random();
195
196
  }
196
197
  },
197
198
  //删除
@@ -1,7 +1,9 @@
1
1
  <template>
2
2
  <div class="ct-tableToolbar" style="width:100%;" v-if="buttons && buttons.length > 0">
3
- <ul>
4
- <li v-for="btn in buttons" class="ct-ToolbarButton max-ToolbarButton">
3
+
4
+ <div v-if="buttonsLeft&&buttonsLeft.length>0" class="bool_btn_l">
5
+ <ul>
6
+ <li v-for="btn in buttonsLeft" class="ct-ToolbarButton max-ToolbarButton" :class="{btn_r:btn.isRight}">
5
7
  <component :is="btn.is" :vmodel="btn"
6
8
  @click="clickHandler(btn,$event)"
7
9
  @importComplete="importComplete"
@@ -9,53 +11,86 @@
9
11
  :optionApi="optionApi"
10
12
  :fileData="getFileData(btn)"></component>
11
13
  </li>
12
- </ul>
14
+ </ul>
15
+ </div>
16
+ <div v-if="buttonsright&&buttonsright.length>0" class="bool_btn_r">
17
+ <ul>
18
+ <li v-for="btn in buttonsright" class="ct-ToolbarButton max-ToolbarButton" :class="{btn_r:btn.isRight}">
19
+ <component :is="btn.is" :vmodel="btn"
20
+ @click="clickHandler(btn,$event)"
21
+ @importComplete="importComplete"
22
+ v-if="btn.show"
23
+ :optionApi="optionApi"
24
+ :fileData="getFileData(btn)"></component>
25
+ </li>
26
+ </ul>
27
+ </div>
28
+
29
+
13
30
  </div>
14
31
  </template>
15
32
  <script>
16
- export default {
17
- name: 'ctTableToolbar',
18
- props: {
19
- buttons: Array,
20
- searchModel: Object,
21
- optionApi:String
22
- },
23
- data() {
24
- return {};
33
+ export default {
34
+ name: "ctTableToolbar",
35
+ props: {
36
+ buttons: Array,
37
+ searchModel: Object,
38
+ optionApi: String
39
+ },
40
+ data() {
41
+ return {
42
+ buttonsLeft: [],
43
+ buttonsright: []
44
+ };
45
+ },
46
+ created() {
47
+ this.buttons.forEach(v => {
48
+ if (v.isRight) {
49
+ this.buttonsright.push(v);
50
+ } else {
51
+ this.buttonsLeft.push(v);
52
+ }
53
+ });
54
+ },
55
+ methods: {
56
+ clickHandler(btn, ev) {
57
+ this.$emit("click", btn);
25
58
  },
26
- methods: {
27
- clickHandler(btn, ev) {
28
- this.$emit('click', btn);
29
- },
30
- getFileData(btn) {
31
- if (btn.flagAttachSearchCondition) {
32
- return this.searchModel ? this.searchModel.searchData : {};
33
- }
59
+ getFileData(btn) {
60
+ if (btn.flagAttachSearchCondition) {
34
61
  return this.searchModel ? this.searchModel.searchData : {};
35
- },
36
- importComplete(res) {
37
- this.$emit('importComplete', res);
38
62
  }
63
+ return this.searchModel ? this.searchModel.searchData : {};
64
+ },
65
+ importComplete(res) {
66
+ this.$emit("importComplete", res);
39
67
  }
40
68
  }
69
+ };
41
70
  </script>
42
71
  <style>
43
- .ct-tableToolbar {
44
- width:100%;
45
- position:relative;
46
- float:left;
47
- padding:0 5px 10px 0px;
48
- background-color:#fff;
49
- border-radius: 6px;
50
- }
51
- .ct-tableToolbar ul {
52
- list-style: none; /* 去掉ul前面的符号 */
53
- margin: 0px; /* 与外界元素的距离为0 */
54
- padding: 0px; /* 与内部元素的距离为0 */
55
- width: auto; /* 宽度根据元素内容调整 */
56
- }
57
- .ct-tableToolbar ul li {
58
- margin-right:5px;
59
- float:left; /* 向左漂移,将竖排变为横排 */
60
- }
72
+ .ct-tableToolbar {
73
+ width: 100%;
74
+ position: relative;
75
+ float: left;
76
+ padding: 0 5px 10px 0px;
77
+ background-color: #fff;
78
+ border-radius: 6px;
79
+ }
80
+ .ct-tableToolbar ul {
81
+ list-style: none; /* 去掉ul前面的符号 */
82
+ margin: 0px; /* 与外界元素的距离为0 */
83
+ padding: 0px; /* 与内部元素的距离为0 */
84
+ width: auto; /* 宽度根据元素内容调整 */
85
+ }
86
+ .ct-tableToolbar ul li {
87
+ margin-right: 5px;
88
+ float: left; /* 向左漂移,将竖排变为横排 */
89
+ }
90
+ .bool_btn_l {
91
+ float: left !important;
92
+ }
93
+ .bool_btn_r {
94
+ float: right !important;
95
+ }
61
96
  </style>
@@ -295,8 +295,8 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
295
295
  }
296
296
  //正在编辑的行
297
297
  else if (rowNum === null && listData.currentRowIndex === 0) {
298
- let fields = listData.currentRow.data;
299
- field = fields[fiedlId];
298
+ let fields = listData.currentRow.data;
299
+ field = fields[fiedlId];
300
300
  }
301
301
  //源数据
302
302
  else {
@@ -306,17 +306,18 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
306
306
 
307
307
  if (rowNum === 0 || (rowNum && fiedlId)) {
308
308
  try {
309
- let fields = listData.rows[rowNum].field;
309
+ let fields = listData.rows[rowNum].field;
310
310
  field = fields.find((v) => {
311
311
  return v.id === fiedlId;
312
- });
313
- } catch (e) {
314
- if (listData.rows.length <= rowNum) {
312
+ });
313
+ }
314
+ catch (e) {
315
+ if (listData.rows.length <= rowNum) {
315
316
  var checkMsg = "获取列表行索引超出界限";
316
317
  this.message(checkMsg);
317
- }
318
- }
318
+ }
319
319
  }
320
+ }
320
321
  }
321
322
 
322
323
  return { listData: listData, field: field };
@@ -350,13 +351,19 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
350
351
  //若该行正在编辑,则取编辑状态的。
351
352
  if (data && data.listData && data.listData.currentRow.data && data.listData.currentRow.data[fiedlId]
352
353
  && data.listData.currentRow.data.$sourceIndex === rowNum && data.listData.currentRow.isSet) {
353
- return data.listData.currentRow.data[fiedlId].source[attrName];
354
+ if(fiedlId=='deleted' || fiedlId=='flagDeleted'){
355
+ return data.listData.currentRow.data.deleted || false;
356
+ }
357
+ return data.listData.currentRow.data[fiedlId].source[attrName];
354
358
  }
355
359
  else if (data && data.field) {
356
- if (typeof defaultValue !== 'undefined' && data.listData.rows[rowNum].deleted) {//若该行被删除时,则直接返回默认值
357
- return defaultValue;
358
- }
359
- return data.field.source[attrName];
360
+ if (typeof defaultValue !== 'undefined' && data.listData.rows[rowNum].deleted) {//若该行被删除时,则直接返回默认值
361
+ return defaultValue;
362
+ }
363
+ return data.field.source[attrName];
364
+ }
365
+ else if (data && (fiedlId=='deleted' || fiedlId=='flagDeleted')) {
366
+ return data.listData.rows[rowNum].deleted || false;
360
367
  }
361
368
  },
362
369
  getListFieldValueFromParent(tableName, rowNum, fiedlId, attrName, defaultValue) {
@@ -180,13 +180,10 @@ const FormList = function (source, master) {
180
180
  for (let i = 1; i < rows.length; i++) {//遍历每一行
181
181
  if (!rows[i].deleted) {
182
182
  row = {};
183
- //row['$sourceIndex'] = i;
184
183
  Vue.set(row, '$sourceIndex', i);
185
184
  for (let j = 0; j < rows[i].field.length; j++) {//遍历每一列
186
- //row[field[j].id] = rows[i].field[j];
187
185
  Vue.set(row, field[j].id, rows[i].field[j]);
188
186
  }
189
- //row.isSet = false;
190
187
  Vue.set(row, 'isSet', false);
191
188
  Vue.set(row, 'edit', rows[i].edit);
192
189
  Vue.set(row, 'delete', rows[i].delete);
@@ -372,8 +369,6 @@ const FormList = function (source, master) {
372
369
  addSourceRow(row) {
373
370
  let sourceRow = JSON.parse(JSON.stringify(source.rows[0]));
374
371
  for (let k in sourceRow.columns) {
375
- //sourceRow.Row[k] = row.field[k].source;
376
- sourceRow.columns[k] = row[sourceRow.columns[k].fieldName1].source;
377
372
  sourceRow.columns[k] = row[sourceRow.columns[k].fieldName1].source;
378
373
  };
379
374
  source.rows.push(sourceRow);
@@ -425,9 +420,7 @@ const FormList = function (source, master) {
425
420
  source.rows.push(row);
426
421
  rtn.rows.push(rowItem);
427
422
  rtn._rows[rtn._rows.length - 1].$sourceIndex = rtn._rows.length - 1;
428
-
429
- rowData.$sourceIndex = source.rows.length - 1;
430
-
423
+ rowData.$sourceIndex = source.rows.length - 1;
431
424
  rowData.edit = rowItem.edit;
432
425
  rowData.delete = rowItem.delete;
433
426
  rowItem.isNewFlag = true;
@@ -473,13 +466,14 @@ const FormList = function (source, master) {
473
466
  insertRow(rows) {
474
467
  if(rows && rows.length>0){
475
468
  rows.forEach((r) => {
476
- source.rows.push(r);
477
- let iRow = this.initRow(r);
469
+ let iRow = rtn.initRow(r);
478
470
  iRow.isNewFlag = true;
471
+ source.rows.push(r);
479
472
  rtn._rows.push(iRow);
480
473
  Vue.set(r, 'edit', iRow.edit);
481
474
  Vue.set(r, 'delete', iRow.delete);
482
475
  rtn._rows[rtn._rows.length - 1].$sourceIndex = rtn._rows.length - 1;
476
+ r.$sourceIndex = rtn._rows.length - 1;
483
477
 
484
478
  let rowData = rtn.rowsItemToTableData(iRow)
485
479
  rowData.$sourceIndex = rtn._rows.length - 1;
@@ -492,43 +486,52 @@ const FormList = function (source, master) {
492
486
  insertOrUpdateRow(row) {
493
487
  if(row){
494
488
  if(rtn.primaryKeys && rtn.primaryKeys.length>0){
495
- let iRow = this.initRow(row);
489
+ let iRow = rtn.initRow(row);
496
490
  let flagAdd=true;
497
491
  rtn.rows.forEach((r,i) => {
498
- let countKey=0;
499
- rtn.primaryKeys.forEach((k) => {
500
- let fieldOld=r.field.find((v) => {
501
- return v.id === k;
502
- });
503
- let fieldNew=iRow.field.find((v) => {
504
- return v.id === k;
505
- });
506
- if(fieldOld.code1===fieldNew.code1){
507
- countKey++;
508
- }
509
- })
510
- if(countKey===rtn.primaryKeys.length){
511
- flagAdd=false;
512
- if(iRow.deleted){
513
- rtn.tableData.forEach((d,index) => {
514
- if(d.$sourceIndex===r.$sourceIndex){
515
- rtn.tableData.splice(index, 1);
492
+ if(i>0){
493
+ let countKey=0;
494
+ rtn.primaryKeys.forEach((k) => {
495
+ let fieldOld=r.field.find((v) => {
496
+ return v.id === k;
497
+ });
498
+ let fieldNew=iRow.field.find((v) => {
499
+ return v.id === k;
500
+ });
501
+ if(fieldOld.code1===fieldNew.code1){
502
+ countKey++;
503
+ }
504
+ })
505
+ if(countKey===rtn.primaryKeys.length){
506
+ flagAdd=false;
507
+ if(iRow.deleted){
508
+ rtn.tableData.forEach((d,index) => {
509
+ if(d.$sourceIndex===r.$sourceIndex){
510
+ rtn.tableData.splice(index, 1);
511
+ }
512
+ });
513
+ if (r.isNewFlag) {
514
+ rtn.rows.splice(i, 1);
515
+ source.rows.splice(i, 1);
516
+ }
517
+ else {
518
+ rtn.rows[i].deleted = true;
516
519
  }
517
- });
518
- if (r.isNewFlag) {
519
- rtn.rows.splice(i, 1);
520
- source.rows.splice(i, 1);
521
520
  }
522
- else {
523
- rtn.rows[i].deleted = true;
521
+ else{
522
+ let rowData = rtn.rowsItemToTableData(iRow)
523
+ iRow.$sourceIndex=r.$sourceIndex;
524
+ rowData.$sourceIndex=r.$sourceIndex;
525
+ rowData.edit = iRow.edit;
526
+ rowData.delete = iRow.delete;
527
+ source.rows.splice(i, 1,row);
528
+ rtn._rows.splice(i, 1,iRow);
529
+ rtn._tableData.splice(i-1, 1,rowData);
524
530
  }
525
531
  }
526
- else{
527
- rtn.rows.splice(i, 1,iRow);
528
- }
529
532
  }
530
533
  });
531
- if(flagAdd){
534
+ if(flagAdd){
532
535
  let rows=[];
533
536
  rows.push(row);
534
537
  rtn.insertRow(rows)
@@ -350,6 +350,9 @@ const Router = function (source) {
350
350
  get align() {
351
351
  return source.align;
352
352
  },
353
+ get isRight() {
354
+ return Enum.HalignType.Right == source.align;
355
+ },
353
356
  };
354
357
  return rtn;
355
358
  }
package/src/main.js CHANGED
@@ -14,8 +14,8 @@ Vue.config.productionTip = false;
14
14
  Vue.use(centaline, {
15
15
  baseUrl: "http://10.88.22.46:7070/v1/form/router",
16
16
  // baseUrl: "http://10.88.23.22:9999/v1/form/router",
17
- // baseUrl: "http://10.88.22.69:8080/",
18
17
  // baseUrl: "http://tjcptest.centaline.com.cn/",
18
+ // baseUrl: "http://10.88.22.69:8080/",
19
19
  // flagRouterSelf: true,
20
20
  zindex: 999,
21
21
  showRequestSuccessMessage: true,
@@ -41,7 +41,7 @@ Vue.use(centaline, {
41
41
  // 获取请求头
42
42
  getRequestHeaders: function () {
43
43
  return {
44
- oldToken: 'a9e42494-1e0b-4c46-834e-eea096ba2564',
44
+ oldToken: '0e5e2554-abe0-4538-8520-e024f82389b3',
45
45
  originalRequestURL: 'http://10.88.22.67:8080',
46
46
  EstateInfo: ' {"estateId":"201703020943128D8A8FCF463E4016D6","estateName":"%E4%B8%87%E7%A7%91%E4%BA%91%E5%9F%8E"}',
47
47
  Authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjYzMzZiMDJiLTZjOGEtNDIzNC05MGQ5LTliYWI2MTIyNTQzNyJ9.hOxMvGLm03QMPu9C4lgRzkEHC7ECqxJ_L6mfqQRqv39xJ42I8gzSRO-E68vWp-A99ewnxnqvTZ6H_6fOQ9DljQ',