Browse Source

登录的时候没有区域地点或者联系电话,则需要补充数据

seimin 3 years ago
parent
commit
5a250e3bf1
5 changed files with 603 additions and 112 deletions
  1. 6 0
      src/router/index.js
  2. 12 3
      src/views/Login.vue
  3. 3 3
      src/views/my.vue
  4. 143 106
      src/views/myModify.vue
  5. 439 0
      src/views/supplementary.vue

+ 6 - 0
src/router/index.js

@@ -5,6 +5,7 @@ import Main from './../views/Main.vue'
5 5
 import Indes from './../views/indes.vue'//首页
6 6
 import Repair from './../views/repair.vue'//我的报修
7 7
 import My from './../views/my.vue'//设置
8
+import Supplementary from './../views/supplementary.vue'//补充资料
8 9
 import IncidentList from './../views/incidentList.vue'//事件列表
9 10
 import MyModify from './../views/myModify.vue'//个人信息修改
10 11
 import NoticeDetails from './../views/noticeDetails.vue'//公告详情
@@ -115,6 +116,11 @@ export default new Router({
115 116
       meta: { allowBack: false },
116 117
     },
117 118
     {
119
+      path: '/supplementary',
120
+      component: Supplementary,
121
+      meta: { allowBack: false },
122
+    },
123
+    {
118 124
       path: '*',
119 125
       hidden: true,
120 126
       redirect: { path: '/login' }

+ 12 - 3
src/views/Login.vue

@@ -173,13 +173,21 @@ export default {
173 173
       this.$http.post("service/auth/reqlogin", postData).then(res => {
174 174
         that.loading = false;
175 175
         if (res.data && res.data.state == 200) {
176
-          var loginUserStr = JSON.stringify(res.data.data.requester);
177
-          localStorage.setItem("loginUser", loginUserStr);
176
+          localStorage.setItem(
177
+            "loginUser",
178
+            JSON.stringify(res.data.data.requester)
179
+          );
178 180
           localStorage.setItem(
179 181
             "loginConfig",
180 182
             JSON.stringify({ username: this.zhanghao, password: this.mima })
181 183
           );
182
-          this.loginNext();
184
+          // 判断是否有区域地点或联系电话,没有则需要补充
185
+          var requester = res.data.data.requester;
186
+          if (!requester.place || !requester.mphone) {
187
+            this.$router.push({ path: "/supplementary" });
188
+          } else {
189
+            this.loginNext();
190
+          }
183 191
         } else {
184 192
           that
185 193
             .$createDialog({
@@ -195,6 +203,7 @@ export default {
195 203
     }
196 204
   },
197 205
   created() {
206
+    localStorage.clear();
198 207
     this.isSSo = location.search.length > 0;
199 208
     if (this.isSSo) {
200 209
       this.zlogin();

+ 3 - 3
src/views/my.vue

@@ -34,7 +34,7 @@
34 34
         </li>
35 35
         <li>
36 36
           <div>详细地址</div>
37
-          <div class="factionAdd" @click="toModify()">
37
+          <div class="factionAdd" @click="toModify('houseNumber')">
38 38
             <span>{{loginUser.houseNumber||"暂无"}}</span>
39 39
             <i class="iconfont icon-moren"></i>
40 40
           </div>
@@ -135,11 +135,11 @@ export default {
135 135
     };
136 136
   },
137 137
   methods: {
138
-    toModify(res) {
138
+    toModify(data) {
139 139
       this.$router.push({
140 140
         name: "MyModify",
141 141
         params: {
142
-          data: this.loginUser.houseNumber
142
+          data
143 143
         }
144 144
       });
145 145
     },

+ 143 - 106
src/views/myModify.vue

@@ -1,116 +1,153 @@
1 1
 <template>
2
-    <div>
3
-        <div class="label">
4
-            详细地址
5
-        </div>
6
-        <cube-textarea v-model="value" placeholder="请输入你的详细地址"></cube-textarea>
7
-        <div class="chehui">
8
-            <div class="btn" @click="sub()">保&nbsp;存</div>
9
-        </div>
10
-        <promp-ting :conents="promptingConent" :status="promptingStatus"></promp-ting>
2
+  <div>
3
+    <div class="label">
4
+      {{ value.name }}
11 5
     </div>
6
+    <cube-textarea
7
+      v-model="value.value"
8
+      :placeholder="'请输入你的' + value.name"
9
+    ></cube-textarea>
10
+    <div class="chehui">
11
+      <div class="btn" @click="sub()">保&nbsp;存</div>
12
+    </div>
13
+    <promp-ting
14
+      :conents="promptingConent"
15
+      :status="promptingStatus"
16
+    ></promp-ting>
17
+  </div>
12 18
 </template>
13 19
 <script>
14
-    import PrompTing from './../views/prompting.vue'
15
-    export default {
16
-        data() {
17
-            return {
18
-                loginUser:JSON.parse(localStorage.getItem("loginUser")),
19
-                data:"",
20
-                value:"",
21
-                promptingConent:"",
22
-                promptingStatus:""
23
-            }
24
-        },
25
-        methods: {
26
-            getAddData(){
27
-                this.value=this.$route.params.data
28
-            },
29
-            sub(){
30
-                if(this.value==""){
31
-                    this.$createDialog({
32
-                        type: 'alert',
33
-                        title: '保存失败',
34
-                        content: '详细地址不能为空',
35
-                        icon: 'cubeic-wrong'
36
-                    }).show()
37
-                }else{
38
-                    var that=this;
39
-                    this.$http.post('service/user/updHouseNum',{
40
-                        "reqId":that.loginUser.id,
41
-                        "houseNum":that.value
42
-                    }).then(function(res){
43
-                        if(res.status==200){
44
-                            that.promptingConent="恭喜您,修改地址成功!";
45
-                            that.promptingStatus=true;
46
-                            $("#fade").fadeIn();
47
-                            setTimeout(function(){
48
-                                $("#fade").fadeOut();
49
-                            },2000);
50
-                            that.loginUser.houseNumber=that.value;
51
-                            var loginUserStr=JSON.stringify(that.loginUser);
52
-                            localStorage.setItem('loginUser',loginUserStr);
53
-                            that.dialog = that.$createDialog({
54
-                                type: 'alert',
55
-                                title: '修改成功',
56
-                                content: '点击确定返回我的信息',
57
-                                icon: 'cubeic-right',
58
-                                onConfirm: (e, promptValue) => {
59
-                                    that.$router.push({path:"/main/my"})
60
-                                }
61
-                            }).show()
62
-                        }else{
63
-                            that.promptingConent="修改失败,请稍后再试!";
64
-                            that.promptingStatus=false;
65
-                            $("#fade").fadeIn();
66
-                            setTimeout(function(){
67
-                                $("#fade").fadeOut();
68
-                            },2000);
69
-                        }
70
-                    })
20
+import PrompTing from "./../views/prompting.vue";
21
+export default {
22
+  data() {
23
+    return {
24
+      loginUser: JSON.parse(localStorage.getItem("loginUser")),
25
+      data: "",
26
+      value: { type: "", value: "" },
27
+      promptingConent: "",
28
+      promptingStatus: ""
29
+    };
30
+  },
31
+  methods: {
32
+    getAddData() {
33
+      switch (this.$route.params.data) {
34
+        case "houseNumber":
35
+          this.value = {
36
+            type: "houseNumber",
37
+            name: "详细地址",
38
+            value: this.loginUser.houseNumber
39
+          };
40
+          break;
41
+        case "mphone":
42
+          this.value = {
43
+            type: "mphone",
44
+            name: "联系电话",
45
+            value: this.loginUser.mphone
46
+          };
47
+          break;
48
+      }
49
+    },
50
+    sub() {
51
+      if (!this.value.value && this.value.type == "mphone") {
52
+        this.$createDialog({
53
+          type: "alert",
54
+          title: "保存失败",
55
+          content: this.value.name + "不能为空",
56
+          icon: "cubeic-wrong"
57
+        }).show();
58
+      } else {
59
+        var that = this;
60
+        let url = "",
61
+          postData = {};
62
+        switch (this.value.type) {
63
+          case "houseNumber":
64
+            url = "service/user/updHouseNum";
65
+            postData = {
66
+              reqId: that.loginUser.id,
67
+              houseNum: that.value.value
68
+            };
69
+            break;
70
+          case "mphone":
71
+            url = "service/user/updPhone";
72
+            postData = {
73
+              reqId: that.loginUser.id,
74
+              mphone: that.value.value
75
+            };
76
+            break;
77
+        }
78
+        this.$http.post(url, postData).then(function(res) {
79
+          if (res.status == 200) {
80
+            that.promptingConent = "恭喜您,修改" + that.value.name + "成功!";
81
+            that.promptingStatus = true;
82
+            $("#fade").fadeIn();
83
+            setTimeout(function() {
84
+              $("#fade").fadeOut();
85
+            }, 2000);
86
+            that.loginUser[that.value.type] = that.value.value;
87
+            var loginUserStr = JSON.stringify(that.loginUser);
88
+            localStorage.setItem("loginUser", loginUserStr);
89
+            that.dialog = that
90
+              .$createDialog({
91
+                type: "alert",
92
+                title: "修改成功",
93
+                content: "点击确定返回我的信息",
94
+                icon: "cubeic-right",
95
+                onConfirm: (e, promptValue) => {
96
+                  // that.$router.push({ path: "/main/my" });
97
+                  that.$router.go(-1);
71 98
                 }
72
-            }
73
-        },
74
-        created(){
75
-            this.getAddData()
76
-        },
77
-        mounted() {
78
-            
79
-        },
80
-        components: {
81
-            PrompTing
82
-        },
99
+              })
100
+              .show();
101
+          } else {
102
+            that.promptingConent = "修改失败,请稍后再试!";
103
+            that.promptingStatus = false;
104
+            $("#fade").fadeIn();
105
+            setTimeout(function() {
106
+              $("#fade").fadeOut();
107
+            }, 2000);
108
+          }
109
+        });
110
+      }
83 111
     }
112
+  },
113
+  created() {
114
+    this.getAddData();
115
+  },
116
+  mounted() {},
117
+  components: {
118
+    PrompTing
119
+  }
120
+};
84 121
 </script>
85 122
 <style scoped>
86
- .label{
87
-    background-color: rgb(238, 238, 238);
88
-    height: .6rem;
89
-    line-height: .6rem;
90
-    padding-left: .24rem;
91
-    font-size: .24rem;
92
-    color: #666666
93
-}   
94
-.chehui{
95
-    height: 1.3rem;
96
-    width: 100%;
97
-    border-top: .01rem rgb(223, 222, 222) solid;
98
-    background-color: rgb(248,248,248);
99
-    position: fixed;
100
-    left: 0;
101
-    bottom: 0;
102
-    display: flex;
103
-    align-items:center;
104
-    justify-content:center
123
+.label {
124
+  background-color: rgb(238, 238, 238);
125
+  height: 0.6rem;
126
+  line-height: 0.6rem;
127
+  padding-left: 0.24rem;
128
+  font-size: 0.24rem;
129
+  color: #666666;
130
+}
131
+.chehui {
132
+  height: 1.3rem;
133
+  width: 100%;
134
+  border-top: 0.01rem rgb(223, 222, 222) solid;
135
+  background-color: rgb(248, 248, 248);
136
+  position: fixed;
137
+  left: 0;
138
+  bottom: 0;
139
+  display: flex;
140
+  align-items: center;
141
+  justify-content: center;
105 142
 }
106
-.chehui .btn{
107
-    width: 90%;
108
-    height: 1rem;
109
-    background-color: #005395;
110
-    border-radius: 10px;
111
-    line-height: 1rem;
112
-    color: white;
113
-    font-size: .36rem;
114
-    text-align: center
143
+.chehui .btn {
144
+  width: 90%;
145
+  height: 1rem;
146
+  background-color: #005395;
147
+  border-radius: 10px;
148
+  line-height: 1rem;
149
+  color: white;
150
+  font-size: 0.36rem;
151
+  text-align: center;
115 152
 }
116
-</style>
153
+</style>

+ 439 - 0
src/views/supplementary.vue

@@ -0,0 +1,439 @@
1
+<template>
2
+  <div class="bgColor">
3
+    <div class="head">
4
+      <div class="img"></div>
5
+      <div class="name">{{ loginUser.name }}</div>
6
+    </div>
7
+    <div class="myMessage">
8
+      <div class="label">个人信息</div>
9
+      <ul>
10
+        <li>
11
+          <div>姓名</div>
12
+          <div>{{ loginUser.name || "暂无" }}</div>
13
+        </li>
14
+        <li>
15
+          <div>工号</div>
16
+          <div>{{ loginUser.account || "暂无" }}</div>
17
+        </li>
18
+        <li>
19
+          <div>联系电话</div>
20
+          <div class="factionAdd" @click="toModify('mphone')">
21
+            <span>{{ loginUser.mphone || "暂无" }}</span>
22
+            <i class="iconfont icon-moren"></i>
23
+          </div>
24
+        </li>
25
+        <li class="myArea">
26
+          <div>区域地点</div>
27
+          <div>
28
+            <cube-button @click="showCascadePicker">
29
+              {{ areaData || "暂无" }}
30
+              <i class="iconfont icon-moren"></i>
31
+            </cube-button>
32
+          </div>
33
+        </li>
34
+        <li>
35
+          <div>详细地址</div>
36
+          <div class="factionAdd" @click="toModify('houseNumber')">
37
+            <span>{{ loginUser.houseNumber || "暂无" }}</span>
38
+            <i class="iconfont icon-moren"></i>
39
+          </div>
40
+        </li>
41
+      </ul>
42
+    </div>
43
+    <div class="goToSystem" @click="goToSystem">进入系统</div>
44
+    <promp-ting
45
+      :conents="promptingConent"
46
+      :status="promptingStatus"
47
+    ></promp-ting>
48
+  </div>
49
+</template>
50
+<script>
51
+import "./../../static/css/iconfont.js";
52
+import PrompTing from "./../views/prompting.vue";
53
+export default {
54
+  data() {
55
+    return {
56
+      repairMain: null,
57
+      loginUser: JSON.parse(localStorage.getItem("loginUser")),
58
+      incidentStateData: "",
59
+      treeData: [],
60
+      areaData: "",
61
+      promptingConent: "",
62
+      promptingStatus: ""
63
+    };
64
+  },
65
+  methods: {
66
+    loginNext() {
67
+      // seimin
68
+      // 获取报修主体
69
+      this.$http
70
+        .post("service/sysinfo/data/fetchDataList/systemConfiguration", {
71
+          idx: 0,
72
+          sum: 1000,
73
+          systemConfiguration: { keyconfig: "repairMain" }
74
+        })
75
+        .then(result => {
76
+          if (result.data.status == 200) {
77
+            var repairMain = result.data.list[0];
78
+            window.localStorage.setItem(
79
+              "repairMain",
80
+              JSON.stringify(repairMain)
81
+            );
82
+            // 获取是否自动建单
83
+            this.$http
84
+              .post("service/sysinfo/data/fetchDataList/systemConfiguration", {
85
+                idx: 0,
86
+                sum: 1000,
87
+                systemConfiguration: { keyconfig: "ifCreate" }
88
+              })
89
+              .then(result => {
90
+                if (result.data.status == 200) {
91
+                  var ifCreate = result.data.list[0];
92
+                  window.localStorage.setItem(
93
+                    "ifCreate",
94
+                    JSON.stringify(ifCreate)
95
+                  );
96
+                  this.$router.push({ path: "/main" });
97
+                }
98
+              });
99
+          }
100
+        });
101
+      // seimin
102
+    },
103
+    goToSystem() {
104
+      if (!this.loginUser.mphone) {
105
+        this.$createDialog({
106
+          type: "alert",
107
+          content: "联系电话不能为空",
108
+          icon: "cubeic-wrong"
109
+        }).show();
110
+      } else if (!this.areaData) {
111
+        this.$createDialog({
112
+          type: "alert",
113
+          content: "区域地点不能为空",
114
+          icon: "cubeic-wrong"
115
+        }).show();
116
+      } else {
117
+        this.loginNext();
118
+      }
119
+    },
120
+    toModify(data) {
121
+      this.$router.push({
122
+        name: "MyModify",
123
+        params: {
124
+          data
125
+        }
126
+      });
127
+    },
128
+    getUserAreaData() {
129
+      if (this.loginUser.place) {
130
+        this.areaData =
131
+          this.loginUser.place.area.area + " " + this.loginUser.place.place;
132
+      }
133
+    },
134
+    toIncidentList(res) {
135
+      this.$router.push({
136
+        name: "IncidentList",
137
+        params: {
138
+          state: res
139
+        }
140
+      });
141
+    },
142
+    getIncidentData() {
143
+      var that = this;
144
+      this.$http
145
+        .post("service/apply/bpm/fetchServiceTasks", {
146
+          assignee: that.loginUser.id,
147
+          idx: 0,
148
+          sum: 9999
149
+        })
150
+        .then(function(res) {
151
+          that.incidentStateData = res.data;
152
+        });
153
+    },
154
+    getAreaData() {
155
+      var that = this;
156
+      this.$http
157
+        .post("service/user/data/fetchDataList/area", {
158
+          idx: 0,
159
+          sum: 1000,
160
+          area: {
161
+            wechatArea: true
162
+          }
163
+        })
164
+        .then(function(res) {
165
+          var data = res.data.list;
166
+          for (var i = 0; i < data.length; i++) {
167
+            that.treeData.push({
168
+              text: data[i].area,
169
+              value: data[i].id,
170
+              children: []
171
+            });
172
+          }
173
+        });
174
+    },
175
+    getPlaceData() {
176
+      var that = this;
177
+      this.$http
178
+        .post("service/user/data/fetchDataList/place", {
179
+          idx: 0,
180
+          sum: 1000,
181
+          area: {
182
+            wechatAreaId: ""
183
+          }
184
+        })
185
+        .then(function(res) {
186
+          var data = res.data.list;
187
+          for (var i = 0; i < data.length; i++) {
188
+            for (var j = 0; j < that.treeData.length; j++) {
189
+              if (data[i].area.id == that.treeData[j].value) {
190
+                that.treeData[j].children.push({
191
+                  text: data[i].place,
192
+                  value: data[i].id
193
+                });
194
+              }
195
+            }
196
+          }
197
+          that.cascadePicker = that.$createCascadePicker({
198
+            title: "请选择区域地点",
199
+            data: that.treeData,
200
+            selectedIndex: [0, 0],
201
+            onSelect: that.selectHandle,
202
+            onCancel: that.cancelHandle
203
+          });
204
+        });
205
+    },
206
+    showCascadePicker() {
207
+      this.cascadePicker.show();
208
+    },
209
+    selectHandle(selectedVal, selectedIndex, selectedText) {
210
+      var that = this;
211
+      this.$http
212
+        .get(
213
+          "service/user/updPlace/" + this.loginUser.id + "/" + selectedVal[1],
214
+          {}
215
+        )
216
+        .then(function(res) {
217
+          if (res.status == 200) {
218
+            that.promptingConent = "恭喜您,修改区域地点成功!";
219
+            that.promptingStatus = true;
220
+            $("#fade").fadeIn();
221
+            setTimeout(function() {
222
+              $("#fade").fadeOut();
223
+            }, 2000);
224
+            if (!that.loginUser.place) {
225
+              that.loginUser.place = {
226
+                area: {}
227
+              };
228
+            }
229
+            that.loginUser.place.id = selectedVal[1];
230
+            that.loginUser.place.area.id = selectedVal[0];
231
+            that.loginUser.place.place = selectedText[1];
232
+            that.loginUser.place.area.area = selectedText[0];
233
+            var loginUserStr = JSON.stringify(that.loginUser);
234
+            localStorage.setItem("loginUser", loginUserStr);
235
+            that.areaData = selectedText[0] + " " + selectedText[1];
236
+          } else {
237
+            that.promptingConent = "对不起,修改失败,请稍后再试!";
238
+            that.promptingStatus = false;
239
+            $("#fade").fadeIn();
240
+            setTimeout(function() {
241
+              $("#fade").fadeOut();
242
+            }, 2000);
243
+          }
244
+        });
245
+    },
246
+    cancelHandle() {}
247
+  },
248
+  created() {
249
+    this.getUserAreaData();
250
+    this.getAreaData();
251
+    this.getPlaceData();
252
+    this.getIncidentData();
253
+    // 获取报修主体
254
+    this.repairMain = JSON.parse(localStorage.getItem("repairMain"));
255
+  },
256
+  mounted() {
257
+    // this.cascadePicker = this.$createCascadePicker({
258
+    //     title: '请选择区域地点',
259
+    //     data: this.treeData,
260
+    //     selectedIndex: [0,0],
261
+    //     onSelect: this.selectHandle,
262
+    //     onCancel: this.cancelHandle
263
+    // })
264
+  },
265
+  components: {
266
+    PrompTing
267
+  }
268
+};
269
+</script>
270
+<style scoped>
271
+.goToSystem {
272
+  position: fixed;
273
+  left: 50%;
274
+  bottom: 0;
275
+  transform: translateX(-50%);
276
+  width: 90%;
277
+  height: 1rem;
278
+  background-color: #005395;
279
+  border-radius: 10px;
280
+  line-height: 1rem;
281
+  color: white;
282
+  font-size: 0.36rem;
283
+  text-align: center;
284
+}
285
+.bgColor {
286
+  background-color: white;
287
+}
288
+.icon {
289
+  width: 1em;
290
+  height: 1em;
291
+  vertical-align: -0.15em;
292
+  fill: currentColor;
293
+  overflow: hidden;
294
+}
295
+.label {
296
+  background-color: rgb(238, 238, 238);
297
+  height: 0.6rem;
298
+  line-height: 0.6rem;
299
+  padding-left: 0.2rem;
300
+  font-size: 0.24rem;
301
+  color: #666666;
302
+  border-top: 0.01rem rgb(223, 222, 222) solid;
303
+  border-bottom: 0.01rem rgb(223, 222, 222) solid;
304
+}
305
+/* 头像 */
306
+
307
+.head {
308
+  height: 2.4rem;
309
+  background: linear-gradient(#005395, #226ca8);
310
+  padding-top: 0.3rem;
311
+}
312
+
313
+.head .img {
314
+  width: 1.36rem;
315
+  height: 1.36rem;
316
+  border-radius: 50%;
317
+  margin: 0 auto;
318
+  overflow: hidden;
319
+  background: url(./../../static/images/avatar-1-big.jpg);
320
+  background-size: contain;
321
+}
322
+
323
+.head .name {
324
+  font-size: 0.32rem;
325
+  text-align: center;
326
+  margin-top: 0.2rem;
327
+  color: #ffffff;
328
+}
329
+
330
+/* 个人信息 */
331
+
332
+/* .myMessage { */
333
+/* background-color: rgb(242, 242, 242); */
334
+/* margin-top: .2rem */
335
+/* } */
336
+
337
+.myMessage li {
338
+  border-bottom: 0.01rem rgb(223, 222, 222) solid;
339
+  display: flex;
340
+  justify-content: space-between;
341
+  align-items: center;
342
+  /* padding: .2rem .28rem */
343
+  /* height: .88rem; */
344
+  /* line-height: .88rem; */
345
+  line-height: 0.4rem;
346
+  padding: 0.24rem 0.24rem;
347
+}
348
+
349
+.myMessage li div:nth-child(1) {
350
+  width: 35%;
351
+  font-size: 0.32rem;
352
+}
353
+
354
+.myMessage li div:nth-child(2) {
355
+  width: 55%;
356
+  display: flex;
357
+  justify-content: flex-end;
358
+  font-size: 0.32rem;
359
+  /* line-height: .3rem */
360
+}
361
+.factionAdd {
362
+  display: flex;
363
+  justify-content: space-between;
364
+  align-items: center;
365
+}
366
+.factionAdd span {
367
+  display: inline-block;
368
+  width: 90%;
369
+  text-align: right;
370
+}
371
+.factionAdd i {
372
+  display: inline-block;
373
+  font-size: 0.34rem;
374
+  width: 12%;
375
+}
376
+/* 我的报修 */
377
+
378
+/* .myRapir {
379
+    margin-top: .2rem
380
+} */
381
+
382
+.myRapir .tit {
383
+  /* background-color: rgb(242, 242, 242); */
384
+  height: 0.88rem;
385
+  line-height: 0.88rem;
386
+  display: flex;
387
+  padding: 0 0.24rem;
388
+  font-size: 0.32rem;
389
+  justify-content: space-between;
390
+  border-bottom: 0.01rem rgb(223, 222, 222) solid;
391
+}
392
+
393
+.rapirMessage {
394
+  display: flex;
395
+  height: 1.4rem;
396
+  border-bottom: 0.01rem rgb(223, 222, 222) solid;
397
+}
398
+.rapirMessage .status {
399
+  width: 16.5%;
400
+  border-left: 0.01rem rgb(223, 222, 222) solid;
401
+  display: flex;
402
+  align-items: center;
403
+  justify-content: center;
404
+  flex-direction: column;
405
+}
406
+.rapirMessage .status div:nth-child(1) {
407
+  width: 100%;
408
+  text-align: center;
409
+}
410
+.rapirMessage .status div:nth-child(1) svg {
411
+  width: 0.48rem;
412
+  height: 0.48rem;
413
+}
414
+.rapirMessage .status div:nth-child(2) {
415
+  margin-top: 0.2rem;
416
+  display: flex;
417
+  align-items: center;
418
+}
419
+.rapirMessage .status div:nth-child(2) span:nth-child(1) {
420
+  font-size: 0.24rem;
421
+  color: #333333;
422
+}
423
+.rapirMessage .status div:nth-child(2) span:nth-child(2) {
424
+  display: inline-block;
425
+  margin-left: 0.08rem;
426
+  font-size: 0.32rem;
427
+}
428
+</style>
429
+<style>
430
+.myArea .cube-btn {
431
+  padding: 0 !important;
432
+  background-color: white !important;
433
+  color: #333333 !important;
434
+  text-align: right !important;
435
+  overflow: hidden;
436
+  white-space: nowrap;
437
+  text-overflow: ellipsis;
438
+}
439
+</style>