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
16 KiB
1 line
16 KiB
{"remainingRequest":"/Users/linhuakun/Downloads/coderlhk/bigbar-start/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/linhuakun/Downloads/coderlhk/bigbar-start/src/views/order/Order.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/linhuakun/Downloads/coderlhk/bigbar-start/src/views/order/Order.vue","mtime":1616810114614},{"path":"/Users/linhuakun/Downloads/coderlhk/bigbar-start/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/bigbar-start/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/bigbar-start/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBPcmVkZXJ0TGlzdCBmcm9tICJAL3ZpZXdzL29yZGVyL2NoaWxkQ29tcHMvT3JkZXJMaXN0IjsKaW1wb3J0IE9yZGVyQm90dG9tIGZyb20gIkAvdmlld3Mvb3JkZXIvY2hpbGRDb21wcy9PcmRlckJvdHRvbSI7CmltcG9ydCBTY3JvbGwgZnJvbSAiQC9jb21wb25lbnRzL2NvbW1vbi9TY3JvbGwvU2Nyb2xsIjsKCmltcG9ydCBOYXZCYXIgZnJvbSAiQC9jb21wb25lbnRzL2NvbW1vbi9uYXZiYXIvTmF2QmFyIjsKaW1wb3J0IFZEaXN0cGlja2VyIGZyb20gJ3YtZGlzdHBpY2tlcicKCmltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICJ2dWV4IjsKCgpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIk9yZGVyIiwKICBjb21wb25lbnRzOiB7CiAgICBPcmRlckJvdHRvbSwKICAgIE5hdkJhciwKICAgIE9yZWRlcnRMaXN0LAogICAgU2Nyb2xsLAogICAgVkRpc3RwaWNrZXIKICB9LAogIGRhdGEoKSB7CiAgICB2YXIgY2hlY2twaG9uZSA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgLy8gbGV0IHBob25lUmVnID0gLyheMVszfDR8NXw2fDd8OHw5XVxkezl9JCl8KF4wOVxkezh9JCkvOwogICAgICBpZiAodmFsdWUgPT09ICIiKSB7CiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCLor7fovpPlhaXmiYvmnLrlj7ciKSk7CiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNDZWxsUGhvbmUodmFsdWUpKSB7CiAgICAgICAgLy8g5byV5YWlbWV0aG9kc+S4reWwgeijheeahOajgOafpeaJi+acuuagvOW8j+eahOaWueazlQogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36L6T5YWl5q2j56Gu55qE5omL5py65Y+3ISIpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9OwogICAgcmV0dXJuIHsKICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LAogICAgICBpc1Nob3c6dHJ1ZSwKICAgICAgbGlzdGRhdGE6W10sCiAgICAgIG9yZGVyRm9ybTogewogICAgICAgIHVzZXJfaWQ6IiIsCiAgICAgICAgbmFtZTogIiIsCiAgICAgICAgdGVsZXBob25lOiAiIiwKICAgICAgICBwcm92aW5jZToiIiwKICAgICAgICBjaXR5OiIiLAogICAgICAgIGFyZWE6IiIsCiAgICAgICAgYWRkcmVzczogIiIsCiAgICAgICAgcGljdHVyZToiIiwKICAgICAgICB0aXRsZToiIiwKICAgICAgICBkZXRhaWw6IiIsCiAgICAgICAgcHJpY2U6IiIsCiAgICAgIH0sCiAgICAgIG9yZGVyRm9ybVJ1bGVzOiB7CiAgICAgICAgLy/pqozor4HnlKjmiLflkI3mmK/lkKblkIjms5UKICAgICAgICBuYW1lOiBbCiAgICAgICAgICB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi6K+36L6T5YWl55So5oi35ZCNIiwgdHJpZ2dlcjogImJsdXIiIH0sCiAgICAgICAgICB7IG1pbjogMiwgbWF4OiAxMSwgbWVzc2FnZTogIumVv+W6puWcqCAyIOWIsCAxMSDkuKrlrZfnrKYiLCB0cmlnZ2VyOiAiYmx1ciIgfQogICAgICAgIF0sCiAgICAgICAgdGVsZXBob25lOiBbCiAgICAgICAgICB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi6K+36L6T5YWl5omL5py65Y+3IiwgdHJpZ2dlcjogImJsdXIiIH0sCiAgICAgICAgICB7IHZhbGlkYXRvcjogY2hlY2twaG9uZSwgdHJpZ2dlcjogImJsdXIiIH0KICAgICAgICBdLAogICAgICAgIC8v6aqM6K+B5a+G56CB5piv5ZCm5ZCI5rOVCiAgICAgICAgYWRkcmVzczogWwogICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogIuivt+i+k+WFpeWcsOWdgCIsIHRyaWdnZXI6ICJibHVyIiB9LAogICAgICAgICAgewogICAgICAgICAgICBtaW46IDMsCiAgICAgICAgICAgIG1heDogNiwKICAgICAgICAgICAgbWVzc2FnZTogIumVv+W6puWcqCAzIOWIsCA2IOS4quWtl+espiIsCiAgICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICAvLyAuLi5tYXBHZXR0ZXJzKFsnY2FydExlbmd0aCcsJ2NhcnRMaXN0J10pCiAgICAuLi5tYXBHZXR0ZXJzKHsKICAgICAgbGVuZ3RoOiAiY2FydExlbmd0aCIsCiAgICAgIGxpc3Q6ICJjYXJ0TGlzdCIsCiAgICB9KQogIH0sCiAgbWV0aG9kczogewogICAgYmFja0NsaWNrKCkgewogICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL2NhcnQiKTsKICAgIH0sCiAgICBpc0NlbGxQaG9uZSh2YWwpIHsKICAgICAgaWYgKCEvXjEoM3w0fDV8Nnw3fDh8OSlcZHs5fSQvLnRlc3QodmFsKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgfSwKICAgIGxvYWRNb3JlKCl7CiAgICAgIC8vIHRoaXMuZ2V0SG9tZUdvb2RzKHRoaXMuY3VycmVudFR5cGUpCiAgICAgIHRoaXMuJHJlZnMuc2Nyb2xsLnJlZnJlc2goKQogICAgfSwKICAgICAgcHVsbGluZ0Rvd24oKSB7CiAgICAgIHRoaXMucHVsbGluZ2Rvd24gPSB0cnVlOwogICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICB0aGlzLnB1bGxpbmdkb3duID0gZmFsc2U7CiAgICAgICAgdGhpcy4kcmVmcy5zY3JvbGwuZmluaXNoUHVsbERvd24oKTsKICAgICAgfSwgMCkKICAgIH0sCiAgICAgIG9yZGVyKCkgewogICAgICAgdGhpcy4kcmVmcy5vcmRlckZvcm1SZWYudmFsaWRhdGUoIGFzeW5jIHZhbGlkID0+IHsKICAgICAgICBpZiAoIXZhbGlkKSByZXR1cm47CiAgICAgICAgdGhpcy5saXN0ZGF0YT10aGlzLiRzdG9yZS5zdGF0ZS5jYXJ0TGlzdAogICAgICAgIHRyeXsKICAgICAgICAgICAgZm9yKHZhciBpdGVtIGluIHRoaXMubGlzdGRhdGEpewogICAgICAgICAgICB0aGlzLm9yZGVyRm9ybS5waWN0dXJlPXRoaXMubGlzdGRhdGFbaXRlbV0uaW1hZ2UKICAgICAgICAgICAgdGhpcy5vcmRlckZvcm0udGl0bGU9dGhpcy5saXN0ZGF0YVtpdGVtXS50aXRsZQogICAgICAgICAgICB0aGlzLm9yZGVyRm9ybS5kZXRhaWw9dGhpcy5saXN0ZGF0YVtpdGVtXS5kZXNjCiAgICAgICAgICAgIHRoaXMub3JkZXJGb3JtLnByaWNlPXRoaXMubGlzdGRhdGFbaXRlbV0ucHJpY2UKICAgICAgICAgICAgdGhpcy5vcmRlckZvcm0uY291bnQ9dGhpcy5saXN0ZGF0YVtpdGVtXS5jb3VudAogICAgICAgICAgICBhd2FpdCB0aGlzLiRodHRwLnBvc3QoJy9vcmRlci9ib29rb3JkZXInLHRoaXMub3JkZXJGb3JtKTsKICAgICAgICB9CiAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCLkuIvljZXmiJDlip8iKQogICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCcvY2FydCcpCiAgICAgICAgfWNhdGNoKGVycil7CiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCfkuIvljZXlpLHotKUnKQogICAgICAgIH0KICAgICAgIH0pOwogICAgfSwKICAgIG9uQ2hhbmdlUHJvdmluY2UoZGF0YSkgewogICAgICB0aGlzLm9yZGVyRm9ybS5wcm92aW5jZSA9IGRhdGEudmFsdWUKICAgIH0sCiAgICBvbkNoYW5nZUNpdHkoZGF0YSkgewogICAgICB0aGlzLm9yZGVyRm9ybS5jaXR5ID0gZGF0YS52YWx1ZQogICAgfSwKICAgIG9uQ2hhbmdlQXJlYShkYXRhKXsKICAgICAgdGhpcy5vcmRlckZvcm0uYXJlYT1kYXRhLnZhbHVlCiAgICB9CiAgfSwKICBtb3VudGVkKCl7CiAgICB0aGlzLm9yZGVyRm9ybS51c2VyX2lkID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInVzZXJJZCIpOwogIGNvbnN0IG9sYWJlbD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7CiAgIG9sYWJlbFswXS5zdHlsZS5mb250U2l6ZT0nOHB4JzsKICAgb2xhYmVsWzFdLnN0eWxlLmZvbnRTaXplPSc4cHgnOwogICBvbGFiZWxbMl0uc3R5bGUuZm9udFNpemU9JzhweCc7CiAgICB2YXIgbiA9IG5hdmlnYXRvci51c2VyQWdlbnQ7CiAgICBpZiAobi5pbmRleE9mKCJpUGhvbmUiKSA8PSAtMSkgewogICAgICB3aW5kb3cub25yZXNpemUgPSAoKSA9PiB7CiAgICAgICAgY29uc3Qgb2NvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjb250ZW50JylbMF07CiAgICAgICAgaWYgKGxvY2F0aW9uLnBhdGhuYW1lID09ICIvb3JkZXIiKSB7CiAgICAgICAgICBpZiAodGhpcy5jbGllbnRIZWlnaHQgPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSB7CiAgICAgICAgICAgIC8vIOmakOiXj+aMiemSrgogICAgICAgICAgICB0aGlzLmlzU2hvdz1mYWxzZTsKICAgICAgICAgICAgb2NvbnRlbnQuc3R5bGUuYm90dG9tPTA7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyDmmL7npLrmjInpkq4KICAgICAgICAgICB0aGlzLmlzU2hvdz10cnVlOwogICAgICAgICAgIG9jb250ZW50LnN0eWxlLmJvdHRvbT0nNDRweCc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9OwogICAgfQogIH0KfTsKCg=="},{"version":3,"sources":["Order.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwEA;AACA;AACA;;AAEA;AACA;;AAEA;;;AAGA;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;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-phone\"\n ></el-input>\n </el-form-item>\n\n <VDistpicker :city=\"orderForm.city\" :area=\"orderForm.area\" :province=\"orderForm.province\" @area=\"onChangeArea\" @province=\"onChangeProvince\" @city=\"onChangeCity\"></VDistpicker>\n\n <el-form-item prop=\"address\">\n <el-input\n class=\"last-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 class=\"shop-list\"></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 <div v-show=\"isShow\" class=\"bottom\">\n <OrderBottom @order=\"order\"></OrderBottom>\n </div>\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\";\nimport VDistpicker from 'v-distpicker'\n\nimport { mapGetters } from \"vuex\";\n\n\nexport default {\n name: \"Order\",\n components: {\n OrderBottom,\n NavBar,\n OredertList,\n Scroll,\n VDistpicker\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 clientHeight: document.documentElement.clientHeight,\n isShow:true,\n listdata:[],\n orderForm: {\n user_id:\"\",\n name: \"\",\n telephone: \"\",\n province:\"\",\n city:\"\",\n area:\"\",\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: 11, message: \"长度在 2 到 11 个字符\", 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: 3,\n max: 6,\n message: \"长度在 3 到 6 个字符\",\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|9)\\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 onChangeProvince(data) {\n this.orderForm.province = data.value\n },\n onChangeCity(data) {\n this.orderForm.city = data.value\n },\n onChangeArea(data){\n this.orderForm.area=data.value\n }\n },\n mounted(){\n this.orderForm.user_id = window.sessionStorage.getItem(\"userId\");\n const olabel=document.getElementsByTagName('select');\n olabel[0].style.fontSize='8px';\n olabel[1].style.fontSize='8px';\n olabel[2].style.fontSize='8px';\n var n = navigator.userAgent;\n if (n.indexOf(\"iPhone\") <= -1) {\n window.onresize = () => {\n const ocontent = document.getElementsByClassName('content')[0];\n if (location.pathname == \"/order\") {\n if (this.clientHeight > document.documentElement.clientHeight) {\n // 隐藏按钮\n this.isShow=false;\n ocontent.style.bottom=0;\n } else {\n // 显示按钮\n this.isShow=true;\n ocontent.style.bottom='44px';\n }\n }\n };\n }\n }\n};\n\n</script>\n\n<style scoped>\n.shop-list{\n position: relative;\n z-index: 99999;\n\n}\n.order_box {\n margin-top: 10px;\n}\n\n.order {\n background-color: #f5f5f5;\n}\n.last-input{\n margin-top:20px ;\n}\n\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\n\n.back img {\n margin-top: 12px !important;\n}\n\n\n.bottom{\n height: 44px;\n position: fixed !important;\n z-index: 99 !important;\n bottom:0;\n width: 100%;\n}\n\n.distpicker-address-wrapper{\n display: flex;\n justify-content: space-between;\n}\n\n.nav-bar{\n font-weight: 700;\n background-color:#f53b57;\n color: #fff;\n}\n\n.content{\n left: 0;\n right: 0;\n top:44px;\n bottom: 44px;\n z-index: 99999 !important;\n overflow: hidden;\n position: absolute;\n}\n\n</style>\n"]}]} |