centaline-data-driven 1.5.51 → 1.5.53

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.51",
3
+ "version": "1.5.53",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/release-log.md CHANGED
@@ -1,3 +1,23 @@
1
+ ## v1.5.53
2
+ 2023-08-24
3
+
4
+ 新增
5
+
6
+ 扫码上传
7
+
8
+ ## v1.5.52
9
+ 2023-08-22
10
+
11
+ bug修复
12
+
13
+ 侧边栏关闭再打开后,拨打按钮的popover显示有问题
14
+
15
+ 优化
16
+
17
+ 弹层form表单点击X关闭时,不触发刷新行事件
18
+
19
+ 表单列表记录横向滚动条位置,编辑保存时自动滚动到上一次位置
20
+
1
21
  ## v1.5.51
2
22
  2023-08-18
3
23
 
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/commission_presentiment/detail'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
4
+ <ct-form :api="'/api/distribution/commission_presentiment/task'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
5
5
  <ct-dialog-list></ct-dialog-list>
6
6
  </div>
7
7
  </template>
@@ -12,7 +12,7 @@
12
12
  data() {
13
13
  return {
14
14
  apiParam:{
15
- "transactionId":["1661661776303677441","1667002679704797185"],"actionType":2,"pageStyle":2,"pageTitle":"新增预结","pageOnly":true
15
+ "stepId":"1689521582976049153","businessId":"1689521146390945793","actionType":"1","pageStyle":"2","pageOnly":"true"
16
16
  },
17
17
  topHeight:10,
18
18
  }
Binary file
@@ -40,8 +40,8 @@
40
40
  :style="{color:model.textColor,backgroundColor:model.imgUrl?'transparent':model.bgColor,borderColor:model.imgUrl?'transparent':model.borderColor,padding:model.imgUrl?'0px':null}"
41
41
  :icon="model.icon"
42
42
  :disabled="model.disabled || model.locked">
43
- <el-popover class="Stats-popover" :popper-class="'el-popoverCallTel'" :placement="option.placement?option.placement:'left'"
44
- v-model="visible" :trigger="option.trigger?option.trigger:''">
43
+ <el-popover class="Stats-popover" :popper-class="visible ? 'isBlock':'isNone'" :placement="option.placement?option.placement:'left'"
44
+ v-model="visible" :trigger="option.trigger?option.trigger:''" >
45
45
  <div style="border-bottom:none">
46
46
  <div style="color: #388cd3;text-align: center;">{{message}}</div>
47
47
  <img v-show="qrCode" :src="qrCode" style="margin-top: 5px;" :style="{'width':width+'px','height':height+'px'}" />
@@ -281,8 +281,13 @@
281
281
  .labelText{
282
282
  -webkit-transform: scale(0.85);
283
283
  }
284
- .el-popoverCallTel{
284
+ .isBlock{
285
285
  margin-left: 5px;
286
+ display: block !important;
287
+ }
288
+ .isNone{
289
+ margin-left: 5px;
290
+ display: none !important;
286
291
  }
287
292
  .subText{
288
293
  color:var(--chinaRed);;
@@ -638,7 +638,7 @@ export default {
638
638
  }
639
639
  },
640
640
  closeDialog(ev) {
641
- self.$emit('simpleRouterclickHandler', field, ev);
641
+ // self.$emit('simpleRouterclickHandler', field, ev);
642
642
  }
643
643
  }
644
644
  }]
@@ -506,7 +506,7 @@ export default {
506
506
  }
507
507
  },
508
508
  closeDialog(ev) {
509
- self.$emit('simpleRouterclickHandler', field, ev);
509
+ // self.$emit('simpleRouterclickHandler', field, ev);
510
510
  }
511
511
  }
512
512
  }]
@@ -505,7 +505,7 @@ export default {
505
505
  }
506
506
  },
507
507
  closeDialog(ev) {
508
- self.$emit('simpleRouterclickHandler', field, ev);
508
+ // self.$emit('simpleRouterclickHandler', field, ev);
509
509
  }
510
510
  }
511
511
  }]
@@ -27,6 +27,22 @@
27
27
  </div>
28
28
  <div slot="tip" v-show="model.description" v-html="model.description">
29
29
  </div>
30
+ <img class="qrcode-target" @click.stop="qrcodeFn" ref="QRCodeRef" v-if="model.QRCodeAction" :src="require('../../../assets/serw1.png')" style="width: 35px;height: 35px;" alt="扫码上传" title="扫码上传">
31
+ <div class="ScanUploadPhoto" v-if="qrcodeVisible" @click.stop="qrcodeVisible=true" :style="{ top: QRCodeRefTop + 'px', left: QRCodeRefLeft + 'px' }">
32
+ <div style="border-bottom:none">
33
+ <div style="text-align: center;margin-bottom:10px;margin-top:5px;color:#666666;font-size: 14px;">扫码上传</div>
34
+ <i class="jiao"></i>
35
+ <div style="width:200px; height:200px;">
36
+ <img :src="qrCodeImg" width="200" height="200" :style="isQrCode?'opacity: 0.1':''" />
37
+ <div class="div-fail" v-if="isQrCode">
38
+ <span class="ScanText" style="color:#666666;">{{scanStatusDesc}}</span>
39
+ <div style="text-align: center;" v-if="FlagbtnScan">
40
+ <el-button type="success" class=" max-btn-add" size="mini" @click.stop="ShowQRcode">扫码上传</el-button>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </div>
30
46
  <div slot="file" slot-scope="{ file }" :title="file.fileName">
31
47
  <div class="cover-list-item">
32
48
  <div @click="viewerfile(file)">
@@ -116,6 +132,22 @@
116
132
  </div>
117
133
  <div slot="tip" v-show="model.description" v-html="model.description">
118
134
  </div>
135
+ <img class="qrcode-target" @click.stop="qrcodeFn" ref="QRCodeRef" v-if="model.QRCodeAction" :src="require('../../../assets/serw1.png')" style="width: 35px;height: 35px;" alt="扫码上传" title="扫码上传">
136
+ <div class="ScanUploadPhoto" v-if="qrcodeVisible" @click.stop="qrcodeVisible=true" :style="{ top: QRCodeRefTop + 'px', left: QRCodeRefLeft + 'px' }">
137
+ <div style="border-bottom:none">
138
+ <div style="text-align: center;margin-bottom:10px;margin-top:5px;color:#666666;font-size: 14px;">扫码上传</div>
139
+ <i class="jiao"></i>
140
+ <div style="width:200px; height:200px;">
141
+ <img :src="qrCodeImg" width="200" height="200" :style="isQrCode?'opacity: 0.1':''" />
142
+ <div class="div-fail" v-if="isQrCode">
143
+ <span class="ScanText" style="color:#666666;">{{scanStatusDesc}}</span>
144
+ <div style="text-align: center;" v-if="FlagbtnScan">
145
+ <el-button type="success" class=" max-btn-add" size="mini" @click.stop="ShowQRcode">扫码上传</el-button>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </div>
119
151
  <div slot="file" slot-scope="{ file }" :title="file.fileName">
120
152
  <div class="cover-list-item">
121
153
  <div @click="viewerfile(file)">
@@ -194,6 +226,15 @@
194
226
  data() {
195
227
  return {
196
228
  disableUpload: false,
229
+ qrcodeVisible:false,
230
+ isQrCode:false,
231
+ SSID:'',
232
+ qrtimer:null,
233
+ qrCodeImg:'',
234
+ scanStatusDesc:"",
235
+ FlagbtnScan:false,
236
+ QRCodeRefTop:'',
237
+ QRCodeRefLeft:''
197
238
  };
198
239
  },
199
240
  computed: {
@@ -251,6 +292,10 @@
251
292
  }).then(() => {
252
293
  this.model.deleteFile(file, false);
253
294
  this.selfValidExcute("remove");
295
+ setTimeout(() => {
296
+ this.QRCodeLocate();
297
+ }, 1080);
298
+
254
299
  }).catch(() => { });
255
300
  },
256
301
  handlePictureCardPreview(file) {
@@ -596,6 +641,7 @@
596
641
  self.model.fileList[self.model.fileList.length - 1].height = img.height;
597
642
  };
598
643
  this.handleChange();
644
+ this.QRCodeLocate();
599
645
  }
600
646
  return true;
601
647
  }
@@ -605,10 +651,97 @@
605
651
  return false;
606
652
  }
607
653
  },
608
-
609
-
610
-
654
+
655
+ ShowQRcode(){
656
+ this.isQrCode=false;
657
+ this.FlagbtnScan=false;
658
+ this.GetQRCodeUploadPhoto();
659
+ },
660
+ HideQRcode(){
661
+ this.isQrCode=false;
662
+ clearTimeout(this.qrtimer);
663
+ },
664
+ CheckQRCodeStatus(){
665
+ var self=this;
666
+ if(self.SSID){
667
+ self.model.getQRCodeStatus(self.SSID,function(data){
668
+ if(data.enumScanStatus=="已扫码"||data.enumScanStatus=="已完成"){
669
+ self.scanStatusDesc=data.scanStatusDesc;
670
+ self.isQrCode=true;
671
+ }
672
+ if(data.enumScanStatus=="已完成"){
673
+ clearTimeout(self.qrtimer);
674
+ self.FlagbtnScan=true;
675
+ data.photos.forEach((v) => {
676
+ if(self.model.fileList.length<parseInt(self.model.max || 999)){
677
+ let img = new Image();
678
+ img.src = v.mediaUrl;
679
+ img.onload = function () {
680
+ v.videoCoverFileName=v.videoCoverFileName||null;
681
+ v.thumbnailUrl=v.thumbnailUrl||'';
682
+ v.mediaSourceTypeID=v.mediaSourceTypeID||null;
683
+ v.mediaSourceID=v.mediaSourceID||null;
684
+ v.mediaPrintDesc=v.mediaPrintDesc||null;
685
+ v.mediaID=v.mediaID||null;
686
+ v.mediaFormData=v.mediaFormData||null;
687
+ v.mediaDescEN=v.mediaDescEN||null;
688
+ v.mediaDescCN=v.mediaDescCN||null;
689
+ v.mediaDataBase64=v.mediaDataBase64||null;
690
+ v.mediaCode=v.mediaCode||null;
691
+ v.groupID=v.groupID||null;
692
+ self.model.AddSourceList(v);
693
+ var FileData = self.model.getFileData(v);
694
+ FileData.width = img.width;
695
+ FileData.height = img.height;
696
+ FileData.uid=self.uploadguid();
697
+ self.model.fileList.push(FileData);
698
+ self.$nextTick(() => {
699
+ self.QRCodeLocate();
700
+ });
701
+ };
702
+ }
703
+ });
704
+ }
705
+ else {
706
+ self.qrtimer = setTimeout(self.CheckQRCodeStatus, 1000);
707
+ }
708
+ });
709
+ }
710
+ },
711
+ GetQRCodeUploadPhoto(){
712
+ var self=this;
713
+ clearInterval(self.qrtimer);
714
+ self.model.getQRCode(function(data){
715
+ self.qrCodeImg=data.qrCode;
716
+ self.SSID=data.ssid;
717
+ self.qrtimer = setTimeout(self.CheckQRCodeStatus, 1000);
718
+ });
719
+ },
720
+ qrcodeFn() {
721
+ let self = this;
722
+ self.qrcodeVisible = !self.qrcodeVisible;
723
+ if(self.qrcodeVisible){
724
+ self.QRCodeLocate();
725
+ self.ShowQRcode();
726
+ }
727
+ else{
728
+ self.HideQRcode();
729
+ }
730
+ },
731
+ QRCodeLocate(){
732
+ let self = this;
733
+ let QRCodeRef = self.$refs.QRCodeRef;
734
+ if (QRCodeRef) {
735
+ var QRCodeRefWith = QRCodeRef.width;
736
+ self.QRCodeRefTop = QRCodeRef.getBoundingClientRect().top;
737
+ self.QRCodeRefLeft = QRCodeRef.getBoundingClientRect().left + QRCodeRefWith + 20;
738
+ }
739
+ },
611
740
  },
741
+ beforeDestroy() {
742
+ clearTimeout(this.qrtimer);
743
+ },
744
+
612
745
  };
613
746
  </script>
614
747
  <style>
@@ -698,6 +831,7 @@
698
831
  height: 100px;
699
832
  line-height: initial;
700
833
  padding: 34px;
834
+ position: relative;
701
835
  }
702
836
 
703
837
  .el-upload--picture-card i {
@@ -762,4 +896,58 @@
762
896
  left: 50%;
763
897
  transform: translate(-50%, -50%);
764
898
  }
899
+
900
+ .qrcode-target {
901
+ position: absolute;
902
+ top: 3px;
903
+ right: 3px;
904
+ width: 35px;
905
+ height: 35px;
906
+ }
907
+ .ScanUploadPhoto {
908
+ width: 220px;
909
+ height: 250px;
910
+ border: solid 1px #ccc;
911
+ position: fixed;
912
+ left: 120px;
913
+ background-color: #fff;
914
+ text-align: center;
915
+ padding: 5px 10px;
916
+ top: 5px;
917
+ box-shadow: 0 0 8px #bfbfbf;
918
+ z-index:1899;
919
+ }
920
+ .ScanUploadPhoto:hover{
921
+ cursor:default;
922
+ }
923
+ .jiao {
924
+ position: absolute;
925
+ display: inline-block;
926
+ top: 16px;
927
+ left: -6px;
928
+ width: 0;
929
+ height: 0px;
930
+ content: '';
931
+ border-style: solid;
932
+ border-width: 6px;
933
+ border-color: transparent transparent #fff #fff;
934
+ transform: rotate( 45deg );
935
+ box-shadow: -1px 1px 0px #ccc;
936
+ }
937
+ .div-fail {
938
+ width: 200px;
939
+ height: 200px;
940
+ position: absolute;
941
+ top: 60px;
942
+
943
+ }
944
+ .ScanText {
945
+ width:200px;
946
+ float:left;
947
+ margin-top:40px;
948
+ line-height:40px;
949
+ font-size:14px;
950
+ text-align: center;
951
+ }
765
952
  </style>
953
+
@@ -169,6 +169,7 @@
169
169
  itemKey: Math.random(),
170
170
  tableColumnWith: 0,
171
171
  fixedButtons:false,
172
+ scrollLeft:0,
172
173
  }
173
174
  },
174
175
  created() {
@@ -183,6 +184,7 @@
183
184
  });
184
185
  },
185
186
  mounted() {
187
+ let self=this;
186
188
  this.$nextTick(function () {
187
189
  let domT=document.querySelector('#listTable');
188
190
  if(domT){
@@ -190,6 +192,11 @@
190
192
  if(domB && domB.scrollWidth>domB.offsetWidth){
191
193
  this.fixedButtons='right';
192
194
  }
195
+ if(domB){
196
+ domB.addEventListener("scroll", function(){
197
+ self.scrollLeft=domB.scrollLeft;
198
+ });
199
+ }
193
200
  }
194
201
  });
195
202
  },
@@ -223,6 +230,7 @@
223
230
  app.model.currentRow.isNew = true;
224
231
  app.model.currentRow.index = app.model.tableData.length - 1;
225
232
  }
233
+ app.resetScroll();
226
234
  },
227
235
  //修改
228
236
  saveRow(row, index, isCancel) {
@@ -251,6 +259,7 @@
251
259
  }
252
260
  row.isSet = !row.isSet;
253
261
  app.itemKey = Math.random();
262
+ app.resetScroll();
254
263
  return ;
255
264
  }
256
265
 
@@ -279,6 +288,7 @@
279
288
  app.itemKey = Math.random();
280
289
  this.model.change = this.model.formListChange;
281
290
  app.$emit('change');
291
+ app.resetScroll();
282
292
  }
283
293
  }
284
294
  }
@@ -289,6 +299,7 @@
289
299
  app.model.currentRow.isSet = true;
290
300
  row.isSet = true;
291
301
  app.itemKey = Math.random();
302
+ app.resetScroll();
292
303
  }
293
304
  },
294
305
  //删除
@@ -324,6 +335,7 @@
324
335
  }
325
336
  });
326
337
  self.itemKey = Math.random();
338
+ self.resetScroll();
327
339
  });
328
340
  },
329
341
  fieldsValidExcute() {
@@ -490,7 +502,24 @@
490
502
  // 移除 document 中临时的 span
491
503
  document.body.removeChild(span);
492
504
  return h('span', column.label);
493
- }
505
+ },
506
+ resetScroll(){
507
+ let self=this;
508
+ this.$nextTick(function () {
509
+ let domT=document.querySelector('#listTable');
510
+ if(domT){
511
+ let domB=domT.querySelector('.el-table__body-wrapper');
512
+ if(domB){
513
+ if(this.scrollLeft>0){
514
+ domB.scrollLeft=this.scrollLeft;
515
+ }
516
+ domB.addEventListener("scroll", function(){
517
+ self.scrollLeft=domB.scrollLeft;
518
+ });
519
+ }
520
+ }
521
+ });
522
+ },
494
523
  }
495
524
  }
496
525
  </script>
@@ -1338,7 +1338,7 @@ export default {
1338
1338
  self.$common.closeDialog(dialogOption.dialog);
1339
1339
  },
1340
1340
  closeDialog() {
1341
- self.updateCurrentRow(field);
1341
+ // self.updateCurrentRow(field);
1342
1342
  },
1343
1343
  },
1344
1344
  },
@@ -1625,7 +1625,7 @@ export default {
1625
1625
  self.$common.closeDialog(dialogOption.dialog);
1626
1626
  },
1627
1627
  closeDialog() {
1628
- self.updateCurrentRow(field);
1628
+ // self.updateCurrentRow(field);
1629
1629
  },
1630
1630
  },
1631
1631
  },
@@ -282,7 +282,7 @@ export default {
282
282
  self.$common.closeDialog(dialogOption.dialog);
283
283
  },
284
284
  closeDialog() {
285
- self.updateCurrentRow(field);
285
+ // self.updateCurrentRow(field);
286
286
  },
287
287
  },
288
288
  },
@@ -9,6 +9,7 @@ const box = function (source, fileSourceList, router, optionApi,videoPlayIconUrl
9
9
  var self = this;
10
10
  var init = function (data) {
11
11
  var rtn = {
12
+ QRCodeStatusAction:'',
12
13
  get min2() {
13
14
  return source.minValue2;
14
15
  },
@@ -18,6 +19,10 @@ const box = function (source, fileSourceList, router, optionApi,videoPlayIconUrl
18
19
  get action() {
19
20
  return router && router.action ? router.action : "";//上传完整地址
20
21
  },
22
+ get QRCodeAction() {
23
+ return router && router.actionForSearchRightPageKey ? router.actionForSearchRightPageKey : "";
24
+ },
25
+
21
26
  get sourceList() {
22
27
  return fileSourceList;
23
28
  },
@@ -107,6 +112,50 @@ const box = function (source, fileSourceList, router, optionApi,videoPlayIconUrl
107
112
  }
108
113
  });
109
114
  },
115
+ //获取扫码上传图片的二维码
116
+ getQRCode(callBack) {
117
+ var self = this;
118
+ if (!self.QRCodeAction) {
119
+ return false;
120
+ }
121
+ var params = {
122
+ action: self.QRCodeAction,
123
+ para: {
124
+ fileAccept:self.fileAccept||''
125
+ }
126
+ };
127
+ Vue.prototype.$api.postHandler(common.globalUri(), params).then((response) => {
128
+ if (response.rtnCode === 200) {
129
+ self.QRCodeStatusAction=response.content.actionForStatus;
130
+ if (callBack) {
131
+ callBack(response.content);
132
+ }
133
+ }
134
+ });
135
+ },
136
+ //获取扫码上传的状态
137
+ getQRCodeStatus(ssid,callBack) {
138
+ var self = this;
139
+ if (!self.QRCodeStatusAction) {
140
+ return false;
141
+ }
142
+ var params = {
143
+ action: self.QRCodeStatusAction,
144
+ para: {
145
+ ssid: ssid
146
+ }
147
+ };
148
+ Vue.prototype.$api.postHandler(common.globalUri(), params).then((response) => {
149
+ if (response.rtnCode === 200) {
150
+ if (callBack) {
151
+ callBack(response.content);
152
+ }
153
+ }
154
+ });
155
+ },
156
+ AddSourceList(v){
157
+ fileSourceList.push(v);
158
+ },
110
159
  //是否是复杂分类
111
160
  get isComplexClassify() {
112
161
  if (source.paramAction1) {
package/src/main.js CHANGED
@@ -56,9 +56,9 @@ Vue.use(centaline, {
56
56
  // 获取请求头
57
57
  getRequestHeaders: function () {
58
58
  return {
59
- oldToken: '681f7eeb-e659-4c3b-a8c4-88d60c36a518',
59
+ oldToken: '2e1a6bc6-2cbe-435d-ba01-8e65d29e1e2a',
60
60
  token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQRO_iOiv5s1570zn-NBwiIuBIoUIkkUCIuxMEdPRMMRq95s1dzOsgWmHIccikIFr0gKQsMJYCURKxKdKYlHr-BH7UNz26yCFkByg7Aiw2A-tYwLDtEubgUibRiHo9i1aRRy-dtdSIab-8gdNKvcA618uu3v5x7rRMm3YkOZAfR6BtAWp_3LQHBNI8KHbkqlHi8QQAAP__.RrBgBqaFlp478oO3g5k_EEtjPt_o8qpJBkzgSP78Wa4',
61
- authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjEOwjAMRe-SuZbixI2dbo3bLhwCNSiVyoRoK4EQdwcEbOy84Q9vef9mli2bxnTSWtLBg_auBuq4hnZggaQiNjn2lGQfP8CP-bJHpMgYemgjK1AgD4IqoBSUhq73mjpTmXI5mQZDdMgBLVZmHte3sBL5JbalnHfl-o9zx3V-ZicX-cBZYJqIgNAVkBgQfBYXQ03Zjc7cHwAAAP__.-lkfBY8Qlu2nt6fc_7LyMJb2c8Ki5dxMCR6fga2a1Ec"}',
61
+ authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQBe_iOivZ8Xo3S5f403CIKA6OFCpEEgmEuDuKgI6eKV4xzbyHWrasDsoSSxvJgHfYAJJxIJgSeE0kNmlrQ-jlA_yYLz2yl7aNDKg7AkwugtQ-gRXXBYwth0iqUuV2UQdDUjeEmqRS87C-BTPTLralXI_l_o9z53Xes4MTrGUCZOsAT43AoEsGm_OYp5F1tkY9XwAAAP__.DK8s99gy40lr9upLBMaVPSiNl0fYUFYPFjCqu-C9KHE"}',
62
62
 
63
63
  originalRequestURL: 'http://10.88.22.67:8080',
64
64
  EstateInfo: '{"estateId":"201806071109550C867184E8BCA56EC3","estateName":"C%E5%BE%A1%E6%9E%97%E5%B1%B1%E6%99%AF%E6%A5%BC"}',