centaline-data-driven 1.5.52 → 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.52",
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,10 @@
1
+ ## v1.5.53
2
+ 2023-08-24
3
+
4
+ 新增
5
+
6
+ 扫码上传
7
+
1
8
  ## v1.5.52
2
9
  2023-08-22
3
10
 
Binary file
@@ -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
+
@@ -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
@@ -58,7 +58,7 @@ Vue.use(centaline, {
58
58
  return {
59
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.eNrEjjsOwjAQRO_iOis59nrXTuf403CIyCFGggqRRAIh7k4Q0NHziimeRpq5i3kdRSc0sfOJWggGLSC1BhzmDEESOZ2l1jEO7gP8iC8DcnDeJwaUPQFmk8CpkEE700dMnmMi0Yh6PYuuJaeYUbJpxLEsb0GW6SXWuV529faPc6fluM2O-0KHggpUtQhoEbdyUYCGpsnayeBYxeMJAAD__w.3jtdole2dvyRTAFLiUyYiLbrekR9ZsmkA3x1LCyg2DY"}',
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"}',