twt 2 éve%!(EXTRA string=óta)
szülő
commit
5c240cd87e
5 módosított fájl, 99 hozzáadás és 17 törlés
  1. 31 2
      package-lock.json
  2. 2 0
      package.json
  3. 14 3
      src/main.js
  4. 47 7
      src/page/index.vue
  5. 5 5
      src/store/index.js

+ 31 - 2
package-lock.json

@@ -5506,8 +5506,7 @@
     "lodash": {
       "version": "4.17.21",
       "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
-      "dev": true
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
     },
     "lodash.camelcase": {
       "version": "4.3.0",
@@ -11027,6 +11026,22 @@
       "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
       "dev": true
     },
+    "v-viewer": {
+      "version": "1.6.4",
+      "resolved": "https://registry.npmmirror.com/v-viewer/-/v-viewer-1.6.4.tgz",
+      "integrity": "sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ==",
+      "requires": {
+        "throttle-debounce": "^2.0.1",
+        "viewerjs": "^1.5.0"
+      },
+      "dependencies": {
+        "throttle-debounce": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz",
+          "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ=="
+        }
+      }
+    },
     "validate-npm-package-license": {
       "version": "3.0.4",
       "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -11049,6 +11064,11 @@
       "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
       "dev": true
     },
+    "viewerjs": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmmirror.com/viewerjs/-/viewerjs-1.11.0.tgz",
+      "integrity": "sha512-TE3XvfEXqKV+LdHsRdMSPsCaq0PfKDXm4SjGzfty7CzVxlDbBbT4x38vAqfXfNITmHhHUQefdxdg0Vv4ia+Z9w=="
+    },
     "vm-browserify": {
       "version": "1.1.2",
       "resolved": "https://registry.npmmirror.com/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -11064,6 +11084,15 @@
         "csstype": "^3.1.0"
       }
     },
+    "vue-directive-image-previewer": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmmirror.com/vue-directive-image-previewer/-/vue-directive-image-previewer-2.2.2.tgz",
+      "integrity": "sha512-/9gMB7BAzh1i+l5k2LTFe71sJQ4JnLdND71PPYQBYi7fx84yx050F951btzugkdbo2+Qw8kNq2pYcFDdDmMy9A==",
+      "requires": {
+        "lodash": "^4.17.10",
+        "vue": "^2.4.2"
+      }
+    },
     "vue-hot-reload-api": {
       "version": "2.3.4",
       "resolved": "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",

+ 2 - 0
package.json

@@ -12,7 +12,9 @@
   "dependencies": {
     "axios": "^1.1.2",
     "element-ui": "^2.15.10",
+    "v-viewer": "^1.6.4",
     "vue": "^2.5.2",
+    "vue-directive-image-previewer": "^2.2.2",
     "vue-router": "^3.0.1",
     "vuex": "^3.6.2"
   },

+ 14 - 3
src/main.js

@@ -8,14 +8,25 @@ import App from './App'
 import store from './store'
 Vue.use(ElementUI);
 import router from './router'
-
-
+// import VueDirectiveImagePreviewer from 'vue-directive-image-previewer'
+// import 'vue-directive-image-previewer/dist/assets/style.css'
+// Vue.use(VueDirectiveImagePreviewer, {
+//   zIndex: 9999,  //层级显示
+//   previewSize: 3 //三倍图
+// })
+import Viewer from 'v-viewer'
+import 'viewerjs/dist/viewer.css'
+Vue.use(Viewer, {
+  defaultOptions: {
+    zIndex: 9999,
+  }
+})
 import { getHashQuery } from './utils'
 //console.log(encodeURIComponent(getHashQuery('url')))
 
 store.commit('mutationstoken', getHashQuery('token'))
 store.commit('mutationsurl', getHashQuery('url'))
-store.commit('mutationsckuid', getHashQuery('uid'))
+store.commit('mutationsuid', getHashQuery('uid'))
 console.log(store.state.token)
 Vue.config.productionTip = false
 //console.log(process.env.VUE_APP_BASE_URL);

+ 47 - 7
src/page/index.vue

@@ -174,8 +174,10 @@
          <div class="childrenMainLeft" ref="childrenMainLeft">
            <div class="prevBox" :class="{prevBoxNo:childrenIndex==0}" @click="prev"><上一组</div>
            <div class="nextBox" @click="next" :class="{prevBoxNo:childrenIndex==this.childrenList.length-1}" >下一组></div>
-
-            <img class="childrenImg" :src="image_info.pic_url" alt="" v-if="image_info.pic_url">
+           <div class="imgNumBox" v-if="image_info.length>1">
+             <div class="imgNumLine" :class="{prevBoxNo:imgIndex==index}" @click="imgCk(index)" v-for="(item,index) in image_info">{{index+1}}</div>
+           </div>
+            <img class="childrenImg" @click="seeBigImg(image_info[imgIndex].pic_url)" :src="image_info[imgIndex].pic_url" alt="" v-if="image_info[imgIndex].pic_url">
             <img src="../assets/noImg.png" alt="" v-else class="childrenImg">
          </div>
          <div class="childrenMainRight">
@@ -227,6 +229,11 @@
          </div>
       </div>
      </div>
+     <div class="vue-viewer" style="display: none">
+       <viewer ref="viewer" :images="viewerimgArr">
+         <img :key="viewerimg" :src="viewerimg">
+       </viewer>
+     </div>
      <oem  ref="childoem" :show.sync="oemFlag" @done="getOemDetail" :param='param' :token='token' :vin='vin' :id.sync="epc_id"></oem>
      <part ref="childrenPart" :show.sync="partFlag" :epc_id='epc_id' :partnum="partnum" :threeData='threeData'></part>
      <carInfo  ref="childrencar" :show.sync="carFlag" :carInfoData="carInfoData"></carInfo>
@@ -303,8 +310,11 @@ export default {
        partFlag:false,
        partnum:'',
        threeData:'',
-       carFlag:true,
+       carFlag:false,
        carInfoData:'',
+       imgIndex:0,
+       viewerimg:'',
+       viewerimgArr:[],
     }
   },
   computed:{
@@ -318,6 +328,18 @@ export default {
     this.keyup()
   },
   methods:{
+    seeBigImg(url){
+      this.viewerimg=url;
+      this.viewerimgArr=[]
+      this.viewerimgArr.push(url)
+      var that=this;
+      setTimeout(function()  {
+        that.$refs['viewer'].$viewer.show()
+        }, 500);
+    },
+    imgCk(index){
+      this.imgIndex=index;
+    },
     carCK(){
       console.log(this.carInfoData)
       this.carFlag=true;
@@ -375,9 +397,10 @@ export default {
        this.zzIndex=0;
        this.firstShow=true;
        this.description='';
-       if(this.vin==''){
+       console.log(this.vin.length)
+       if(this.vin==''||this.vin.length<17){
          this.$message({
-                message:'请输入VIN',
+                message:'请输入正确的VIN',
                 type: 'warning'
           });
           return false;
@@ -696,6 +719,7 @@ export default {
           this.childrenIndex--
           this.childrenparam=this.childrenList[this.childrenIndex].param;
           this.childrentoken=this.childrenList[this.childrenIndex].token;
+            this.lastName=this.childrenList[this.childrenIndex].caption
           this.getPartsPc();
         }
 
@@ -707,7 +731,7 @@ export default {
           this.childrenIndex++
           this.childrenparam=this.childrenList[this.childrenIndex].param;
           this.childrentoken=this.childrenList[this.childrenIndex].token;
-
+          this.lastName=this.childrenList[this.childrenIndex].caption
           this.getPartsPc();
         }
 
@@ -725,7 +749,7 @@ export default {
              //this.childrenList=res.data.result.list;
              //this.access_time=res.data.result.access_time;
             //  console.log(res.data.result.list.image_info)
-             this.image_info=res.data.result.list.image_info[0];
+             this.image_info=res.data.result.list.image_info;
 
              this.rows=res.data.result.list.rows
          }else{
@@ -1131,6 +1155,7 @@ color: #333333;padding-left: 10px;padding-right: 20px;
    width: 100%;
    height: 100%;
    object-fit: contain;
+   cursor: pointer;
  }
 /deep/ .el-table .has-gutter th.el-table__cell{
      background-color: #F7F9F8;
@@ -1167,4 +1192,19 @@ color: #333333;padding-left: 10px;padding-right: 20px;
        padding-left: 10px;
        cursor: pointer;
  }
+ .imgNumBox{
+   display: flex;
+   position: absolute;
+   top: 20px;
+   left: 230px;
+ }
+ .imgNumLine{
+       background: #F7F9F8;
+       border-radius: 4px;
+       border: 1px solid #EEEEEE;
+       margin-right: 8px;
+       color: #333333;
+       padding: 5px 10px;
+       cursor: pointer;
+ }
 </style>

+ 5 - 5
src/store/index.js

@@ -16,7 +16,7 @@ const store = new Vuex.Store({
 	    	return state.url
 	    },
 		getckuid(state){
-			return state.ckuid
+			return state.uid
 		},
 
     },
@@ -27,8 +27,8 @@ const store = new Vuex.Store({
 		mutationsurl(state,data){
 			state.url=data
 		},
-		mutationsckuid(state,data){
-			state.ckuid=data
+		mutationsuid(state,data){
+			state.uid=data
 		},
 
 	},
@@ -39,8 +39,8 @@ const store = new Vuex.Store({
 		actionsurl(context,playload){
 			context.commit('mutationsurl',playload)
 		},
-		actionsckuid(context,playload){
-			context.commit('mutationsckuid',playload)
+		actionsuid(context,playload){
+			context.commit('mutationsuid',playload)
 		},
 
 	}