You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
13 KiB

{"remainingRequest":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/linhuakun/Downloads/coderlhk/codewhy/src/views/order/Order.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/src/views/order/Order.vue","mtime":1616242554232},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBPcmVkZXJ0TGlzdCBmcm9tICJAL3ZpZXdzL29yZGVyL2NoaWxkQ29tcHMvT3JkZXJMaXN0IjsKaW1wb3J0IE9yZGVyQm90dG9tIGZyb20gIkAvdmlld3Mvb3JkZXIvY2hpbGRDb21wcy9PcmRlckJvdHRvbSI7CmltcG9ydCBTY3JvbGwgZnJvbSAiQC9jb21wb25lbnRzL2NvbW1vbi9TY3JvbGwvU2Nyb2xsIjsKCmltcG9ydCBOYXZCYXIgZnJvbSAiQC9jb21wb25lbnRzL2NvbW1vbi9uYXZiYXIvTmF2QmFyIjsKCmltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICJ2dWV4IjsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiT3JkZXIiLAogIGNvbXBvbmVudHM6IHsKICAgIE9yZGVyQm90dG9tLAogICAgTmF2QmFyLAogICAgT3JlZGVydExpc3QsCiAgICBTY3JvbGwKICB9LAogIGRhdGEoKSB7CiAgICB2YXIgY2hlY2twaG9uZSA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgLy8gbGV0IHBob25lUmVnID0gLyheMVszfDR8NXw2fDd8OHw5XVxkezl9JCl8KF4wOVxkezh9JCkvOwogICAgICBpZiAodmFsdWUgPT09ICIiKSB7CiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCLor7fovpPlhaXmiYvmnLrlj7ciKSk7CiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNDZWxsUGhvbmUodmFsdWUpKSB7CiAgICAgICAgLy8g5byV5YWlbWV0aG9kc+S4reWwgeijheeahOajgOafpeaJi+acuuagvOW8j+eahOaWueazlQogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36L6T5YWl5q2j56Gu55qE5omL5py65Y+3ISIpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9OwogICAgcmV0dXJuIHsKICAgICAgbGlzdGRhdGE6W10sCiAgICAgIG9yZGVyRm9ybTogewogICAgICAgIHVzZXJfaWQ6IiIsCiAgICAgICAgbmFtZTogIiIsCiAgICAgICAgdGVsZXBob25lOiAiIiwKICAgICAgICBhZGRyZXNzOiAiIiwKICAgICAgICBwaWN0dXJlOiIiLAogICAgICAgIHRpdGxlOiIiLAogICAgICAgIGRldGFpbDoiIiwKICAgICAgICBwcmljZToiIiwKICAgICAgfSwKICAgICAgb3JkZXJGb3JtUnVsZXM6IHsKICAgICAgICAvL+mqjOivgeeUqOaIt+WQjeaYr+WQpuWQiOazlQogICAgICAgIG5hbWU6IFsKICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLor7fovpPlhaXnlKjmiLflkI0iLCB0cmlnZ2VyOiAiYmx1ciIgfSwKICAgICAgICAgIHsgbWluOiAyLCBtYXg6IDEwLCBtZXNzYWdlOiAi6ZW/5bqm5ZyoIDMg5YiwIDUg5Liq5a2X56ymIiwgdHJpZ2dlcjogImJsdXIiIH0KICAgICAgICBdLAogICAgICAgIHRlbGVwaG9uZTogWwogICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogIuivt+i+k+WFpeaJi+acuuWPtyIsIHRyaWdnZXI6ICJibHVyIiB9LAogICAgICAgICAgeyB2YWxpZGF0b3I6IGNoZWNrcGhvbmUsIHRyaWdnZXI6ICJibHVyIiB9CiAgICAgICAgXSwKICAgICAgICAvL+mqjOivgeWvhueggeaYr+WQpuWQiOazlQogICAgICAgIGFkZHJlc3M6IFsKICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLor7fovpPlhaXlnLDlnYAiLCB0cmlnZ2VyOiAiYmx1ciIgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgbWluOiA2LAogICAgICAgICAgICBtYXg6IDE2LAogICAgICAgICAgICBtZXNzYWdlOiAi6ZW/5bqm5ZyoIDYg5YiwIDEzIOS4quWtl+espiIsCiAgICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICAvLyAuLi5tYXBHZXR0ZXJzKFsnY2FydExlbmd0aCcsJ2NhcnRMaXN0J10pCiAgICAuLi5tYXBHZXR0ZXJzKHsKICAgICAgbGVuZ3RoOiAiY2FydExlbmd0aCIsCiAgICAgIGxpc3Q6ICJjYXJ0TGlzdCIsCiAgICB9KQogIH0sCiAgbWV0aG9kczogewogICAgYmFja0NsaWNrKCkgewogICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL2NhcnQiKTsKICAgIH0sCiAgICBpc0NlbGxQaG9uZSh2YWwpIHsKICAgICAgaWYgKCEvXjEoM3w0fDV8Nnw3fDgpXGR7OX0kLy50ZXN0KHZhbCkpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0sCiAgICBsb2FkTW9yZSgpewogICAgICAvLyB0aGlzLmdldEhvbWVHb29kcyh0aGlzLmN1cnJlbnRUeXBlKQogICAgICB0aGlzLiRyZWZzLnNjcm9sbC5yZWZyZXNoKCkKICAgIH0sCiAgICAgIHB1bGxpbmdEb3duKCkgewogICAgICB0aGlzLnB1bGxpbmdkb3duID0gdHJ1ZTsKICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgdGhpcy5wdWxsaW5nZG93biA9IGZhbHNlOwogICAgICAgIHRoaXMuJHJlZnMuc2Nyb2xsLmZpbmlzaFB1bGxEb3duKCk7CiAgICAgIH0sIDApCiAgICB9LAogICAgICBvcmRlcigpIHsKICAgICAgIHRoaXMuJHJlZnMub3JkZXJGb3JtUmVmLnZhbGlkYXRlKCBhc3luYyB2YWxpZCA9PiB7CiAgICAgICAgaWYgKCF2YWxpZCkgcmV0dXJuOwogICAgICAgIHRoaXMubGlzdGRhdGE9dGhpcy4kc3RvcmUuc3RhdGUuY2FydExpc3QKICAgICAgICB0cnl7CiAgICAgICAgICAgIGZvcih2YXIgaXRlbSBpbiB0aGlzLmxpc3RkYXRhKXsKICAgICAgICAgICAgdGhpcy5vcmRlckZvcm0ucGljdHVyZT10aGlzLmxpc3RkYXRhW2l0ZW1dLmltYWdlCiAgICAgICAgICAgIHRoaXMub3JkZXJGb3JtLnRpdGxlPXRoaXMubGlzdGRhdGFbaXRlbV0udGl0bGUKICAgICAgICAgICAgdGhpcy5vcmRlckZvcm0uZGV0YWlsPXRoaXMubGlzdGRhdGFbaXRlbV0uZGVzYwogICAgICAgICAgICB0aGlzLm9yZGVyRm9ybS5wcmljZT10aGlzLmxpc3RkYXRhW2l0ZW1dLnByaWNlCiAgICAgICAgICAgIHRoaXMub3JkZXJGb3JtLmNvdW50PXRoaXMubGlzdGRhdGFbaXRlbV0uY291bnQKICAgICAgICAgICAgYXdhaXQgdGhpcy4kaHR0cC5wb3N0KCcvb3JkZXIvYm9va29yZGVyJyx0aGlzLm9yZGVyRm9ybSk7CiAgICAgICAgfQogICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygi5LiL5Y2V5oiQ5YqfIikKICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgnL2NhcnQnKQogICAgICAgIH1jYXRjaChlcnIpewogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign5LiL5Y2V5aSx6LSlJykKICAgICAgICB9CiAgICAgICB9KTsKICAgIH0sCiAgfSwKICBtb3VudGVkKCl7CiAgICB0aGlzLm9yZGVyRm9ybS51c2VyX2lkID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInVzZXJJZCIpOwogIH0KfTsK"},{"version":3,"sources":["Order.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Order.vue","sourceRoot":"src/views/order","sourcesContent":["<template>\n <div class=\"order\">\n <NavBar class=\"nav-bar\">\n <div slot=\"left\" class=\"back\" @click=\"backClick\">\n <img src=\"~assets/img/common/back.svg\" alt=\"\" />\n </div>\n <div slot=\"center\" >填写订单</div>\n </NavBar>\n <scroll class=\"content\" ref=\"scroll\"\n :probe-type=\"3\"\n :pull-up-load=\"true\"\n @pullingUp=\"loadMore\"\n @pullingDown=\"pullingDown\"\n >\n <div class=\"order_box\">\n <!-- 登陆区域 -->\n <el-form\n ref=\"orderFormRef\"\n label-width=\"0px\"\n :model=\"orderForm\"\n :rules=\"orderFormRules\"\n >\n <el-form-item prop=\"name\">\n <el-input\n placeholder=\"请输入用户名\"\n v-model=\"orderForm.name\"\n prefix-icon=\"el-icon-user-solid\"\n ></el-input>\n </el-form-item>\n\n <el-form-item prop=\"telephone\">\n <el-input\n placeholder=\"请输入电话号码\"\n v-model=\"orderForm.telephone\"\n prefix-icon=\"el-icon-user-solid\"\n ></el-input>\n </el-form-item>\n\n <el-form-item prop=\"address\">\n <el-input\n placeholder=\"请输入地址\"\n v-model=\"orderForm.address\"\n prefix-icon=\"el-icon-s-goods\"\n ></el-input>\n </el-form-item>\n </el-form>\n </div>\n <OredertList></OredertList>\n <div class=\"method\">\n <div class=\"wrap\">\n <div class=\"header\">\n <div>支付方式</div>\n <div><i></i> 在线支付</div>\n <div><i></i> 货到付款</div>\n </div>\n <div class=\"footer\">\n <div>发票信息</div>\n <div>不需要发表</div>\n </div>\n </div>\n </div>\n </scroll>\n <OrderBottom class=\"bottom\" @order=\"order\"></OrderBottom>\n </div>\n</template>\n\n<script>\nimport OredertList from \"@/views/order/childComps/OrderList\";\nimport OrderBottom from \"@/views/order/childComps/OrderBottom\";\nimport Scroll from \"@/components/common/Scroll/Scroll\";\n\nimport NavBar from \"@/components/common/navbar/NavBar\";\n\nimport { mapGetters } from \"vuex\";\n\nexport default {\n name: \"Order\",\n components: {\n OrderBottom,\n NavBar,\n OredertList,\n Scroll\n },\n data() {\n var checkphone = (rule, value, callback) => {\n // let phoneReg = /(^1[3|4|5|6|7|8|9]\\d{9}$)|(^09\\d{8}$)/;\n if (value === \"\") {\n callback(new Error(\"请输入手机号\"));\n } else if (!this.isCellPhone(value)) {\n // 引入methods中封装的检查手机格式的方法\n callback(new Error(\"请输入正确的手机号!\"));\n } else {\n callback();\n }\n };\n return {\n listdata:[],\n orderForm: {\n user_id:\"\",\n name: \"\",\n telephone: \"\",\n address: \"\",\n picture:\"\",\n title:\"\",\n detail:\"\",\n price:\"\",\n },\n orderFormRules: {\n //验证用户名是否合法\n name: [\n { required: true, message: \"请输入用户名\", trigger: \"blur\" },\n { min: 2, max: 10, message: \"长度在 3 到 5 个字符\", trigger: \"blur\" }\n ],\n telephone: [\n { required: true, message: \"请输入手机号\", trigger: \"blur\" },\n { validator: checkphone, trigger: \"blur\" }\n ],\n //验证密码是否合法\n address: [\n { required: true, message: \"请输入地址\", trigger: \"blur\" },\n {\n min: 6,\n max: 16,\n message: \"长度在 6 到 13 个字符\",\n trigger: \"blur\"\n }\n ]\n }\n };\n },\n computed: {\n // ...mapGetters(['cartLength','cartList'])\n ...mapGetters({\n length: \"cartLength\",\n list: \"cartList\",\n })\n },\n methods: {\n backClick() {\n this.$router.push(\"/cart\");\n },\n isCellPhone(val) {\n if (!/^1(3|4|5|6|7|8)\\d{9}$/.test(val)) {\n return false;\n } else {\n return true;\n }\n },\n loadMore(){\n // this.getHomeGoods(this.currentType)\n this.$refs.scroll.refresh()\n },\n pullingDown() {\n this.pullingdown = true;\n setTimeout(() => {\n this.pullingdown = false;\n this.$refs.scroll.finishPullDown();\n }, 0)\n },\n order() {\n this.$refs.orderFormRef.validate( async valid => {\n if (!valid) return;\n this.listdata=this.$store.state.cartList\n try{\n for(var item in this.listdata){\n this.orderForm.picture=this.listdata[item].image\n this.orderForm.title=this.listdata[item].title\n this.orderForm.detail=this.listdata[item].desc\n this.orderForm.price=this.listdata[item].price\n this.orderForm.count=this.listdata[item].count\n await this.$http.post('/order/bookorder',this.orderForm);\n }\n this.$message.success(\"下单成功\")\n this.$router.push('/cart')\n }catch(err){\n this.$message.error('下单失败')\n }\n });\n },\n },\n mounted(){\n this.orderForm.user_id = window.sessionStorage.getItem(\"userId\");\n }\n};\n</script>\n\n<style scoped>\ni{\n background-position: -15px -1px;\n background-color: #fc5a5a;\n border: 1px solid #fc5a5a;\n display: inline-block;\n width: 13px;\n height: 13px;\n border: 1px solid #aaa;\n border-radius: 50%;\n position: absolute;\n top:50%;\n transform: translate(0,-50%);\n left:85px;\n}\n\n.wrap{\n width: 80%;\n margin: 0 auto;\n}\n\n.method{\n margin-top:20px;\n height: 80px;\n width: 100%;\n background-color: #fff;\n}\n\n.method .header{\n display: flex;\n justify-content: space-between;\n font-size: 14px;\n color: #666;\n line-height: 28px;\n position: relative;\n}\n\n.method .footer{\n margin-top: 10px;\n justify-content: space-between;\n display: flex;\n font-size: 14px;\n color: #666;\n line-height: 28px;\n}\n\n.order_box {\n margin-top: 20px;\n height: 180px;\n}\n\n.content {\n left: 0;\n right: 0;\n top: 44px;\n bottom: 58px;\n overflow: hidden;\n position: absolute;\n}\n\n.order {\n /*position: relative;*/\n height: 100vh;\n background-color: #f5f5f5;\n position: relative;\n}\n\n.nav-bar {\n font-weight: 700;\n background-color: #f53b57;\n color: #fff;\n}\n\n.back img {\n margin-top: 12px !important;\n}\n.bottom{\n position: absolute;\n bottom: 0;\n margin-bottom:0;\n}\n</style>\n"]}]}