centaline-data-driven 1.3.48 → 1.3.51

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.48",
3
+ "version": "1.3.51",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Form.vue CHANGED
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="form-app" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
3
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
4
- <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
4
+ <ct-form :api="'/commissionmanage/apply'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
5
5
  <ct-dialog-list></ct-dialog-list>
6
6
  </div>
7
7
  </template>
@@ -12,11 +12,7 @@
12
12
  data() {
13
13
  return {
14
14
  apiParam:{
15
- actionType: 3,
16
- originalTraId: "1556877589776220161",
17
- pageOnly: true,
18
- pageStyle: 2,
19
- pageTitle: "成交报告"
15
+
20
16
  },
21
17
  topHeight:10,
22
18
  }
@@ -8,15 +8,15 @@
8
8
  :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
9
9
  :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
10
10
 
11
- <!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/tran-list/layout'"
12
- :searchDataApi="'/api/third-dept-tran/tran-list'">
13
- </ct-searchlist> -->
11
+ <ct-searchlist :searchConditionApi="'/api/agenttrans/transactionList/getLayoutOfSearch'"
12
+ :searchDataApi="'/api/agenttrans/transactionList/getTableList'">
13
+ </ct-searchlist>
14
14
 
15
- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
15
+ <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
16
16
  :searchDataApi="'/PropertyRETList/getListOfSearchModel'"
17
17
  :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"
18
18
  :searchStatsApi="'/exampleList/getListStats'">
19
- </ct-searchlist>
19
+ </ct-searchlist> -->
20
20
 
21
21
  <ct-dialog-list></ct-dialog-list>
22
22
  </div>
@@ -280,3 +280,16 @@
280
280
  justify-content: flex-start;
281
281
  align-items: center;
282
282
  }
283
+ .max-tableToolbar {
284
+ padding-top: 10px !important;
285
+ }
286
+ .st-serach-screen .max-shortcutFollow {
287
+ padding-left: 0px !important;
288
+ padding-bottom: 10px !important;
289
+ }
290
+ .st-serach-screen .max-list-field {
291
+ padding-left: 0px !important;
292
+ }
293
+ .st-serach-screen .max-ptb5 {
294
+ padding-bottom: 5px !important;
295
+ }
@@ -7,7 +7,7 @@
7
7
  </div>
8
8
  <div class="ct-checkbox-mian cover-list-item" :class="[model.showLabel?'showLabel':'',model.value !== ''?'hasValue':'',model.label?'':'lableNaN']">
9
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>
10
+ <el-checkbox :disabled="model.lock" v-for="item in model.options" :label="item[model.optionAttrs.value]" :key="item[model.optionAttrs.value]" :style="{ width: model.width1 + 'px' }">{{item[model.optionAttrs.label]}}</el-checkbox>
11
11
  <span v-if="!model.lock" class="cover-list-item-span max-cover-list-item">
12
12
  <i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
13
13
  </span>
@@ -848,8 +848,29 @@ export default {
848
848
  // if (typeof field.onClick !== 'undefined') {
849
849
  // verified = self.$common.excute.call(self.model.scripts, field.onClick);
850
850
  // }
851
-
852
- if (field.isOpenForm) {
851
+ if (field.isBrowseAttachment) {//浏览附件
852
+ var MediaAlbum = [
853
+ { albumName: self.model.title || "媒体", medias: [] },
854
+ ];
855
+ if (field.action) {
856
+ var callback = function (data) {
857
+ MediaAlbum[0].medias = data;
858
+ self.$common.viewerfile(field, MediaAlbum, 0, 0);
859
+ }
860
+ var vsubmitData = {
861
+ ...field.getActionPara(submitData).para,
862
+ ...submitData
863
+ };
864
+ self.model.getAction(field.action, vsubmitData, callback);
865
+ }
866
+ else {
867
+ submitData.mediaData.forEach((v) => {
868
+ MediaAlbum[0].medias.push(v);
869
+ });
870
+ self.$common.viewerfile(field, MediaAlbum, 0, 0);
871
+ }
872
+ }
873
+ else if (field.isOpenForm) {
853
874
  var dialogOption = {
854
875
  title: field.pageTitle,
855
876
  pane: self.$common.getParentPane(self),
@@ -1223,6 +1244,7 @@ export default {
1223
1244
 
1224
1245
  .hous-t {
1225
1246
  width: 260px;
1247
+ margin-top: 10px;
1226
1248
  .swiper-i {
1227
1249
  position: relative;
1228
1250
  width: 100%;
@@ -1255,6 +1255,7 @@ export default {
1255
1255
 
1256
1256
  .hous-t {
1257
1257
  width: 260px;
1258
+ margin-top: 10px;
1258
1259
  .swiper-i {
1259
1260
  position: relative;
1260
1261
  width: 100%;
@@ -442,6 +442,9 @@
442
442
  on: {
443
443
  finished(data) {
444
444
  self.$common.closeDialog(dialogOption.dialog);
445
+ if(data.rtnMsg){
446
+ self.$message.success(data.rtnMsg);
447
+ }
445
448
  if(field && field.changeCallBackFunName){
446
449
  self.changeCallBackHandler(field, field.changeCallBackFunName, data.content);
447
450
  }
@@ -1,9 +1,8 @@
1
1
  <template>
2
2
  <div v-loading="loading" style="width:100%">
3
3
  <div v-if="model !== null && !loading" class="ct-form">
4
- <div class="ct-ptb5 max-flex">
4
+ <div ref="search" class="ct-ptb5 max-flex">
5
5
  <template v-for="(col, index) in model.fields" v-if="col.show !== false">
6
- <!-- <br v-if="col.is === 'ct-linefeed'" /> -->
7
6
  <div v-if="col.is === 'ct-linefeed'" style="width: 100%;">
8
7
  <el-divider></el-divider>
9
8
  </div>
@@ -67,6 +66,7 @@
67
66
  }
68
67
  this.loadFields();
69
68
  this.$nextTick(() => {
69
+ this.$refs.table.setELTableHeight(this.$el.parentElement.clientHeight,this.$refs.search.clientHeight)
70
70
  this.$refs.table.searchComplate(this.model,this.model.flagSearch);
71
71
  });
72
72
  this.loading = false;
@@ -1,20 +1,12 @@
1
1
  <template>
2
2
  <div style="padding:0 8px 0 10px">
3
- <div v-if="model !== null && !loading">
4
- <el-table ref="multipleTable"
5
- :data="tableData"
6
- highlight-current-row
7
- tooltip-effect="dark"
8
- size="mini"
9
- style="width: 100%;"
10
- max-height="450"
11
- fit
12
- :row-class-name="tableRowClassName"
3
+ <div v-if="model !== null">
4
+ <el-table ref="multipleTable" :data="tableData"
5
+ highlight-current-row tooltip-effect="dark" size="mini" style="width: 100%;" fit :row-class-name="tableRowClassName"
6
+ :height="elTableHeight" v-loading="loading"
13
7
  @selection-change="handleSelectionChange"
14
8
  @current-change="handleCurrentChange">
15
- <el-table-column type="selection"
16
- width="55" v-if="!singleSelectio">
17
- </el-table-column>
9
+ <el-table-column type="selection" width="55" v-if="!singleSelectio"></el-table-column>
18
10
  <el-table-column v-for="(col, index) in model.columns" v-if="col.show" :key="index"
19
11
  :prop="col.id" :label="col.name" :min-width="col.width">
20
12
  </el-table-column>
@@ -26,7 +18,7 @@
26
18
  <el-button size="mini" @click="confirmClickHandler()" class="max-search-btn" style="float:right;" type="primary">确认</el-button>
27
19
  </div>
28
20
  </div>
29
- <div style="min-height:250px" v-loading="loading" v-if="loading"></div>
21
+ <div style="min-height:250px;" v-loading="loadingOne" v-if="loadingOne"></div>
30
22
  </div>
31
23
  </template>
32
24
 
@@ -52,16 +44,24 @@
52
44
  tableData: [],
53
45
  multipleSelection: [],
54
46
  currentRow: null,
47
+ loadingOne: true,
55
48
  loading: true,
56
- jumpStr: ''
49
+ jumpStr: '',
50
+ isBusy:false,
51
+ elTableHeight:0,
57
52
  }
58
53
  },
59
54
  methods: {
60
55
  load(data) {
56
+ this.loadingOne=false;
61
57
  this.model = data;
62
58
  this.loadFields();
63
59
  this.loading = false;
64
60
  this.resetTabelWidth();
61
+ this.$nextTick(() => {
62
+ var selectWrap = this.$refs.multipleTable.bodyWrapper;
63
+ selectWrap.addEventListener('scroll', this.scrollHandle);
64
+ });
65
65
 
66
66
  //通知父组件加载完成
67
67
  this.$emit('loaded');
@@ -82,7 +82,6 @@
82
82
  this.multipleSelection = [];
83
83
  }
84
84
 
85
- //self.tableData.concat(this.model.listData);
86
85
  self.tableData.push.apply(self.tableData, this.model.listData);
87
86
  },
88
87
  //是否需要保留已选
@@ -215,7 +214,31 @@
215
214
  self.load(self.vmodel);
216
215
  }
217
216
  });
218
- }
217
+ },
218
+ scrollHandle(ev) {
219
+ var self = this;
220
+ let selectWrap = this.$refs.multipleTable.bodyWrapper;
221
+ if (selectWrap.scrollTop + selectWrap.clientHeight >= selectWrap.scrollHeight - 5) {
222
+ if (!self.isBusy) {
223
+ self.isBusy = true;
224
+ self.loading = true;
225
+ self.model.nextPage((rtn,response) => {
226
+ if (rtn) {
227
+ response.content.rows.forEach((nr) => {
228
+ self.tableData.push(nr);
229
+ });
230
+ }
231
+ self.isBusy = false;
232
+ self.loading = false;
233
+ });
234
+ }
235
+ }
236
+ ev.cancelBubble = true;
237
+ ev.stopPropagation();
238
+ },
239
+ setELTableHeight(h0,h1){
240
+ this.elTableHeight=h0-h1-60-25;
241
+ },
219
242
  }
220
243
  }
221
244
  </script>
@@ -12,7 +12,7 @@
12
12
  :categoryLoaded="loaded.categoryLoaded" @search="search()" @saveShortcut="saveShortcut"
13
13
  @showTitle="showTitleScreenHandler"></ct-searchscreen>
14
14
 
15
- <ct-searchtable ref="table" :api="searchDataApi" :searchStatsApi="searchStatsApi" :from="from" @loaded="tableLoaded"
15
+ <ct-searchtable ref="table" :api="searchDataApi" :searchStatsApi="searchStatsApi" :from="from" :isIframe="isIframe" @loaded="tableLoaded"
16
16
  @toolbarClick="toolbarClickHandler" @refreshParent="refreshParentHandler" :key="reloadKeyTable" @searchComplate="searchComplate"
17
17
  @rowClickHandle="rowClickHandle" @scrollHandle="scrollHandle" @refreshRowHandle="refreshRowHandle" @doClosePopoverHandle="doClosePopoverHandle"
18
18
  @showTitle="showTitleHandler"></ct-searchtable>
@@ -63,12 +63,20 @@
63
63
  default:'searchlist'
64
64
  },
65
65
  },
66
+ data() {
67
+ return {
68
+ isIframe: false,
69
+ };
70
+ },
66
71
  created() {
67
72
  this.model = this.vmodel;
68
73
  this.screenPara=this.apiParam;
69
74
  if(this.searchCategoryApi){
70
75
  this.loaded.categoryLoaded=false;
71
76
  }
77
+ if(this.apiParam && this.apiParam.isIframe && this.apiParam.isIframe=='true'){
78
+ this.isIframe=true;
79
+ }
72
80
  },
73
81
  computed: {
74
82
  },
@@ -1,14 +1,14 @@
1
1
  <template>
2
2
  <div class="st-serach-screen">
3
3
  <div v-bind="model.attrs" style="width:100%" v-if="!isLoading">
4
- <div class="ct-ptb5" v-if="showScreen">
4
+ <div class="ct-ptb5 max-ptb5" v-if="showScreen">
5
5
  <template v-for="(col, index) in model.screen" v-if="col.show !== false">
6
6
  <br v-if="col.is === 'ct-linefeed'" />
7
- <component v-else class="list-field" v-bind="col.listBind" :is="col.is" :vmodel="col" :api="model.optionApi" @click="clickHandler(col)"></component>
7
+ <component v-else class="list-field max-list-field" v-bind="col.listBind" :is="col.is" :vmodel="col" :api="model.optionApi" @click="clickHandler(col)"></component>
8
8
  </template>
9
9
  <component v-for="(col, index) in model.btnScreen" :key="index" :is="col.is" :vmodel="col" :api="model.optionApi" @click="clickHandler(col)"></component>
10
10
  </div>
11
- <div class="shortcutFollow" style="padding-left: 20px;" v-if="model.shortcutForm">
11
+ <div class="shortcutFollow max-shortcutFollow" style="padding-left: 20px;" v-if="model.shortcutForm">
12
12
  <ct-form :source="model.shortcutForm.code1" @submit="saveShortcut"></ct-form>
13
13
  </div>
14
14
  <el-popover class="SeachScreenPop max-seachpopper" placement="top" transition="el-zoom-in-top" v-model="highScreen" trigger="click" visible-arrow="false">
@@ -191,6 +191,10 @@ export default {
191
191
  String,
192
192
  default: "searchlist",
193
193
  },
194
+ isIframe: {
195
+ Boolean,
196
+ default: false,
197
+ },
194
198
  },
195
199
  computed: {},
196
200
  data() {
@@ -626,11 +630,7 @@ export default {
626
630
  },
627
631
  scrollHandle(ev) {
628
632
  var self = this;
629
- if (
630
- this.$refs.tableParent.scrollTop +
631
- this.$refs.tableParent.clientHeight >=
632
- this.$refs.tableParent.scrollHeight - 5
633
- ) {
633
+ if ( this.$refs.tableParent.scrollTop + this.$refs.tableParent.clientHeight >= this.$refs.tableParent.scrollHeight - 5) {
634
634
  if (!this.isBusy) {
635
635
  self.isBusy = true;
636
636
  self.tableLoading = true;
@@ -644,11 +644,7 @@ export default {
644
644
  });
645
645
  }
646
646
  }
647
- this.$emit(
648
- "scrollHandle",
649
- this.$refs.tableParent.scrollTop,
650
- this.$refs.tableParent.scrollLeft
651
- );
647
+ this.$emit("scrollHandle", this.$refs.tableParent.scrollTop, this.$refs.tableParent.scrollLeft);
652
648
  ev.cancelBubble = true;
653
649
  ev.stopPropagation();
654
650
  },
@@ -914,10 +910,10 @@ export default {
914
910
  height: '165px'
915
911
  },
916
912
  on: {
917
- finished() {
913
+ finished(data) {
918
914
  self.$common.closeDialog(dialogOption.dialog);
919
915
  if(data.rtnMsg){
920
- self.$message.info(data.rtnMsg);
916
+ self.$message.success(data.rtnMsg);
921
917
  }
922
918
  self.getPage(1);
923
919
  },
@@ -1099,6 +1095,9 @@ export default {
1099
1095
  let title = field.pageTitle == undefined ? field.label : field.pageTitle;
1100
1096
  submitData.actionType = field.actionType;
1101
1097
  var fun = self.$common.getDataDrivenOpts().handler[action];
1098
+ if(self.isIframe){
1099
+ submitData.isIframe=self.isIframe;
1100
+ }
1102
1101
  fun(submitData, title, self.$parent);
1103
1102
  }
1104
1103
  };
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="ct-tableToolbar" style="width:100%;" v-if="buttons && buttons.length > 0">
2
+ <div class="ct-tableToolbar max-tableToolbar" style="width:100%;" v-if="buttons && buttons.length > 0">
3
3
 
4
4
  <div v-if="buttonsLeft&&buttonsLeft.length>0" class="bool_btn_l">
5
5
  <ul>