Commit 7acdc51f by fengzhaoyu

MOD:修改为带三方 加载完一遍后从本地加载

parent a6022fbb
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="3f11f0c2-4f1a-448b-9322-b444722d73f2" name="Default Changelist" comment=""> <list default="true" id="3f11f0c2-4f1a-448b-9322-b444722d73f2" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/img/null.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/menu.html" beforeDir="false" afterPath="$PROJECT_DIR$/menu.html" afterDir="false" /> <change beforePath="$PROJECT_DIR$/menu.html" beforeDir="false" afterPath="$PROJECT_DIR$/menu.html" afterDir="false" />
</list> </list>
...@@ -28,7 +27,7 @@ ...@@ -28,7 +27,7 @@
<property name="DefaultHtmlFileTemplate" value="HTML File" /> <property name="DefaultHtmlFileTemplate" value="HTML File" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" /> <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/img" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/../ming-pig-ui" />
<property name="node.js.detected.package.eslint" value="true" /> <property name="node.js.detected.package.eslint" value="true" />
<property name="node.js.detected.package.tslint" value="true" /> <property name="node.js.detected.package.tslint" value="true" />
<property name="node.js.path.for.package.eslint" value="project" /> <property name="node.js.path.for.package.eslint" value="project" />
...@@ -84,6 +83,14 @@ ...@@ -84,6 +83,14 @@
<workItem from="1571285097218" duration="20273000" /> <workItem from="1571285097218" duration="20273000" />
<workItem from="1571371461255" duration="4370000" /> <workItem from="1571371461255" duration="4370000" />
<workItem from="1571383513641" duration="738000" /> <workItem from="1571383513641" duration="738000" />
<workItem from="1571388882584" duration="7770000" />
<workItem from="1571573594477" duration="3422000" />
<workItem from="1571577062150" duration="8888000" />
<workItem from="1571620196296" duration="3819000" />
<workItem from="1571653093792" duration="618000" />
<workItem from="1571706768993" duration="606000" />
<workItem from="1571822161624" duration="908000" />
<workItem from="1572225197346" duration="945000" />
</task> </task>
<servers /> <servers />
</component> </component>
...@@ -103,4 +110,25 @@ ...@@ -103,4 +110,25 @@
</map> </map>
</option> </option>
</component> </component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/menu.html</url>
<line>134</line>
<option name="timeStamp" value="1" />
</line-breakpoint>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/menu.html</url>
<line>297</line>
<option name="timeStamp" value="2" />
</line-breakpoint>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/menu.html</url>
<line>304</line>
<option name="timeStamp" value="3" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project> </project>
\ No newline at end of file
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<li v-cloak <li v-cloak
v-for=" (category, index) in categorys" :key="category.productCategoryId" v-for=" (category, index) in categorys" :key="category.productCategoryId"
@click="selectClass(category,index)" @click="selectClass(category,index)"
:style = 'selectIndex == index ? selectStyle: "" '> :style = 'defaultSelected == category.productCategoryId ? selectStyle: "" '>
{{category.productCategoryName}} {{category.productCategoryName}}
</li> </li>
</ul> </ul>
...@@ -27,12 +27,12 @@ ...@@ -27,12 +27,12 @@
<!-- 点菜--> <!-- 点菜-->
<div class="menu" > <div class="menu" >
<ul v-if="isProduct"> <ul v-if="isProduct">
<li v-for="(menu,index) in defaultProduct" :key="menu.productId" @click="addCar(menu,index)" v-cloak> <li v-for="(product,index) in products" :key="product.productId" @click="addCar(product,index)" v-cloak>
<div class="imgContainer"> <div class="imgContainer">
<img :src='url' alt="" ref="img"> <img :src='url' alt="" ref="img">
</div> </div>
<div class="name">{{menu.productName}}</div> <div class="name">{{product.productName}}</div>
<div class="price">¥{{menu.productPrice}}</div> <div class="price">¥{{product.productPrice}}</div>
</li> </li>
</ul> </ul>
<ul v-else class="noProduct"> <ul v-else class="noProduct">
...@@ -79,9 +79,10 @@ ...@@ -79,9 +79,10 @@
</body> </body>
<script> <script>
// 获取orgId // 获取orgId
var orgId = window.android.getOrgId() // var orgId = window.android.getOrgId()
localStorage.setItem('orgId',orgId) // localStorage.setItem('orgId',orgId)
// localStorage.setItem('orgId','ding9ddd48137390507735c2f4657eb6378f') localStorage.setItem('orgId','ding9ddd48137390507735c2f4657eb6378f')
// localStorage.setItem('orgId','ding9d')
// axios.defaults.baseURL = 'http://192.168.1.101:9999/mingpay-phone' // 本地钱 // axios.defaults.baseURL = 'http://192.168.1.101:9999/mingpay-phone' // 本地钱
axios.defaults.baseURL = 'https://gateway.mingwork.com/mingpay-phone' // beta环境 axios.defaults.baseURL = 'https://gateway.mingwork.com/mingpay-phone' // beta环境
...@@ -106,109 +107,126 @@ ...@@ -106,109 +107,126 @@
} }
Vue.prototype.$http = $http Vue.prototype.$http = $http
var order = new Vue({ var order = new Vue({
el: '#gen', el: '#gen',
data: { data: {
url: 'img/null.png', categorys: [], // 所有的分类
urls: [], products: [], //所有的产品
categorys: [], // 菜单分类 url:'img/null.png',
defaultProduct: [], // 默认展示的菜 isCategorys: true, // 是否有菜品分类 默认有
selectIndex: '0', // 左侧选中类别的index,用来做选项卡判断 defaultSelected: '', // 选中左侧分类的id
selectStyle: { selectStyle: {
'font-family': 'PingFangSC-Medium', 'font-family': 'PingFangSC-Medium',
'border-right': '5px solid red', 'border-right': '5px solid red',
'background-color':' #FFDEDE', 'background-color':' #FFDEDE',
'color': ' #E60012' 'color': ' #E60012'
}, //左侧菜单分类列表选中时的样式 }, //左侧菜单分类列表选中时的样式
carList: [],// 所有加入购物车的列表数据 isProduct: true,
allNum: 0, // 购物车里商品总数 carList: [], // 加入购物车的数据
allPrice: 0 ,// 购物车里商品总价格 allNum: 0, // 所有的数量
isDisplay: true, // 菜品分类是否展示隐藏 默认展示 allPrice: 0 // 所有的价格
isUp: true, //菜品是否上架 菜品上架
isCategorys: true, // 有没有分类
isProduct: true // 有无菜品
}, },
created() { created() {
let data = { let orgId = {
orgId: localStorage.getItem('orgId') orgId: localStorage.getItem('orgId')
} }
this.$http.request('/v1/product/list_product_category','POST',data).then(res => { this.$http.request('/v1/product/list_product_category','POST',orgId)
// 左侧分类是否展示 .then(res => {
res.data.data.forEach((item) => { if(res.data.resultCode == 0) {
if(item.isDisplay == "DISPLAY") { res.data.data.forEach((item,index) => {
if(item.isDisplay == 'DISPLAY' ) {
this.categorys.push(item) this.categorys.push(item)
} }
}) })
// 左侧有分类的情况下 if(this.categorys.length == 0) {
if(this.categorys.length != 0) { this.isCategorys = false
return this.$http.request('/v1/product/list_product','post',{ productCategoryId: this.categorys[0].productCategoryId }) }
.then(e => { else {
if( e.data.data.length != 0) { this.defaultSelected = this.categorys[0].productCategoryId
this.isProduct = true let productCategoryId = {
e.data.data.forEach((product) => { productCategoryId: this.categorys[0].productCategoryId
// 菜品是否展示 }
if(product.productStatus == 'UP') { this.$http.request('/v1/product/list_product','post',productCategoryId)
this.defaultProduct.push(product) .then(products => {
if(products.data.resultCode == 0) {
let data = []
products.data.data.forEach((item,index) => {
if(item.productStatus == 'UP') {
data.push(item)
} }
}) })
this.preLoad(this.defaultProduct) if(data.length == 0) {
this.isProduct =false
this.categorys[0].data = data
} }
else { else {
this.isProduct = false this.categorys[0].data = data
this.products = data
this.preLoad(this.products)
} }
}
})
.catch(fail => {
console.log('fail',fail)
}) })
} }
// 左侧没有分类的情况下 }
else { else {
this.isCategorys = false console.log('err',res)
return
} }
}) })
}, .catch(err => {
mounted() { console.log('err',err)
window.clearCar = this.clearCar
const that = this
setTimeout(function (res) {
var product = JSON.parse(JSON.stringify(that.defaultProduct))
product.forEach((item,index) => {
var img = new Image()
var urls = []
urls[index] = item.productIcon
img.src = urls[index]
img.onload = function () {
that.$refs.img[index].src = urls[index]
}
}) })
},500)
}, },
methods:{ methods: {
// 选菜的类别的点击事件 // 选择分类
selectClass:function (menu,index) { selectClass: function (category,index) {
if( this.selectIndex != index) { if(category.productCategoryId != this.defaultSelected) {
this.selectIndex = index this.defaultSelected = category.productCategoryId
this.defaultProduct = [] // 数据加载过一次,直接从本地拿
this.$http.request('/v1/product/list_product','post',{productCategoryId: menu.productCategoryId}) if(category.data) {
.then(res => { this.products = category.data
if(res.data.data.length != 0) { if(category.data.length == 0) {
this.isProduct = false
}
else {
this.isProduct = true this.isProduct = true
res.data.data.forEach(product => { this.preLoad(this.products)
if(product.productStatus == 'UP') {
this.defaultProduct.push(product)
} }
})
this.preLoad(this.defaultProduct)
} }
// 本地没有数据,请求保存到本地
else { else {
let productCategoryId = {
productCategoryId: category.productCategoryId
}
this.$http.request('/v1/product/list_product','post',productCategoryId)
.then(products => {
if(products.data.resultCode == 0) {
let data = []
products.data.data.forEach((item,index) => {
if(item.productStatus == 'UP') {
data.push(item)
}
})
if(data.length == 0) {
this.isProduct = false this.isProduct = false
this.categorys[index].data = data
}
else {
this.isProduct = true
this.categorys[index].data = data
this.products = data
this.preLoad(this.products)
}
} }
}) })
.catch(err => { .catch(fail => {
console.log(err) console.log('fail',fail)
}) })
} }
}
}, },
// 点击加入购物车列表e // 点击加入购物车列表e
addCar:function (e) { addCar:function (e) {
...@@ -228,7 +246,6 @@ ...@@ -228,7 +246,6 @@
return return
} }
}) })
// 购物车不存在这个商品新加一条数据 // 购物车不存在这个商品新加一条数据
if (!flag) { if (!flag) {
gooodinfo.count = 1 gooodinfo.count = 1
...@@ -237,13 +254,10 @@ ...@@ -237,13 +254,10 @@
//计算总数量 总价格 //计算总数量 总价格
this.allNum = this.allNum + 1 this.allNum = this.allNum + 1
this.allPrice = ((this.allPrice*100 + gooodinfo.productPrice*100)/100).toFixed(2) this.allPrice = ((this.allPrice*100 + gooodinfo.productPrice*100)/100).toFixed(2)
// 让最后加入右侧购物车列表的菜进入视野 // 让最后加入右侧购物车列表的菜进入视野
setTimeout(() => { setTimeout(() => {
this.$refs.foodItem[this.carList.length - 1].scrollIntoView() this.$refs.foodItem[this.carList.length - 1].scrollIntoView()
},0) },0)
}, },
// 清空购物车 // 清空购物车
clearCar:function() { clearCar:function() {
...@@ -280,6 +294,7 @@ ...@@ -280,6 +294,7 @@
// 向设备端发送详情账单 // 向设备端发送详情账单
window.android.pay(JSON.stringify(setData),this.allPrice) window.android.pay(JSON.stringify(setData),this.allPrice)
}, },
// 预加载
preLoad: function(product) { preLoad: function(product) {
product.forEach((item,index) => { product.forEach((item,index) => {
const that = this const that = this
...@@ -290,12 +305,211 @@ ...@@ -290,12 +305,211 @@
img.onload = function () { img.onload = function () {
setTimeout(function () { setTimeout(function () {
that.$refs.img[index].src = urls[index] that.$refs.img[index].src = urls[index]
},500) },0)
} }
}) })
} }
}, },
mounted() {
// 清空购物车方法暴露给window
window.clearCar = this.clearCar
}
}) })
// var order = new Vue({
// el: '#gen',
// data: {
// url: 'img/null.png',
// urls: [],
// defaultProduct: [], // 默认展示的菜
// allProducts:[], // 所有的 分类 菜
// selectIndex: '0', // 左侧选中类别的index,用来做选项卡判断
// selectStyle: {
// 'font-family': 'PingFangSC-Medium',
// 'border-right': '5px solid red',
// 'background-color':' #FFDEDE',
// 'color': ' #E60012'
// }, //左侧菜单分类列表选中时的样式
// carList: [],// 所有加入购物车的列表数据
// allNum: 0, // 购物车里商品总数
// allPrice: 0 ,// 购物车里商品总价格
// isDisplay: true, // 菜品分类是否展示隐藏 默认展示
// isUp: true, //菜品是否上架 菜品上架
// isCategorys: true, // 有没有分类
// isProduct: true // 有无菜品
// },
// created() {
// let data = {
// orgId: localStorage.getItem('orgId')
// }
// this.$http.request('/v1/product/list_product_category','POST',data).then(res => {
// // 左侧分类是否展示
// res.data.data.forEach((item) => {
// if(item.isDisplay == "DISPLAY") {
// this.allProducts.push(item)
// }
// })
// console.log(this.allProducts,' this.allProducts11111111111')
// // 左侧有分类的情况下
// if(this.allProducts.length != 0) {
// return this.$http.request('/v1/product/list_product','post',{ productCategoryId: this.allProducts[0].productCategoryId })
// .then(e => {
// if( e.data.data.length != 0) {
// this.isProduct = true
// e.data.data.forEach((product) => {
// // 菜品是否展示
// if(product.productStatus == 'UP') {
// this.defaultProduct.push(product)
// }
// })
// this.allProducts[0].data = this.defaultProduct
// }
// else {
// this.isProduct = false
// }
//
// })
// }
// // 左侧没有分类的情况下
// else {
// this.isCategorys = false
// return
// }
// })
// },
// mounted() {
// window.clearCar = this.clearCar
// const that = this
// setTimeout(function (res) {
// var product = JSON.parse(JSON.stringify(that.defaultProduct))
// product.forEach((item,index) => {
// var img = new Image()
// var urls = []
// urls[index] = item.productIcon
// img.src = urls[index]
// img.onload = function () {
// that.$refs.img[index].src = urls[index]
// }
// })
// },500)
// },
// methods:{
// // 选菜的类别的点击事件
// selectClass:function (menu,index) {
// if( this.selectIndex != index) {
// this.selectIndex = index
// this.defaultProduct = []
// this.$http.request('/v1/product/list_product','post',{productCategoryId: menu.productCategoryId})
// .then(res => {
// if(res.data.data.length != 0) {
// this.isProduct = true
// res.data.data.forEach(product => {
// if(product.productStatus == 'UP') {
// this.defaultProduct.push(product)
// }
// })
// this.preLoad(this.defaultProduct)
// }
// else {
// this.isProduct = false
// }
// })
// .catch(err => {
// console.log(err)
// })
// }
// },
// // 点击加入购物车列表e
// addCar:function (e) {
// // 假设在购物车中没有找到商品
// var flag = false
// let gooodinfo = {
// productId: e.productId,
// productName: e.productName,
// productPrice: e.productPrice,
// count: 0
// }
// // 判断购物车里是否已经存在商品
// this.carList.some((item,index) => {
// if(gooodinfo.productId == item.productId ) {
// item.count += parseInt(gooodinfo.count) + 1
// flag = true
// return
// }
// })
//
// // 购物车不存在这个商品新加一条数据
// if (!flag) {
// gooodinfo.count = 1
// this.carList.push(gooodinfo)
// }
// //计算总数量 总价格
// this.allNum = this.allNum + 1
// this.allPrice = ((this.allPrice*100 + gooodinfo.productPrice*100)/100).toFixed(2)
//
// // 让最后加入右侧购物车列表的菜进入视野
// setTimeout(() => {
// this.$refs.foodItem[this.carList.length - 1].scrollIntoView()
// },0)
//
//
// },
// // 清空购物车
// clearCar:function() {
// this.carList = [];
// this.allNum = 0
// this.allPrice = 0
// },
// // 减少购物车的数量
// reduce:function(index) {
// this.allPrice = ((this.allPrice*100 - this.carList[index].productPrice*100)/100).toFixed(2)
// this.carList[index].count = this.carList[index].count - 1
// // 购物车里的商品数量减少到小于等于0时,从购物车里删除这条信息
// if(this.carList[index].count <= 0) {
// this.carList.splice(index,1)
// }
// this.allNum = this.allNum - 1
// },
// // 增加购物车的数量
// add:function(index) {
// this.carList[index].count = this.carList[index].count + 1
// this.allNum = this.allNum + 1
// this.allPrice = ((this.allPrice*100 + this.carList[index].productPrice*100)/100).toFixed(2)
// },
// // 结账
// checkout: function () {
// let setData = []
// this.carList.forEach(item => {
// setData.push({
// productId: item.productId,
// productQuantity: item.count
// })
//
// })
// // 向设备端发送详情账单
// window.android.pay(JSON.stringify(setData),this.allPrice)
// },
// preLoad: function(product) {
// product.forEach((item,index) => {
// const that = this
// var img = new Image()
// var urls = []
// urls[index] = item.productIcon
// img.src = urls[index]
// img.onload = function () {
// setTimeout(function () {
// that.$refs.img[index].src = urls[index]
// },0)
// }
// })
// }
// },
// })
</script> </script>
</html> </html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment