centaline-data-driven 1.5.69 → 1.5.70

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.5.69",
3
+ "version": "1.5.70",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/release-log.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## v1.5.70
2
+ 2023-10-27
3
+
4
+ BUG
5
+
6
+ 列表更新列属性,只有第一页才更新表头
7
+
8
+ 列表自定义行选中颜色,滚动翻页后,原选中行 自定义颜色失效
9
+
10
+ 优化
11
+
12
+ 列表页有无查询条件时不同的样式优化
13
+
14
+ 多行文本不显示只有最大值的提示
15
+
16
+ formData添加execRouter方法
17
+
1
18
  ## v1.5.69
2
19
  2023-10-25
3
20
 
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/distribution/transactionCommAdjust/detail'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
4
+ <ct-form :api="'/EmployeeAttendanceBillApply/getLayoutOfNew'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
5
5
  <ct-dialog-list></ct-dialog-list>
6
6
  </div>
7
7
  </template>
@@ -12,7 +12,9 @@
12
12
  data() {
13
13
  return {
14
14
  apiParam:{
15
- transactionId: "1699302916360077313", actionType: "1", pageStyle: "2", pageOnly: "true"
15
+ actionType
16
+ :
17
+ 2
16
18
  },
17
19
  topHeight:10,
18
20
  }
@@ -93,7 +93,11 @@
93
93
 
94
94
  <!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/ReportMonthAttendanceList/getLayoutOfSearch'" :searchDataApi="'/ReportMonthAttendanceList/getListOfSearchModel'"></ct-searchlist> -->
95
95
 
96
- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/PersonHolidayList/getLayoutOfSearch'" :searchDataApi="'/PersonHolidayList/getListOfSearchModel'"></ct-searchlist>
96
+ <!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/PersonHolidayList/getLayoutOfSearch'" :searchDataApi="'/PersonHolidayList/getListOfSearchModel'"></ct-searchlist> -->
97
+
98
+ <!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/EmployeeAttendanceBillList/getLayoutOfSearch'" :searchDataApi="'/EmployeeAttendanceBillList/getListOfSearchModel'"></ct-searchlist> -->
99
+
100
+ <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/HolidayTypeList/getLayoutOfSearch'" :searchDataApi="'/HolidayTypeList/getListOfSearchModel'"></ct-searchlist>
97
101
 
98
102
 
99
103
  <ct-dialog-list></ct-dialog-list>
@@ -926,3 +926,7 @@ color: var(--centalinePlaceholder);
926
926
  .ct-searchcategory .el-radio-button__inner:hover {
927
927
  color: var(--chinaRed);
928
928
  }
929
+ .sidebar{
930
+ border-top-left-radius: 6px;
931
+ border-bottom-left-radius: 6px;
932
+ }
@@ -90,7 +90,6 @@
90
90
  import dynamicElement from '../../mixins/dynamicElement'
91
91
  import dynamicFormListTalbe from './dynamicFormListTable'
92
92
  import { setTimeout } from 'timers';
93
- //import dynamicFormList from './dynamicFormList'
94
93
  export default {
95
94
  name: 'ct-form',
96
95
  mixins: [dynamicElement],
@@ -7,14 +7,14 @@
7
7
  <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div inputNumbe-line-feed" :class="[model.labelClass]">
8
8
  {{model.label}}
9
9
  </div>
10
+ <div v-if="model.preLabel">
11
+ <span v-html="model.preLabel"></span>
12
+ </div>
10
13
  <div style="flex:1" v-bind="model.attrs" class="el-date-editor ct-input__inner">
11
14
  <input style="text-align:left;width:100%" class="el-range-input" :placeholder="model.attrs.placeholder1"
12
15
  v-model="model.value" @change="onChangeHandler($event)" @input="onInputHandler($event);isShowClear()"
13
16
  @blur="onBlurHandler($event)"
14
17
  :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" />{{model.rowKey}}
15
- <!--<span v-if="!model.lock" class="cover-list-item-span">
16
- <i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
17
- </span>-->
18
18
  <span class="el-input__suffix el-input--mini" v-if="showClear">
19
19
  <span class="el-input__suffix-inner ct-close">
20
20
  <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div style="width: 100%" class="ct-searchtable" ref="searchTable"
3
- :style="{ 'margin-top': isLayout ? '0' : '', padding: isLayout ? '0' : '' }">
3
+ :style="{ 'margin-top': isMarginTop ? '0' : '10px', padding: isLayout ? '0' : '' }">
4
4
  <ct-tableStats ref="tableStats" class="ct-search-table-list-header" v-if="!isLoading && model && searchStatsApi"
5
5
  :api="searchStatsApi" @searchStats="searchStats" @setTableHeight="setTableHeight" :flagDisabled="disabledStats"
6
6
  :searchModel="model.searchModel">
@@ -100,7 +100,7 @@
100
100
  column.fixed === 'left' ? 'left-fixation' : null,
101
101
  column.width === undefined ? 'ct-table-auto' : null,
102
102
  column.fixed === 'right' ? 'right-fixation' : null,
103
- ]" v-bind="column.attrs">
103
+ ]" v-bind="column.attrs" :style="getrowselectColor(rowindex === model.selectIndex)" >
104
104
  <!--操作列-->
105
105
  <div v-if="column.id === 'operation'" class="div_allinline" :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'" style="float: left;">
106
106
  <template v-for="(router, rowRouterIndex) in getRowRouterShow(row)" >
@@ -263,6 +263,7 @@ export default {
263
263
  currentTh: null,
264
264
  isLoading: true,
265
265
  isLayout: false,
266
+ isMarginTop:false,
266
267
  searchLoading: true,
267
268
  tableLoading: false, //表格等待
268
269
  operationLoading: false, //操作等待
@@ -299,6 +300,7 @@ export default {
299
300
  theadTitleLeft:0,
300
301
  theadTitleWidth:0,
301
302
  updateTableColumnsKey:0,
303
+ backgroundColor: "#ecf5ff",
302
304
  };
303
305
  },
304
306
  deactivated(){
@@ -310,6 +312,17 @@ export default {
310
312
  });
311
313
  },
312
314
  methods: {
315
+ getrowselectColor(flagSelect){
316
+ if(flagSelect)
317
+ {
318
+ return {
319
+ backgroundColor: this.backgroundColor
320
+ }
321
+ }
322
+ else{
323
+ return {};
324
+ }
325
+ },
313
326
  theadTitleHover(ev){
314
327
  if ( !this.model.columnWidthSaveAction) {
315
328
  return
@@ -365,6 +378,36 @@ export default {
365
378
  });
366
379
  if (self.model.cellLayout) {
367
380
  self.isLayout = true;
381
+ }
382
+ if (this.model.selectedRowBackColor) {
383
+ self.backgroundColor=this.model.selectedRowBackColor ;
384
+ }
385
+ if (
386
+ (self.model.searchModel.screen &&
387
+ self.model.searchModel.screen.length > 0) ||
388
+ (self.model.searchModel.btnScreen &&
389
+ self.model.searchModel.btnScreen.length > 0)
390
+ ) {
391
+ let showField = self.model.searchModel.screen.find((v) => {
392
+ return v.show !== false;
393
+ });
394
+ if (!showField) {
395
+ showField = self.model.searchModel.btnScreen.find((v) => {
396
+ return v.show !== false;
397
+ });
398
+ if (!showField) {
399
+ self.isMarginTop = true;
400
+ }
401
+ }
402
+ } else if (self.model.shortcutForm) {
403
+ self.isMarginTop = false;
404
+ } else if (
405
+ self.model.searchModel.highScreen &&
406
+ self.model.searchModel.highScreen.length <= 0
407
+ ) {
408
+ self.isMarginTop = true;
409
+ } else {
410
+ self.isMarginTop = false;
368
411
  }
369
412
  self.isLoading = false;
370
413
  self.$forceUpdate();
@@ -2225,7 +2268,7 @@ export default {
2225
2268
  }
2226
2269
 
2227
2270
  .ct-table .ct-td.select {
2228
- background-color: #ecf5ff !important;
2271
+ background-color: var(backgroundColor) !important;
2229
2272
  }
2230
2273
  .ct-table .ct-tr:hover .ct-td.select {
2231
2274
  background-color: #ecf5ff !important;
@@ -7,7 +7,9 @@
7
7
  <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div max-input-group" :class="[model.labelClass]">
8
8
  <span>{{model.label}}</span>
9
9
  </div>
10
-
10
+ <div v-if="model.preLabel">
11
+ <span v-html="model.preLabel"></span>
12
+ </div>
11
13
 
12
14
  <el-popover v-if="model.autoFill && model.paramName" placement="bottom-start" v-model="showDrop" :trigger="'manual'" class="autoFill">
13
15
  <div>
@@ -46,7 +48,7 @@
46
48
  </span>
47
49
  </span>
48
50
  </el-input>
49
- <span v-if="this.minText" class="textarea-tip">{{this.minText}}</span>
51
+ <span v-if="model.inputType === 'textarea' && this.minText" class="textarea-tip" v-html="minText"></span>
50
52
  <span v-if="model.showWordLimit" class="textarea-count">{{model.value.length}}/{{ model.max }}</span>
51
53
  <span v-if="!model.forbiddenWords" class="textarea-icon"></span>
52
54
  </div>
@@ -90,7 +92,7 @@
90
92
  data() {
91
93
  return {
92
94
  showClear: false,
93
- minText:'',
95
+ minText:'&nbsp;&nbsp;&nbsp;&nbsp;',
94
96
  minTextLeft:0,
95
97
  forbiddenWordsValue:'',
96
98
  forbiddenWordsWidth:0,
@@ -116,9 +118,9 @@
116
118
  if(this.model.max && this.model.max>0 && this.model.min && this.model.min > 0){
117
119
  this.minText='需要'+this.model.min+'-'+this.model.max+'个字';
118
120
  }
119
- else if(this.model.max && this.model.max>0){
120
- this.minText='至多'+this.model.max+'个字';
121
- }
121
+ // else if(this.model.max && this.model.max>0){
122
+ // this.minText='至多'+this.model.max+'个字';
123
+ // }
122
124
  else if(this.model.min && this.model.min > 0){
123
125
  this.minText='至少需要'+this.model.min+'个字';
124
126
  }
@@ -513,6 +513,10 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
513
513
  }
514
514
  );
515
515
  },
516
+ execRouter(routerKey) {
517
+ let field={id:routerKey};
518
+ this.form.self.fieldClickHandler(field);
519
+ },
516
520
  //消息提示 type主题:success/warning/info/error。 center是否居中true/flase。 duration 显示时间, 毫秒。设为 0 则不会自动关闭。
517
521
  //showClose 是否显示关闭按钮。dangerouslyUseHtmlString 属性设置为 true ,message 就会被当做 HTML 片段处理。
518
522
  message(message, type, center, duration, showClose, dangerouslyUseHTMLString) {
@@ -5,6 +5,12 @@ const Router = function (source) {
5
5
  var rtn = {
6
6
  disabled: source.selectedMode && source.selectedMode === Enum.ListSelectMode.Multiple ? true : false,
7
7
  code1:'',
8
+ get source() {
9
+ return source;
10
+ },
11
+ set source(v) {
12
+ source = v;
13
+ },
8
14
  get id() {
9
15
  return source.key;
10
16
  },
@@ -386,6 +392,9 @@ const Router = function (source) {
386
392
  get locked() {
387
393
  return source.locked;
388
394
  },
395
+ set locked(v) {
396
+ source.locked = v;
397
+ },
389
398
  get flagVerifyData() {
390
399
  //提交表单时是否校验数据
391
400
  if (source.flagVerifyData != undefined) {
@@ -553,7 +553,7 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
553
553
  if (typeof response.page.flagMoreData !== 'undefined') {
554
554
  self.flagMoreData = response.page.flagMoreData;
555
555
  }
556
- if (response.content.updateTableColumns) {
556
+ if (response.content.updateTableColumns&&response.page.pageIndex<=1) {
557
557
  self.columns = response.content.columns;
558
558
  if (self.template) {
559
559
  var tempLoader = template.loader(self.template).default;
@@ -687,7 +687,7 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
687
687
  if (typeof response.content.bottomText !== 'undefined') {
688
688
  self.listFooter = response.content.bottomText;
689
689
  }
690
- if (response.content.updateTableColumns) {
690
+ if (response.content.updateTableColumns&&response.page.pageIndex<=1) {
691
691
  self.columns = response.content.columns;
692
692
  if (self.template) {
693
693
  var tempLoader = template.loader(self.template).default;
package/src/main.js CHANGED
@@ -15,6 +15,7 @@ Vue.use(ElementUI, { size: 'mini'});
15
15
  Vue.config.productionTip = false;
16
16
  Vue.use(centaline, {
17
17
  baseUrl: "http://10.88.22.46:17070/max-uplink-api/",
18
+ baseUrl: "http://10.88.22.46:6060/onecard-api/",
18
19
  // baseUrl: "http://10.88.22.13:17070/max-uplink-api/",
19
20
  // baseUrl: "http://10.6.1.163:9000/max-uplink-api/v1/form/router",
20
21
  // baseUrl: "http://10.25.10.67:9999/service-api/v1/form/router",
@@ -55,7 +56,7 @@ Vue.use(centaline, {
55
56
  return {
56
57
  oldToken: '11c12506-253c-4995-83fb-84cf51cb23a0',
57
58
  token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQRO_iOiv5s1570zn-NBwiIuBIoUIkkUCIuxMEdPRMMRq95s1dzOsgWmHIccikIFr0gKQsMJYCURKxKdKYlHr-BH7UNz26yCFkByg7Aiw2A-tYwLDtEubgUibRiHo9i1aRRy-dtdSIab-8gdNKvcA618uu3v5x7rRMm3YkOZAfR6BtAWp_3LQHBNI8KHbkqlHi8QQAAP__.RrBgBqaFlp478oO3g5k_EEtjPt_o8qpJBkzgSP78Wa4',
58
- authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQBe-ydVbyZ71ep4vtpOEQUQiOFCpEEgmEuDsgoKNnildMM-8Gy7aHGrI0ilJnMbXGIWXvsOm8YEwiKhpvKUofPuCP-dJrTcFrbrEJPiExWRSdBBNxoi63NsUMFZTLCWrNwoGtElvBPKxvIZ75JbalnHfl-o9zx3V-Zt1QggTrUJkwIE1qQlGjQ2dkJPGGlRzg_gAAAP__.AvGloBOPe6P0tfZZUrjROEl8nOpm1A0ih43ut1I75w8"}',
59
+ authObject: '{token:"1080-1717711692902830080"}',
59
60
 
60
61
  originalRequestURL: 'http://10.88.22.67:8080',
61
62
  EstateInfo: '{"estateId":"201806071109550C867184E8BCA56EC3","estateName":"C%E5%BE%A1%E6%9E%97%E5%B1%B1%E6%99%AF%E6%A5%BC"}',