centaline-data-driven 1.3.16 → 1.3.19

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.16",
3
+ "version": "1.3.19",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Detail.vue CHANGED
@@ -10,7 +10,7 @@
10
10
  name: 'DataDrivendetail',
11
11
  data() {
12
12
  return {
13
- apiParam: {actionType: 1,chanceID: "1"} ,
13
+ apiParam: {actionType: 1,chanceID: "1524555083688316928"} ,
14
14
  }
15
15
  },
16
16
  mounted() {
package/src/Form.vue CHANGED
@@ -2,7 +2,7 @@
2
2
  <div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
3
  <!-- <ct-form :api="'/PropertyRET/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
4
4
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
5
- <ct-form :api="'/salemanage/batchcontractadjustdetail/readImportDetail'" :apiParam="apiParam"></ct-form>
5
+ <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form>
6
6
  <!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
7
7
  <ct-dialog-list></ct-dialog-list>
8
8
  </div>
@@ -14,7 +14,7 @@
14
14
  data() {
15
15
  return {
16
16
  apiParam:{
17
- actionType:2,
17
+ originalTraId: "1542431606998347777", actionType: 3, pageStyle: 2, pageTitle: "成交报告", pageOnly: true
18
18
  }
19
19
  }
20
20
  },
@@ -180,7 +180,7 @@ const api = {
180
180
  }
181
181
 
182
182
  if (data.rtnCode === Enum.ReturnCode.Successful) {
183
- if (data.rtnMsg) {
183
+ if (data.rtnMsg && common.getDataDrivenOpts().showRequestSuccessMessage) {
184
184
  if (data.MsgAlertStyle && data.MsgAlertStyle == Enum.MessageAlertStyle.Dialog) {
185
185
  common.confirm(data.rtnMsg, '信息', { confirmButtonText: '确定', flagShowcCancelButton: '0' });
186
186
  }
@@ -733,7 +733,18 @@ const common = {
733
733
  */
734
734
  numToFloat(value, num) {
735
735
  if (value && num && num > 0) {
736
- value = parseFloat(value).toFixed(num);
736
+ let ls=value.toString().split('.');
737
+ let l1=0;
738
+ value=ls[0]+'.';
739
+ if(ls.length>1){
740
+ value=value+ls[1];
741
+ l1=ls[1].length;
742
+ }
743
+ if(num>l1){
744
+ for(var i=0;i<num-l1;i++){
745
+ value=value+'0';
746
+ }
747
+ }
737
748
  }
738
749
  return value.toString();
739
750
  },
@@ -360,7 +360,10 @@ html {
360
360
  color: #303133;
361
361
  line-height: 1.769230769230769;
362
362
  }
363
-
363
+ .el-collapse-item__content [class*=el-col-] {
364
+ float: none;
365
+ display: inline-block;
366
+ }
364
367
  .ct-text .ct-text-label-div {
365
368
  display: flex;
366
369
  justify-content: left;
@@ -377,8 +380,14 @@ html {
377
380
 
378
381
  .ct-flex-div .ct-flex-div-input {
379
382
  flex: 1;
383
+
380
384
  }
381
-
385
+ .el-textarea .el-input__count {
386
+ /* right: 24px; */
387
+ }
388
+ .ct-flex-div-input input.el-input__inner {
389
+ /* width: 100%; */
390
+ }
382
391
  .ct-flex-div .ct-flex-div-span {
383
392
  display: flex;
384
393
  justify-content: left;
@@ -801,7 +810,7 @@ html {
801
810
  color: #409eff;
802
811
  }
803
812
  .el-input-group{
804
- line-height: 26px;
813
+ line-height: 22px;
805
814
  }
806
815
  .shortcutFollow .ct-form{
807
816
  margin:0px !important;
@@ -170,6 +170,14 @@
170
170
  if(data.content.imgUrl)this.tellImgUrl=data.content.imgUrl;
171
171
  }
172
172
  },
173
+ closeCallTel(){
174
+ if(this.model.isCallTel){
175
+ if(this.visible){
176
+ this.visible=false;
177
+ this.tellImgUrl='';
178
+ }
179
+ }
180
+ },
173
181
  }
174
182
  }
175
183
  </script>
@@ -418,6 +418,10 @@
418
418
  self.$forceUpdate();
419
419
  }
420
420
  else if(field.actionType===19){
421
+ if(self.model.currentCallTel){
422
+ self.$refs[self.model.currentCallTel][0].closeCallTel()
423
+ }
424
+ self.model.currentCallTel='router'+field.id+field.rowindex;
421
425
  self.$refs['router'+field.id+field.rowindex][0].callTelClick(data);
422
426
  }
423
427
  })
@@ -170,21 +170,8 @@
170
170
  </div>
171
171
  </div>
172
172
  </div>
173
- <div
174
- ref="detail"
175
- class="details-mid y-auto"
176
- @scroll="scrollHandle($event)"
177
- :style="{
178
- height: model.detailHeight ? model.detailHeight + 'px' : '780px',
179
- }"
180
- >
181
- <div
182
- ref="midl"
183
- class="mid-l"
184
- :style="{
185
- width: model.midlWidth ? model.midlWidth + 'px' : '1200px',
186
- }"
187
- >
173
+ <div ref="detail" class="details-mid y-auto" @scroll="scrollHandle($event)" :style="{height: model.detailHeight ? model.detailHeight + 'px' : '780px',}">
174
+ <div ref="midl" class="mid-l" :style="{ width: model.midlWidth ? model.midlWidth + 'px' : '1200px',}">
188
175
  <!-- 图片内容部分 -->
189
176
  <div class="hous-info base-box">
190
177
  <div class="info-conten">
@@ -1904,6 +1891,7 @@ export default {
1904
1891
  background-color: rgb(153, 153, 153);
1905
1892
  padding: 3px 0;
1906
1893
  background-clip: content-box;
1894
+ cursor: pointer;
1907
1895
  }
1908
1896
  // .popovertablf span {
1909
1897
  // display: inline-block;
@@ -1,10 +1,5 @@
1
1
  <template>
2
- <div
3
- style="width: 100%"
4
- v-if="model !== null"
5
- class="block ct-file"
6
- :class="[model.attrs.size ? 'ct-checkbox-' + model.attrs.size : '']"
7
- >
2
+ <div style="width: 100%" v-if="model !== null" class="block ct-file" :class="[model.attrs.size ? 'ct-checkbox-' + model.attrs.size : '']">
8
3
  <el-upload
9
4
  :class="disableUpload ? 'ct-upload-display-none' : ''"
10
5
  :disabled="model.lock"
@@ -32,73 +27,36 @@
32
27
  </div>
33
28
  <div slot="file" slot-scope="{ file }" :title="file.fileName">
34
29
  <div class="cover-list-item">
35
- <el-image
36
- fit="fill"
37
- :src="file.url"
38
- style="width: 100px; height: 100px"
39
- :z-index="previewZIndex"
40
- @click="viewerfile(file)"
41
- >
30
+ <el-image fit="fill" :src="file.url" style="width: 100px; height: 100px" :z-index="previewZIndex" @click="viewerfile(file)">
42
31
  </el-image>
43
- <span
44
- class="cover-list-item-span-delete"
45
- v-if="!model.lock && file.rightDel"
46
- >
32
+ <span class="cover-list-item-span-delete" v-if="!model.lock && file.rightDel">
47
33
  <i class="el-icon-delete" @click="handleRemove(file)"></i>
48
34
  </span>
49
- <span
50
- class="cover-list-item-span"
51
- v-if="model.lock || model.paramName"
52
- >
35
+ <span class="cover-list-item-span" v-if="model.lock || model.paramName">
53
36
  <!--锁定-->
54
37
  <span v-if="model.lock || !file.rightEdit" class="el-dropdown-link">
55
- <span style="width: 80px; height: 26px; display: inline-flex"
56
- >&nbsp;{{ file.mediaLabelName }}</span
57
- >
38
+ <span style="width: 80px; height: 26px; display: inline-flex">&nbsp;{{ file.mediaLabelName }}</span>
58
39
  </span>
59
40
  <!--复杂分类-->
60
- <span
61
- v-else-if="model.isComplexClassify"
62
- class="el-dropdown-link"
63
- @click="classifyFormClickHandle(file)"
64
- >
65
- <span style="width: 80px; height: 26px; display: inline-flex"
66
- >&nbsp;{{ file.mediaLabelName }}</span
67
- ><i class="el-icon-arrow-down el-icon--right"></i>
41
+ <span v-else-if="model.isComplexClassify" class="el-dropdown-link" @click="classifyFormClickHandle(file)">
42
+ <span style="width: 80px; height: 26px; display: inline-flex">&nbsp;{{ file.mediaLabelName }}</span>
43
+ <i class="el-icon-arrow-down el-icon--right"></i>
68
44
  </span>
69
45
  <!--简单分类-->
70
- <el-dropdown
71
- v-else
72
- class="el-upload-list__item-preview"
73
- trigger="click"
74
- placement="top"
75
- @command="classifySelectedClickHandle"
76
- >
46
+ <el-dropdown v-else class="el-upload-list__item-preview" trigger="click" placement="top" @command="classifySelectedClickHandle">
77
47
  <span class="el-dropdown-link" @click="classifyClickHandle">
78
- <span style="width: 80px; height: 26px; display: inline-flex"
79
- >&nbsp;{{ file.mediaLabelName }}</span
80
- ><i class="el-icon-arrow-down el-icon--right"></i>
48
+ <span style="width: 80px; height: 26px; display: inline-flex">&nbsp;{{ file.mediaLabelName }}</span>
49
+ <i class="el-icon-arrow-down el-icon--right"></i>
81
50
  </span>
82
- <el-dropdown-menu
83
- slot="dropdown"
84
- class="el-upload-list__item-preview"
85
- >
86
- <el-dropdown-item
87
- v-for="(option, index) in model.optionModel.options"
88
- :key="index"
89
- :command="{ option: option, file: file }"
90
- >
51
+ <el-dropdown-menu slot="dropdown" class="el-upload-list__item-preview">
52
+ <el-dropdown-item v-for="(option, index) in model.optionModel.options" :key="index" :command="{ option: option, file: file }">
91
53
  {{ option[model.optionModel.optionAttrs.label] }}
92
54
  </el-dropdown-item>
93
55
  </el-dropdown-menu>
94
56
  </el-dropdown>
95
57
  </span>
96
58
  </div>
97
- <el-progress
98
- type="circle"
99
- v-if="file.progressFlag"
100
- :percentage="file.loadProgress"
101
- ></el-progress>
59
+ <el-progress type="circle" v-if="file.progressFlag" :percentage="file.loadProgress"></el-progress>
102
60
  </div>
103
61
  </el-upload>
104
62
  </div>
@@ -149,17 +107,14 @@ export default {
149
107
  },
150
108
  //删除
151
109
  handleRemove(file) {
152
- this.$common
153
- .confirm("确定删除该附件?", "提示", {
110
+ this.$common.confirm("确定删除该附件?", "提示", {
154
111
  confirmButtonText: "确定",
155
112
  cancelButtonText: "取消",
156
113
  //type: 'warning'
157
- })
158
- .then(() => {
114
+ }).then(() => {
159
115
  this.model.deleteFile(file, false);
160
116
  this.selfValidExcute("remove");
161
- })
162
- .catch(() => {});
117
+ }).catch(() => {});
163
118
  },
164
119
  handlePictureCardPreview(file) {
165
120
  if (this.$common.isAssetTypeAnImage(this.getSuffix(file))) {
@@ -302,7 +257,8 @@ export default {
302
257
  if (this.model.max) {
303
258
  if (this.model.getfileListLength() >= this.model.max) {
304
259
  this.disableUpload = true;
305
- } else {
260
+ }
261
+ else {
306
262
  this.disableUpload = false;
307
263
  }
308
264
  }
@@ -310,18 +266,14 @@ export default {
310
266
  if (this.model.getfileListLength() < this.model.min) {
311
267
  //change时需要判断有没有上传图片如果没有图片则不提示
312
268
  if (eventName == "change" && this.model.getfileListLength() > 0) {
313
- this.validMessage =
314
- "附件数量还差" +
315
- (parseInt(this.model.min) - this.model.getfileListLength()) +
316
- "张";
269
+ this.validMessage = "附件数量还差" + (parseInt(this.model.min) - this.model.getfileListLength()) + "张";
317
270
  this.valid = false;
318
- } else if (eventName == "valid") {
319
- this.validMessage =
320
- "附件数量还差" +
321
- (parseInt(this.model.min) - this.model.getfileListLength()) +
322
- "张";
271
+ }
272
+ else if (eventName == "valid") {
273
+ this.validMessage = "附件数量还差" + (parseInt(this.model.min) - this.model.getfileListLength()) + "张";
323
274
  this.valid = false;
324
- } else if (eventName == "remove") {
275
+ }
276
+ else if (eventName == "remove") {
325
277
  this.valid = true;
326
278
  }
327
279
  return false;
@@ -10,9 +10,9 @@
10
10
  <!--头部元素-->
11
11
  <el-row v-if="collapseFieldsRow.length > 0">
12
12
  <el-col v-for="(col, index) in collapseFieldsRow[0]" :key="index" v-if="col.show !== false" :span="col.colspan" style="padding:5px">
13
- <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" v-bind="col.bindPara" :fileData="getFileData(col)" :from="'form'"
13
+ <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara" :fileData="getFileData(col)" :from="'form'"
14
14
  @click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)" @enter="enterHandler(col,$event)"
15
- @input="inputHandler(col,$event)"
15
+ @input="inputHandler(col,$event)" @importComplete="importComplete"
16
16
  @popupSearchList="popupSearchListHandler"
17
17
  @tableButtonClick="clickHandler"></component>
18
18
  </el-col>
@@ -24,7 +24,7 @@
24
24
  v-for="(item, index) in collapse" v-if="item.show !== false" :key="index">
25
25
  <el-row>
26
26
  <el-col v-for="(col, index) in collapseFieldsRow[index + 1]" :key="index" :span="col.colspan" v-if="col.show !== false" style="padding:5px">
27
- <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara" :fileData="getFileData(col)"
27
+ <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara" :fileData="getFileData(col)" :from="'form'"
28
28
  @click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)" @enter="enterHandler(col,$event)"
29
29
  @input="inputHandler(col,$event)" @importComplete="importComplete"
30
30
  @popupSearchList="popupSearchListHandler"
@@ -56,9 +56,9 @@
56
56
  <!--尾部元素-->
57
57
  <el-row v-if="independentItem.length > 0" style="margin-top: 20px;">
58
58
  <el-col v-for="(col, index) in independentItem" :key="index" v-if="col.show !== false" :span="col.colspan" style="padding:5px">
59
- <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" v-bind="col.bindPara" :fileData="getFileData(col)"
59
+ <component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara" :fileData="getFileData(col)" :from="'form'"
60
60
  @click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)"
61
- @input="inputHandler(col,$event)"
61
+ @input="inputHandler(col,$event)" @importComplete="importComplete"
62
62
  @popupSearchList="popupSearchListHandler"
63
63
  @tableButtonClick="clickHandler"></component>
64
64
  </el-col>
@@ -595,7 +595,17 @@
595
595
  self.$message.error(f.validMessage);
596
596
  }
597
597
  else{
598
- self.$message.error('【'+f.model.label+'】不能为空!');
598
+ if(f.validMessage){
599
+ if(f.validMessage=='必填'){
600
+ self.$message.error('【'+f.model.label+'】'+f.validMessage);
601
+ }
602
+ else{
603
+ self.$message.error(f.validMessage);
604
+ }
605
+ }
606
+ else{
607
+ self.$message.error('【'+f.model.label+'】不能为空!');
608
+ }
599
609
  }
600
610
  }
601
611
  i++;
@@ -364,6 +364,7 @@ export default {
364
364
  padding: 3px 0;
365
365
  background-clip: content-box;
366
366
  margin-left: 5px;
367
+ cursor: pointer;
367
368
  }
368
369
  </style>
369
370
  <style>
@@ -215,7 +215,6 @@ const box = function (source, fileSourceList, router, optionApi) {
215
215
  classify.file.source.mediaLabelID = classify.option[rtn.optionModel.optionAttrs.value];
216
216
  },
217
217
  handleAvatarSuccess(res, file, fileList) {
218
-
219
218
  if (res.rtnCode === Enum.ReturnCode.Successful) {
220
219
  //下面的方式绑定,会有一些问题 todo 不强与页面关联
221
220
  fileSourceList.push(res.content[0]);
@@ -240,11 +239,15 @@ const box = function (source, fileSourceList, router, optionApi) {
240
239
  rtn.fileList = fileList;//无数据会监听不到
241
240
  }
242
241
  else {
242
+ for (let i = 0; i < fileList.length; i++) {
243
+ if (fileList[i].uid === file.uid) {
244
+ fileList.splice(i, 1);
245
+ }
246
+ }
243
247
  Vue.prototype.$message.error(res.rtnMsg);
244
248
  }
245
249
  },
246
250
  deleteFile(file, forceDelete) {
247
-
248
251
  for (let i = 0; i < rtn.fileList.length; i++) {
249
252
  if (rtn.fileList[i].uid === file.uid) {
250
253
  if (forceDelete) {
@@ -275,7 +278,6 @@ const box = function (source, fileSourceList, router, optionApi) {
275
278
  break;
276
279
  }
277
280
  }
278
- console.log(rtn.fileList)
279
281
  },
280
282
  getFormObj() {
281
283
  var rtnFormObj = {};
@@ -384,10 +384,9 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
384
384
 
385
385
  if (data) {
386
386
  if (data.field) {
387
- data.field.source[attrName] = value;
388
- data.listData.updateListField(data.listData.refFieldsLabel, rowNum, fiedlId);
387
+ data.field.source[attrName] = value;
388
+ data.listData.updateListField(data.listData.$self.$refs.FieldsLabel, rowNum, fiedlId);
389
389
  }
390
- //data.field.self.$forceUpdate();
391
390
 
392
391
  //正在编辑的行
393
392
  if (data.listData.currentRow.data && data.listData.currentRow.data[fiedlId] && data.listData.currentRow.data.$sourceIndex === rowNum) {
@@ -2,7 +2,7 @@
2
2
  * @Author: linchunmei 179466780@qq.com~
3
3
  * @Date: 2022-06-21 11:29:34
4
4
  * @LastEditors: linchunmei 179466780@qq.com
5
- * @LastEditTime: 2022-06-28 15:45:15
5
+ * @LastEditTime: 2022-07-01 11:12:13
6
6
  * @FilePath: \js-sdk-v3\src\centaline\quickInputSos\src\quickInput.vue
7
7
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
8
  -->
@@ -103,7 +103,7 @@ export default {
103
103
  mounted() {},
104
104
  };
105
105
  </script>
106
- <style>
106
+ <style scoped>
107
107
  .ct-quickInput .el-icon-more:hover {
108
108
  cursor: pointer;
109
109
  color: #409eff;
@@ -125,8 +125,10 @@ export default {
125
125
  padding: 4px 0;
126
126
  background-clip: content-box;
127
127
  margin-left: 5px;
128
+ cursor: pointer;
128
129
  }
129
- .ct-flex-div .ct-flex-div-input {
130
- margin-right: 12px;
130
+
131
+ .ct-quickInput.ct-flex-div-span {
132
+ width: 12px;
131
133
  }
132
134
  </style>
package/src/main.js CHANGED
@@ -12,11 +12,13 @@ Vue.use(ElementUI, { size: 'mini'});
12
12
  // 关闭生产模式下给出的提示
13
13
  Vue.config.productionTip = false;
14
14
  Vue.use(centaline, {
15
- // baseUrl: "http://10.88.22.46:7070/v1/form/router",
16
- baseUrl: "http://10.88.23.22:9999/v1/form/router",
15
+ baseUrl: "http://10.88.22.46:7070/v1/form/router",
16
+ // baseUrl: "http://10.88.23.22:9999/v1/form/router",
17
17
  // baseUrl: "http://10.88.22.69:8080/",
18
+ // baseUrl: "http://tjcptest.centaline.com.cn/",
18
19
  // flagRouterSelf: true,
19
20
  zindex: 999,
21
+ showRequestSuccessMessage: true,
20
22
  showRequestErrorMessage: true,
21
23
  handler: {
22
24
  // 打开tab页
@@ -39,10 +41,10 @@ Vue.use(centaline, {
39
41
  // 获取请求头
40
42
  getRequestHeaders: function () {
41
43
  return {
42
- oldToken: 'f6a35199-5dd7-423c-a4e4-e1553c3d76bb',
44
+ oldToken: 'a9e42494-1e0b-4c46-834e-eea096ba2564',
43
45
  originalRequestURL: 'http://10.88.22.67:8080',
44
46
  EstateInfo: '{"estateId":"201703020943128D8A8FCF463E4016D6","estateName":"%E4%B8%87%E7%A7%91%E4%BA%91%E5%9F%8E"}',
45
- Authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjZiYWE5MDU5LTNkNTEtNGFlMC04YjBlLTc5YjQ4MTQzNzhjOCJ9.IYQdOekUibZsjx2OYXnCt0AVdBq9FhEx6RKnUQdJ6SA8aW6Ou3thl5JghE2w6nzXhlYYyPmc6vVu8YBe0JINsg',
47
+ Authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImVjODhjOTI1LTU3OTktNDVmNy1iNDI3LWI3M2QwNGVkNWM2NSJ9.fyndFOEg4ThBHv4N2pi3pmPaWWlcD1CVPsYu0G5BKAB1hAgkL_GpOMpCZB5xdjMJLbBVomdoUjnRY7T6JSZb-g',
46
48
  };
47
49
  },
48
50
  // 请求完成事件,可判断是否登录过期执行响应操作