From 68cbb649c933776838e937446ce9ed384916a5e8 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 14 八月 2019 14:20:59 +0800
Subject: [PATCH] 2019-08-14update

---
 src/views/successCase/index.vue      |  173 ++---
 src/views/home/index.vue             |    2 
 package-lock.json                    |    5 
 src/views/productCenter/index.vue    |  320 ++++++----
 src/main.js                          |    6 
 package.json                         |    1 
 src/components/header.vue            |  246 +++----
 src/views/successCase/caseDetail.vue |  696 ++++++++++++----------
 src/store/service.js                 |   82 ++
 src/views/companyProfile/index.vue   |   34 
 src/views/index/index.vue            |  261 ++++++--
 src/router/index.js                  |   10 
 12 files changed, 1,045 insertions(+), 791 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 61f7cdb..0754782 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3308,6 +3308,11 @@
         "assert-plus": "1.0.0"
       }
     },
+    "dat.gui": {
+      "version": "0.7.6",
+      "resolved": "https://registry.npmjs.org/dat.gui/-/dat.gui-0.7.6.tgz",
+      "integrity": "sha512-9Uqr4aQUvp9q5P2b4y6gK604HXafubOq578OmOS8mjrIkYrBP4EbQ9gz9YRXgyPh7aQi+b9H/jAG7EucmhYpSA=="
+    },
     "data-uri-to-buffer": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.1.tgz",
diff --git a/package.json b/package.json
index 5439e34..c875ba0 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
   },
   "dependencies": {
     "axios": "^0.18.1",
+    "dat.gui": "^0.7.6",
     "element-ui": "^2.10.0",
     "vue": "^2.5.2",
     "vue-router": "^3.0.1"
diff --git a/src/components/header.vue b/src/components/header.vue
index f98d6fb..5c6e71d 100644
--- a/src/components/header.vue
+++ b/src/components/header.vue
@@ -3,77 +3,71 @@
 		<div class="wrapper">
 			<a class="logo"><img src="../img/index_logo.png" alt=""></a>
 			<div class="nav" @mouseleave="leave()">
-				<router-link tag="span" class="homeico m_hide" to="/"><img src="../img/homeico.png" alt=""></router-link>
-				<span class="homeico p_hide" @click="jump('/')"><img src="../img/homeico.png" alt=""></span>
+				<!-- 绉诲姩绔痟eader鍥炬爣 -->
+				<span class="homeico p_hide" @click="jump('Index')"><img src="../img/homeico.png" alt=""></span>
 				<span class="navico" v-if="!isShow" @click="showNav"><img src="../img/navico.png" alt=""></span>
 				<span class="navico" v-else @click="showNav"><img src="../img/close.png" alt=""></span>
+				<!-- pc绔彍鍗曞垪琛� -->
 				<ul class="nav_ul" ref="nav_ul">
-					<router-link tag="li" v-for="(menu, index) in menus" :key="index" :to="menu.url" :class="{active1: cur === index}">
-						<span @mouseover="add(index)">{{ menu.text }}</span>
-					</router-link>
-					<!-- <div class="list1 list3" :class="{active:this.menus[1].flag === true}" @click="menus[1].flag = false" v-if="menus[1].flag"></div> -->
-					<div :class="{active:this.menus[1].flag==true}" class="list1" @click="adda(1)" v-if="menus[1].flag">
+					<li v-for="(menu, index) in menus" :key="index" :class="{active1: cur === index}" @click="jump(menu.url)">
+						<span @mouseover="contrlSubmenu(index)">{{ menu.text }}</span>
+					</li>
+					<div class="list1 active" v-if="menus[1].flag">
 						<ul class="abloutMingKe_ul">
-							<router-link @click="add1($event,index)" tag="li" v-for="(secondMenus,index) in secondMenus" :key="index" :to="secondMenus.url">{{secondMenus.text}}</router-link>
+							<li @click="jump(product.url, product.Id, 'submenu')" v-for="(product, index) in products" :key="index">{{product.text}}</li>
 						</ul>
 						<ul class="abloutMingKe_ul1">
-							<router-link tag="li" v-for="(secondMenus,index) in secondMenus1" :key="index" :to="secondMenus.url">{{secondMenus.text}}</router-link>
+							<li @click="jump(solution.url, solution.Id, 'submenu')" v-for="(solution, index) in solutions" :key="index">{{solution.text}}</li>
 						</ul>
 					</div>
-					<!-- <div class="list1 list33" :class="{active:this.menus[1].flag==true}" @click="menus[1].flag = false" v-if="menus[1].flag"></div> -->
-					<!-- <div :class="{active:this.menus[5].flag==true}" class="list1 list33" @click="menus[5].flag = false" v-if="menus[5].flag"></div> -->
-					<div :class="{active:this.menus[5].flag==true}" class="list2" @click="adda(5)" v-if="menus[5].flag">
+					<div class="list2 active" v-if="menus[5].flag">
 						<ul class="abloutMingKe_ul2">
-							<li v-for="(secondMenus,index) in secondMenus2" @click="add5(secondMenus.url,index+1)" :key="index">{{secondMenus.text}}</li>
+							<li v-for="(submenu, index) in minkesoft" @click="jump(submenu.url, index, 'aboutUs')" :key="index">{{submenu.text}}</li>
 						</ul>
 					</div>
-					<!-- <div :class="{active:this.menus[5].flag==true}" class="list2 list5" @click="menus[5].flag = false" v-if="menus[5].flag"></div> -->
 				</ul>
 			</div>
 		</div>
 
-		<div :class="!isShow ? 'nav_ul' : 'plane'" style="height: 100%;background-color: #282830;display: none;margin-top:0.3rem">
+		<div :class="!isShow ? 'nav_ul' : 'plane'" class="hidden">
 			<el-collapse accordion>
 				<el-collapse-item>
 					<template slot="title">
 						<span class="title_s">浜у搧涓績</span>
 					</template>
-					<div class="menu3" @click="jump('center')" style="color: #fff;">浜у搧涓績</div>
-					<div class="menu3" @click="jump('productCenter')">MingKeOS</div>
-					<div class="menu3" @click="jump('productCenter')">鏅烘収浠撳偍</div>
-					<div class="menu3 more" @click="jump('center')">鏇村 <img src="../img/more.png" alt=""></div>
-					<div style="clear: both;"></div>
-					<div class="menu3" @click="jump('caseSolution')" style="color: #fff;">瑙e喅鏂规</div>
-					<div class="menu3" @click="jump('caseDetail')">鐢靛姩宸ュ叿琛屼笟瑙e喅鏂规</div>
-					<div class="menu3" @click="jump('caseDetail')">绯荤粺闆嗘垚琛屼笟瑙e喅鏂规</div>
-					<div class="menu3" @click="jump('caseDetail')">鐢靛瓙鍟嗗姟琛屼笟瑙e喅鏂规</div>
-					<div class="menu3" @click="jump('caseDetail')">鍒惰嵂琛屼笟瑙e喅鏂规</div>
-					<div class="menu3 more" @click="jump('caseSolution')">鏇村 <img src="../img/more.png" alt=""></div>
+					<div>
+						<div class="menu3" :class="{'more active': index === products.length - 1, 'active': selectedsubId === product.Id}"
+							@click="jump(product.url, product.Id, 'submenu')" v-for="(product, index) in products" :key="index">{{product.text}}</div>
+						<div style="clear: both;"></div>
+					</div>
+					
+					<div class="menu3" :class="{'more active': index === solutions.length - 1, 'active': selectedsubId === solution.Id}"
+						@click="jump(solution.url, solution.Id, 'submenu')" v-for="(solution, index) in solutions" :key="index">{{solution.text}}</div>
 					<div style="clear: both;"></div>
 				</el-collapse-item>
 				<el-collapse-item class="el_coll">
 					<template slot="title">
-						<span @click="jump('successCase')" class="title_s">鎴愬姛妗堜緥</span>
+						<span @click="jump('SuccessCase')" class="title_s">鎴愬姛妗堜緥</span>
 					</template>
 				</el-collapse-item>
 				<el-collapse-item class="el_coll">
 					<template slot="title">
-						<span @click="jump('partner')" class="title_s">娓犻亾鍚堜綔</span>
+						<span @click="jump('Partner')" class="title_s">娓犻亾鍚堜綔</span>
 					</template>
 				</el-collapse-item>
 				<el-collapse-item class="el_coll">
 					<template slot="title">
-						<span @click="jump('news')" class="title_s">鏂伴椈璧勮</span>
+						<span @click="jump('News')" class="title_s">鏂伴椈璧勮</span>
 					</template>
 				</el-collapse-item>
 				<el-collapse-item>
 					<template slot="title">
-						<span @click="jump('companyProfile')" class="title_s">鍏充簬鏄庣</span>
+						<span @click="jump('CompanyProfile')" class="title_s">鍏充簬鏄庣</span>
 					</template>
-					<div class="menu2" @click="jump('companyProfile#anchor-1')">浼佷笟鏂囧寲</div>
-					<div class="menu2" @click="jump('companyProfile#anchor-2')">鑽h獕璧勮川</div>
-					<div class="menu2" @click="jump('companyProfile#anchor-3')">鑱旂郴鏄庣</div>
-					<div class="menu2" @click="jump('joinMingKe')">鍔犲叆鏄庣</div>
+					<div class="menu2" @click="jump('CompanyProfile', 0, 'aboutUs')">浼佷笟鏂囧寲</div>
+					<div class="menu2" @click="jump('CompanyProfile', 1, 'aboutUs')">鑽h獕璧勮川</div>
+					<div class="menu2" @click="jump('CompanyProfile', 2, 'aboutUs')">鑱旂郴鏄庣</div>
+					<div class="menu2" @click="jump('JoinMingKe')">鍔犲叆鏄庣</div>
 				</el-collapse-item>
 			</el-collapse>
 		</div>
@@ -88,10 +82,10 @@
 				activeNames: ['1'],
 				cur: 0,
 				isShow: false,
-				isShowChild: false,
+				selectedsubId: null,
 				menus: [{
 						text: '棣栭〉',
-						url: '/',
+						url: 'Index',
 					},
 					{
 						text: '浜у搧涓績',
@@ -100,139 +94,115 @@
 					},
 					{
 						text: '鎴愬姛妗堜緥',
-						url: '/successCase',
+						url: 'SuccessCase',
 					},
 					{
 						text: '娓犻亾鍚堜綔',
-						url: '/partner'
+						url: 'Partner'
 					},
 					{
 						text: '鏂伴椈璧勮',
-						url: '/news'
+						url: 'News'
 					},
 					{
 						text: '鍏充簬鏄庣',
-						url: '/companyProfile',
+						url: 'CompanyProfile',
 						flag: false,
 					}
 				],
-				secondMenus: [{
-						text: '浜у搧涓績',
-						url: 'center'
-					},
-					{
-						text: 'MingKeOS',
-						url: 'productCenter'
-					},
-					{
-						text: '鏅烘収浠撳偍',
-						url: 'productCenter'
-					},
-					{
-						text: '璐ㄩ噺杩芥函',
-						url: 'productCenter'
-					},
-					{
-						text: '鏇村 銆�',
-						url: '/center'
-					},
-				],
-				secondMenus1: [{
-						text: '瑙e喅鏂规',
-						url: '/caseSolution'
-					},
-					{
-						text: '鐢靛姩宸ュ叿琛屼笟瑙e喅鏂规',
-						url: '/caseDetail'
-					},
-					{
-						text: '绯荤粺闆嗘垚琛屼笟瑙e喅鏂规',
-						url: '/caseDetail'
-					},
-					{
-						text: '鐢靛瓙鍟嗗姟琛屼笟瑙e喅鏂规',
-						url: '/caseDetail'
-					},
-					{
-						text: '鍒惰嵂琛屼笟瑙e喅鏂规',
-						url: '/caseDetail'
-					},
-					{
-						text: '鏇村 銆�',
-						url: '/caseSolution'
-					}
-				],
-				secondMenus2: [{
+				products: null,
+				solutions: null,
+				minkesoft: [{
 						text: '浼佷笟鏂囧寲',
-						url: '/companyProfile'
+						url: 'CompanyProfile'
 					},
 					{
 						text: '鑽h獕璧勮川',
-						url: '/companyProfile'
+						url: 'CompanyProfile'
 					},
 					{
 						text: '鑱旂郴鏄庣',
-						url: '/companyProfile'
+						url: 'CompanyProfile'
 					},
 					{
 						text: '鍔犲叆鏄庣',
-						url: '/joinMingKe'
-					},
+						url: 'JoinMingKe'
+					}
 				]
 			}
 		},
 		methods: {
-			goHere (path) {
-				this.$router.push({
-					path: path
-				});
+			jump (name, index, type) {
+				if (!name) return
+				this.selectedsubId = null
+				this.isShow = false
+				if (!type) { // 涓婚〉闈㈣烦杞�
+					if (name === 'CompanyProfile') { // 鍏充簬鏄庣,閿氱偣鍙傛暟
+						this.$router.push({name: name, params: {hash: 'null'}})
+					} else {
+						this.$router.push({name: name})
+					}
+				} else if (type === 'submenu') { // 浜у搧涓績瀛愰〉闈㈣烦杞�
+					this.menus[1].flag = false
+					this.menus[5].flag = false
+					this.selectedsubId = index
+					this.$router.push({name: name, params: {menuId: index}})
+				} else if (type === 'aboutUs') { // 鍏充簬鏄庣瀛愰〉闈㈣烦杞�
+					if (index === 3) { // 鍔犲叆鏄庣
+						this.$router.push({name: name})
+					} else {
+						this.$router.push({name: 'CompanyProfile', params: {hash: `#anchor-${index + 1}`}})
+					}
+				}
 			},
 			showNav () {
-				this.isShow = !this.isShow;
+				this.isShow = !this.isShow
 				this.$refs.nav_ul.style.left = this.isShow ? (0 + 'px') : (-1000 + 'px')
 			},
-			add (index) {
+			contrlSubmenu (index) {
 				this.cur = index
 				if (index == 1) {
-					this.menus[index].flag = !this.menus[index].flag;
-					this.menus[5].flag = false;
+					this.menus[index].flag = !this.menus[index].flag
+					this.menus[5].flag = false
 				} else if (index == 5) {
-					this.menus[index].flag = !this.menus[index].flag;
-					this.menus[1].flag = false;
+					this.menus[index].flag = !this.menus[index].flag
+					this.menus[1].flag = false
 				} else {
-					this.menus[1].flag = false;
-					this.menus[5].flag = false;
+					this.menus[1].flag = false
+					this.menus[5].flag = false
 				}
 			},
 			leave () {
-				this.menus[1].flag = false;
-				this.menus[5].flag = false;
-			},
-			add5 (u,i) {
-				if(i != 4){
-					this.$router.push(`${u}#anchor-${i}`)
-				}else{
-					this.$router.push(u)
-				}
-			},
-			adda (index) {
-				if (index == 1 || index == 5) {
-					this.menus[index].flag = false;
-				}
-			},
-			add1 (e, index) {
-				console.log(index)
-			},
-			//绉诲姩绔烦杞�
-			jump (u) {
-				this.isShow = false
-				this.$router.push(u)
+				this.menus[1].flag = false
+				this.menus[5].flag = false
 			},
 			load () {
-				this.$axios({
-					data: {
-						func: 'Web_Index_GetData'
-					}
+				this.Service.getBaseData('Web_Index_GetData').then(res => {
+					this.products = res.Product.map(pro => {
+						return {
+							Id: pro.ID,
+							text: pro.Title1,
+							url: pro.PageType
+						}
+					})
+					this.products.push({
+						Id: this.products[0].Id,
+						text: '鏇村 >>',
+						url: this.products[0].url
+					})
+
+					this.solutions = res.Solution.map(pro => {
+						return {
+							Id: pro.ID,
+							text: pro.Title1,
+							url: pro.PageType
+						}
+					})
+					this.solutions.push({
+						Id: this.solutions[0].Id,
+						text: '鏇村 >>',
+						url: this.solutions[0].url
+					})
 				})
 			}
 		},
@@ -315,6 +285,10 @@
 				display: none;
 			}
 
+			.hidden {
+				display: none;
+			}
+
 			li {
 				float: left;
 				line-height: 0.68rem;
@@ -368,7 +342,7 @@
 			border-right: 1px solid #999999;
 
 			li:last-child {
-				margin-top: .3rem;
+				// margin-top: .3rem;
 				text-align: right;
 			}
 		}
@@ -410,7 +384,11 @@
 		}
 
 		.plane {
-			display: block !important;
+			display: block;
+			height: 100%;
+			background-color: #282830;
+			padding: 0.3rem 0 1rem;
+			overflow-y: scroll;
 		}
 
 		.nav_ul {
@@ -523,7 +501,9 @@
 				margin-left: 0.2rem;
 			}
 		}
-
+		.menu3.active {
+			color: #ffffff;
+		}
 		.more {
 			float: right;
 			padding-right: 0.5rem;
diff --git a/src/main.js b/src/main.js
index 0d2582d..6fc7ac5 100644
--- a/src/main.js
+++ b/src/main.js
@@ -2,7 +2,7 @@
 import App from '@/App'
 import router from '@/router'
 import Vuex from 'vuex'
-import axios from '@/config/axios_init'
+// import axios from '@/config/axios_init'
 import ElementUi from 'element-ui'
 import 'element-ui/lib/theme-chalk/index.css'
 import store from '@/store'
@@ -12,6 +12,7 @@
 import '@/css/el_reset.css'
 import '@/css/fonts.css'
 import '@/js/main.js'
+import Service from '@/store/service.js'
 
 import Header from "@/components/header.vue";
 Vue.component(Header.name, Header); // 澶撮儴缁勪欢
@@ -23,7 +24,8 @@
 
 Vue.config.productionTip = false
 Vue.config.devtools = true
-Vue.prototype.$axios = axios
+// Vue.prototype.$axios = axios
+Vue.prototype.Service = new Service()
 
 Vue.use(ElementUi);
 Vue.use(Vuex);
diff --git a/src/router/index.js b/src/router/index.js
index 6a2653e..3ebbf2a 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -45,7 +45,7 @@
       },
       {
         name: 'ProductCenter',
-        path: '/productCenter',//浜у搧杞欢
+        path: '/productCenter/:menuId',//浜у搧杞欢
         component: ProductCenter
       },
       {
@@ -53,13 +53,13 @@
         path: '/successCase',//鎴愬姛妗堜緥
         component: SuccessCase,
       },{
-        name: 'SuccessCaseIndex',
-        path: '/SuccessCaseIndex',//鎴愬姛妗堜緥 璇︽儏
+        name: 'successCaseIndex',
+        path: '/SuccessCaseIndex/:menuId',//鎴愬姛妗堜緥 璇︽儏
         component: SuccessCaseIndex,
       },
       {
         name: 'CaseDetail',
-        path: '/caseDetail',//瑙e喅鏂规 璇︽儏
+        path: '/caseDetail/:menuId',//瑙e喅鏂规 璇︽儏
         component: CaseDetail
       },
       {
@@ -84,7 +84,7 @@
       },
       {
         name: 'CompanyProfile',
-        path: '/companyProfile',//浼佷笟鏂囧寲
+        path: '/companyProfile/:hash',//浼佷笟鏂囧寲
         component: CompanyProfile
       },
       {
diff --git a/src/store/service.js b/src/store/service.js
new file mode 100644
index 0000000..371f12d
--- /dev/null
+++ b/src/store/service.js
@@ -0,0 +1,82 @@
+import axios from 'axios'
+
+axios.defaults.baseURL = '/minkesoft/webapi/dostar'
+axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
+axios.defaults.crossDomain = true
+axios.defaults.withCredentials = true
+
+axios.interceptors.request.use((config) => {
+  // 鍦ㄥ彂閫佽姹備箣鍓嶅仛浜涗粈涔�
+  config.data == undefined ? config.data = {} : false
+  config.method = 'post'
+  config.data.userid = ''
+  config.data = JSON.stringify(config.data)
+  return config
+}, (error) => {
+  // 瀵硅姹傞敊璇仛浜涗粈涔�
+  return Promise.reject(error)
+});
+
+axios.interceptors.response.use((response) => {
+  // 瀵瑰搷搴旀暟鎹仛鐐逛粈涔�
+  // response.data = JSON.parse(response.data)
+  return Promise.resolve(response.data)
+}, (error) => {
+  // 瀵瑰搷搴旈敊璇仛鐐逛粈涔�
+  return Promise.resolve(error)
+});
+
+export default class Service {
+  constructor () {
+
+  }
+
+  /**
+   * @description 鑾峰彇瀹樼綉鍩虹鏁版嵁锛屽苟缂撳瓨鑷硈ession
+   * @param {String} DBS 瀛樺偍杩囩▼
+   */
+  getBaseData (DBS) {
+    // let cachedata = sessionStorage.getItem(DBS)
+    let cachedata = ''
+    if (cachedata) {
+      return Promise.resolve(JSON.parse(cachedata))
+    } else {
+      return new Promise(resolve => {
+        axios({
+          data: {
+            func: DBS
+          }
+        }).then(res => {
+          if (res.status) {
+            sessionStorage.setItem(DBS, JSON.stringify(res))
+          }
+          resolve(res)
+        })
+      })
+    }
+  }
+
+  /**
+   * @description 鑾峰彇瀹樼綉鍩虹鏁版嵁锛屽苟缂撳瓨鑷硈ession
+   * @param {String} param 璇锋眰鍙傛暟
+   */
+  getParamData (param) {
+    let _param = JSON.stringify(param)
+    // let cachedata = sessionStorage.getItem(_param)
+    let cachedata = ''
+    if (cachedata) {
+      return Promise.resolve(JSON.parse(cachedata))
+    } else {
+      return new Promise(resolve => {
+        axios({
+          data: param
+        }).then(res => {
+          if (res.status) {
+            sessionStorage.setItem(_param, JSON.stringify(res))
+          }
+          resolve(res)
+        })
+      })
+    }
+  }
+}
diff --git a/src/views/companyProfile/index.vue b/src/views/companyProfile/index.vue
index 796f59f..51d040d 100644
--- a/src/views/companyProfile/index.vue
+++ b/src/views/companyProfile/index.vue
@@ -256,15 +256,18 @@
 export default {
 	data() {
 		return {
-      img_index:0,
-      anchor:false,
+      img_index: 0,
+      anchor: false
 		}
 	},
-	mounted () {
-    let url = location.href
-    let hash = url.substring(url.length-9)
-    this.get_anchor(hash)
-	},
+  watch: { //鐩戝惉璺敱
+    $route (to, from) {
+      if (to.params.hash && to.params.hash !== 'null') {
+        this.anchor = true
+        this.get_anchor(to.params.hash)
+      }
+    }
+  },
 	methods: {
     //鏍规嵁hash鍊艰烦杞笉鍚岄敋鐐�
 		get_anchor (hash) {
@@ -273,18 +276,13 @@
       }
     }
   },
-  destroyed () { //杩斿洖椤堕儴
-    document.body.scrollTop = 0
-    document.documentElement.scrollTop = 0
-  },
-  watch: { //鐩戝惉璺敱
-    $route (to,from) {
-      if (to.hash) {
-        this.anchor = true
-        this.get_anchor(to.hash)
-      }
+	mounted () {
+    let hash = this.$route.params.hash
+    if (hash && hash !== 'null') {
+      this.anchor = true
+      this.get_anchor(hash)
     }
-  }
+	}
 }
 </script>
 
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 4067efe..32426b9 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -80,7 +80,7 @@
 			width: 0.6rem;
 			height: 0.6rem;
 			bottom: 2.2rem;
-			z-index: 9999;
+			z-index: 100;
 
 			.img {
 				width: 0.6rem;
diff --git a/src/views/index/index.vue b/src/views/index/index.vue
index 9e94bcd..650fa91 100644
--- a/src/views/index/index.vue
+++ b/src/views/index/index.vue
@@ -1,6 +1,7 @@
 <template>
 	<div class="main">
-		<div class="banner"><img src='../../img/home.jpg' alt=""></div>
+		<canvas id="canvas" style="position: absolute;z-index: 1;top: 0px;"></canvas>
+		<div class="banner"><img id="homeId" src='../../img/home.jpg' alt=""></div>
 		<div class="wrapper-box">
 			<h3 class="content_title fadeInUp zoomIn animated"><span>涓昏惀涓氬姟</span></h3>
 			<div class="m_zhu" v-for="(business, index) in mainBusiness" :key="index">
@@ -30,7 +31,7 @@
 			<div class="wrapper">
 				<ul class="business_ul">
 					<router-link tag="li" to="/caseDetail" v-for="(business, index) in mainBusiness" :key="index" class="fadeInUp" v-drag>
-						<router-link tag="div" class="business_box animated pulse" :key="index" to="/caseDetail">
+						<router-link tag="div" class="business_box pulse" :key="index" to="/caseDetail">
 							<div class="business_box_t" :style="'background-image: url(' + business.Image1 + ')'">
 								<div class="bgopacity"></div>
 								<h2 v-text="business.Title2"></h2>
@@ -56,7 +57,7 @@
 								<el-button>鏌ョ湅鏇村</el-button>
 							</div>
 							<div class="particulars">
-								<a href="/caseDetail" style="color: #14A9E5;">浜嗚В璇︽儏 >></a>
+								<a href="/caseDetail">浜嗚В璇︽儏 &gt;&gt;</a>
 							</div>
 						</router-link>
 						<div class="business">
@@ -175,67 +176,149 @@
 	</div>
 </template>
 <script>
-	export default {
-		data() {
-			return {
-				brothers: '',
-				data: [],
-				img_index: 0,
-				mainBusiness: null,
-				cases: null,
-				news: null
-			}
+// import * as dat from 'dat.gui'
+
+export default {
+	data() {
+		return {
+			brothers: '',
+			data: [],
+			img_index: 0,
+			mainBusiness: null,
+			cases: null,
+			news: null
+		}
+	},
+	methods:{
+		jump (u) {
+			this.$router.push(u)
 		},
-		methods:{
-			jump (u) {
-				this.$router.push(u)
-			},
-			load () {
-				this.$axios({
-					data: {
-						func: 'Web_Index_GetData'
-					}
-				}).then(res => {
-					this.mainBusiness = res.Main
-					this.cases = res.Case
-					this.news = res.News
-				})
-				this.$axios({
-					data: {
-						func: 'Web_productCenter_GetData',
-						ID: '20190726105746487D81C9D31A08C4C55A81C'
-					}
-				}).then(res => {
-					console.log(res)
-				})
-			}
+		load () {
+			this.Service.getBaseData('Web_Index_GetData').then(res => {
+				this.mainBusiness = res.Main
+				this.cases = res.Case
+				this.news = res.News
+			})
 		},
-		directives: {
-			drag: function(el) {
-				//鑾峰彇褰撳墠鍏冪礌
-				let dragBox = el;
-				dragBox.onmousemove = e => {
-					let brothers = e.currentTarget.firstElementChild;
-					let box = dragBox.childNodes[2];
-					box.style.opacity = 0;
-					brothers.style.display = 'block';
-					brothers.style.opacity = '0.95';
-					brothers.style.zIndex = '999'
-				};
-				dragBox.onmouseout = e => {
-					let brothers = e.currentTarget.firstElementChild;
-					let box = dragBox.childNodes[2];
-					box.style.opacity = 1;
-					box.style.display = 'block'
-					brothers.style.opacity = '0.95';
-					brothers.style.display = 'none';
+		setgui (radio) {
+			let canvas = document.getElementById('canvas')
+			let ctx = canvas.getContext('2d')
+			let w = ctx.canvas.width = window.innerWidth
+			let h = ctx.canvas.height = window.innerWidth / radio + 80
+			let dots = []
+			let cx = -200 // 缁樺浘涓偣x
+			let cy = -200 // 缁樺浘涓偣y
+			let emitter = null // 瀹氭椂鍣�
+			let maxDots = 500 // 鏈�澶х粯鍥剧偣
+			let maxSpeed = 3
+			let minSpeed = 1
+			let emitRate = 10
+			let emitNum = 2
+			let radius = 2
+			let trail = 0.2
+			let maxTime = 3000
+			let minTime = 1000
+			let glow = 0
+
+			let emitDots = (x, y) => {
+				if (dots.length < maxDots) {
+					for (let i = 0; i < emitNum; i++) {
+						let color = Math.floor(Math.random() * 255)
+						dots.push({
+							x: cx,
+							y: cy,
+							v: Math.random() * (maxSpeed - minSpeed) + minSpeed,
+							d: Math.random() * 360,
+							c: Math.random() * (5 - (-5)) + (-5),
+							h: color,
+							st: Date.now(),
+							lt: Math.random() * (maxTime - minTime) + minTime
+						})
+					}
 				}
 			}
-		},
-		mounted () {
-			this.load()
+
+			let draw = () => {
+				ctx.clearRect(0, 0, w, h)
+				// ctx.fillStyle = 'rgba(0,0,0,' + trail + ')'
+				ctx.fillStyle = 'rgba(255, 255, 255, 0)'
+				ctx.fillRect(0, 0, w, h)
+				ctx.fill()
+				for (let i = 0; i < dots.length; i++) {
+					let pct = (Date.now() - dots[i].st) / dots[i].lt
+
+					ctx.save()
+					ctx.beginPath()
+					ctx.fillStyle = 'hsla(' + dots[i].h + ', 100%, 50%, ' + (1-pct) + ')'
+					ctx.shadowColor = 'hsla(' + dots[i].h + ', 100%, 50%, 1)'
+					ctx.shadowBlur = glow
+					ctx.arc(dots[i].x, dots[i].y, Math.pow(radius, 2) / dots[i].v, 0, Math.PI * 2)
+					ctx.fill()
+					ctx.closePath()
+					ctx.restore()
+
+					dots[i].x += dots[i].v * Math.cos(dots[i].d * Math.PI/180)
+					dots[i].y += dots[i].v * Math.sin(dots[i].d * Math.PI/180)
+					dots[i].d += dots[i].c
+					
+					if (dots[i].x > w || dots[i].x < 0 || dots[i].y > h || dots[i].y < 0 || dots[i].st + dots[i].lt < Date.now()) {
+						dots.splice(i, 1)
+					}
+				}
+				requestAnimationFrame(draw) // 
+			}
+
+			emitter = setInterval(emitDots, emitRate)
+			draw()
+
+			canvas.onmousemove = (e) => {
+				let offset = document.documentElement.scrollTop || document.body.scrollTop
+				cx = e.clientX
+				cy = e.clientY + offset
+			}
+			canvas.onmouseleave = () => {
+				cx = -200
+				cy = -200
+			}
+			window.onresize = () => {
+				w = ctx.canvas.width = window.innerWidth
+				h = ctx.canvas.height = window.innerWidth / radio + 80
+			}
+		}
+	},
+	directives: {
+		drag: function(el) {
+			//鑾峰彇褰撳墠鍏冪礌
+			let dragBox = el;
+			dragBox.onmousemove = e => {
+				let brothers = e.currentTarget.firstElementChild;
+				let box = dragBox.childNodes[2];
+				box.style.opacity = 0;
+				brothers.style.display = 'block';
+				brothers.style.opacity = '0.95';
+				brothers.style.zIndex = '999'
+			};
+			dragBox.onmouseout = e => {
+				let brothers = e.currentTarget.firstElementChild;
+				let box = dragBox.childNodes[2];
+				box.style.opacity = 1;
+				box.style.display = 'block'
+				brothers.style.opacity = '0.95';
+				brothers.style.display = 'none';
+			}
+		}
+	},
+	mounted () {
+		this.load()
+		let width = window.innerWidth
+		if (width > 750) {
+			setTimeout(() => {
+				let radio = document.getElementById('homeId').width / document.getElementById('homeId').height
+				this.setgui(radio)
+			}, 2000)
 		}
 	}
+}
 </script>
 <style scoped lang="less">
 	.pc_case {
@@ -273,6 +356,7 @@
 		}
 	}
 	.dynamic_ul li {
+		position: relative;
 		h2 {
 			padding: 0 .11rem;
 
@@ -318,6 +402,9 @@
 	}
 
 	@media (max-width: 750px) and (min-width: 0) {
+		#canvas {
+			display: none;
+		}
 		.mob_case {
 			background: #ffffff;
 			position: relative;
@@ -432,6 +519,7 @@
 			}
 
 			.see-detail {
+				cursor: pointer;
 				font-size: 0.24rem;
 				font-family: PingFang-SC-Medium;
 				font-weight: 500;
@@ -664,25 +752,30 @@
 			height: 3rem;
 			margin: 0.69rem 0 .85rem;
 		}
-		.business_ul > li:hover {
-			z-index: 1000;
-		}
+		
 		.business_ul > li {
 			display: inline-block;
 			text-align: center;
-			background: rgba(255, 255, 255, 1);
+			background: transparent;
 			flex: 1;
 			height: 4rem;
 			padding-bottom: 0.1rem;
 			box-sizing: border-box;
 			position: relative;
-			-webkit-transition: transform 1s, opacity 1s;
-			-moz-transition: transform 1s, opacity 1s;
-			-o-transition: transform 1s, opacity 1s;
-			transition: transform 1s, opacity 1s;
+			// -webkit-transition: transform 1s, opacity 1s;
+			// -moz-transition: transform 1s, opacity 1s;
+			// -o-transition: transform 1s, opacity 1s;
+			// transition: transform 1s, opacity 1s;
+			transition: all 0.3s;
 
+			.pulse {
+				width: 85%;
+				margin: 0 auto;
+				opacity: 0;
+			}
 			.business {
 				position: absolute;
+				opacity: 1;
 				top: .1rem;
 				left: .3rem;
 				width: 85%;
@@ -717,7 +810,17 @@
 				margin-top: 0.04rem;
 			}
 		}
-
+		.business_ul > li:hover {
+			transform: scale(1.1);
+			z-index: 1000;
+			.business {
+				z-index: -1;
+				opacity: 0;
+			}
+			.pulse {
+				opacity: 1;
+			}
+		}
 		.business_box {
 			display: none;
 			width: 100%;
@@ -770,10 +873,10 @@
 					height: 0.55rem;
 
 					h3 {
-						img {
-							width: .2rem;
-							height: .2rem;
-							margin-bottom: 0.13rem;
+						margin-bottom: 0.07rem;
+						.fa {
+							font-size: 0.20rem;
+							color: #1CACE6;
 						}
 					}
 
@@ -781,6 +884,9 @@
 						font-size: 0.12rem;
 						color: #838383;
 					}
+					// div > p:last-child {
+					// 	font-size: 0.12rem;
+					// }
 				}
 			}
 		}
@@ -833,6 +939,11 @@
 			padding: 0 .2rem;
 			text-align: right;
 			color: #14A9E5;
+			a {
+				display: inline-block;
+				color: #14A9E5;
+				cursor: pointer;
+			}
 		}
 
 		.content_subtitle {
@@ -896,7 +1007,8 @@
 		}
 
 		.dynamic_ul_card {
-			background: rgba(243, 243, 243, 1);
+			// background: rgba(243, 243, 243, 1);
+			background: rgba(0, 0, 0, 0.02);
 			height: 2.56rem;
 
 			h2 {
@@ -913,7 +1025,10 @@
 		.wrapper:last-child .content_title {
 			margin: 1rem 0 1.21rem;
 		}
-
+		.platform_ul>li {
+			transition: all 0.5s;
+			position: relative;
+		}
 		.platform_ul>li:hover {
 			transform: scale(1.2);
 			box-shadow: 0px 0px 38px 0px rgba(79, 78, 80, 0.15);
diff --git a/src/views/productCenter/index.vue b/src/views/productCenter/index.vue
index b90593c..fee86c0 100644
--- a/src/views/productCenter/index.vue
+++ b/src/views/productCenter/index.vue
@@ -1,133 +1,54 @@
 <template>
   <div class="main">
-    <div class="banner m_hide" style="margin-bottom: 1rem;"><img src="../../img/ban.png" alt=""></div>
-    <div class="banner p_hide" style="margin-bottom: 1rem;"><img src="../../img/m_ban.png" alt=""></div>
-    <div class="wrapper platform">
-      <div class="content_title"><span>鏄庣鍟嗕笟鏅鸿兘寮�鏀惧钩鍙�</span></div>
-      <p>鏄庣鍟嗕笟鏅鸿兘寮�鏀惧钩鍙�(MingKe Business聽Intelligen OS锛岀畝绉帮細MingKeOS)鏄敱鏄庣浜戣绠椾簨涓氶儴鐮斿彂鐨勫彲閰嶇疆浜哄伐鏅鸿兘寮�鍙戝钩鍙帮紝浣跨敤MingKeOS鍙互璁╃敤鎴烽�氳繃绠�鍗曢厤缃�佽嚜鐒惰瑷�瀵硅瘽鐨勪氦浜掓柟寮忥紝鍗冲彲瀹炵幇浼佷笟绠$悊杩囩▼涓鏉傜殑涓氬姟閫昏緫澶勭悊锛屽钩鍙板唴缃噰璐�佺敓浜с�侀攢鍞�佹妧鏈�佸搧鎺с�佽拷婧�佸敭鍚庛�佷緵搴斿晢銆佺粡閿�鍟嗐�佸簱瀛樸�佽储鍔$數鍟嗐�佹暟鎹腑蹇冦�佹帴鍙c�佷汉宸ユ櫤鑳斤紙Kane锛夌瓑28澶т笟鍔¢鍩熸ā鍧楃殑鍔熻兘鎿嶄綔锛屾槑绉戜綔涓哄浗鍐呴瀹跺皢浜哄伐鏅鸿兘搴旂敤浜庝紒涓氱鐞嗛鍩熺殑浼佷笟锛屽�熷姪浜戣绠椾腑蹇冿紝Kane鍙互杩涜娣卞害瀛︿範锛屼細鎴愪负浼佷笟绠$悊鐨勫ソ甯墜銆�</p>
-    </div>
-    <div class="wrapper scene">
-      <div class="content_title"><span>搴旂敤鍦烘櫙</span></div>
-      <div class="content_scene">
-        <span class="scene scene-img"><img src="../../img/p1.png" alt=""><span class="txt">渚涘簲鍟嗗崗鍚�</span></span>
-        <span class="scene scene-img"><img src="../../img/p2.png" alt=""><span class="txt txt2">WMS<br />浠撳簱绠$悊绯荤粺</span></span>
-        <span class="scene scene-img"><img src="../../img/p3.png" alt=""><span class="txt txt2">QTS<br />璐ㄩ噺杩芥函绯荤粺</span></span>
-        <span class="scene scene-img"><img src="../../img/p4.png" alt=""><span class="txt">缁忛攢鍟嗙鐞�</span></span>
-        <span class="scene scene-img"><img src="../../img/p5.png" alt=""><span class="txt txt2">MES<br />鏅鸿兘鍒堕��</span></span>
-        <span class="scene scene-img">
-          <img src="../../img/jing.png" alt="" class="m_img"><span class="txt m_img">缁忛攢鍟嗙鐞�</span>
-          <img src="../../img/p6.png" alt="" class="p_img">
-          <span class="txt p_img" style="color: black;bottom: 0;">缁忛攢鍟嗙鐞�</span>
-        </span>
+    <div class="banner"><img :src="url" alt=""></div>
+    <div v-for="(item, index) in details" :key="index">
+      <div v-if="item.type === 'WLongText'" class="wrapper platform">
+        <div class="content_title"><span v-text="item.title"></span></div>
+        <p v-text="item.longText"></p>
       </div>
-    </div>
-    <div class="wrapper skill">
-      <div class="content_title"><span>鏍稿績鎶�鏈�</span></div>
-      <div class="content_skill" >
-        <div class="content_skill_item">
-          <div><img src="../../img/p7.png" alt=""></div>
-          <p>鍙厤缃紑鍙�</p>
-        </div>
-        <div class="content_skill_item">
-          <div><img src="../../img/p8.png" alt=""></div>
-          <p>涓夊睆鍚堜竴</p>
-        </div>
-        <div class="content_skill_item">
-          <div><img src="../../img/p9.png" alt=""></div>
-          <p>鎺ュ彛鎶�鏈�</p>
-        </div>
-        <div class="content_skill_item">
-          <div><img src="../../img/p10.png" alt=""></div>
-          <p>璇█鍖�</p>
-        </div>
-        <div class="content_skill_item">
-          <div><img src="../../img/p11.png" alt=""></div>
-          <p>IOT</p>
+      <div v-else-if="item.type === 'Wimages'" class="wrapper scene">
+        <div class="content_title"><span v-text="item.title"></span></div>
+        <div class="content_scene">
+          <span class="scene scene-img" v-for="(img, index) in item.imglist" :key="index">
+            <img :src="img.url" alt="">
+            <span class="txt" :class="'txt' + img.position" :style="'color:' + img.color">
+              <p v-text="img.title"></p>
+              <p v-text="img.tip"></p>
+            </span>
+          </span>
         </div>
       </div>
-    </div>
-    <div class="wrapper industry">
-      <div class="content_title"><span>閫傜敤琛屼笟</span></div>
-      <div class="content_industry">
-        <div class="content_industry_card">
-          <h3>瑁呭鍒堕��</h3>
-          <p>涓浗姝e湪鎴愪负鍏ㄧ悆鍒堕�犱笟鐨勪腑蹇冿紝涓浗鏄埗閫犱笟澶у浗锛屼絾杩樹笉鏄己鍥姐�傚洜姝わ紝鍥藉纭畾浜嗛�氳繃淇℃伅鍖栧甫鍔ㄥ伐涓氬寲鐨勫浗绛栵紝鎺ㄥ姩鍒堕�犱紒涓氬疄鏂藉埗閫犱笟淇℃伅鍖栵紝浜у搧璁捐鍒堕�犲拰浼佷笟绠$悊鐨勪俊鎭寲銆佺敓浜ц繃绋嬫帶鍒剁殑鏅鸿兘鍖栥�佸埗閫犺澶囩殑鏁版帶鍖栦互鍙婂挩璇㈡湇鍔$殑缃戠粶鍖栵紝鍏ㄩ潰鎻愬崌鍒堕�犱笟鐨勭珵浜夊姏銆�</p>
-          <div class="content_industry_list">
-            <ul>
-              <li>路 渚涘簲鍟嗗崗鍚屽钩鍙�</li>
-              <li>路 鐗╂枡浠撳簱绠$悊绯荤粺</li>
-              <li>路 鍒堕�犳墽琛岀郴缁�</li>
-              <li>路 鎴愬搧浠撳簱绠$悊绯荤粺</li>
-              <li>路 璐ㄩ噺杩芥函绯荤粺</li>
-              <li>路 缁忛攢鍟嗙鐞嗗钩鍙�</li>
-            </ul>
-            <img src="../../img/p12.png" alt="">
-          </div>
-        </div>
-        <div class="content_industry_card">
-          <h3>鍟嗕笟娴侀��</h3>
-          <p>闅忕潃浜掕仈缃戠殑蹇�熷彂灞曪紝鐢靛瓙鍟嗗姟琛屼笟鍙戝睍杩呯寷锛屼綔涓轰簰鑱旂綉鍜岀浉鍏虫湇鍔′笟涓柊涓氭�侊紝涓嶄粎鍒涢�犱簡鏂扮殑娑堣垂闇�姹傦紝鍚屾椂涔熷紩鍙戜簡鏂扮殑鎶曡祫鏂版疆锛屽紑杈熶簡灏变笟澧炴敹鏂版笭閬擄紝涓哄ぇ浼椼�佷竾浼楀垱鏂版彁渚涗簡鏂扮┖闂淬��</p>
-          <div class="content_industry_list">
-            <ul>
-              <li>路 鐢靛晢绯荤粺</li>
-              <li>路 浠撳簱绠$悊绯荤粺</li>
-            </ul>
-            <img src="../../img/p13.png" alt="">
+      <div v-else-if="item.type === 'Wico'" class="wrapper skill">
+        <div class="content_title"><span v-text="item.title"></span></div>
+        <div class="content_skill">
+          <div class="content_skill_item" v-for="(icon, index) in item.iconlist" :key="index">
+            <div><img :src="icon.url" alt=""></div>
+            <p v-text="icon.title"></p>
           </div>
         </div>
       </div>
-      <div class="content_industry">
-        <div class="content_industry_card">
-          <h3>瑁呭鍒堕��</h3>
-          <p>涓浗姝e湪鎴愪负鍏ㄧ悆鍒堕�犱笟鐨勪腑蹇冿紝涓浗鏄埗閫犱笟澶у浗锛屼絾杩樹笉鏄己鍥姐�傚洜姝わ紝鍥藉纭畾浜嗛�氳繃淇℃伅鍖栧甫鍔ㄥ伐涓氬寲鐨勫浗绛栵紝鎺ㄥ姩鍒堕�犱紒涓氬疄鏂藉埗閫犱笟淇℃伅鍖栵紝浜у搧璁捐鍒堕�犲拰浼佷笟绠$悊鐨勪俊鎭寲銆佺敓浜ц繃绋嬫帶鍒剁殑鏅鸿兘鍖栥�佸埗閫犺澶囩殑鏁版帶鍖栦互鍙婂挩璇㈡湇鍔$殑缃戠粶鍖栵紝鍏ㄩ潰鎻愬崌鍒堕�犱笟鐨勭珵浜夊姏銆�</p>
-          <div class="content_industry_list">
-            <ul>
-              <li>路 渚涘簲鍟嗗崗鍚屽钩鍙�</li>
-              <li>路 鐗╂枡浠撳簱绠$悊绯荤粺</li>
-              <li>路 鍒堕�犳墽琛岀郴缁�</li>
-              <li>路 鎴愬搧浠撳簱绠$悊绯荤粺</li>
-              <li>路 璐ㄩ噺杩芥函绯荤粺</li>
-              <li>路 缁忛攢鍟嗙鐞嗗钩鍙�</li>
-              <li>路 鍖昏嵂鐢靛晢</li>
-            </ul>
-            <img src="../../img/p14.png" alt="">
-          </div>
-        </div>
-        <div class="content_industry_card">
-          <h3>鍟嗕笟娴侀��</h3>
-          <p>闅忕潃浜掕仈缃戠殑蹇�熷彂灞曪紝鐢靛瓙鍟嗗姟琛屼笟鍙戝睍杩呯寷锛屼綔涓轰簰鑱旂綉鍜岀浉鍏虫湇鍔′笟涓柊涓氭�侊紝涓嶄粎鍒涢�犱簡鏂扮殑娑堣垂闇�姹傦紝鍚屾椂涔熷紩鍙戜簡鏂扮殑鎶曡祫鏂版疆锛屽紑杈熶簡灏变笟澧炴敹鏂版笭閬擄紝涓哄ぇ浼椼�佷竾浼楀垱鏂版彁渚涗簡鏂扮┖闂淬��</p>
-          <div class="content_industry_list">
-            <ul>
-              <li>路 浠撳偍绠$悊绯荤粺</li>
-              <li>路 閰嶉�佺鐞嗙郴缁�</li>
-            </ul>
-            <img src="../../img/p15.png" alt="">
+      <div v-else-if="item.type === 'Wcontent'" class="wrapper industry">
+        <div class="content_title"><span v-text="item.title"></span></div>
+        <div class="content_industry" v-for="(m, n) in Math.ceil(item.sublist.length / 2)" :key="n">
+          <div class="content_industry_card" v-if="index >= n * 2 && index < (n + 1) * 2" v-for="(cell, index) in item.sublist" :key="index">
+            <h3 v-text="cell.title"></h3>
+            <p v-text="cell.tip"></p>
+            <div class="content_industry_list">
+              <ul>
+                <li v-for="(text, i) in cell.details" :key="i">路 <span v-text="text"></span></li>
+              </ul>
+              <img :src="cell.url" alt="">
+            </div>
           </div>
         </div>
       </div>
     </div>
-    <div class="wrapper join">
-      <div class="content_title"><span>鍔犵洘浠g悊</span></div>
+    <div class="wrapper industry other" v-if="otherlist">
+      <div class="content_title"><span v-text="othertype.name"></span></div>
       <div class="content_skill">
-        <div class="content_skill_item">
-          <div><img src="../../img/p16.png" alt=""></div>
-          <p>娉ㄥ唽鐢宠</p>
-        </div>
-        <div class="content_skill_item">
-          <div><img src="../../img/p17.png" alt=""></div>
-          <p>鍟嗗姟娲借皥</p>
-        </div>
-        <div class="content_skill_item">
-          <div><img src="../../img/p18.png" alt=""></div>
-          <p>鎻愪氦鏉愭枡</p>
-        </div>
-        <div class="content_skill_item">
-          <div><img src="../../img/p19.png" alt=""></div>
-          <p>璧勮川瀹℃牳</p>
-        </div>
-        <div class="content_skill_item">
-          <div><img src="../../img/p20.png" alt=""></div>
-          <p>绛捐鍗忚</p>
+        <div class="content_skill_item" v-for="(other, index) in otherlist" :key="index">
+          <img :src="other.Image2" alt="" @click="jumpmenu(other)">
+          <p v-text="other.Title1"></p>
         </div>
       </div>
     </div>
@@ -141,17 +62,90 @@
 export default {
 	data () {
     return {
-
+      menuId: null,
+      url: null,
+      details: null,
+      othertype: null,
+      otherlist: null
     }
-	}
+  },
+  watch: {
+    $route () {
+      this.menuId = this.$route.params.menuId
+      this.load()
+    }
+  },
+  methods: {
+    jumpmenu (menu) {
+      this.$router.push({name: menu.PageType, params: {menuId: menu.ID}})
+    },
+    load () {
+      let param = {
+        func: 'Web_productCenter_GetData',
+        ID: this.menuId
+      }
+      this.Service.getParamData(param).then(res => {
+        this.url = res.Image1
+        this.details = res.Detail.map(det => {
+          let item = {
+            type: det.TypeCharOne,
+            title: det.Title1
+          }
+          if (item.type === 'WLongText') {
+            item.longText = det.DOne[0].LongText
+          } else if (item.type === 'Wimages') {
+            item.imglist = det.DOne.map(cell => {
+              return {
+                title: cell.CDefine1,
+                tip: cell.CDefine2,
+                url: cell.Images,
+                position: cell.TypeCharThree,
+                color: cell.TypeCharTwo
+              }
+            })
+          } else if (item.type === 'Wico') {
+            item.iconlist = det.DOne.map(cell => {
+              return {
+                url: cell.Images,
+                title: cell.Title1
+              }
+            })
+          } else if (item.type === 'Wcontent') {
+            item.sublist = det.DOne.map(cell => {
+              return {
+                url: cell.Images,
+                title: cell.Title1,
+                tip: cell.LongText,
+                details: cell.DTwo.map(two => {
+                  return two.Title1
+                })
+              }
+            })
+          }
+          return item
+        })
+        this.othertype = {
+          type: res.Type,
+          name: res.TypeName
+        }
+        this.otherlist = res.LinkDetail
+      })
+    }
+  },
+  created () {
+    this.menuId = this.$route.params.menuId
+  },
+  mounted () {
+    this.load()
+  }
 }
 </script>
 
 <style lang="less" scoped>
   @media (min-width: 751px){
-    .p_hide {
-      display: none !important;
-    }
+    .banner {
+      margin-bottom: 0.5rem;
+		}
     .m_img {
       display: none;
     }
@@ -172,16 +166,54 @@
 
       .txt {
         position: absolute;
-        left: 1.16rem;
-        bottom: 0.12rem;
-        font-size: 20px;
+        width: 33%;
+        height: 33%;
+        left: 0;
+        top: 0;
+        font-size: 16px;
         font-family: MicrosoftYaHei-Bold;
         font-weight: bold;
-        color: rgba(255,255,255,1);
+        text-align: center;
+        padding: 0.1rem;
       }
       .txt2 {
-        top: 0.19rem;
-        left: 0.28rem;
+        top: 0;
+        left: 33%;
+      }
+      .txt3 {
+        left: auto;
+        top: 0;
+        right: 0;
+      }
+      .txt4 {
+        top: 33%;
+      }
+      .txt5 {
+        left: 33%;
+        top: 33%;
+      }
+      .txt6 {
+        left: auto;
+        top: 33%;
+        right: 0;
+      }
+      .txt7 {
+        height: auto;
+        top: auto;
+        bottom: 0;
+      }
+      .txt8 {
+        height: auto;
+        top: auto;
+        bottom: 0;
+        left: 33%;
+      }
+      .txt9 {
+        height: auto;
+        top: auto;
+        left: auto;
+        bottom: 0;
+        right: 0;
       }
       .content_title {
         margin: .53rem 0 0.52rem;
@@ -261,6 +293,16 @@
         margin-top: 0.3rem;
       }
     }
+    .wrapper.other .content_skill_item {
+      padding: 0 0.5rem;
+
+      img {
+        cursor: pointer;
+      }
+      p {
+        font-size: 0.16rem;
+      }
+    }
     .join {
       .content_title {
         margin: 0.85rem 0 0.53rem;
@@ -313,12 +355,24 @@
 		.content_skill .content_skill_item div {
 			width: 0.75rem;
 			height: 0.75rem;
-		}
-		.m_hide {
-			display: none !important;
-		}
+    }
+    .wrapper.other .content_skill_item {
+      padding: 0 0.2rem;
+
+      p {
+        font-size: 0.16rem;
+      }
+    }
 		.main, .banner {
-			margin-top: 1.14rem;
+			margin-top: 1.13rem;
+    }
+    .banner {
+      margin-bottom: 0.5rem;
+      img {
+        width: 140%;
+        max-width: none;
+        margin-left: -20%;
+      }
 		}
     .content_scene {
       width: 100%;
diff --git a/src/views/successCase/caseDetail.vue b/src/views/successCase/caseDetail.vue
index cb05cc1..9ff434c 100644
--- a/src/views/successCase/caseDetail.vue
+++ b/src/views/successCase/caseDetail.vue
@@ -39,114 +39,181 @@
           </div>
         </div>
       </div>
-    
-    <div class="wrapper">
-      <div class="content-box">
-        <h3><span>搴旂敤鍦烘櫙</span></h3>
-        <ul class="scene m_hide">
-          <li>
-            <img src="../../img/y1.png" alt="">
-            <p>鍘熸枡鏀惰揣鍏ュ簱</p>
-          </li>
-          <li>
-            <img src="../../img/y2.png" alt="">
-            <p>鍘熸枡璐у埌浜哄強鍒嗘嫞涓婄嚎</p>
-          </li>
-          <li>
-            <img src="../../img/y3.png" alt="">
-            <p>鍗婃垚鍝佹殏瀛樺強杞繍涓婄嚎</p>
-          </li>
-        </ul>
-        <ul class="scene m_hide">
-          <li>
-            <img src="../../img/y4.png" alt="">
-            <p>鎴愬搧涓嬬嚎鍏ュ簱</p>
-          </li>
-          <li>
-            <img src="../../img/y5.png" alt="">
-            <p>鎴愬搧璐у埌浜轰粨鍌ㄧ鐞�</p>
-          </li>
-          <li>
-            <img src="../../img/y6.png" alt="">
-            <p>鎴愬搧鎺掑簭鍑哄簱鍙戣繍</p>
-          </li>
-        </ul>
-        
-        <ul class="scene p_hide">
-          <li>
-            <img src="../../img/y1.png" alt="">
-            <p>鍘熸枡鏀惰揣鍏ュ簱</p>
-          </li>
-          <li>
-            <img src="../../img/y2.png" alt="">
-            <p>鍘熸枡璐у埌浜哄強鍒嗘嫞涓婄嚎</p>
-          </li>
-          <li>
-            <img src="../../img/y3.png" alt="">
-            <p>鍗婃垚鍝佹殏瀛樺強杞繍涓婄嚎</p>
-          </li>
-          <li>
-            <img src="../../img/y4.png" alt="">
-            <p>鎴愬搧涓嬬嚎鍏ュ簱</p>
-          </li>
-          <li>
-            <img src="../../img/y5.png" alt="">
-            <p>鎴愬搧璐у埌浜轰粨鍌ㄧ鐞�</p>
-          </li>
-          <li>
-            <img src="../../img/y6.png" alt="">
-            <p>鎴愬搧鎺掑簭鍑哄簱鍙戣繍</p>
-          </li>
-        </ul>
-      </div>
-          </div>
-    
-    <div class="wrapper" style="margin-bottom: 0.3rem;">
-      <div class="content-bottom">
-        <h3 class="h3"><span>鍚堜綔浼欎即</span></h3>
-      </div>
-    </div>
-    <div class="m_hide" style="background-color: #F9FBFD;">
       <div class="wrapper">
-        <div class="content-bottom">
-          <img src="../../img/c11.png" alt="">
+        <div class="content-box">
+          <h3><span>搴旂敤鍦烘櫙</span></h3>
+          <ul class="scene m_hide">
+            <li>
+              <img src="../../img/y1.png" alt="">
+              <p>鍘熸枡鏀惰揣鍏ュ簱</p>
+            </li>
+            <li>
+              <img src="../../img/y2.png" alt="">
+              <p>鍘熸枡璐у埌浜哄強鍒嗘嫞涓婄嚎</p>
+            </li>
+            <li>
+              <img src="../../img/y3.png" alt="">
+              <p>鍗婃垚鍝佹殏瀛樺強杞繍涓婄嚎</p>
+            </li>
+          </ul>
+          <ul class="scene m_hide">
+            <li>
+              <img src="../../img/y4.png" alt="">
+              <p>鎴愬搧涓嬬嚎鍏ュ簱</p>
+            </li>
+            <li>
+              <img src="../../img/y5.png" alt="">
+              <p>鎴愬搧璐у埌浜轰粨鍌ㄧ鐞�</p>
+            </li>
+            <li>
+              <img src="../../img/y6.png" alt="">
+              <p>鎴愬搧鎺掑簭鍑哄簱鍙戣繍</p>
+            </li>
+          </ul>
+          
+          <ul class="scene p_hide">
+            <li>
+              <img src="../../img/y1.png" alt="">
+              <p>鍘熸枡鏀惰揣鍏ュ簱</p>
+            </li>
+            <li>
+              <img src="../../img/y2.png" alt="">
+              <p>鍘熸枡璐у埌浜哄強鍒嗘嫞涓婄嚎</p>
+            </li>
+            <li>
+              <img src="../../img/y3.png" alt="">
+              <p>鍗婃垚鍝佹殏瀛樺強杞繍涓婄嚎</p>
+            </li>
+            <li>
+              <img src="../../img/y4.png" alt="">
+              <p>鎴愬搧涓嬬嚎鍏ュ簱</p>
+            </li>
+            <li>
+              <img src="../../img/y5.png" alt="">
+              <p>鎴愬搧璐у埌浜轰粨鍌ㄧ鐞�</p>
+            </li>
+            <li>
+              <img src="../../img/y6.png" alt="">
+              <p>鎴愬搧鎺掑簭鍑哄簱鍙戣繍</p>
+            </li>
+          </ul>
         </div>
       </div>
-    </div>
-    <div class="three_box p_hide">
-      <div><img src="../../img/he1.png" alt=""></div>
-      <div><img src="../../img/he2.png" alt=""></div>
-      <div><img src="../../img/he3.png" alt=""></div>
-    </div>
-          <div class="title">
-              <a class="m_hide" style="visibility: hidden;">浜嗚В鏇村</a>
-              <a class="title-m">鏌ョ湅鏇村</a>
+    
+      <div class="wrapper" style="margin-bottom: 0.3rem;">
+        <div class="content-bottom">
+          <h3 class="h3"><span>鍚堜綔浼欎即</span></h3>
+        </div>
+      </div>
+      <div class="m_hide" style="background-color: #F9FBFD;">
+        <div class="wrapper">
+          <div class="content-bottom">
+            <img src="../../img/c11.png" alt="">
           </div>
-      </div>    
+        </div>
+      </div>
+      <div class="three_box p_hide">
+        <div><img src="../../img/he1.png" alt=""></div>
+        <div><img src="../../img/he2.png" alt=""></div>
+        <div><img src="../../img/he3.png" alt=""></div>
+      </div>
+      <div class="title">
+        <a class="m_hide" style="visibility: hidden;">浜嗚В鏇村</a>
+        <a class="title-m">鏌ョ湅鏇村</a>
+      </div>
+    </div>    
   </div>
 </template>
 
 <script>
 export default {
+  data () {
+    return {
+      menuId: null,
+      url: null,
+      details: null
+    }
+  },
+  watch: {
+    $route () {
+      this.menuId = this.$route.params.menuId
+      this.load()
+    }
+  },
+  methods: {
+    load () {
+      let param = {
+        func: 'Web_productCenter_GetData',
+        ID: this.menuId
+      }
+      this.Service.getParamData(param).then(res => {
+        this.url = res.Image1
+        this.details = res.Detail.map(det => {
+          let item = {
+            type: det.TypeCharOne,
+            title: det.Title1
+          }
+          if (item.type === 'WLongText') {
+            item.longText = det.DOne[0].LongText
+          } else if (item.type === 'Wimages') {
+            item.imglist = det.DOne.map(cell => {
+              return {
+                title: cell.CDefine1,
+                tip: cell.CDefine2,
+                url: cell.Images,
+                position: cell.TypeCharThree,
+                color: cell.TypeCharTwo
+              }
+            })
+          } else if (item.type === 'Wico') {
+            item.iconlist = det.DOne.map(cell => {
+              return {
+                url: cell.Images,
+                title: cell.Title1
+              }
+            })
+          } else if (item.type === 'Wcontent') {
+            item.sublist = det.DOne.map(cell => {
+              return {
+                url: cell.Images,
+                title: cell.Title1,
+                tip: cell.LongText,
+                details: cell.DTwo.map(two => {
+                  return two.Title1
+                })
+              }
+            })
+          }
+          return item
+        })
+      })
+    }
+  },
+  created () {
+    this.menuId = this.$route.params.menuId
+  },
+  mounted () {
+    this.load()
+  }
 }
 </script>
 
 <style lang="less" scoped>
-.warpper{
-    width: 100%;
+.warpper {
+  width: 100%;
 }
-.caseDetail{
-    margin: 0;
-    width: 100%;
+.caseDetail {
+  margin: 0;
+  width: 100%;
 }
-h3{
-    font-size: 0.16rem;
-    color: #3A3A3C;
-    padding-left: .06rem;
+h3 {
+  font-size: 0.16rem;
+  color: #3A3A3C;
+  padding-left: .06rem;
 	margin-top: 0.2rem;
 	position: relative;
 }
-h3::after{
+h3::after {
 	content: '';
 	width:0.09rem;
 	height:0.45rem;
@@ -156,8 +223,8 @@
 	left: 0;
 }
 .content-img{
-    box-sizing: border-box;
-    margin: .4rem auto 0;
+  box-sizing: border-box;
+  margin: .4rem auto 0;
 }
 @media (max-width: 750px) and (min-width: 0){
 	.three_box{
@@ -173,10 +240,10 @@
 		}
 	}
 	
-    h3{
-        font-size: .4rem;
+  h3 {
+    font-size: .4rem;
 		padding-left: 0.2rem;
-    }
+  }
 	.h3::after{
 		width:1.15rem;
 		height:0.06rem;
@@ -186,127 +253,127 @@
 		left: calc(50% - 0.45rem);
 	}
 	
-    .content_title_p{
-        color: #3e3e3e;
-        font-size: .16rem;
-		margin: 0 auto !important;
-		font-size:0.24rem;
-		font-family:PingFang-SC-Regular;
-		font-weight:400;
-		color:rgba(62,62,62,1);
-		line-height:0.44rem;
-    }
-    .content_title,.content_title_p{
-        width: 100%;
-        box-sizing: border-box;
-        padding: 0.6rem .43rem 0;
-    }
-    .content-img{
-        width: 100%;
-        height: 3.5rem;
-    }
-    .project{
-        background: #f9f9f9;
-        box-sizing: border-box;
-        margin: .1rem auto;
-        padding: .1rem 0;
-        .program{
-            width: 100%;
-            height: auto;
-            display: flex;
-            padding: .34rem 0;
-            dl{
-                width: 25%;
-                dt{
-                    width: .94rem;
-                    height: .94rem;
-                    margin: 0 auto;
-                }
-                dd{
-                    text-align: center;
-                    padding-top: .07rem;
-                }
-            }
+  .content_title_p {
+    color: #3e3e3e;
+    font-size: .16rem;
+    margin: 0 auto !important;
+    font-size:0.24rem;
+    font-family:PingFang-SC-Regular;
+    font-weight:400;
+    color:rgba(62,62,62,1);
+    line-height:0.44rem;
+  }
+  .content_title,.content_title_p{
+    width: 100%;
+    box-sizing: border-box;
+    padding: 0.6rem .43rem 0;
+  }
+  .content-img{
+    width: 100%;
+    height: 3.5rem;
+  }
+  .project{
+    background: #f9f9f9;
+    box-sizing: border-box;
+    margin: .1rem auto;
+    padding: .1rem 0;
+    .program {
+      width: 100%;
+      height: auto;
+      display: flex;
+      padding: .34rem 0;
+      dl {
+        width: 25%;
+        dt {
+          width: .94rem;
+          height: .94rem;
+          margin: 0 auto;
         }
+        dd {
+          text-align: center;
+          padding-top: .07rem;
+        }
+      }
     }
-    .content-box{
-        background: #f9f9f9;
-        box-sizing: border-box;
-        margin: .4rem auto;
-        padding: .1rem 0;
-        ul{
-            width: 100%;
-            height: auto;
-            display: flex;
-            flex-wrap: wrap;
-            margin: .2rem 0;
-            li{
-                width: 50%;
-                padding: .08rem .18rem;
-                img{
-                    display: block;
-                    width: 100%;
-                    height: 1.8rem;
-                    background: #747474;
-                }
-                p{
-                    text-align: center;
-                    margin: .1rem 0;
-                }
-            }
+  }
+  .content-box {
+    background: #f9f9f9;
+    box-sizing: border-box;
+    margin: .4rem auto;
+    padding: .1rem 0;
+    ul {
+      width: 100%;
+      height: auto;
+      display: flex;
+      flex-wrap: wrap;
+      margin: .2rem 0;
+      li {
+        width: 50%;
+        padding: .08rem .18rem;
+        img {
+          display: block;
+          width: 100%;
+          height: 1.8rem;
+          background: #747474;
         }
+        p {
+          text-align: center;
+          margin: .1rem 0;
+        }
+      }
     }
-    .content-bottom{
-        width: 94%;
-        box-sizing: border-box;
-        margin: .4rem auto;
-        padding: .1rem 0;
-        h3{
-            text-align: center;
-            border:none;
-            margin-bottom: .57rem;
-        }
-        ul{
-            width: 100%;
-            height: auto;
-            display: flex;
-            flex-wrap: wrap;
-            li{
-                width: 33.3%;
-                padding: .08rem .1rem;
-                img{
-                    display: block;
-                    width: 100%;
-                    height: .98rem;
-                    background: #747474;
-                    border: 1px #000 dashed;
-                }
-            }
-        }
+  }
+  .content-bottom {
+    width: 94%;
+    box-sizing: border-box;
+    margin: .4rem auto;
+    padding: .1rem 0;
+    h3 {
+      text-align: center;
+      border:none;
+      margin-bottom: .57rem;
     }
-    .title{
-        text-align: center;
-        margin-bottom: 1.05rem;
-        a:first-child{
-            display: none;
+    ul {
+      width: 100%;
+      height: auto;
+      display: flex;
+      flex-wrap: wrap;
+      li {
+        width: 33.3%;
+        padding: .08rem .1rem;
+        img {
+          display: block;
+          width: 100%;
+          height: .98rem;
+          background: #747474;
+          border: 1px #000 dashed;
         }
-        .title-m{
-            display: inline-block;
-            width: 3.38rem;
-            height: 1.04rem;
-            line-height: 1.04rem;
-            border: 1px solid #52B6E7;
-            color: #52B6E7;
-        }
+      }
     }
+  }
+  .title{
+    text-align: center;
+    margin-bottom: 1.05rem;
+    a:first-child {
+      display: none;
+    }
+    .title-m {
+      display: inline-block;
+      width: 3.38rem;
+      height: 1.04rem;
+      line-height: 1.04rem;
+      border: 1px solid #52B6E7;
+      color: #52B6E7;
+    }
+  }
 }
 @media (min-width: 751px){
-	h3{
-		span{
+	h3 {
+		span {
 			padding-left: 0.2rem;
 		}
 	}
-	h3::after{
+	h3::after {
 		content: '';
 		width: 0.06rem;
 		height: 0.3rem;
@@ -315,137 +382,136 @@
 		top: -0.03rem;
 		left: 0.1rem;
 	}
-	.content-bottom{
-		.h3{
+	.content-bottom {
+		.h3 {
 			padding-left: 0.05rem;
-			span{
+			span {
 				padding-left: 0.15rem;
 			}
 		}
-		.h3::after{
+		.h3::after {
 			width: 0.06rem;
 			height: 0.3rem;
 			left: 0.05rem;
 			top: -0.02rem;
 		}
 	}
-	.p_backg{
+	.p_backg {
 		background-color: #f9fbfd;
 	}
-    .caseDetail{
-        margin-top: 0.91rem;
-        .content_title{
-            margin: 0 auto;
-        }
-        .content_title_p{
-            font-size: 0.16rem;
-            color: #747474;
-            line-height: .22rem;
-			width: 11.92rem;
-			margin: 0 auto;
-        }
+  .caseDetail {
+    margin-top: 0.91rem;
+    .content_title {
+      margin: 0 auto;
     }
-    .project{
-        width: 100%;
-        background: #f9fbfd;
+    .content_title_p {
+      font-size: 0.16rem;
+      color: #747474;
+      line-height: .22rem;
+      width: 11.92rem;
+      margin: 0 auto;
     }
-    .content-box{
-        width: 100%;
-        padding: .15rem 0 .15rem;
-        ul{
-            width: 100%;
-            height: auto;
-            display: flex;
-            flex-wrap: wrap;
-            li{
-                width: 33.3%;
-                padding: .08rem .1rem;
-                img{
-                    display: block;
-                    width: 100%;
-                    background: #747474;
-                }
-                p{
-                    text-align: center;
-                    margin: .1rem 0;
-                }
-            }
+  }
+  .project {
+    width: 100%;
+    background: #f9fbfd;
+  }
+  .content-box {
+    width: 100%;
+    padding: .15rem 0 .15rem;
+    ul {
+      width: 100%;
+      height: auto;
+      display: flex;
+      flex-wrap: wrap;
+      li {
+        width: 33.3%;
+        padding: .08rem .1rem;
+        img {
+          display: block;
+          width: 100%;
+          background: #747474;
         }
-    }
-    .content-bottom{
-        width: 100%;
-        ul{
-            width: 100%;
-            height: auto;
-            display: flex;
-            flex-wrap: wrap;
-            li{
-                width: 33.3%;
-                padding: .08rem .1rem;
-                img{
-                    display: block;
-                    width: 100%;
-                    height: .8rem;
-                    background: #747474;
-                }
-                p{
-                    text-align: center;
-                    margin: .1rem 0;
-                }
-            }
+        p {
+          text-align: center;
+          margin: .1rem 0;
         }
+      }
     }
-    .title{
-        width: 100%;
+  }
+  .content-bottom {
+    width: 100%;
+    ul {
+      width: 100%;
+      height: auto;
+      display: flex;
+      flex-wrap: wrap;
+      li {
+        width: 33.3%;
+        padding: .08rem .1rem;
+        img {
+          display: block;
+          width: 100%;
+          height: .8rem;
+          background: #747474;
+        }
+        p {
+          text-align: center;
+          margin: .1rem 0;
+        }
+      }
+    }
+  }
+  .title {
+    width: 100%;
+    text-align: center;
+    a {
+      display: inline-block;
+      margin: 0 auto .8rem;
+      border-bottom: 1px solid #0070c0;
+      color: #0070c0;
+    }
+    .title-m {
+      display: none;
+    }
+  }
+  .content-img {
+    width: 12.32rem;
+    height: auto;
+    margin-top: 0.8rem;
+  }
+  .program {
+    width: 100%;
+    height: auto;
+    display: flex;
+    margin: .2rem 0;
+    dl {
+      margin-right: .8rem;
+      dt {
+        width: .94rem;
+        height: .94rem;
+        margin: 0 auto;
+      }
+      dd {
+        width: 1.8rem;
         text-align: center;
-        a{
-            display: inline-block;
-            margin: 0 auto .8rem;
-            border-bottom: 1px solid #0070c0;
-            color: #0070c0;
-        }
-        .title-m{
-            display: none;
-        }
+        padding-top: .07rem;
+      }
     }
-    .content-img{
-        width: 12.32rem;
-        height: auto;
-		margin-top: 0.8rem;
-    }
-    .program{
-        width: 100%;
-        height: auto;
-        display: flex;
-        margin: .2rem 0;
-        dl{
-            margin-right: .8rem;
-            dt{
-                width: .94rem;
-                height: .94rem;
-				margin: 0 auto;
-            }
-            dd{
-				width: 1.8rem;
-                text-align: center;
-                padding-top: .07rem;
-            }
-        }
-		
-    }
-	.program:first-child{
+  }
+	.program:first-child {
 		margin-left: -0.55rem;
 	}
-    .scene{
-        width: 100%;
-        height: 4.82rem;
-        margin: .2rem 0;
-    }
-    .partner{
-        width: 100%;
-        height: auto;
-        box-sizing: border-box;
-        margin: .2rem 0 .4rem 0;
-    }
+  .scene {
+    width: 100%;
+    height: 4.82rem;
+    margin: .2rem 0;
+  }
+  .partner {
+    width: 100%;
+    height: auto;
+    box-sizing: border-box;
+    margin: .2rem 0 .4rem 0;
+  }
 }
 </style>
diff --git a/src/views/successCase/index.vue b/src/views/successCase/index.vue
index 8df90d8..5dcca9b 100644
--- a/src/views/successCase/index.vue
+++ b/src/views/successCase/index.vue
@@ -9,51 +9,19 @@
         <div class="content_title">
           <span>妗堜緥璇︽儏</span>
         </div>
-        <div class="content">
-          <div class="left_border">浠撳偍鐗╂祦</div>
+        <div class="content" v-for="(_case, index) in caselist" :key="index" :class="(index % 2) && 'f-right'">
+          <div class="left_border" :style="(index % 2) && 'float: right;'" v-text="_case.SubjClasName"></div>
           <div class="contnt-describe">
-            <div class="left" style="float: left;padding-top: 0.1rem;">
-              <ul>
-                <router-link to="/successCaseIndex" style="padding: 0;">
-                  <li><img src="../../img/s1.png" alt=""></li>
-                </router-link>
-                <router-link to="/successCaseIndex" style="padding: 0;">
-                  <li><img src="../../img/s2.png" alt=""></li>
-                </router-link>
-                <router-link to="/successCaseIndex" style="padding: 0;">
-                  <li><img src="../../img/s3.png" alt=""></li>
-                </router-link>
-                <router-link to="/successCaseIndex" style="padding: 0;">
-                  <li><img src="../../img/s4.png" alt=""></li>
-                </router-link>
+            <div class="left" style="padding-top: 0.1rem;" :style="!(index % 2) && 'float: left;'">
+              <ul :style="(index % 2) && 'padding-left: 0.7rem;'">
+                <li v-for="(sub, i) in _case.Subject" :key="i" @click="jumpmenu(sub)">
+                  <img :src="sub.Image3" alt="">
+                </li>
               </ul>
             </div>
             <div class="right" style="position: relative;">
-              <img src="../../img/s5.png" alt="" >
-              <span v-if="isShow1" class="txt">鏄庣涓轰腑鐭虫补瀹炴柦浜嗙墿璧勬潯鐮佺鐞嗙郴缁燂紝瀹炵幇浜嗛渶姹傞儴闂ㄥ湪绾胯鍒掓姤鎵广�佷緵搴斿晢鍗忓悓閫佽揣銆侀」鐩幇鍦烘敹銆佸彂銆佺洏銆佸瓨绛夊姛鑳姐�傜郴缁熼噰鐢ㄤ簡浜掕仈缃戙�佹棤绾挎妧鏈潯鐮佹妧鏈浉缁撳悎鐨勬柟妗堣繘琛屽疄鏂斤紝涓轰腑鐭虫补鑺傜渷澶ч噺浜哄姏銆佺墿鍔涖��</span>
-            </div>
-          </div>
-          <div class="left_border" style="float: right;margin-top: 0.5rem;">鏅鸿兘鍒堕��</div>
-          <div class="contnt-describe" style="margin-bottom: 1.48rem;">
-            <div class="left">
-              <ul style="margin-left: 1rem;">
-                <router-link to="/successCaseIndex" style="padding: 0;">
-                  <li><img src="../../img/s7.png" alt=""></li>
-                </router-link>
-                <router-link to="/successCaseIndex" style="padding: 0;">
-                  <li><img src="../../img/s8.png" alt=""></li>
-                </router-link>
-                <router-link to="/successCaseIndex" style="padding: 0;">
-                  <li><img src="../../img/s9.png" alt=""></li>
-                </router-link>
-                <router-link to="/successCaseIndex" style="padding: 0;">
-                  <li><img src="../../img/s10.png" alt=""></li>
-                </router-link>
-              </ul>
-            </div>
-            <div class="right" style="position: relative;">
-              <img src="../../img/s6.png" alt="">
-              <span v-if="isShow2" class="txt">鏄庣涓轰腑骞挎牳瀹炴柦浜嗙墿璧勬潯鐮佽拷婧郴缁燂紝璇ョ郴缁熷熀浜庢槑绉戝彲閰嶇疆骞冲彴K9 1.0瀹炴柦锛屼粠鏉ユ枡楠屾敹寮�濮嬶紝缁忚繃閿�鍞嚭搴撱�佺敓浜ц閰嶇瓑鐜妭锛屽畬鎴愯拷婧暟鎹殑閲囬泦骞舵彁渚涗骇鍝佺敓鍛藉懆鏈熺殑鏁版嵁杩芥函鏌ヨ</span>
+              <img :src="_case.Images" alt="" >
+              <!-- <span class="txt"></span> -->
             </div>
           </div>
         </div>
@@ -62,40 +30,13 @@
     <!-- 绉诲姩绔牱寮� -->
     <div class="webapp p_hide">
       <h3 class="content_title2 fadeInUp zoomIn animated"><span>妗堜緥璇︽儏</span></h3>
-      <div class="project" style="padding: 0.2rem 0 0.3rem;">
-        <h3 class="content_title3"><span>浠撳偍鐗╂祦</span></h3>
-        <div class="img_box"><img src="../../img/an2.png" alt=""></div>
+      <div class="project" v-for="(_case, index) in caselist" :key="index" style="padding: 0.1rem 0 0.3rem;">
+        <h3 class="content_title3"><span v-text="_case.SubjClasName"></span></h3>
+        <div class="img_box"><img :src="_case.Images" alt=""></div>
         <div class="three_box">
-          <router-link tag="div" to="/successCaseIndex">
-            <img src="../../img/an3.png" alt="">
-          </router-link>
-          <router-link tag="div" to="/successCaseIndex">
-            <img src="../../img/an4.png" alt="">
-          </router-link>
-          <router-link tag="div" to="/successCaseIndex">
-            <img src="../../img/an5.png" alt="">
-          </router-link>
-          <router-link tag="div" to="/successCaseIndex">
-            <img src="../../img/an6.png" alt="">
-          </router-link>
-        </div>
-      </div>
-      <div class="project" style="padding: 0.2rem 0 0.3rem;margin-bottom: 0.8rem;">
-        <h3 class="content_title3"><span>鏅鸿兘鍒堕��</span></h3>
-        <div class="img_box"><img src="../../img/an7.png" alt=""></div>
-        <div class="three_box">
-          <router-link tag="div" to="/successCaseIndex">
-            <img src="../../img/an8.png" alt="">
-          </router-link>
-          <router-link tag="div" to="/successCaseIndex">
-            <img src="../../img/an9.png" alt="">
-          </router-link>
-          <router-link tag="div" to="/successCaseIndex">
-            <img src="../../img/an10.png" alt="">
-          </router-link>
-          <router-link tag="div" to="/successCaseIndex">
-            <img src="../../img/an11.png" alt="">
-          </router-link>
+          <div v-for="(sub, i) in _case.Subject" :key="i" @click="jumpmenu(sub)">
+            <img :src="sub.Image3" alt="">
+          </div>
         </div>
       </div>
     </div>
@@ -106,20 +47,35 @@
 export default {
 	data () {
 		return {
-			isShow1: false,
-			isShow2: true
+			caselist: null
 		}
-	},
+  },
+  methods: {
+    jumpmenu (menu) {
+      this.$router.push({name: menu.PageType, params: {menuId: menu.ID}})
+    },
+    load () {
+      this.Service.getBaseData('Web_Case_GetData').then(res => {
+        this.caselist = res.Case
+      })
+      let param = {
+        func: 'Web_Center_GetData',
+        Centertype: 'Product'
+      }
+      this.Service.getParamData(param).then(res => {
+
+      })
+    }
+  },
 	mounted () {
-    document.body.scrollTop = 0
-    document.documentElement.scrollTop = 0
+    this.load()
   }
 }
 </script>
 
 <style lang="less" scoped>
   .content_title {
-    padding: 0.94rem 0 1.03rem;
+    padding: 0.94rem 0 0.2rem;
     p {
       color: #838383;
       font-size: .16rem;
@@ -150,15 +106,11 @@
       margin-bottom: .2rem;
     }
   }
-  .content:nth-child(2) {
-    text-align: center;
-    a {
-      color:#3B3B3C;
-      padding: 0.06rem 0.2rem;
-      display: inline-block;
-      font-size: 0.16rem;
-      margin: 0.21rem 0.1rem;
-    }
+  .content {
+    padding-top: 0.4rem;
+  }
+  .content:last-child {
+    padding-bottom: 0.5rem;
   }
   @media (min-width: 751px) {
     .contnt-describe {
@@ -184,22 +136,18 @@
       .right {
         margin-top: .3rem;
         float: right;
-        // width: 3.85rem;
-        // height: 2.38rem;
-        background: url(../../img/shiyou.png);
-        background-size: 100% 100%;
         position: relative;
         .txt {
           position: absolute;
           left: 0.12rem;
           top: 2.65rem;
-          width:545px;
-          height:67px;
-          font-size:16px;
-          font-family:MicrosoftYaHei;
-          font-weight:400;
-          color:rgba(255,255,255,1);
-          line-height:25px;
+          width: 545px;
+          height: 67px;
+          font-size: 16px;
+          font-family: MicrosoftYaHei;
+          font-weight: 400;
+          color: rgba(255,255,255,1);
+          line-height: 25px;
           text-align: left;
         }
         p {
@@ -225,15 +173,17 @@
         }
       }
     }
-    .contnt-describe:nth-child(2n) {
-      .right {
-        float: left;
-      }
-      .left {
-        float: right;
-        span {
-          text-align: right;
+    .content.f-right {
+      .contnt-describe {
+        .right {
+          float: left;
+        }
+        .left {
           float: right;
+          span {
+            text-align: right;
+            float: right;
+          }
         }
       }
     }
@@ -244,6 +194,7 @@
       position: relative;
       padding-left: .2rem;
       margin-bottom: 0.3rem;
+      font-size: 0.16rem;
       float: none;
     }
     .left_border::after {
@@ -267,7 +218,7 @@
         margin-top: 0.2rem;
         position: relative;
         span {
-          font-size: 0.36rem;
+          font-size: 0.30rem;
           margin-left: 0.18rem;
           margin-top: 0.02rem;
           display: inline-block;
@@ -275,8 +226,8 @@
       }
       .content_title3::after {
         content: '';
-        width:0.09rem;
-        height:0.45rem;
+        width: 0.08rem;
+        height:0.36rem;
         background:rgba(0,112,192,1);
         position: absolute;
         top: 0.05rem;

--
Gitblit v1.8.0