centaline-data-driven-v3 0.1.36 → 0.1.38

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-v3",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "private": false,
5
5
  "description": "centaline-data-driven-v3",
6
6
  "main": "dist/centaline-data-driven-v3.umd.js",
@@ -25,6 +25,7 @@
25
25
  "vue-cropper": "^1.1.1",
26
26
  "vue-router": "^4.2.5",
27
27
  "vue-ueditor-wrap": "^3.0.8",
28
+ "vue3-json-viewer": "^2.4.1",
28
29
  "vue3-pdf-app": "^1.0.3",
29
30
  "vuedraggable": "^4.1.0"
30
31
  },
@@ -1,5 +1,6 @@
1
1
  <template>
2
- <div ref="refForm" v-loading="loading" :style="{width:pageWidth?pageWidth+'px':'100%',margin:'auto','min-height': minHeight}">
2
+ <div ref="refForm" v-loading="loading"
3
+ :style="{ width: pageWidth ? pageWidth + 'px' : '100%', margin: 'auto', 'min-height': minHeight }">
3
4
  <div style="display: flex; width: 100%;">
4
5
  <div style="flex: 1; min-width: 0;">
5
6
  <div v-if="model !== null && !loading" class="ct-form">
@@ -11,13 +12,18 @@
11
12
 
12
13
  <!--可根据场景判断显示el-card还是el-main-->
13
14
  <component :is="model.showTitle ? 'el-main' : 'el-card'">
15
+ <div class="ct-from-title" v-if="typeof model.title !== 'undefined' && model.flagShowTitle">
16
+ <span style="font-weight:bold">{{ model.title }}</span>
17
+ </div>
18
+
14
19
  <!--relationParentFormFields-->
15
20
  <el-row v-if="relationParentFormFields.length > 0">
16
21
  <template v-for="(col, index) in relationParentFormFields" :key="index">
17
22
  <div style="display: flex; flex: 0 0 100%;" v-if="col.show !== false && col.lineFeed">
18
23
  </div>
19
- <el-col v-if="col.show !== false" :span="col.colspan" style="padding:5px" :class="[col.is=='ct-button'&&col.labelPlacement=='1' ? 'el-col1' : '']">
20
- <component ref="Fields" :is="col.is" :vmodel="col" :key="itemKey"
24
+ <el-col v-if="col.show !== false" :span="col.colspan" style="padding:5px"
25
+ :class="[col.is == 'ct-button' && col.labelPlacement == '1' ? 'el-col1' : '']">
26
+ <component ref="Fields" :is="col.is" :vmodel="col" :key="itemKey" :listHeight="listHeight"
21
27
  :parameterAction="model.parameterAction" v-bind="col.bindPara"
22
28
  :fileData="getFileData(col)" @change="changeHandler"
23
29
  @importComplete="importComplete" @popupLocation="popupLocationHandler"
@@ -34,8 +40,9 @@
34
40
  <template v-for="(col, index) in model.collapseFields[0]" :key="index">
35
41
  <div style="display: flex; flex: 0 0 100%;" v-if="col.show !== false && col.lineFeed">
36
42
  </div>
37
- <el-col v-if="col.show !== false" :span="col.colspan" style="padding:5px" :class="[col.is=='ct-button'&&col.labelPlacement=='1' ? 'el-col1' : '']">
38
- <component ref="Fields" :is="col.is" :vmodel="col" :key="itemKey"
43
+ <el-col v-if="col.show !== false" :span="col.colspan" style="padding:5px"
44
+ :class="[col.is == 'ct-button' && col.labelPlacement == '1' ? 'el-col1' : '']">
45
+ <component ref="Fields" :is="col.is" :vmodel="col" :key="itemKey" :listHeight="listHeight"
39
46
  :parameterAction="model.parameterAction" v-bind="col.bindPara"
40
47
  :fileData="getFileData(col)" @change="changeHandler"
41
48
  @importComplete="importComplete" @popupLocation="popupLocationHandler"
@@ -47,16 +54,20 @@
47
54
  </template>
48
55
  </el-row>
49
56
  <!--tabs-->
50
- <el-tabs v-if="model.isHorizontalLayout" v-model="activeName">
57
+ <el-tabs v-if="model.isHorizontalLayout" v-model="activeName" @tab-click="tabClick">
51
58
  <template v-for="(item, index) in model.collapse" :key="index">
52
- <el-tab-pane :label="item.controlLabel" :name="index.toString()" :lazy="item.lazyLoad"
53
- v-if="item.show !== false" :key="index">
59
+ <el-tab-pane :name="index.toString()" :lazy="item.lazyLoad" v-if="item.show !== false"
60
+ :key="index">
61
+ <template #label>
62
+ <span v-html="item.controlLabel"></span>
63
+ </template>
54
64
  <el-row>
55
65
  <template v-for="(col, i) in model.collapseFields[index + 1]" :key="i">
56
66
  <div style="display: flex; flex: 0 0 100%;"
57
67
  v-if="col.show !== false && col.lineFeed"></div>
58
- <el-col :span="col.colspan" v-if="col.show !== false" style="padding:5px" :class="[col.is=='ct-button'&&col.labelPlacement=='1' ? 'el-col1' : '']">
59
- <component ref="Fields" :is="col.is" :vmodel="col" :key="itemKey"
68
+ <el-col :span="col.colspan" v-if="col.show !== false" style="padding:5px"
69
+ :class="[col.is == 'ct-button' && col.labelPlacement == '1' ? 'el-col1' : '']">
70
+ <component ref="Fields" :is="col.is" :vmodel="col" :key="itemKey" :listHeight="listHeight"
60
71
  :parameterAction="model.parameterAction" v-bind="col.bindPara"
61
72
  :fileData="getFileData(col)" @change="changeHandler"
62
73
  @fieldClick="fieldClickHandler"
@@ -83,7 +94,7 @@
83
94
  <template #title>
84
95
  <i class="sign"></i>
85
96
  <span :class="[item.required ? 'requiredLabel' : '']">{{ item.controlLabel
86
- }}</span>
97
+ }}</span>
87
98
  <span v-html="item.sufLabel1"></span>
88
99
  </template>
89
100
 
@@ -91,8 +102,9 @@
91
102
  <template v-for="(col, i) in model.collapseFields[index + 1]" :key="i">
92
103
  <div style="display: flex; flex: 0 0 100%;"
93
104
  v-if="col.show !== false && col.lineFeed"></div>
94
- <el-col :span="col.colspan" v-if="col.show !== false" style="padding:5px" :class="[col.is=='ct-button'&&col.labelPlacement=='1' ? 'el-col1' : '']">
95
- <component ref="Fields" :is="col.is" :vmodel="col" :key="itemKey"
105
+ <el-col :span="col.colspan" v-if="col.show !== false" style="padding:5px"
106
+ :class="[col.is == 'ct-button' && col.labelPlacement == '1' ? 'el-col1' : '']">
107
+ <component ref="Fields" :is="col.is" :vmodel="col" :key="itemKey" :listHeight="listHeight"
96
108
  :parameterAction="model.parameterAction" v-bind="col.bindPara"
97
109
  :fileData="getFileData(col)" @change="changeHandler"
98
110
  @fieldClick="fieldClickHandler"
@@ -114,8 +126,9 @@
114
126
  <template v-for="(col, index) in model.independentItem" :key="index">
115
127
  <div style="display: flex; flex: 0 0 100%;" v-if="col.show !== false && col.lineFeed">
116
128
  </div>
117
- <el-col v-if="col.show !== false" :span="col.colspan" style="padding:5px" :class="[col.is=='ct-button'&&col.labelPlacement=='1' ? 'el-col1' : '']">
118
- <component ref="Fields" :is="col.is" :vmodel="col"
129
+ <el-col v-if="col.show !== false" :span="col.colspan" style="padding:5px"
130
+ :class="[col.is == 'ct-button' && col.labelPlacement == '1' ? 'el-col1' : '']">
131
+ <component ref="Fields" :is="col.is" :vmodel="col" :listHeight="listHeight"
119
132
  :parameterAction="model.parameterAction" v-bind="col.bindPara"
120
133
  @change="changeHandler" :key="itemKey" :fileData="getFileData(col)"
121
134
  @fieldClick="fieldClickHandler" @popupSearchList="popupSearchListHandler"
@@ -127,7 +140,7 @@
127
140
  </template>
128
141
  </el-row>
129
142
  <el-row v-if="model.links.findIndex((v) => { return v.show }) > -1" style="margin-top: 8px;">
130
- <el-col :span="24" style="text-align:left" >
143
+ <el-col :span="24" style="text-align:left">
131
144
  <template v-for="(btn, index) in model.links" :key="index">
132
145
  <component :is="btn.is" :vmodel="btn" v-if="btn.show" @fieldClick="clickHandler">
133
146
  </component>
@@ -140,7 +153,7 @@
140
153
  :style="['max-width:' + buttonsWidth(), isWebScroll ? 'position: fixed;' : '']">
141
154
  <el-col :span="24"
142
155
  style="text-align:center;padding-bottom: 1px;padding-left: 5px;padding-right: 5px;"
143
- class="btnPadBom" >
156
+ class="btnPadBom">
144
157
  <template v-for="(btn, index) in model.buttons" :key="index">
145
158
  <component :is="btn.is" :vmodel="btn" v-if="btn.show" @fieldClick="clickHandler"
146
159
  :style="{ 'float': btn.isCheckbox ? btn.alignCss : '' }"></component>
@@ -193,7 +206,6 @@ import { useRouter } from 'vue-router';
193
206
  import util from '../../utils/pub-use'
194
207
  import Enum from '../../utils/Enum';
195
208
  import AIChat from '../web/AIChat.vue';
196
- import { fi } from 'element-plus/es/locale';
197
209
  const emit = defineEmits(['loaded', 'failLoad', 'submit', 'AIToggle'])
198
210
  const props = defineProps({
199
211
  api: String,
@@ -227,6 +239,10 @@ const props = defineProps({
227
239
  String,
228
240
  default: 'close',
229
241
  },
242
+ pageStyle: {
243
+ String,
244
+ default: '',
245
+ },
230
246
  openType: {
231
247
  String,
232
248
  default: '',
@@ -243,6 +259,7 @@ const props = defineProps({
243
259
  },
244
260
  dialogHeight: Number,
245
261
  dialoWidth: Number,
262
+ listHeight: Number,
246
263
  })
247
264
 
248
265
  const itemKey = ref(1)
@@ -258,6 +275,7 @@ const downloadUrl = ref('')
258
275
  const minHeight = ref('auto')
259
276
  const showAI = ref(false);
260
277
  const dialogHeight = ref(props.dialogHeight || (window.innerHeight - 60));
278
+ const tabActiveNameKey = ref('')
261
279
 
262
280
  const qrtimer1 = ref(null)
263
281
  const qrtimer2 = ref(null)
@@ -333,6 +351,22 @@ function load(data) {
333
351
  });
334
352
  }
335
353
  loading.value = false;
354
+
355
+ if (props.openType == 'detail') {
356
+ tabActiveNameKey.value = props.api + model.value.title + props.pageStyle;
357
+ var tagkey = window.localStorage.getItem(tabActiveNameKey.value);
358
+ if (window.localStorage) {
359
+ if (model.value.collapseFields && model.value.collapse) {
360
+ for (var i = 0; i < model.value.collapse.length; i++) {
361
+ if (tagkey == model.value.collapse[i].fieldName1) {
362
+ activeName.value = i.toString();
363
+ }
364
+ }
365
+ }
366
+
367
+ }
368
+ }
369
+
336
370
  //通知父组件加载完成
337
371
  emit('loaded', model.value);
338
372
  }
@@ -375,9 +409,9 @@ function fieldClickHandler(field) {
375
409
  let data = Form.getRouterAndSubmitData(field, model.value);
376
410
  clickHandler(data.router, data.submitData);
377
411
  }
378
- function clickHandler(field, submitData,formList) {
412
+ function clickHandler(field, submitData, formList) {
379
413
  if (field.isOpenFileDialog) {
380
- common.excuteFunStr.call(model.value.scripts, field.onChanged, {files: field.fileList,columns: formList?.source?.rows[0].columns });
414
+ common.excuteFunStr.call(model.value.scripts, field.onChanged, { files: field.fileList, columns: formList?.source?.rows[0].columns });
381
415
  }
382
416
  else {
383
417
  RouterClickHandler(field, submitData, null, model.value, 'form');
@@ -675,6 +709,12 @@ function buttonsWidth() {
675
709
  return rtn;
676
710
  }
677
711
 
712
+ function tabClick(event) {
713
+ if (props.openType == 'detail') {
714
+ window.localStorage.setItem(tabActiveNameKey.value, model.value.collapse[event.index].fieldName1);//存储
715
+ }
716
+ }
717
+
678
718
  </script>
679
719
 
680
720
  <style scoped>
@@ -0,0 +1,102 @@
1
+ <template>
2
+
3
+ <div class="josnViewerBox" :style="{ height: model.height || 'auto','max-height':(listHeight?listHeight-130+'px':'calc(100vh - 130px)') }" v-if="isRefresh">
4
+ <JsonViewer :value="model.json" copyable show-array-index show-double-quotes theme="light" :expanded="true"
5
+ :expand-depth="2" @onKeyClick="keyClick">
6
+ <template #copy="{ copied }">
7
+ <div class="btn-iocn"><el-icon title="复原到初始状态" @click.stop="resetJSON">
8
+ <Refresh />
9
+ </el-icon>
10
+
11
+ <!-- 复制按钮 -->
12
+ <el-icon :class="{ 'copied': copied }" title="复制JSON内容">
13
+ <CopyDocument />
14
+ </el-icon>
15
+ </div>
16
+ </template>
17
+ </JsonViewer>
18
+ </div>
19
+ </template>
20
+
21
+ <script setup>
22
+ import { JsonViewer } from "vue3-json-viewer"
23
+ import "vue3-json-viewer/dist/vue3-json-viewer.css";
24
+ import { nextTick, ref } from "vue";
25
+ const props = defineProps({
26
+ api: String,
27
+ vmodel: Object,
28
+ actionRouter: Array,
29
+ listHeight: Number,
30
+ })
31
+ const model = ref({});
32
+ const isRefresh = ref(true);
33
+
34
+
35
+ init()
36
+ //初始化数据
37
+ function init() {
38
+
39
+ nextTick(function () {
40
+ if (props.vmodel) {
41
+ load(props.vmodel);
42
+ }
43
+ });
44
+ }
45
+ function load(data) {
46
+ model.value = data;
47
+ }
48
+ const resetJSON = () => {
49
+ isRefresh.value = false;
50
+ nextTick(() => {
51
+ isRefresh.value = true;
52
+ });
53
+ };
54
+
55
+
56
+
57
+ const keyClick = (keyName) => {
58
+ console.log(keyName, "it was click")
59
+ }
60
+ </script>
61
+
62
+ <style scoped>
63
+ :deep(.jv-container .jv-code) {
64
+ padding: 0px !important;
65
+ }
66
+
67
+ :deep(.jv-tooltip) {
68
+ position: sticky !important;
69
+ top: 0 !important;
70
+ right: 0 !important;
71
+ /* 新增:靠右定位 */
72
+ z-index: 10;
73
+ margin-left: auto;
74
+ /* 辅助:确保靠右 */
75
+ float: right;
76
+
77
+ }
78
+
79
+
80
+
81
+ .josnViewerBox {
82
+ overflow: auto;
83
+ width: 100%;
84
+ border: 1px solid #eee;
85
+ border-radius: 4px;
86
+ padding: 2px;
87
+ /* 明确设置背景色 */
88
+ /* 增加内边距让边框更明显 */
89
+ box-sizing: border-box;
90
+ background-color: #ffffff;
91
+ }
92
+ .josnViewerBox:focus {
93
+ border: 1px solid #3D5ECC;
94
+ }
95
+
96
+
97
+ .btn-iocn {
98
+ display: flex;
99
+ gap: 10px;
100
+
101
+ }
102
+ </style>
@@ -7,8 +7,8 @@
7
7
 
8
8
  <div ref="detailForm" v-if="pageType == 'Form'" style="overflow: auto;"
9
9
  :style="{ height: (listHeight - 5) + 'px' }">
10
- <ct-form :api="rowSelectRouter.action" :apiParam="apiParam" @submit="submit" :flagScroll="'true'"
11
- :drowerClose="drowerClose" :openType="'detail'">
10
+ <ct-form :api="rowSelectRouter.action" :pageStyle="rowSelectRouter.pageStyle" :apiParam="apiParam" @submit="submit" :flagScroll="'true'"
11
+ :drowerClose="drowerClose" :openType="'detail'" :listHeight="listHeight">
12
12
  </ct-form>
13
13
  </div>
14
14
 
@@ -858,7 +858,7 @@ function setTableHeight() {
858
858
  h8 = refPopupButton.value.offsetHeight + 21 | 0;
859
859
  }
860
860
 
861
- let tableHeight = h1 - h2 - h3 - h4 - h5 - h6 - h7 - h8 - 16;
861
+ let tableHeight = h1 - h2 - h3 - h4 - h5 - h6 - h7 - h8 - 10;
862
862
  model.value.tableHeight = tableHeight < 40 ? 350 : tableHeight;
863
863
  nextTick(() => {
864
864
  getScrollAttr();
@@ -0,0 +1,20 @@
1
+ function loadJsonViewerModel(source) {
2
+ let rtn = {
3
+ get json() {
4
+ if (source.code1 && typeof source.code1 === 'string') {
5
+ return JSON.parse(source.code1);
6
+
7
+ } else {
8
+ return source.code1;
9
+ }
10
+ },
11
+ get height() {
12
+ return source.rows ? source.rows * 20 + 'px' : 'auto';
13
+ }
14
+ };
15
+ return rtn;
16
+ }
17
+ const JsonViewer = {
18
+ loadJsonViewerModel
19
+ };
20
+ export default JsonViewer;
@@ -23,6 +23,7 @@ import Steps from './Steps';
23
23
  import Tags from './Tags';
24
24
  import Location from './Location';
25
25
  import AIChat from './AIChat';
26
+ import JsonViewer from './JsonViewer';
26
27
  const LibFunction = {
27
28
  install(app) {
28
29
  },
@@ -80,7 +81,7 @@ const LibFunction = {
80
81
  moreActionRouter = LibFunction.getRouter(source.actionRouters, field.moreActionRouterKey);
81
82
  }
82
83
 
83
- item = Field(field, moreActionRouter,source.labelPlacement);
84
+ item = Field(field, moreActionRouter, source.labelPlacement);
84
85
  item.isList = isList;
85
86
  switch (field.controlType) {
86
87
  case Enum.ControlType.Group:
@@ -217,10 +218,10 @@ const LibFunction = {
217
218
  item.is = 'ct-customizecolumns'
218
219
  break;
219
220
  case Enum.ControlType.Location:
220
- moreActionRouter = LibFunction.getRouter(source.actionRouters, field.moreActionRouterKey);
221
- item = Location(item,moreActionRouter);
222
- item.is = 'ct-location';
223
- break;
221
+ moreActionRouter = LibFunction.getRouter(source.actionRouters, field.moreActionRouterKey);
222
+ item = Location(item, moreActionRouter);
223
+ item.is = 'ct-location';
224
+ break;
224
225
  case Enum.ControlType.SearchPage: //搜索列表页面
225
226
  //item = {};
226
227
  item.is = 'ct-searchlist';
@@ -255,8 +256,8 @@ const LibFunction = {
255
256
  case Enum.ControlType.Image:
256
257
  item.is = 'ct-image'
257
258
  break;
258
-
259
- case Enum.ControlType.AIChat: //AI
259
+
260
+ case Enum.ControlType.AIChat: //AI
260
261
  var router = {};
261
262
  if (source.actionRouters) {
262
263
  router = source.actionRouters.find((v1) => {
@@ -270,10 +271,14 @@ const LibFunction = {
270
271
  } else {
271
272
  messages = field.code1 && field.code1 != "[]" ? JSON.parse(field.code1) : [];
272
273
  }
273
-
274
+
274
275
  item = AIChat.loadFromModel(item, messages, router);
275
276
  item.is = 'ct-aichat';
276
277
  break;
278
+ case Enum.ControlType.JsonViewer: //JSON预览控件
279
+ item = JsonViewer.loadJsonViewerModel(item);
280
+ item.is = 'ct-jsonviewer';
281
+ break;
277
282
  default:
278
283
  item = Label(item)
279
284
  item.is = 'ct-label'
@@ -64,7 +64,7 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
64
64
  toolbarKey: 0,
65
65
  downloadUrl: '',
66
66
  _scripts: null,
67
- OriginalColumns:source.content.columns?JSON.parse(JSON.stringify(source.content.columns)):[],
67
+ OriginalColumns: source.content.columns ? JSON.parse(JSON.stringify(source.content.columns)) : [],
68
68
  get scripts() {
69
69
  if (rtn._scripts !== null) {
70
70
  return rtn._scripts;
@@ -85,6 +85,11 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
85
85
  set title(v) {
86
86
  source.content.title = v;
87
87
  },
88
+ get flagShowTitle() {
89
+ let v = false;
90
+ if (source.flagShowTitle) v = source.flagShowTitle;
91
+ return v;
92
+ },
88
93
  //源数据
89
94
  get source() {
90
95
  return source;
@@ -107,6 +112,7 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
107
112
  get $rowCount() {
108
113
  return source.page.rowCount;
109
114
  },
115
+ $totalExecutionTime: '',
110
116
  // 表头描述文本(富文本)
111
117
  get listHeader() {
112
118
  return source.content.topText || '';
@@ -169,9 +175,9 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
169
175
  get mainBarWidth() {
170
176
  return source.content.mainBarWidth;
171
177
  },
172
- set mainBarWidth(v) {
178
+ set mainBarWidth(v) {
173
179
  source.content.mainBarWidth = v;
174
- },
180
+ },
175
181
  //用于移动端列表单元格的布局
176
182
  get cellLayout() {
177
183
  return source.content.cellLayout;
@@ -228,28 +234,34 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
228
234
  get footer() {
229
235
  if (typeof source.content.foot !== 'undefined') {
230
236
  var data = source.content.foot;
231
- var objs = data.match(/({{[^}]+}})/g);
232
- if (objs) {
233
- objs.forEach((v1) => {
234
- data = data.replace(v1, this[v1.replace('{{', '').replace('}}', '')]);
235
- });
236
- }
237
+ var searchTotalText = "";
237
238
  if (this.$vue && this.$vue.searchStrat && this.$vue.searchEnd) {
238
239
  let searchTotal = this.$vue.searchEnd - this.$vue.searchStrat;
239
240
  if (searchTotal > 0) {
240
- if (data.indexOf('总耗时') > -1 || data.indexOf('總耗時') > -1) {
241
- data = data + " " + searchTotal + " 毫秒";
241
+ if (data.indexOf("totalExecutionTime") > -1) {
242
+ rtn.$totalExecutionTime = searchTotal;
242
243
  }
243
244
  else {
244
- data = data + " 总耗时 " + searchTotal + " 毫秒";
245
+ if (data.indexOf('总耗时') > -1 || data.indexOf('總耗時') > -1) {
246
+ searchTotalText = " " + searchTotal + " 毫秒";
247
+ }
248
+ else {
249
+ searchTotalText = " 总耗时 " + searchTotal + " 毫秒";
250
+ }
245
251
  }
246
-
247
252
  }
248
253
  }
249
254
  else {
250
255
  data = data.replace("总耗时", "").replace("總耗時", "");
251
256
  }
252
- return data;
257
+ var objs = data.match(/({{[^}]+}})/g);
258
+ if (objs) {
259
+ objs.forEach((v1) => {
260
+ data = data.replace(v1, this[v1.replace('{{', '').replace('}}', '')]);
261
+ });
262
+ }
263
+
264
+ return data + searchTotalText;
253
265
  }
254
266
  else {
255
267
  return '';
@@ -805,7 +817,7 @@ function apiData(model, callback) {
805
817
  model.flagMoreData = response.page.flagMoreData;
806
818
  }
807
819
  if (response.content.updateTableColumns && response.page.pageIndex <= 1
808
- &&JSON.stringify(model.OriginalColumns) !== JSON.stringify(response.content.columns)) {
820
+ && JSON.stringify(model.OriginalColumns) !== JSON.stringify(response.content.columns)) {
809
821
  model.columns = response.content.columns;
810
822
  if (model.template) {
811
823
  // var tempLoader = template.loader(model.template).default;
@@ -1043,7 +1055,7 @@ function getCurrentRowApiData(model, callback, rtnData, router) {
1043
1055
  model.listFooter = response.content.bottomText;
1044
1056
  }
1045
1057
  if (response.content.updateTableColumns && response.page.pageIndex <= 1
1046
- &&JSON.stringify(model.OriginalColumns) !== JSON.stringify(response.content.columns)
1058
+ && JSON.stringify(model.OriginalColumns) !== JSON.stringify(response.content.columns)
1047
1059
  ) {
1048
1060
  model.columns = response.content.columns;
1049
1061
  if (model.template) {
package/src/main.js CHANGED
@@ -21,7 +21,7 @@ for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
21
21
  }
22
22
 
23
23
  app.use(centaline, {
24
- baseUrl: "http://10.88.22.66/IBS.Mvc/api/",
24
+ baseUrl: "http://10.88.22.13:7080/ibs-api/",
25
25
  //baseUrl:"http://10.88.22.13:7070/onecard-api/",
26
26
  //baseUrl: "https://kq-api.centaline.com.cn/onecard-api/",
27
27
  //baseUrl: "http://10.88.22.13:6060/onecard-api/",
@@ -65,7 +65,7 @@ app.use(centaline, {
65
65
  //获取请求头
66
66
  getRequestHeaders: function () {
67
67
  return {
68
- authobject: '{EmpID:"Token_2db5b0a6-7156-462c-bf29-53731a255b32",MachineCode:"ae184643-f8e2-453c-a752-ba82612b592f",SSO_Token:"SSOToken_2db5b0a6-7156-462c-bf29-53731a255b32",Platform:"WEB"}',
68
+ authobject: '{token:"T5067-1993594422771769344",platform:"WEB"}',
69
69
  //oldToken: 'd92d4a3b-2274-42e8-96f0-100ffb579b6e',
70
70
  //authObject: '{token:"jiangzf-1958445358178844672",platform:"WEB"}',
71
71
  //authObject: '{EmpID:"Token_4e09499b-4b76-46df-9ce5-5498d48ed062",MachineCode:"ae184643-f8e2-453c-a752-ba82612b592f",SSO_Token:"SSOToken_4e09499b-4b76-46df-9ce5-5498d48ed062",Platform:"WEB"}',
package/src/utils/Enum.js CHANGED
@@ -309,7 +309,11 @@ const Enum = {
309
309
  /// <summary>
310
310
  /// AI会话控件
311
311
  /// </summary>
312
- AIChat: 62
312
+ AIChat: 62,
313
+ /// <summary>
314
+ /// Json预览控件
315
+ /// </summary>
316
+ JsonViewer: 63
313
317
  },
314
318
 
315
319
  //返回状态码
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div id="form-app" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
- <ct-form :api="'/Employee/readDetail'" :apiParam="apiParam"></ct-form>
3
+ <ct-form :api="'/propertyTender/readDetail'" :apiParam="apiParam"></ct-form>
4
4
  <!-- <ct-textbox :source="source"></ct-textbox> -->
5
5
  <ct-dialoglist ref="dialogList"></ct-dialoglist>
6
6
  </div>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="app-search" style="width:100%;height:100%;position: fixed;">
3
- <ct-searchlist :apiParam="apiParam" :searchConditionApi="'AdvancedSearch/GetLayoutOfSearchForPropertyPublish'"
4
- :searchDataApi="'AdvancedSearch/GetListOfSearchModelForPropertyPublish'"></ct-searchlist>
3
+ <ct-searchlist :apiParam="apiParam" :searchConditionApi="'/UIResourceList/getLayoutOfSearch'"
4
+ :searchDataApi="'/UIResourceList/getListOfSearchModel'"></ct-searchlist>
5
5
 
6
6
  <!-- <ct-searchlist :apiParam="apiParam" :searchConditionApi="'/EmployeeMaternityList/getLayoutOfSearch'"
7
7
  :searchDataApi="'/EmployeeMaternityList/getListOfSearchModel'"></ct-searchlist> -->
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="app-Tree" style="height:100%;position: fixed;width:100%;padding: 10px;">
3
3
  <ct-treelist :flagsearch="true" :apiParam="apiParam" :leftWidth="'280'"
4
- :searchConditionApi="'/SystemUser/getSystemBusinessCategory'" :searchDataApi="'/SystemUser/getSystemBusinessCategory'"
4
+ :searchConditionApi="'/SystemParameterCatalogList/getLayoutOfSearch'" :searchDataApi="'/SystemParameterCatalogList/getListOfSearchModel'"
5
5
  @loaded="loaded"></ct-treelist>
6
6
  <!-- <ct-textbox :source="source"></ct-textbox> -->
7
7
  <ct-dialoglist></ct-dialoglist>