centaline-data-driven 1.5.30 → 1.5.32

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.30",
3
+ "version": "1.5.32",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/release-log.md CHANGED
@@ -1,27 +1,40 @@
1
- ## v1.5.29
2
- 2023-07-10
1
+ ## v1.5.32
2
+ 2023-07-11
3
3
 
4
- 优化
4
+ bug修复
5
5
 
6
- 树组件右键样式与逻辑优化
6
+ 快捷跟进保存后会关闭tab处理
7
7
 
8
- ## v1.5.29
9
- 2023-07-07
8
+ ## v1.5.31
9
+ 2023-07-11
10
+
11
+ 新增
12
+
13
+ 树组件删除节点后触发下一节点事件
10
14
 
11
15
  优化
12
16
 
13
- 树组件新增右键增改删逻辑优化
17
+ 商铺实勘提示与被遮挡住了一部分问题
14
18
 
15
- ccai通过js给input输入框value赋值,v-model绑定值不同步问题
19
+ ## v1.5.30
20
+ 2023-07-11
16
21
 
17
- ## v1.5.29
18
- 2023-07-04
22
+ 新增
23
+
24
+ 搜索按钮增加搜索条件保存
19
25
 
20
26
  优化
21
27
 
28
+ 树组件右键样式与逻辑优化
29
+
30
+ 树组件新增右键增改删逻辑优化
31
+
32
+ ccai通过js给input输入框value赋值,v-model绑定值不同步问题
33
+
22
34
  树组件新增右键增改删功能
23
35
 
24
36
  修改上传图片修改和删除图标的颜色
37
+
25
38
  ## v1.5.29
26
39
  2023-06-30
27
40
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist> -->
8
8
 
9
- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-layout'" :searchDataApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-list'"></ct-searchlist>
9
+ <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-layout'" :searchDataApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-list'"></ct-searchlist> -->
10
10
 
11
11
 
12
12
  <!-- <ct-searchlist :apiParam="para"
@@ -70,7 +70,7 @@
70
70
 
71
71
  <!-- <ct-searchlist :searchConditionApi="'/CustomerImportList/getLayoutOfSearch'" :searchDataApi="'/CustomerImportList/getListOfSearchModel'"></ct-searchlist> -->
72
72
 
73
- <!-- <ct-searchlist :searchConditionApi="'/CallTaskList/getLayoutOfSearch'" :searchDataApi="'/CallTaskList/getListOfSearchModel'"></ct-searchlist> -->
73
+ <ct-searchlist :searchConditionApi="'/CallTaskList/getLayoutOfSearch'" :searchDataApi="'/CallTaskList/getListOfSearchModel'"></ct-searchlist>
74
74
 
75
75
  <!-- <ct-searchlist :searchConditionApi="'/RoleList/getLayoutOfSearch'" :searchStatsApi="'/RoleList/getListStats'" :searchDataApi="'/RoleList/getListOfSearchModel'"></ct-searchlist> -->
76
76
 
@@ -115,7 +115,7 @@
115
115
  <div ref="shortcutFollow"
116
116
  v-if="!model.flagHiddenSensitiveInfo && model.shortcutFollowForm !== undefined && model.shortcutFollowForm !== null"
117
117
  class="shortcutFollow" style="margin-top: 16px;">
118
- <ct-form :source="model.shortcutFollowForm" @submit="saveShortcutFollow"></ct-form>
118
+ <ct-form :source="model.shortcutFollowForm" @submit="saveShortcutFollow" :openType="'detail'"></ct-form>
119
119
  </div>
120
120
  <div v-if="!model.flagHiddenSensitiveInfo" class="tablist-info base-box">
121
121
  <div class="details-tabs-box">
@@ -808,6 +808,10 @@
808
808
  },
809
809
  changeHandler(field) {
810
810
  var self = this;
811
+
812
+ self.model.hiddenHandle(field);
813
+ self.model.requiredHandle(field);
814
+
811
815
  if (typeof field.change !== 'undefined') {
812
816
  if (typeof this.model.scripts !== 'undefined') {
813
817
  this.model.scripts.formData.setExcuteListData(this.model.fields);
@@ -817,8 +821,6 @@
817
821
  }
818
822
 
819
823
  self.model.isChanged = true;
820
- self.model.hiddenHandle(field);
821
- self.model.requiredHandle(field);
822
824
  //self.model.validMrf(field);
823
825
 
824
826
  if (field.onAfterChanged && field.type !== 4) {
@@ -1131,6 +1133,7 @@
1131
1133
 
1132
1134
  .ct-collapse-item-title .el-collapse-item__header {
1133
1135
  color: #303133 !important;
1136
+ line-height: normal;
1134
1137
  }
1135
1138
 
1136
1139
  .el-collapse-saveLine .ct-collapse-item-title:last-child .el-collapse-item__wrap {
@@ -111,24 +111,26 @@
111
111
  validExcute() {
112
112
  var self = this;
113
113
  var rtnBool = true;
114
- if (!self.fieldsValidExcute()) {
115
- rtnBool = false;
116
- }
117
- else if (this.model.tableData.length < this.model.min) {
118
- self.$message({
119
- message: this.model.title + " 最少需要" + this.model.min+"条数据",
120
- type: 'warning',
121
- showClose: true,
122
- });
123
- rtnBool = false;
124
- }
125
- if (rtnBool && self.model.required && this.model.tableData.length === 0) {
126
- self.$message({
127
- message: this.model.title + " 表格不能为空",
128
- type: 'warning',
129
- showClose:true,
130
- });
131
- rtnBool = false;
114
+ if (this.model.show) {
115
+ if (!self.fieldsValidExcute()) {
116
+ rtnBool = false;
117
+ }
118
+ else if (this.model.tableData.length < this.model.min) {
119
+ self.$message({
120
+ message: this.model.title + " 最少需要" + this.model.min + "条数据",
121
+ type: 'warning',
122
+ showClose: true,
123
+ });
124
+ rtnBool = false;
125
+ }
126
+ if (rtnBool && self.model.required && this.model.tableData.length === 0) {
127
+ self.$message({
128
+ message: this.model.title + " 表格不能为空",
129
+ type: 'warning',
130
+ showClose: true,
131
+ });
132
+ rtnBool = false;
133
+ }
132
134
  }
133
135
  return rtnBool;
134
136
  },
@@ -11,7 +11,7 @@
11
11
  @click="clickHandler(col)" @change="changeHandler(col,$event)" @SaveSearchWhere="SaveSearchWhere" @SearchWhereManage="SearchWhereManage" @clichSearchWhere="clichSearchWhere"></component>
12
12
  </div>
13
13
  <div class="shortcutFollow max-shortcutFollow" style="padding-left: 20px;" v-if="model.shortcutForm">
14
- <ct-form :source="model.shortcutForm.code1" @submit="saveShortcut"></ct-form>
14
+ <ct-form :source="model.shortcutForm.code1" @submit="saveShortcut" :openType="'detail'"></ct-form>
15
15
  </div>
16
16
  <div class="SeachScreenPop max-seachpopper" placement="top" transition="el-zoom-in-top" v-show="highScreen" trigger="click" visible-arrow="false">
17
17
  <div style="width:100%">
@@ -65,6 +65,10 @@
65
65
  flagPopupSearchlist:{
66
66
  Boolean,
67
67
  default:false,
68
+ },
69
+ openMultiListIndex:{
70
+ Number,
71
+ default: -1,
68
72
  },
69
73
  },
70
74
  created() {
@@ -73,6 +77,9 @@
73
77
  if(this.apiParam && this.apiParam.isIframe && this.apiParam.isIframe=='true'){
74
78
  this.isIframe=true;
75
79
  }
80
+ if(this.openMultiListIndex>-1){
81
+ this.activeIndex=this.openMultiListIndex;
82
+ }
76
83
  },
77
84
  activated() {
78
85
  this.$nextTick(() => {
@@ -117,9 +124,9 @@
117
124
  let parm={};
118
125
  parm[self.categorySource.fieldName1]=self.categorySource.selectItems1[self.activeIndex].code;
119
126
  self.label=self.categorySource.selectItems1[self.activeIndex].displayName;
120
- self.categorySource.selectItems1[0].screenPara=parm;
127
+ self.categorySource.selectItems1[self.activeIndex].screenPara=parm;
121
128
  self.listHeight=(self.$refs.main.offsetHeight-42)+'px';
122
- self.categorySource.selectItems1[0].loaded=true;
129
+ self.categorySource.selectItems1[self.activeIndex].loaded=true;
123
130
  window.addEventListener("resize", (ev) => {
124
131
  self.resize();
125
132
  });
@@ -131,6 +138,12 @@
131
138
  );
132
139
  },
133
140
  categorychangeHandler() {
141
+ if(this.categorySource.routerKey && this.categorySource.routerKey=='openMultiList1212'){
142
+ this.activeIndex=this.openMultiListIndex>-1?this.openMultiListIndex:0;
143
+ this.$common.getDataDrivenOpts().handler.openTabRouter('ofi_propertyList', '');
144
+ return;
145
+ }
146
+
134
147
  let i = this.activeIndex;
135
148
  let parm={};
136
149
  parm[this.categorySource.fieldName1]=this.categorySource.selectItems1[i].code;
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class='mytree' id="mytree" style="overflow:auto" v-loading="loading">
3
3
  <el-tree class="tree-line" :props="defaultProps" :load="loadNode" :indent="0" :expand-on-click-node="false"
4
- @node-click="handleNodeClick" lazy ref="Tree" @node-contextmenu="rightClick">
4
+ @node-click="handleNodeClick" lazy ref="Tree" @node-contextmenu="rightClick" node-key="code" current-node-key="currentNodeKey">
5
5
  </el-tree>
6
6
  <div class="box-menu" v-if="menuVisible && model.actionRouter"
7
7
  :style="{ left: menu_left + 'px', top: menu_top + 'px' }">
@@ -40,7 +40,7 @@ export default {
40
40
  key: 'Key',
41
41
  children: 'children',
42
42
  isLeaf: "isLeaf",
43
- id: 'code'
43
+ id: 'code',
44
44
  },
45
45
  searchStatus: [],
46
46
  loading: true,
@@ -51,6 +51,7 @@ export default {
51
51
  currentData: {},// 定义变量接收该节点所对应的对象
52
52
  currentNode: {},
53
53
  formActionRouter: {},
54
+ currentNodeIndex: 0,// 当前节点索引
54
55
  };
55
56
  },
56
57
 
@@ -92,7 +93,6 @@ export default {
92
93
 
93
94
  let self = this;
94
95
  if (node.level === 0) {
95
-
96
96
  self.treeNode = node;
97
97
  self.treeResolve = resolve;
98
98
  return self.loadtreeData(resolve);
@@ -115,7 +115,6 @@ export default {
115
115
  var self = this;
116
116
  self.model = data;
117
117
  self.model.$vue = self;
118
- console.log('self.model.actionRouter', self.model.actionRouter);
119
118
  var treeResolve = resolve || self.treeResolve;
120
119
  treeResolve(data.modeltree);
121
120
  if (self.searchStatus.length > 0) {
@@ -136,6 +135,8 @@ export default {
136
135
  handleNodeClick(data) {
137
136
  this.foo();
138
137
  var self = this;
138
+ self.currentNodeKey = data.code
139
+ self.$refs.Tree.setCurrentKey(data.code)
139
140
  if (self.LastClickNode != data) {
140
141
  self.LastClickNode = data;
141
142
  var rowRouter = self.model.rowSelectRouter;
@@ -148,16 +149,15 @@ export default {
148
149
  newdata.rowRouter = rowdata
149
150
  self.$emit('loaded', newdata);
150
151
  });
151
-
152
152
  }
153
153
  }
154
154
  ,
155
- rightClick(event, object, Node, element) { // event、object该节点所对应的对象、节点对应的 Node、节点组件本身
155
+ rightClick(event, object, Node) { // event、object该节点所对应的对象、节点对应的 Node、节点组件本身
156
156
 
157
157
  this.currentData = object  // 定义变量接收该节点所对应的对象
158
158
 
159
159
  this.currentNode = Node // 定义变量接收该节点对应的 Node
160
-
160
+
161
161
  if (Node.level === 1) { // 判断节点是否为第一层节点  
162
162
 
163
163
  this.firstLevel = true // 是的话显示同级添加选项
@@ -186,11 +186,8 @@ export default {
186
186
 
187
187
  foo() {
188
188
  this.menuVisible = false
189
-
190
189
  //  要及时关掉监听,不关掉的是一个坑,不信你试试,虽然前台显示的时候没有啥毛病,加一个alert你就知道了
191
-
192
190
  document.removeEventListener('click', this.foo)
193
-
194
191
  },
195
192
  // 打开弹层
196
193
  openDialog(field, apiParam, callBack) {
@@ -249,10 +246,10 @@ export default {
249
246
  }
250
247
 
251
248
  },
249
+ // 菜单路由
252
250
  routerClickHandler(action) {
253
251
  let self = this;
254
252
  var actionRouterData = {};
255
-
256
253
  action.submitFormField.forEach(v => {
257
254
  actionRouterData[v] = self.currentData[v];
258
255
  })
@@ -264,27 +261,40 @@ export default {
264
261
  })
265
262
  },
266
263
  //删除树节点
267
- remove(newData){
264
+ remove(newData) {
268
265
  let self = this;
266
+ self.getNextClickNode()
269
267
  this.$refs.Tree.remove(self.currentNode);
270
-
271
268
  },
272
269
  //新增树节点
273
- add(newData){ let self = this;
274
- this.$refs.Tree.append(newData,self.currentNode)
275
-
270
+ add(newData) {
271
+ let self = this;
272
+ this.$refs.Tree.append(newData, self.currentNode)
273
+ this.handleNodeClick(newData)
276
274
  },
277
275
  //修改树节点
278
- update(newData){
279
- let self = this;
276
+ update(newData) {
277
+ let self = this;
280
278
  for (let key in newData) {
281
- if (typeof newData[key] === 'object') {
282
- self.$set(self.currentData, key, { ...self.currentData[key], ...newData[key] });
283
- } else {
284
- self.$set(self.currentData, key, newData[key]);
285
- }
286
- }
279
+ if (typeof newData[key] === 'object') {
280
+ self.$set(self.currentData, key, { ...self.currentData[key], ...newData[key] });
281
+ } else {
282
+ self.$set(self.currentData, key, newData[key]);
283
+ }
284
+ }
285
+ this.handleNodeClick(newData)
287
286
  },
287
+ getNextClickNode() {
288
+ const tree= this.$refs.Tree;
289
+ const node = tree.getNode(this.currentData.code);
290
+ if (node.nextSibling) {
291
+ this.handleNodeClick(node.nextSibling.data)
292
+ } else if(node.previousSibling) {
293
+ this.handleNodeClick(node.previousSibling.data)
294
+ }else if(node.parent){
295
+ this.handleNodeClick(node.parent.data)
296
+ }
297
+ }
288
298
  },
289
299
  created() {
290
300
  this.model = this.vmodel;
@@ -298,9 +308,8 @@ export default {
298
308
 
299
309
  .mytree .el-tree-node.is-current>.el-tree-node__content {
300
310
  color: var(--centalineBlue) !important;
311
+ background-color: #f5f7fa;
301
312
  }
302
-
303
-
304
313
  .tree-line:first-child div {
305
314
  overflow: hidden;
306
315
  }
@@ -442,12 +451,15 @@ export default {
442
451
  cursor: pointer;
443
452
  }
444
453
  }
445
- .box-menu .opertion{
454
+
455
+ .box-menu .opertion {
446
456
  cursor: pointer;
447
- line-height: 30px;
457
+ line-height: 30px;
448
458
  }
449
- .box-menu .opertion:hover{
459
+
460
+ .box-menu .opertion:hover {
450
461
  color: var(--btnHoverRed);
451
462
  }
463
+
452
464
  </style>
453
465
 
package/src/main.js CHANGED
@@ -14,7 +14,7 @@ Vue.use(ElementUI, { size: 'mini'});
14
14
  // 关闭生产模式下给出的提示
15
15
  Vue.config.productionTip = false;
16
16
  Vue.use(centaline, {
17
- // baseUrl: "http://10.88.22.46:17070/max-uplink-api/",
17
+ baseUrl: "http://10.88.22.46:17070/max-uplink-api/",
18
18
  // baseUrl: "http://10.88.22.13:17070/max-uplink-api/",
19
19
  // baseUrl: "http://10.6.1.163:9000/max-uplink-api/v1/form/router",
20
20
  // baseUrl: "http://10.25.10.67:9999/service-api/v1/form/router",
@@ -23,7 +23,7 @@ Vue.use(centaline, {
23
23
  // baseUrl: "http://10.88.22.69:8080/api/",
24
24
  // baseUrl: "http://10.88.22.40:8080/api/",
25
25
  // baseUrl: "http://10.58.2.108:8080/",
26
- baseUrl: "http://tjcptest.centaline.com.cn/",
26
+ // baseUrl: "http://tjcptest.centaline.com.cn/",
27
27
  // baseUrl: "http://tjcpuat.centaline.com.cn:9090/",
28
28
  flagRouterSelf: true,
29
29
  zindex: 999,
@@ -37,6 +37,9 @@ Vue.use(centaline, {
37
37
  openTabSearch: function (field, submitData) {
38
38
  alert("打开tab页Search:" + field.action)
39
39
  },
40
+ openTabRouter: function (action) {
41
+ alert("打开tab页:" + action)
42
+ },
40
43
  openDetail: function (action) {
41
44
  alert("打开tab页:" + action)
42
45
  },
@@ -55,7 +58,7 @@ Vue.use(centaline, {
55
58
  return {
56
59
  oldToken: 'f9baa4f5-069e-4bae-8438-a89365fb067e',
57
60
  token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQRO_iOiv5s1570zn-NBwiIuBIoUIkkUCIuxMEdPRMMRq95s1dzOsgWmHIccikIFr0gKQsMJYCURKxKdKYlHr-BH7UNz26yCFkByg7Aiw2A-tYwLDtEubgUibRiHo9i1aRRy-dtdSIab-8gdNKvcA618uu3v5x7rRMm3YkOZAfR6BtAWp_3LQHBNI8KHbkqlHi8QQAAP__.RrBgBqaFlp478oO3g5k_EEtjPt_o8qpJBkzgSP78Wa4',
58
- authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQRO-ydVbyZ22v08WbpOEQyCFGChUiiQRC3J0ghY6eV0zxipl5wrwOUEPLjSLpLUpnHFIbHDZ9YEzCrJIJlhIf4w7-iC9HrSkG7TtsYhAkTxZZC6OQF-rbzkpqoYJyv0Kt_dYejbGqgikvu1COP2Kdy-1QHv84d1mmbVaz8jmbM2blA1IeMw4jFSTjHBNTUOoErzcAAAD__w.G0v6h6v6Lns3jQ3YdJBc8hy4mdJVKnqd5t4YZ50aQT4"}',
61
+ authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjrEOgjAURf-lMy9p-x7tKxttYfEjSFsgwckIJBrjv6tRN3fPcIeznHsT655FIyK3kkKPEDpdA0VbQ9tbBh-YpdcWyfPgPsCP-TIoRc4q00HrbAAyhMAqMAQygfrYYfBRVGK6nESjDDulsSZXiSVtbyHRqpfY1-l8mK7_OHfclmc2jSMpqQ1kxBkIZ4JckgPUxaXMXEptxf0BAAD__w.yb_P0UjgJEHUMipFMJIHEge9cR5lopQH8Wvz1qvQQos"}',
59
62
 
60
63
  originalRequestURL: 'http://10.88.22.67:8080',
61
64
  EstateInfo: '{"estateId":"201806071109550C867184E8BCA56EC3","estateName":"C%E5%BE%A1%E6%9E%97%E5%B1%B1%E6%99%AF%E6%A5%BC"}',