xuqiang 4 жил өмнө
parent
commit
d1638cf732

+ 18 - 10
package-lock.json

@@ -3782,9 +3782,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001283",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
-      "integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==",
+      "version": "1.0.30001284",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz",
+      "integrity": "sha512-t28SKa7g6kiIQi6NHeOcKrOrGMzCRrXvlasPwWC26TH2QNdglgzQIRUuJ0cR3NeQPH+5jpuveeeSFDLm2zbkEw==",
       "dev": true
     },
     "case-sensitive-paths-webpack-plugin": {
@@ -5427,9 +5427,9 @@
       "dev": true
     },
     "electron-to-chromium": {
-      "version": "1.4.8",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.8.tgz",
-      "integrity": "sha512-Cu5+dbg55+1E3ohlsa8HT0s4b8D0gBewXEGG8s5wBl8ynWv60VuvYW25GpsOeTVXpulhyU/U8JYZH+yxASSJBQ==",
+      "version": "1.4.10",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.10.tgz",
+      "integrity": "sha512-tFgA40Iq2oy4k2PnZrLJowbgpij+lD6ZLxkw8Ht1NKTYyN8dvSvC5xlo8X0WW2jqhKSzITrbr5mpB4/AZ/8OUA==",
       "dev": true
     },
     "elliptic": {
@@ -11692,14 +11692,22 @@
       }
     },
     "sockjs": {
-      "version": "0.3.21",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz",
-      "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==",
+      "version": "0.3.24",
+      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
+      "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
       "dev": true,
       "requires": {
         "faye-websocket": "^0.11.3",
-        "uuid": "^3.4.0",
+        "uuid": "^8.3.2",
         "websocket-driver": "^0.7.4"
+      },
+      "dependencies": {
+        "uuid": {
+          "version": "8.3.2",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+          "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+          "dev": true
+        }
       }
     },
     "sockjs-client": {

+ 25 - 0
project.private.config.json

@@ -0,0 +1,25 @@
+{
+    "setting": {},
+    "condition": {
+        "plugin": {
+            "list": []
+        },
+        "game": {
+            "list": []
+        },
+        "gamePlugin": {
+            "list": []
+        },
+        "miniprogram": {
+            "list": [
+                {
+                    "id": -1,
+                    "name": "入住须知",
+                    "pathName": "/pages/checkin",
+                    "query": "",
+                    "scene": null
+                }
+            ]
+        }
+    }
+}

+ 3 - 0
src/main.js

@@ -31,6 +31,9 @@ export default {
             'pages/walletdetails',
             'pages/recharge',
             'pages/repairReport',
+            'pages/help',
+            'pages/checkin',
+            'pages/complaint',
             'pages/vuex/vuex'
         ],
         tabBar: {

+ 163 - 0
src/pages/checkin.vue

@@ -0,0 +1,163 @@
+<config>
+{
+    "navigationBarTitleText": "入住须知",
+}
+</config>
+<template>
+    <div class="content">
+        <div class="box">
+            <div class="title">
+                尊敬的住户,欢迎您入住本公寓!为营造安全舒适的居住空间,请仔细阅读本须知并遵守各项条规:
+            </div>
+            <div v-for="(item, index) in list" :key="index">{{ item.title }}</div>
+            <div class="title2">
+                以上所有条款适用于筑梦居全国所有门店!若遇特定城市的法令规范不一而有出入的,以该城市的规范为准!若遇个别门店所在地的公安部门、街道、小区或物业等,对住户提出其他规定的,住户必需配合!
+            </div>
+            <div class="title3">
+                严正声明:住户因其违反公寓公约或各项法令,造成公寓、公寓方人员、或其他住户任何形式的伤害或损失的,无论其是否已提出退宿,该住户仍应承担法律和经济赔偿等全部责任!
+            </div>
+            <div class="box1">
+                <div class="title4">
+                    前台留有夜间值班人员电话,若有紧急情况欢迎 拨打!
+                </div>
+                <div class="title4">欢迎您对我们的服务提出更多意见:</div>
+                <div class="title4">(400-8365-186)</div>
+            </div>
+            <div class="border"></div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            list: [
+                {
+                    title: '(1)入住期内违约或退宿,剩余房费及押金不予退还,若续租,应于入住期满前一周提出申请。'
+                },
+                {
+                    title:
+                        '(2)办理入住需根据公寓要求支付押金(押金在退宿办完日起最长于第15个工作日返还) 。每周期租金应提前15天缴纳,超出天数的,从超过应支付日起按房租的10%缴纳滞纳金,计算到缴清下周期的租金为止。'
+                },
+                {
+                    title:
+                        '(3)入住本公寓应按月交付水、电、网等各项其他费用。逾期不交的,本公寓有权要求住户补足所欠费用及缴纳滞纳金(从超过应当支付日起开始收取,每天滞纳金额以拖欠费用总额的5%计算)。'
+                },
+                {
+                    title:
+                        '(4)本公寓不接待55岁以上人员、孕妇及婴幼儿及外籍人员入住,不接待患有传染病、心脑血管疾病、心理或精神异常者。办理入住须持本人身份证证件,如发现身份不符,立即勒令其退宿处理。'
+                },
+                {
+                    title:
+                        '(5)访客须到前台登记,当天22点前须离开。私带访客进入或留宿访客的,本公寓有权向住户收取1000元违约金;二次违规的直接勒令退宿。'
+                },
+                {
+                    title:
+                        '(6)退宿当天应搬离个人物品,逾期视为放弃所有权。若遗留5件以上物品,押金将被扣除100元作为清洁费。如不办退宿视为在住,房租及水电网等费用持续计算到办完退宿为止。无论任何原因不再住本公寓,超过3天仍不办理退宿的,视为同意放弃物品所有权,本公寓有权做清理处理且押金不予退还。'
+                },
+                {
+                    title:
+                        '(7)住户不得私自更换床位,如私自占用空床位,需从自占用日起向本公寓足额缴床位费,直到清空为止。若经我方二次催告,住户拒不清空,我方有权直接丢弃住户物品,并勒令住户退宿。'
+                },
+                {
+                    title:
+                        '(8)本公寓每15天免费提供一次布草清洗服务。如要求更换或退宿时,布草有不清洁者(如:划线、油渍、血渍等),需按照赔偿价目表上的全新布草价格向本公寓赔偿。'
+                },
+                {
+                    title:
+                        '(9)入住期间不得私自更换房屋内的设施设备、并应爱惜使用。若因使用不当或不合理而造成的损失及故障,由本公寓代为维修,费用由住户承担(损坏依赔偿价目表照价赔偿)。'
+                },
+                {
+                    title:
+                        '(10)根据相关条例,住户需配合本公寓做好垃圾分类工作。若不配合的,本公寓当天将拒绝进入房屋内进行保洁工作,直到住户改善为止。不配合或拒绝改善达三次的,本公寓有权勒令对方退宿。'
+                },
+                {
+                    title: '(11)公寓前台提供收、放快递和放置外卖固定点,概不承担遗失、损坏。但不提供寄快递服务。'
+                },
+                {
+                    title:
+                        '(12)住户应爱护公共财产(如:文明乘坐电梯)、爱护公共区域卫生(如:不乱扔垃圾果皮等)、不干扰他人正常学习和休息(如:不饲养宠物、不酗酒、不打牌、不奏乐器。不在房内起哄、喧哗、敲打物品等)。'
+                },
+                {
+                    title: '(13)严禁窗外丢物、高空抛物!因此类行为造成的一切后果,由住户本人承担完全责任。'
+                },
+                {
+                    title:
+                        '(14)严禁在房屋内私拉乱接电源线,并严禁使用以下违规电器:包括但不限于拖线板、微波炉、电饭锅、电磁炉、电热毯、电暖器、热得快、热水壸等,一经发现,本公寓有权没收。其他电器(如充电器、电吹风、卷发器),使用后应立即拔除,一经发现未拔除,本公寓暂收到前台,请住户自行前往认领,三天内未认领的,本公寓有权直接丢弃。若再次违规的,本公寓有权直接没收物品不予归还。'
+                },
+                {
+                    title:
+                        '(15)住户应配合公寓有关部门做好安全防范,公寓内禁用明火、禁止存放易燃易爆物品(如打火机油、打火机充气罐)、存放点火源(如打火机、酒精炉灶等)。若携带或私藏国家法律法规禁止的物品,由住户承担所有责任。如发生火灾请及时联系工作人员。'
+                },
+                {
+                    title:
+                        '(16)公寓内所有区域均为无烟区,若在房屋内或公区发现烟头或抽烟者,按第一次100元、第二次200元作为违约金收取。抽烟累计达三次的,本公寓有权勒令住户立即退宿,押金作为违约金概不退还。'
+                },
+                {
+                    title:
+                        '(17)严禁电瓶车和电瓶车电池进入本公寓内!不得在房屋内或私拉电线为电瓶车充电,一经发现,本公寓有权直接没收电线、电瓶或收取500元违约金。'
+                },
+                {
+                    title:
+                        '(18)公寓内所有走道、窗户均为消防逃生通道,严禁晾晒衣物、鞋袜及其他物品阻挡的违法行为。一经发现违规,本公寓暂收到前台,请住户自行前往认领,三天内未认领的,本公寓有权直接丢弃。若再次违规的,本公寓有权直接没收物品不予归还。'
+                },
+                {
+                    title: '(19)人员离开锁闭门窗、关水关电。贵重物品及个人钱财自行保管,若有遗失,公寓概不负责。'
+                },
+                {
+                    title:
+                        '(20)公寓内禁止饮酒、不得赌博、不打架斗殴、不得传播色情信息、不得捏造传播虚假恐慌信息等。相关违法行为一经发现作严重警告处理,情节严重者作劝退处理。如发生治安事件请及时联系工作人员。'
+                }
+            ]
+        };
+    },
+    comments: {}
+};
+</script>
+<style lang="less" scoped>
+.content {
+    background: #f5f7fa;
+    padding-top: 10px;
+    padding-bottom: 60px;
+    .box {
+        .title {
+            font-weight: bold;
+            color: #333333;
+            padding-bottom: 15px;
+        }
+        background: #ffffff;
+        margin: 0px 20px;
+        border-radius: 4px;
+        padding: 20px 12px;
+        font-size: 13px;
+        font-weight: normal;
+        color: #333333;
+        line-height: 18px;
+        .title2 {
+            font-size: 13px;
+            font-weight: bold;
+            color: #333333;
+            padding: 34px 0 16px;
+        }
+        .title3 {
+            font-weight: bold;
+            color: #f7931d;
+        }
+        .box1 {
+            text-align: center;
+            margin: 0 15px;
+            padding: 30px 0 16px;
+            .title4 {
+                font-size: 13px;
+                font-weight: normal;
+                color: #333333;
+                line-height: 18px;
+            }
+        }
+        .border {
+            height: 1px;
+            background: #f2f4f5;
+        }
+    }
+}
+</style>

+ 73 - 0
src/pages/complaint.vue

@@ -0,0 +1,73 @@
+<config>
+{
+    "navigationBarTitleText": "投诉/建议",
+}
+</config>
+<template>
+    <div class="container">
+        <div class="box-bottom">
+            <van-field :border="false" label="投诉/建议" readonly> </van-field>
+            <van-field
+                :value="form.description"
+                @input="form.description = $event.detail"
+                :border="false"
+                rows="1"
+                autosize
+                type="textarea"
+                placeholder="请输入你的投诉信息或建议信息"
+            />
+        </div>
+        <div class="btn-list">
+            <van-button :disabled="Btn" type="default" @click="submit">提交</van-button>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            form: {
+                description: ''
+            }
+        };
+    },
+    methods: {
+        submit() {}
+    }
+};
+</script>
+<style lang="scss" scoped>
+.container {
+    .box-bottom {
+        /deep/ .van-field__label {
+            margin: 10px 0 0 2px;
+            font-weight: bold;
+            color: #000;
+            /deep/ .van-field__body {
+                margin-left: 3px !important;
+            }
+        }
+    }
+    .btn-list {
+        //  .bottom();
+        position: fixed;
+        width: 100%;
+        bottom: 0;
+        background: #ffffff;
+        padding-left: 43px;
+        z-index: 999;
+        padding-bottom: 40px;
+        /deep/.van-button {
+            width: 290px;
+            height: 48px;
+            background: #00ba64;
+            border-radius: 12px;
+            line-height: 48px;
+            text-align: center;
+            font-size: 16px;
+            font-weight: normal;
+            color: #ffffff;
+        }
+    }
+}
+</style>

+ 56 - 0
src/pages/help.vue

@@ -0,0 +1,56 @@
+<config>
+{
+    "navigationBarTitleText": "帮助说明",
+}
+</config>
+<template>
+    <div class="content">
+        <van-cell-group>
+            <van-cell title="入住须知" @click="goChange" is-link />
+            <van-cell title="退租须知" @click="goChanges" is-link />
+        </van-cell-group>
+    </div>
+</template>
+
+<script>
+import { mapState } from 'vuex';
+export default {
+    data() {
+        return {};
+    },
+    computed: {
+        ...mapState(['userInfo'])
+    },
+    methods: {
+        goChange() {
+            wx.navigateTo({ url: '/pages/checkin' });
+        },
+        goChanges() {}
+    }
+};
+</script>
+
+<style lang="less" scoped>
+.content {
+    background: #f5f7fa;
+    height: 100vh;
+}
+/deep/ .van-cell-group {
+    padding-top: 10px;
+}
+/deep/ .van-cell {
+    --cell-horizontal-padding: 23px;
+    --cell-vertical-padding: 20px;
+    --cell-text-color: #000;
+    --cell-value-color: #000;
+    .van-field__label,
+    .van-cell__title {
+        font-size: 16px;
+        font-weight: bold;
+    }
+    .van-cell__value {
+        font-size: 16px;
+        font-weight: bold;
+    }
+}
+</style>

+ 1 - 2
src/pages/home.vue

@@ -104,8 +104,7 @@ export default {
     .top-img {
         width: 375px;
         height: 236px;
-        background: @red;
-        // background: #00ba64;
+        background: #00ba64;
         border-radius: 2px;
 
         .title {

+ 10 - 4
src/pages/my.vue

@@ -34,7 +34,7 @@
             <div class="title1">我的服务</div>
             <div class="border"></div>
             <div class="box">
-                <div class="div" @click="baoxiu">
+                <div class="div" @click="repairReport">
                     <img class="tit-img" src="../native/tabbar/wode_icon_baoxiu@3x.png" alt="" />
                     <div class="text">保修申请</div>
                 </div>
@@ -42,11 +42,11 @@
                     <img class="tit-img" src="../native/tabbar/wode_icon_dasao@3x.png" alt="" />
                     <div class="text">打扫申请</div>
                 </div>
-                <div class="div">
+                <div class="div" @click="complaint">
                     <img class="tit-img" src="../native/tabbar/wode_icon_tousu@3x.png" alt="" />
                     <div class="text">投诉/建议</div>
                 </div>
-                <div class="div">
+                <div class="div" @click="help">
                     <img class="tit-img" src="../native/tabbar/wode_icon_shouming@3x.png" alt="" />
                     <div class="text">帮助说明</div>
                 </div>
@@ -76,7 +76,13 @@ export default {
         Recharge() {
             wx.navigateTo({ url: '/pages/recharge' });
         },
-        baoxiu() {
+        help() {
+            wx.navigateTo({ url: '/pages/help' });
+        },
+        complaint() {
+            wx.navigateTo({ url: '/pages/complaint' });
+        },
+        repairReport() {
             wx.navigateTo({ url: '/pages/repairReport' });
         }
     }

+ 105 - 182
src/pages/repairReport.vue

@@ -5,25 +5,35 @@
 </config>
 <template>
     <div class="container">
-        <div class="content">
-            <textarea maxlength="200" placeholder="请描述房间内需要维修的事项" v-model="content"></textarea>
-            <div class="num">{{ content.length }}/200</div>
+        <van-cell-group :border="false" class="form">
+            <van-field label="报修人" :value="form.name" @input="form.name = $event.detail" placeholder="请输入报修人">
+            </van-field>
+            <van-field
+                label="联系方式"
+                type="digit"
+                :value="form.phone"
+                @input="form.phone = $event.detail"
+                placeholder="请输入联系方式"
+            >
+            </van-field>
+            <van-field label="故障图片" :border="false" readonly> </van-field>
+            <van-uploader :file-list="images" :after-read="afterRead" @delete="deleteImg" />
+        </van-cell-group>
+        <div class="box-bottom">
+            <van-field :border="false" label="故障描述" readonly> </van-field>
+            <van-field
+                :value="form.description"
+                @input="form.description = $event.detail"
+                :border="false"
+                rows="1"
+                autosize
+                type="textarea"
+                placeholder="请描述房间内需要描述事项"
+            />
         </div>
-        <div class="photos">
-            <div class="photo" v-for="(item, index) in files" :key="item" :style="{ backgroundImage: `url(${item})` }">
-                <div class="del" @click="del(index)">
-                    <div class="circle">
-                        <div class="line"></div>
-                    </div>
-                </div>
-            </div>
-            <div class="add" v-if="files.length < 3">
-                <img src="../native/icon_photo.png" />
-                <div>添加图片</div>
-                <input accept="image/*" type="file" @change="change" />
-            </div>
+        <div class="btn-list">
+            <van-button :disabled="Btn" type="default" @click="submit">提交</van-button>
         </div>
-        <div class="btn" :class="{ disabled: content.length === 0 }" @click="submit">提交</div>
     </div>
 </template>
 <script>
@@ -35,195 +45,108 @@ export default {
     },
     data() {
         return {
-            content: '',
-            files: []
+            form: {
+                phone: '',
+                name: ''
+            },
+            images: [],
+            imgBox: true
         };
     },
     computed: {
-        ...mapState(['roomInfo'])
+        ...mapState(['roomInfo']),
+        Btn() {
+            if (this.form.phone && this.form.name && this.images) {
+                return true;
+            } else {
+                return false;
+            }
+        }
     },
     methods: {
-        change(e) {
-            console.log(e);
-            // this.$toast.loading({ duration: 0, message: '加载中' });
-            let form = new FormData();
-            form.append('file', e.target.files[0]);
+        afterRead(file) {
+            this.showLoading();
             this.$http
-                .post('/upload/file', form)
+                .uploadFile(file.path)
                 .then(res => {
-                    this.$toast.clear();
-                    this.files.push(res.data);
+                    this.imgBox = false;
+                    this.hideLoading();
+                    this.images = [
+                        {
+                            url: res
+                        }
+                    ];
                 })
                 .catch(e => {
-                    console.log(e);
-                    this.$toast.clear();
-                    this.$toast('上传失败');
+                    this.hideLoading();
+                    wx.showToast({
+                        icon: 'none',
+                        title: e.error
+                    });
                 });
         },
-        del(index) {
-            this.$alert(
-                {
-                    type: 'info',
-                    showCancel: true,
-                    confirmText: '确认',
-                    cancelText: '取消',
-                    content: '确认删除?'
-                },
-                _ => {
-                    this.files.splice(index, 1);
-                }
-            );
+        deleteImg(e) {
+            let list = [...this.images];
+            list.splice(e.detail.index, 1);
+            this.images = list;
         },
-        submit() {
-            if (!this.content) {
-                this.$toast('请描述房间内需要维修的事项');
-                return;
-            }
-            this.$toast.loading({ duration: 0, message: '加载中' });
-            this.$http
-                .post('/repairInfo/create', {
-                    targetId: this.roomInfo.bedId,
-                    repairType: 'BED',
-                    images: this.files.join()
-                })
-                .then(res => {
-                    this.$toast.clear();
-                    this.$router.replace({
-                        name: 'result',
-                        params: {
-                            title: '提交成功',
-                            type: 'success',
-                            desc: '您已成功提交申请报修服务,稍后会有工作人员联系具体事项,为你带来不便深感抱歉',
-                            showBack: true
-                        }
-                    });
-                })
-                .catch(e => {
-                    this.$toast.clear();
-                    this.$toast('提交失败');
-                });
-        }
+        submit() {}
     }
 };
 </script>
 <style lang="less" scoped>
 .container {
-    .content {
-        width: calc(100vw - 30px);
-        height: 150px;
-        display: block;
-        margin: 20px auto 0 auto;
-        background: #f2f4f5;
-        border-radius: 5px;
-        textarea {
-            width: 100%;
-            height: calc(100% - 30px);
-            padding: 15px;
-            resize: none;
-            border: none;
-            outline: none;
-            background: #f2f4f5;
-            font-size: 13px;
-            color: black;
-            line-height: 22px;
-        }
-        .num {
-            font-size: 13px;
-            color: #aaacad;
-            padding-right: 15px;
-            line-height: 18px;
-            text-align: right;
-        }
+    /deep/ .van-uploader {
+        padding-left: 18px;
     }
-    .photos {
-        display: flex;
-        align-items: center;
-        flex-wrap: wrap;
-        width: calc(100% - 30px);
-        margin: 15px auto 0 auto;
-        .photo {
-            width: 68px;
-            min-width: 68px;
-            height: 68px;
-            background: #f2f4f5;
-            border-radius: 6px;
-            margin-bottom: 20px;
-            position: relative;
-            background-size: cover;
-            background-position: center;
-            background-repeat: no-repeat;
-            margin-right: 15px;
-            .del {
-                padding: 4px;
-                position: absolute;
-                top: -13px;
-                right: -13px;
-                .circle {
-                    width: 18px;
-                    height: 18px;
-                    line-height: 18px;
-                    border-radius: 9px;
-                    background: rgb(255, 94, 96);
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    .line {
-                        width: 10px;
-                        height: 4px;
-                        border-radius: 4px;
-                        background: white;
-                    }
-                }
+    /deep/.form {
+        position: relative;
+        .van-cell {
+            --cell-vertical-padding: 18px;
+            --cell-horizontal-padding: 18px;
+            --field-label-color: #000000;
+            --cell-text-color: #000;
+            .van-field__label,
+            .van-cell__title {
+                font-weight: bold;
+                font-size: 14px;
             }
-        }
-        .add {
-            width: 68px;
-            min-width: 68px;
-            height: 68px;
-            background: #f2f4f5;
-            border-radius: 6px;
-            display: flex;
-            flex-direction: column;
-            align-items: center;
-            justify-content: center;
-            margin-bottom: 20px;
-            position: relative;
-            img {
-                width: 26px;
-                height: 22px;
+            .van-cell__value {
+                // text-align: left;
             }
-            div {
-                font-size: 11px;
-                color: #aaacad;
-                line-height: 16px;
-                margin-top: 6px;
+            &::after {
+                left: 100px !important;
             }
-            input {
-                width: 68px;
-                min-width: 68px;
-                height: 68px;
-                position: absolute;
-                left: 0;
-                top: 0;
-                opacity: 0;
+        }
+    }
+    .box-bottom {
+        /deep/ .van-field__label {
+            margin: 10px 0 0 2px;
+            font-weight: bold;
+            color: #000;
+            /deep/ .van-field__body {
+                margin-left: 3px !important;
             }
         }
     }
-    .btn {
-        width: calc(100% - 30px);
-        height: 44px;
-        margin: 0 auto 30px auto;
-        background: #f7931d;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        font-size: 16px;
-        font-weight: bold;
-        color: white;
-        line-height: 22px;
-        border-radius: 22px;
-        &.disabled {
-            background: #8f9294;
+    .btn-list {
+        position: fixed;
+        width: 100%;
+        bottom: 0;
+        background: #ffffff;
+        padding-left: 43px;
+        z-index: 999;
+        .bottom();
+        /deep/.van-button {
+            width: 290px;
+            height: 48px;
+            background: @prim;
+            border-radius: 12px;
+            line-height: 48px;
+            text-align: center;
+            font-size: 16px;
+            font-weight: normal;
+            color: #ffffff;
         }
     }
 }