centaline-data-driven 1.5.31 → 1.5.33

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.31",
3
+ "version": "1.5.33",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
@@ -24,7 +24,8 @@
24
24
  "vue-baidu-map": "^0.21.22",
25
25
  "vue-cropper": "^0.5.8",
26
26
  "vue-ueditor-wrap": "^2.5.6",
27
- "vuedraggable": "^2.24.3"
27
+ "vuedraggable": "^2.24.3",
28
+ "js-cookie": "^3.0.1"
28
29
  },
29
30
  "peerDependencies": {
30
31
  "element-ui": "^2.15.7",
package/release-log.md CHANGED
@@ -1,4 +1,11 @@
1
- ## v1.5.30
1
+ ## v1.5.32
2
+ 2023-07-11
3
+
4
+ bug修复
5
+
6
+ 快捷跟进保存后会关闭tab处理
7
+
8
+ ## v1.5.31
2
9
  2023-07-11
3
10
 
4
11
  新增
@@ -2,7 +2,7 @@
2
2
  <div id="app-search" style="width:100%;height:100%;position: fixed;">
3
3
  <!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/transaction-workflow/getLayoutOfSearch'" :searchDataApi="'/api/third-dept-tran/transaction-workflow/list'"></ct-searchlist> -->
4
4
 
5
- <ct-searchlist :searchConditionApi="'/CallTaskList/getLayoutOfSearch'" :searchDataApi="'/CallTaskList/getListOfSearchModel'"></ct-searchlist>
5
+ <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getListOfSearchModel'" :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"></ct-searchlist>
6
6
 
7
7
  <!-- <ct-searchlist :apiParam="para"
8
8
  :searchConditionApi="'/api/third-dept-tran/tran-list/layout'"
@@ -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">
@@ -64,7 +64,7 @@
64
64
  .wb {
65
65
  word-break: break-all;
66
66
  }
67
- .mazarine{
68
- color: #541a8b;
67
+ .mazarine {
68
+ color: #cb452f;
69
69
  }
70
70
  </style>
@@ -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%">
@@ -46,7 +46,7 @@ import dynamicElement from '../../mixins/dynamicElement';
46
46
  },
47
47
  },
48
48
  data() {
49
- return {
49
+ return {
50
50
  LabelName:'',
51
51
  isLoading: true,
52
52
  screenRow: [],
@@ -59,7 +59,7 @@ import dynamicElement from '../../mixins/dynamicElement';
59
59
  mounted() {
60
60
  var self = this;
61
61
  if(self.categoryLoaded){
62
- this.$nextTick(function () {
62
+ this.$nextTick(function () {
63
63
  if (typeof self.api !== 'undefined') {
64
64
  self.loaderObj.SearchScreen(self.api, self.load, self.screenPara);
65
65
  }
@@ -73,7 +73,7 @@ import dynamicElement from '../../mixins/dynamicElement';
73
73
  }
74
74
  },
75
75
  methods: {
76
- clickHandler(model) {
76
+ clickHandler(model) {
77
77
  switch (model.action) {
78
78
  case 'showHigh':
79
79
  this.$set(this, 'highScreen', !this.highScreen);
@@ -99,44 +99,44 @@ import dynamicElement from '../../mixins/dynamicElement';
99
99
  }
100
100
  break;
101
101
  }
102
- },
103
- clichSearchWhere(col) {
104
- if (typeof col.scripts !== 'undefined') {
105
- this.model.reset();
106
- this.model.scripts.formData = this.model.formData;
107
- this.model.scripts.formData.form = this.model;
108
- this.model.scripts.formData.excuteData = this.model.screen;
109
- this.model.scripts.formData.fieldsDic = this.model.screenDic;
110
- this.$common.excute.call(this.model.scripts, col.scripts);
111
- this.$emit('search', this.model.scripts.formData.form);
112
- }
113
- },
114
- SaveSearchWhere(field) {
115
- if (this.model.searchDataOfShow.fields.length == 0) {
102
+ },
103
+ clichSearchWhere(col) {
104
+ if (typeof col.scripts !== 'undefined') {
105
+ this.model.reset();
106
+ this.model.scripts.formData = this.model.formData;
107
+ this.model.scripts.formData.form = this.model;
108
+ this.model.scripts.formData.excuteData = this.model.screen;
109
+ this.model.scripts.formData.fieldsDic = this.model.screenDic;
110
+ this.$common.excute.call(this.model.scripts, col.scripts);
111
+ this.$emit('search', this.model.scripts.formData.form);
112
+ }
113
+ },
114
+ SaveSearchWhere(field) {
115
+ if (this.model.searchDataOfShow.fields.length == 0) {
116
116
  this.$message({
117
117
  message: "没有选择任何搜索条件,无需保存!",
118
118
  type: 'warning',
119
119
  showClose: true,
120
- });
121
- return;
122
- }
123
- var submitData = {};
124
- submitData["jsonData"] = JSON.stringify(this.model.searchData.fields);
125
- this.clickHandlerfield(field, submitData)
126
- },
127
- SearchWhereManage(model) {
120
+ });
121
+ return;
122
+ }
123
+ var submitData = {};
124
+ submitData["jsonData"] = JSON.stringify(this.model.searchData.fields);
125
+ this.clickHandlerfield(field, submitData)
126
+ },
127
+ SearchWhereManage(model) {
128
128
  let field = this.model.actionRouters.find((b) => {
129
129
  return b.id === model.routerKey;
130
- });
131
- this.clickHandlerfieldManage(field);
132
- },
130
+ });
131
+ this.clickHandlerfieldManage(field);
132
+ },
133
133
  clickHandlerfield(field, submitData) {
134
134
  var self = this;
135
135
  this.model.scripts.$fd = field.id;
136
136
  this.model.scripts.$result = [];
137
137
 
138
138
  var clickAcion = function (field) {
139
- //若不是客户端方法,则直接访问接口
139
+ //若不是客户端方法,则直接访问接口
140
140
  if (!field.isClientFuntion) {
141
141
  let verified = true;
142
142
  if (field.isSubmit) {
@@ -545,19 +545,19 @@ import dynamicElement from '../../mixins/dynamicElement';
545
545
  else {
546
546
  clickAcion(field, submitData);
547
547
  }
548
- },
548
+ },
549
549
  clickHandlerfieldManage(field, submitData) {
550
550
  var self = this;
551
- var clickAcion = function (field) {
551
+ var clickAcion = function (field) {
552
552
  //若不是客户端方法,则直接访问接口
553
- if (!field.isClientFuntion) {
554
- if (!submitData) {
553
+ if (!field.isClientFuntion) {
554
+ if (!submitData) {
555
555
  submitData = {};
556
- field.getSearchPara().fields.forEach((f) => {
556
+ field.getSearchPara().fields.forEach((f) => {
557
557
  submitData[common.initialsToLowerCase(f.fieldName1)] = f.searchValue1;
558
- });
558
+ });
559
559
  submitData["sourceFrom"] = "setting";
560
- }
560
+ }
561
561
  var dialogOption = {
562
562
  title: field.pageTitle,
563
563
  pane: self.$common.getParentPane(self),
@@ -604,7 +604,7 @@ import dynamicElement from '../../mixins/dynamicElement';
604
604
  else {
605
605
  clickAcion(field, submitData);
606
606
  }
607
- },
607
+ },
608
608
  loadScreen() {
609
609
  var self = this;
610
610
  var hasParent = self.model.screen.filter((v) => {
@@ -669,17 +669,17 @@ import dynamicElement from '../../mixins/dynamicElement';
669
669
  self.model.$vue = self;
670
670
  self.loadScreen();
671
671
  self.loadHighScreen();
672
- self.setScreenShow();
673
- if (self.model.onload) {
674
- self.model.scripts.formData = self.model.formData;
675
- self.model.scripts.formData.form = self.model;
676
- self.model.scripts.formData.excuteData = self.model.screen;
672
+ self.setScreenShow();
673
+ if (self.model.onload) {
674
+ self.model.scripts.formData = self.model.formData;
675
+ self.model.scripts.formData.form = self.model;
676
+ self.model.scripts.formData.excuteData = self.model.screen;
677
677
  self.model.scripts.formData.fieldsDic = self.model.screenDic;
678
678
  self.$common.excute.call(self.model.scripts, self.model.onload);
679
- }
679
+ }
680
680
  self.isLoading = false;
681
681
  self.$emit('loaded', self.model.defaultSearch);
682
- self.$emit('showTitle');
682
+ self.$emit('showTitle');
683
683
  },
684
684
  searchComplate() {
685
685
  var self = this;
@@ -210,7 +210,8 @@ import dynamicElement from "../../mixins/dynamicElement";
210
210
  import dynamicTableTip from "./dynamicTableTip.vue";
211
211
  import dynamicTableToolbar from "./dynamicTableToolbar.vue";
212
212
  import dynamicTableStats from "./dynamicTableStats.vue";
213
- import dynamicLayout from "../../dynamicLayout/src/dynamicLayout.vue";
213
+ import dynamicLayout from "../../dynamicLayout/src/dynamicLayout.vue";
214
+ import Cookies from 'js-cookie';
214
215
  export default {
215
216
  name: "ct-searchtable",
216
217
  mixins: [dynamicElement],
@@ -983,7 +984,7 @@ export default {
983
984
  routerClickHandler(field, submitData, action) {
984
985
  let self = this;
985
986
  action = action || field.action;
986
- var clickAcion = function () {
987
+ var clickAcion = function () {
987
988
  self.$emit('doClosePopoverHandle');
988
989
  //若不是客户端方法,则直接访问接口
989
990
  if (!field.isClientFuntion) {
@@ -1359,6 +1360,9 @@ export default {
1359
1360
  var fun = self.$common.getDataDrivenOpts().handler[action];
1360
1361
  if (self.isIframe) {
1361
1362
  submitData.isIframe = self.isIframe;
1363
+ }
1364
+ if (action == "openPropertyDetailRET" || action == "openPropertyDetailOFI") {
1365
+ self.setCookies(action + submitData.chanceID);
1362
1366
  }
1363
1367
  fun(submitData, title, self.$parent);
1364
1368
  }
@@ -1709,7 +1713,21 @@ export default {
1709
1713
  this.model.setSelectAll();
1710
1714
  this.selectAllType = this.model.getSelectAll();
1711
1715
  this.$forceUpdate();
1712
- },
1716
+ },
1717
+ setCookies(key) {
1718
+ var curDate = new Date();
1719
+ //当前时间戳
1720
+ var curTamp = curDate.getTime();
1721
+ //当日凌晨的时间戳,减去一毫秒是为了防止后续得到的时间不会达到00:00:00的状态
1722
+ var curWeeHours = new Date(curDate.toLocaleDateString()).getTime() - 1;
1723
+ //当日已经过去的时间(毫秒)
1724
+ var passedTamp = curTamp - curWeeHours;
1725
+ //当日剩余时间
1726
+ var leftTamp = 24 * 60 * 60 * 1000 - passedTamp;
1727
+ var expires = new Date();
1728
+ expires.setTime(leftTamp + curTamp);
1729
+ return Cookies.set(key, "", { expires: expires })
1730
+ },
1713
1731
  calculatingRowHeight() {
1714
1732
  let self = this;
1715
1733
 
@@ -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;
@@ -34,7 +34,8 @@
34
34
  </div>
35
35
  </template>
36
36
 
37
- <script>
37
+ <script>
38
+ import Cookies from 'js-cookie';
38
39
  export default {
39
40
  name: 'ct-tablecurrency',
40
41
  props: {
@@ -64,9 +65,10 @@
64
65
  return true
65
66
  }
66
67
  return false;
67
- }
68
+ },
68
69
  },
69
- created() {
70
+ created() {
71
+ this.isVisited();
70
72
  },
71
73
  data() {
72
74
  return {
@@ -96,6 +98,12 @@
96
98
  }
97
99
  this.labelColor='mazarine'
98
100
 
101
+ },
102
+ isVisited() {
103
+ var key = this.router.action + this.rowData.chanceID;
104
+ if (typeof Cookies.get(key) !== "undefined") {
105
+ this.labelColor = 'mazarine'
106
+ }
99
107
  },
100
108
  closeListenVoice() {
101
109
  this.$refs.video.pause();
@@ -140,7 +148,7 @@
140
148
  width: 24px;
141
149
  margin-top: 2px;
142
150
  }
143
- .mazarine{
144
- color: #541a8b;
151
+ .mazarine {
152
+ color: #cb452f;
145
153
  }
146
154
  </style>