Blame view

subPackages/treePage/addTree.vue 15.5 KB
c7744156   刘淇   录入树木
1
2
  <template>
    <view class="container">
75d3172d   刘淇   样式优化
3
  
73dee4bd   刘淇   高度非必填
4
      <tui-form ref="form" :show-message="false" :model="formData">
3bea8ade   刘淇   图片上传
5
        <tui-form-item asterisk label="名称" prop="treetype">
c7744156   刘淇   录入树木
6
          <tui-input padding="0" :borderBottom="false" placeholder="请输入名称" maxlength="30"
3bea8ade   刘淇   图片上传
7
                     v-model="formData.treetype"></tui-input>
c7744156   刘淇   录入树木
8
9
10
        </tui-form-item>
  
        <tui-row>
73dee4bd   刘淇   高度非必填
11
  
3bea8ade   刘淇   图片上传
12
          <tui-col :span="12">
69173829   刘淇   样式优化
13
14
            <tui-form-item label="胸径" asterisk prop="dbh" :position="2">
              <tui-input padding="0" :borderBottom="false" placeholder="请输入"  maxlength="10"    textLeft
73dee4bd   刘淇   高度非必填
15
                         v-model="formData.dbh"></tui-input>
c7744156   刘淇   录入树木
16
              <template v-slot:right>
69173829   刘淇   样式优化
17
                <text style="padding-left: 12rpx;color:#ccc;font-size:12px">米</text>
c7744156   刘淇   录入树木
18
19
20
              </template>
            </tui-form-item>
          </tui-col>
3bea8ade   刘淇   图片上传
21
          <tui-col :span="12">
69173829   刘淇   样式优化
22
23
            <tui-form-item label="高度"  prop="treeheight" :position="2">
              <tui-input padding="0" :borderBottom="false" placeholder="请输入"  maxlength="10"    textLeft
73dee4bd   刘淇   高度非必填
24
                         v-model="formData.treeheight"></tui-input>
c7744156   刘淇   录入树木
25
              <template v-slot:right>
69173829   刘淇   样式优化
26
                <text style="padding-left: 12rpx;color:#ccc;font-size:12px;">米</text>
c7744156   刘淇   录入树木
27
28
29
30
31
32
33
34
35
36
37
              </template>
            </tui-form-item>
          </tui-col>
        </tui-row>
  
  
        <tui-form-item
            asterisk
            label="位置"
            class="location-form-item"
            @click="openMap"
3bea8ade   刘淇   图片上传
38
            prop="growlocation"
c7744156   刘淇   录入树木
39
40
        >
          <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled
3bea8ade   刘淇   图片上传
41
                     v-model="formData.growlocation"></tui-input>
c7744156   刘淇   录入树木
42
43
44
          <template v-slot:right>
            <tui-icon name="gps" :size="20"></tui-icon>
          </template>
c7744156   刘淇   录入树木
45
46
        </tui-form-item>
  
21397afd   刘淇   树 新增
47
48
        <tui-col :span="12">
          <tui-form-item
b951d827   刘淇   树木详情
49
              label="经度"
73dee4bd   刘淇   高度非必填
50
              labelColor="#ccc"
21397afd   刘淇   树 新增
51
              class="location-form-item"
21397afd   刘淇   树 新增
52
              prop="latitude"
c872bdb3   刘淇   树木详情
53
              :bottomBorder="false"
21397afd   刘淇   树 新增
54
          >
69173829   刘淇   样式优化
55
            <span style="color: #ccc;font-size: 14px"> {{ formData.longitude }}</span>
21397afd   刘淇   树 新增
56
57
58
59
          </tui-form-item>
        </tui-col>
        <tui-col :span="12">
          <tui-form-item
c872bdb3   刘淇   树木详情
60
              :bottomBorder="false"
b951d827   刘淇   树木详情
61
              label="纬度"
73dee4bd   刘淇   高度非必填
62
              labelColor="#ccc"
21397afd   刘淇   树 新增
63
              class="location-form-item"
21397afd   刘淇   树 新增
64
65
              prop="latitude"
          >
69173829   刘淇   样式优化
66
            <span style="color: #ccc;font-size: 14px"> {{ formData.latitude }}</span>
21397afd   刘淇   树 新增
67
68
69
70
71
72
73
74
75
76
77
          </tui-form-item>
        </tui-col>
  
  
        <tui-form-item asterisk label="管护单位" prop="managedutyunit">
  
          <tui-input padding="0" :borderBottom="false" placeholder="请输入" maxlength="30"
                     v-model="formData.managedutyunit"></tui-input>
  
          <!--        <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled-->
          <!--                   backgroundColor="transparent" v-model="formData.managedutyunit"></tui-input>-->
c7744156   刘淇   录入树木
78
        </tui-form-item>
b951d827   刘淇   树木详情
79
        <tui-form-item asterisk label="权属分类" arrow highlight prop="oldtreeownershipText" @click="pickerShow">
c7744156   刘淇   录入树木
80
          <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled
b951d827   刘淇   树木详情
81
                     backgroundColor="transparent" v-model="formData.oldtreeownershipText"></tui-input>
c7744156   刘淇   录入树木
82
        </tui-form-item>
c7744156   刘淇   录入树木
83
  
3bea8ade   刘淇   图片上传
84
        <tui-form-item label="图片信息" asterisk prop="treeImgList">
c7744156   刘淇   录入树木
85
          <!-- 使用ThorUI的tui-upload组件 -->
21397afd   刘淇   树 新增
86
          <!--           @remove="handleRemove"   :multiple="true"    :value="formData.treeImgList"-->
c7744156   刘淇   录入树木
87
88
89
          <tui-upload
              :height="140"
              :width="140"
21397afd   刘淇   树 新增
90
              :value="formData.treeImgListFile"
c7744156   刘淇   录入树木
91
92
              :serverUrl="serverURL" :header="{'Authorization': userToken}"
              @complete="handleComplete"
f2ecd120   刘淇   树 修改
93
              @remove="handleRemove"
c7744156   刘淇   录入树木
94
              :limit="3"
c7744156   刘淇   录入树木
95
              accept="image/*"
21397afd   刘淇   树 新增
96
97
98
99
          >
            <!-- 自定义上传按钮 -->
            <view class="upload-btn">
              <tui-icon name="plus" size="32" color="#999"></tui-icon>
21397afd   刘淇   树 新增
100
            </view>
3bea8ade   刘淇   图片上传
101
          </tui-upload>
c7744156   刘淇   录入树木
102
103
        </tui-form-item>
  
c7744156   刘淇   录入树木
104
105
106
107
108
109
110
111
112
113
114
        <!-- 动画区域(初始隐藏) -->
        <view
            class="animated-area"
            :style="{
          height: isShow ? contentHeight + 'px' : '0',
          opacity: isShow ? 1 : 0,
          overflow: 'hidden'
        }"
        >
  
          <tui-row>
3bea8ade   刘淇   图片上传
115
116
            <tui-col :span="12">
              <tui-form-item label="拉丁文" prop="latinname">
c7744156   刘淇   录入树木
117
                <tui-input padding="0" :borderBottom="false" placeholder="请输入" maxlength="30"
3bea8ade   刘淇   图片上传
118
                           v-model="formData.latinname"></tui-input>
c7744156   刘淇   录入树木
119
120
              </tui-form-item>
            </tui-col>
3bea8ade   刘淇   图片上传
121
            <tui-col :span="12">
b951d827   刘淇   树木详情
122
              <tui-form-item label="级别" arrow highlight prop="treeleveltext" @click="pickerLevelShow">
3bea8ade   刘淇   图片上传
123
                <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled
b951d827   刘淇   树木详情
124
                           backgroundColor="transparent" v-model="formData.treeleveltext"></tui-input>
3bea8ade   刘淇   图片上传
125
              </tui-form-item>
c7744156   刘淇   录入树木
126
127
128
            </tui-col>
          </tui-row>
  
3bea8ade   刘淇   图片上传
129
          <tui-form-item label="生长环境" prop="growthenvironment">
c7744156   刘淇   录入树木
130
            <tui-input padding="0" :borderBottom="false" placeholder="请输入" maxlength="50"
3bea8ade   刘淇   图片上传
131
                       v-model="formData.growthenvironment"></tui-input>
c7744156   刘淇   录入树木
132
133
134
135
          </tui-form-item>
  
  
          <tui-row>
3bea8ade   刘淇   图片上传
136
            <tui-col :span="12">
69173829   刘淇   样式优化
137
138
              <tui-form-item label="预估树龄" prop="estimationtreeage" :position="2">
                <tui-input padding="0" :borderBottom="false" placeholder="请输入"  maxlength="10"
3bea8ade   刘淇   图片上传
139
                           v-model="formData.estimationtreeage"></tui-input>
c7744156   刘淇   录入树木
140
                <template v-slot:right>
69173829   刘淇   样式优化
141
                  <text style="padding-left: 12rpx;color:#ccc;font-size: 12px">年</text>
c7744156   刘淇   录入树木
142
143
144
                </template>
              </tui-form-item>
            </tui-col>
3bea8ade   刘淇   图片上传
145
            <tui-col :span="12">
69173829   刘淇   样式优化
146
147
              <tui-form-item label="干周" prop="weekday" :position="2">
                <tui-input padding="0" :borderBottom="false" placeholder="请输入"  maxlength="10"
3bea8ade   刘淇   图片上传
148
                           v-model="formData.weekday"></tui-input>
c7744156   刘淇   录入树木
149
                <template v-slot:right>
69173829   刘淇   样式优化
150
                  <text style="padding-left: 12rpx;color:#ccc;font-size: 12px">厘米</text>
c7744156   刘淇   录入树木
151
152
153
154
155
156
157
                </template>
              </tui-form-item>
            </tui-col>
          </tui-row>
  
  
          <tui-row>
3bea8ade   刘淇   图片上传
158
            <tui-col :span="12">
69173829   刘淇   样式优化
159
160
              <tui-form-item label="东西冠幅" prop="canopyeastwest" :position="2">
                <tui-input padding="0" :borderBottom="false" placeholder="请输入"  maxlength="10"
3bea8ade   刘淇   图片上传
161
                           v-model="formData.canopyeastwest"></tui-input>
c7744156   刘淇   录入树木
162
                <template v-slot:right>
69173829   刘淇   样式优化
163
                  <text style="padding-left: 12rpx;color:#ccc;font-size: 12px">米</text>
c7744156   刘淇   录入树木
164
165
166
                </template>
              </tui-form-item>
            </tui-col>
3bea8ade   刘淇   图片上传
167
            <tui-col :span="12">
69173829   刘淇   样式优化
168
169
              <tui-form-item label="南北冠幅" prop="canopysouthnorth" :position="2">
                <tui-input padding="0" :borderBottom="false" placeholder="请输入"  maxlength="10"
3bea8ade   刘淇   图片上传
170
                           v-model="formData.canopysouthnorth"></tui-input>
c7744156   刘淇   录入树木
171
                <template v-slot:right>
69173829   刘淇   样式优化
172
                  <text style="padding-left: 12rpx;color:#ccc;font-size: 12px">米</text>
c7744156   刘淇   录入树木
173
174
175
176
177
178
                </template>
              </tui-form-item>
            </tui-col>
          </tui-row>
  
  
c7744156   刘淇   录入树木
179
180
181
182
183
184
185
186
187
188
189
190
        </view>
  
        <!-- 触发按钮 -->
        <tui-button
            @click="toggleArea"
            type="primary"
            :loading="false"
            height="80rpx"
            plain
        >
          {{ isShow ? '- 隐藏区域' : '+ 显示区域' }}
        </tui-button>
b951d827   刘淇   树木详情
191
      </tui-form>
c7744156   刘淇   录入树木
192
  
b951d827   刘淇   树木详情
193
      <view style="height: 60px;width: 100%"></view>
c7744156   刘淇   录入树木
194
  
b951d827   刘淇   树木详情
195
196
197
      <view class="tui-btn__box">
        <tui-button bold @click="submit">提交</tui-button>
      </view>
21397afd   刘淇   树 新增
198
199
200
201
202
203
      <tui-picker :show="show" :pickerData="treeOwnershipData" textField="dictLabel" valueField="dictValue"
                  @hide="pickerHide" @change="pickerChange">
      </tui-picker>
  
      <tui-picker :show="levelshow" :pickerData="treeLevelData" textField="dictLabel" valueField="dictValue"
                  @hide="pickerLevelHide" @change="pickerLevelChange">
c7744156   刘淇   录入树木
204
205
206
207
208
      </tui-picker>
    </view>
  </template>
  
  <script>
b951d827   刘淇   树木详情
209
  import { uploadURL, OSSURL } from '@/config/app'
7fc91f7a   刘淇   上传体验版优化
210
  import { treeOwnership, addTree, treeLevelReq } from "@/subPackages/common/api/tree.js";
c7744156   刘淇   录入树木
211
  const rules = [{
3bea8ade   刘淇   图片上传
212
    name: "treetype",
c7744156   刘淇   录入树木
213
    rule: ["required"],
3bea8ade   刘淇   图片上传
214
215
216
    msg: ["请输入名称"]
  }, {
    name: "treeheight",
73dee4bd   刘淇   高度非必填
217
218
    rule: ["maxLength:10", "isAmount"],
    msg: ["树高不能超过10个字符", "请输入正确"]
c7744156   刘淇   录入树木
219
  }, {
3bea8ade   刘淇   图片上传
220
    name: "dbh",
21397afd   刘淇   树 新增
221
222
    rule: ["required", "maxLength:10", "isAmount"],
    msg: ["请输入胸径", "胸径不能超过10个字符", "请输入正确"]
c7744156   刘淇   录入树木
223
  }, {
21397afd   刘淇   树 新增
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
    name: "estimationtreeage",
    rule: ["maxLength:10", "isAmount"],
    msg: ["胸径不能超过10个字符", "请输入正确"]
  },
    {
      name: "weekday",
      rule: ["maxLength:10", "isAmount"],
      msg: ["胸径不能超过10个字符", "请输入正确"]
    },
    {
      name: "canopyeastwest",
      rule: ["maxLength:10", "isAmount"],
      msg: ["胸径不能超过10个字符", "请输入正确"]
    },
    {
      name: "canopysouthnorth",
      rule: ["maxLength:10", "isAmount"],
      msg: ["胸径不能超过10个字符", "请输入正确"]
    }, {
      name: "growlocation",
      rule: ["required"],
      msg: ["请地图选择位置"]
    }, {
      name: "managedutyunit",
      rule: ["required"],
c872bdb3   刘淇   树木详情
249
      msg: ["请输入管护单位"]
21397afd   刘淇   树 新增
250
    }, {
b951d827   刘淇   树木详情
251
      name: "oldtreeownershipText",
21397afd   刘淇   树 新增
252
253
254
255
256
257
258
259
260
261
262
      rule: ["required"],
      msg: ["请选择权属分类"]
    }, {
      name: "treeImgListFile",
      rule: ["required", "custom"], // 增加required强制必选
      msg: ["请上传图片", "请至少上传一张图片"], // 对应两个规则的提示
      custom: function (value) {
        // 即使required通过,再校验数组长度
        return value.length > 0;
      }
    }];
c7744156   刘淇   录入树木
263
264
265
266
267
268
269
270
271
272
273
274
275
  export default {
    props: {
      // 外部传入的已上传图片列表
      value: {
        type: Array,
        default: () => []
      }
    },
    data() {
      return {
        isShow: false,       // 控制区域显示/隐藏
        contentHeight: 200,    // 内容区域高度
        serverURL: uploadURL,
21397afd   刘淇   树 新增
276
277
        treeOwnershipData: [],
        treeLevelData: [], // 级别
c7744156   刘淇   录入树木
278
        show: false,
21397afd   刘淇   树 新增
279
        levelshow: false,
c7744156   刘淇   录入树木
280
281
        //仅对部分数据进行收集演示
        formData: {
3bea8ade   刘淇   图片上传
282
283
284
285
286
287
288
289
          //数名
          treetype: '',
          //树高
          treeheight: '',
          //胸径
          dbh: '',
          //级别
          treelevel: '',
73dee4bd   刘淇   高度非必填
290
          treeleveltext: '',
3bea8ade   刘淇   图片上传
291
292
293
294
          //权属单位
          managedutyunit: '',
          //权属分类
          oldtreeownership: '',
73dee4bd   刘淇   高度非必填
295
          oldtreeownershipText: '',
3bea8ade   刘淇   图片上传
296
297
          latinname: '', // 拉丁名
          estimationtreeage: '', // 估测树龄
21397afd   刘淇   树 新增
298
          canopysouthnorth: '', // 冠幅南北
3bea8ade   刘淇   图片上传
299
300
          canopyeastwest: '', // 冠幅东西
          weekday: '', // 干周
21397afd   刘淇   树 新增
301
          growlocation: '', // 位置
3bea8ade   刘淇   图片上传
302
          growthenvironment: '', // 生长环境
21397afd   刘淇   树 新增
303
304
          treeImgList: [], // 图片信息
          treeImgListFile: [], // 图片信息
c7744156   刘淇   录入树木
305
306
          address: '',      // 位置名称
          latitude: '',     // 纬度
21397afd   刘淇   树 新增
307
308
          longitude: '',     // 经度
          road: ''
c7744156   刘淇   录入树木
309
        },
c7744156   刘淇   录入树木
310
311
      }
    },
b951d827   刘淇   树木详情
312
    watch: {},
c7744156   刘淇   录入树木
313
314
    onReady() {
      //开启即时校验,开启后输入即校验【参数必传】,第一参数:是否开启;第二参数:校验规则
6cba22de   刘淇   图片上传
315
316
      // 开启即时校验,参数:是否开启、校验规则
      this.$refs.form && this.$refs.form.immediateValidate(true, rules);
c7744156   刘淇   录入树木
317
318
      // this.$refs.form && this.$refs.form.immediateValidate(true, rules)
    },
21397afd   刘淇   树 新增
319
    onLoad(options) {
7fc91f7a   刘淇   上传体验版优化
320
321
322
323
324
  
      this.formData.road = options.roadId
  
    },
    onShow(){
21397afd   刘淇   树 新增
325
326
327
      treeLevelReq().then(res => {
        this.treeLevelData = res.data
      })
21397afd   刘淇   树 新增
328
329
      this.treeOwnership()
    },
c7744156   刘淇   录入树木
330
    methods: {
b951d827   刘淇   树木详情
331
      // 权属分类
21397afd   刘淇   树 新增
332
333
334
335
336
337
      treeOwnership() {
        treeOwnership().then(res => {
          console.log(res)
          this.treeOwnershipData = res.data
        })
      },
c7744156   刘淇   录入树木
338
339
340
341
342
343
      // 切换显示/隐藏状态
      toggleArea() {
        this.isShow = !this.isShow;
      },
      // 上传完成回调
      handleComplete(e) {
21397afd   刘淇   树 新增
344
        if (e.status == 1) {
3bea8ade   刘淇   图片上传
345
          console.log(e)
6cba22de   刘淇   图片上传
346
          // this.formData.treeImgList.push(e.imgArr);
21397afd   刘淇   树 新增
347
348
          console.log(e.imgArr[0])
          this.formData.treeImgListFile = e.imgArr
b951d827   刘淇   树木详情
349
          this.formData.treeImgList = e.imgArr.map(item => OSSURL + item);
21397afd   刘淇   树 新增
350
351
          console.log(this.formData.treeImgList)
          // baseURL
6cba22de   刘淇   图片上传
352
353
          // 手动触发treeImgList字段的校验
          this.$refs.form.validateField("treeImgList");
21397afd   刘淇   树 新增
354
        }
3bea8ade   刘淇   图片上传
355
        // this.formData.treeImgList = e.imgArr;
c7744156   刘淇   录入树木
356
357
358
359
360
361
        // 根据实际接口返回格式调整
        // this.currentFiles.push(e.data);
      },
      // 删除图片回调
      handleRemove(index) {
        // 从列表中移除
3bea8ade   刘淇   图片上传
362
        this.formData.treeImgList.splice(index, 1);
f2ecd120   刘淇   树 修改
363
        this.formData.treeImgListFile.splice(index, 1);
3bea8ade   刘淇   图片上传
364
        console.log(this.formData.treeImgList.length)
c7744156   刘淇   录入树木
365
      },
c7744156   刘淇   录入树木
366
367
368
369
370
371
372
373
      pickerShow() {
        this.show = true
      },
      pickerHide() {
        this.show = false
      },
      pickerChange(e) {
        console.log(e)
b951d827   刘淇   树木详情
374
375
        this.formData.oldtreeownership = e.dictValue
        this.formData.oldtreeownershipText = e.dictLabel
21397afd   刘淇   树 新增
376
377
378
379
380
381
382
383
384
      },
      pickerLevelShow() {
        this.levelshow = true
      },
      pickerLevelHide() {
        this.levelshow = false
      },
      pickerLevelChange(e) {
        console.log(e)
b951d827   刘淇   树木详情
385
386
        this.formData.treelevel = e.dictValue
        this.formData.treeleveltext = e.dictLabel
c7744156   刘淇   录入树木
387
388
      },
      submit() {
75d3172d   刘淇   样式优化
389
  
6cba22de   刘淇   图片上传
390
391
392
393
        // 3. 打印提交时的数据
        console.log("提交时treeImgList:", this.formData.treeImgList);
        // 手动校验图片
        if (!this.formData.treeImgList || this.formData.treeImgList.length === 0) {
21397afd   刘淇   树 新增
394
          uni.showToast({title: "请上传图片", icon: "none"});
6cba22de   刘淇   图片上传
395
396
          return; // 阻止提交
        }
c7744156   刘淇   录入树木
397
398
399
400
401
        //注:结合FormItem校验,validate方法第三个参数必须传true
        this.$refs.form.validate(this.formData, rules, true).then(res => {
          if (res.isPass) {
            console.log(this.formData)
            console.log('校验通过!')
75d3172d   刘淇   样式优化
402
403
  
            this.formData.maintainunit = this.userInfo.belongCompanyId
21397afd   刘淇   树 新增
404
405
406
407
408
            // addTree()
            addTree({data: {...this.formData}}).then(res => {
              console.log(res)
              if (res.code == '200') {
                uni.showToast({title: "新增成功", icon: "none"});
7fc91f7a   刘淇   上传体验版优化
409
410
                // uni.$tui.href(`/subPackages/treePage/treeRecord?roadId=${this.formData.road}`)
                uni.$tui.href(`/subPackages/treePage/treeFiles`)
21397afd   刘淇   树 新增
411
412
              }
            })
c7744156   刘淇   录入树木
413
414
415
416
417
418
419
420
421
422
          } else {
            console.log(res)
          }
        }).catch(errors => {
          console.log(errors)
        })
      },
      // 打开地图选择
      openMap() {
        // 如果已有位置信息,默认显示该位置,否则使用当前位置
69173829   刘淇   样式优化
423
424
425
426
427
428
429
430
  
        // const options = {
        //   latitude: this.formData.latitude ? Number(this.formData.latitude) : '116.359080',
        //   longitude: this.formData.longitude ? Number(this.formData.longitude) : '39.882889',
        //   scale: 16,        // 地图缩放级别
        //   name: this.formData.growlocation || '',  // 位置名称
        //   address: this.formData.growlocation || '' // 详细地址
        // };
c7744156   刘淇   录入树木
431
432
        // 调用微信小程序地图选择API
        uni.chooseLocation({
69173829   刘淇   样式优化
433
          // ...options,
c7744156   刘淇   录入树木
434
          success: (res) => {
3bea8ade   刘淇   图片上传
435
            console.log(res)
c7744156   刘淇   录入树木
436
            // 选择成功后更新位置信息
3bea8ade   刘淇   图片上传
437
438
439
            this.formData.growlocation = res.address
            this.formData.latitude = res.latitude
            this.formData.longitude = res.longitude
c7744156   刘淇   录入树木
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
          },
          fail: (err) => {
            console.error('地图选择失败', err);
            if (err.errMsg.includes('auth deny')) {
              uni.showToast({
                title: '请授权位置权限',
                icon: 'none'
              });
            }
          }
        });
      }
    }
  }
  </script>
  
  <style>
c872bdb3   刘淇   树木详情
457
458
  
  
c7744156   刘淇   录入树木
459
460
461
462
463
464
  .tui-btn__box {
    width: 100%;
    position: fixed;
    bottom: 0;
  }
  
c7744156   刘淇   录入树木
465
466
467
468
469
470
  /* 动画区域样式 */
  .animated-area {
    height: 200rpx;
    transition: all 0.3s ease-out; /* 动画过渡效果 */
  }
  </style>