|
@@ -1,25 +1,46 @@
|
|
<template>
|
|
<template>
|
|
- <div>
|
|
|
|
- <van-sticky :offset-top="0" v-if="robotList.length">
|
|
|
|
- <van-dropdown-menu>
|
|
|
|
- <van-dropdown-item
|
|
|
|
- @change="change"
|
|
|
|
- v-model="deviceId"
|
|
|
|
- :options="robotList"
|
|
|
|
|
|
+ <div class="robot">
|
|
|
|
+ <van-dropdown-menu v-if="robotList.length">
|
|
|
|
+ <van-dropdown-item
|
|
|
|
+ @change="change"
|
|
|
|
+ v-model="deviceId"
|
|
|
|
+ :options="robotList"
|
|
|
|
+ />
|
|
|
|
+ </van-dropdown-menu>
|
|
|
|
+ <van-cell size="large">
|
|
|
|
+ <template #title>
|
|
|
|
+ <van-image
|
|
|
|
+ width="20"
|
|
|
|
+ height="20"
|
|
|
|
+ :src="logo"
|
|
|
|
+ style="vertical-align: middle;margin-right: 5px"
|
|
/>
|
|
/>
|
|
- </van-dropdown-menu>
|
|
|
|
- </van-sticky>
|
|
|
|
- <van-cell title="党建机器人" size="large" value="" />
|
|
|
|
|
|
+ <span class="custom-title">党建机器人</span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-cell>
|
|
<div id="robot" class="app">
|
|
<div id="robot" class="app">
|
|
<div class="van-hairline--surround msg" ref="scroll">
|
|
<div class="van-hairline--surround msg" ref="scroll">
|
|
- <div class="" ref="msgScroll">
|
|
|
|
|
|
+ <div ref="msgScroll">
|
|
<div class="defaultQuestion">
|
|
<div class="defaultQuestion">
|
|
- <div
|
|
|
|
- v-for="item in q"
|
|
|
|
- :key="item.id"
|
|
|
|
- v-text="item"
|
|
|
|
- @click="() => defQ(item)"
|
|
|
|
- ></div>
|
|
|
|
|
|
+ <van-row>
|
|
|
|
+ <van-col
|
|
|
|
+ span="8"
|
|
|
|
+ class="queryTitle"
|
|
|
|
+ :style="'height: ' + q.length * 28 + 'px;'"
|
|
|
|
+ >
|
|
|
|
+ <van-image width="50" height="50" :src="logo" />
|
|
|
|
+ <van-icon name="replay" @click="reset" class="reset" />
|
|
|
|
+ </van-col>
|
|
|
|
+ <van-col span="16">
|
|
|
|
+ <div
|
|
|
|
+ class="van-ellipsis van-hairline--bottom"
|
|
|
|
+ v-for="item in q"
|
|
|
|
+ :key="item"
|
|
|
|
+ v-text="item + '?'"
|
|
|
|
+ @click="() => defQ(item)"
|
|
|
|
+ ></div>
|
|
|
|
+ </van-col>
|
|
|
|
+ </van-row>
|
|
</div>
|
|
</div>
|
|
<div
|
|
<div
|
|
class="msgBg"
|
|
class="msgBg"
|
|
@@ -35,88 +56,96 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="van-hairline--left van-hairline--right van-hairline--bottom">
|
|
<div class="van-hairline--left van-hairline--right van-hairline--bottom">
|
|
- <van-field v-model="message" rows="1" autosize type="textarea" />
|
|
|
|
- <div style="text-align: right; padding: 0.1rem">
|
|
|
|
- <van-button size="small" type="primary" @click="tomsg">
|
|
|
|
- 发送
|
|
|
|
- </van-button>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="message"
|
|
|
|
+ center
|
|
|
|
+ clearable
|
|
|
|
+ placeholder="请输入你的问题"
|
|
|
|
+ >
|
|
|
|
+ <template #button>
|
|
|
|
+ <van-button size="small" @click="tomsg">
|
|
|
|
+ 发送
|
|
|
|
+ </van-button>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
</div>
|
|
</div>
|
|
<van-cell title="遥控器" value="" />
|
|
<van-cell title="遥控器" value="" />
|
|
<van-row>
|
|
<van-row>
|
|
<van-col span="12">
|
|
<van-col span="12">
|
|
- <div class="control">
|
|
|
|
- <van-button
|
|
|
|
- type="default"
|
|
|
|
|
|
+ <div class="control ">
|
|
|
|
+ <div class="bg" :style="touchArce"></div>
|
|
|
|
+ <van-icon
|
|
@touchstart="() => toOperation('head', 'up')"
|
|
@touchstart="() => toOperation('head', 'up')"
|
|
@touchend="() => (touch = false)"
|
|
@touchend="() => (touch = false)"
|
|
- >
|
|
|
|
- 上
|
|
|
|
- </van-button>
|
|
|
|
|
|
+ class="btnClass"
|
|
|
|
+ name="arrow-up"
|
|
|
|
+ />
|
|
<div class="conBtnGroup">
|
|
<div class="conBtnGroup">
|
|
- <van-button
|
|
|
|
- type="default"
|
|
|
|
|
|
+ <van-icon
|
|
|
|
+ class="btnClass"
|
|
@touchstart="() => toOperation('head', 'left')"
|
|
@touchstart="() => toOperation('head', 'left')"
|
|
@touchend="() => (touch = false)"
|
|
@touchend="() => (touch = false)"
|
|
- >
|
|
|
|
- 左
|
|
|
|
- </van-button>
|
|
|
|
- <van-image
|
|
|
|
- style="width: 0.45rem;vertical-align: middle;"
|
|
|
|
- :src="robotHead"
|
|
|
|
- ></van-image>
|
|
|
|
- <van-button
|
|
|
|
- type="default"
|
|
|
|
|
|
+ name="arrow-left"
|
|
|
|
+ />
|
|
|
|
+ <div>
|
|
|
|
+ <van-image
|
|
|
|
+ class="centerImg"
|
|
|
|
+ fit="cover"
|
|
|
|
+ :src="robotHead"
|
|
|
|
+ ></van-image>
|
|
|
|
+ </div>
|
|
|
|
+ <van-icon
|
|
|
|
+ class="btnClass"
|
|
@touchstart="() => toOperation('head', 'right')"
|
|
@touchstart="() => toOperation('head', 'right')"
|
|
@touchend="() => (touch = false)"
|
|
@touchend="() => (touch = false)"
|
|
- >
|
|
|
|
- 右
|
|
|
|
- </van-button>
|
|
|
|
- </div>
|
|
|
|
- <div class="conBtnGroup">
|
|
|
|
- <van-button
|
|
|
|
- type="default"
|
|
|
|
- @touchstart="() => toOperation('head', 'down')"
|
|
|
|
- @touchend="() => (touch = false)"
|
|
|
|
- >
|
|
|
|
- 下
|
|
|
|
- </van-button>
|
|
|
|
|
|
+ name="arrow"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
|
|
+ <van-icon
|
|
|
|
+ class="btnClass"
|
|
|
|
+ @touchstart="() => toOperation('head', 'down')"
|
|
|
|
+ @touchend="() => (touch = false)"
|
|
|
|
+ name="arrow-down"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
</van-col>
|
|
</van-col>
|
|
<van-col span="12">
|
|
<van-col span="12">
|
|
<div class="control">
|
|
<div class="control">
|
|
- <div class="text">轮子</div>
|
|
|
|
- <van-button
|
|
|
|
- type="default"
|
|
|
|
|
|
+ <div class="bg" :style="touchArceWheel"></div>
|
|
|
|
+ <van-icon
|
|
@touchstart="() => toOperation('wheel', 'forward')"
|
|
@touchstart="() => toOperation('wheel', 'forward')"
|
|
@touchend="() => (touch = false)"
|
|
@touchend="() => (touch = false)"
|
|
- >
|
|
|
|
- 前
|
|
|
|
- </van-button>
|
|
|
|
|
|
+ class="btnClass"
|
|
|
|
+ name="arrow-up"
|
|
|
|
+ />
|
|
<div class="conBtnGroup">
|
|
<div class="conBtnGroup">
|
|
- <van-button
|
|
|
|
- type="default"
|
|
|
|
|
|
+ <van-icon
|
|
|
|
+ class="btnClass"
|
|
@touchstart="() => toOperation('wheel', 'left')"
|
|
@touchstart="() => toOperation('wheel', 'left')"
|
|
@touchend="() => (touch = false)"
|
|
@touchend="() => (touch = false)"
|
|
- >
|
|
|
|
- 左
|
|
|
|
- </van-button>
|
|
|
|
- <van-button
|
|
|
|
- type="default"
|
|
|
|
- @touchstart="() => toOperation('wheel', 'backward')"
|
|
|
|
- @touchend="() => (touch = false)"
|
|
|
|
- >
|
|
|
|
- 后
|
|
|
|
- </van-button>
|
|
|
|
- <van-button
|
|
|
|
- type="default"
|
|
|
|
|
|
+ name="arrow-left"
|
|
|
|
+ />
|
|
|
|
+ <div>
|
|
|
|
+ <van-image
|
|
|
|
+ class="centerImg"
|
|
|
|
+ fit="cover"
|
|
|
|
+ :src="robotBody"
|
|
|
|
+ ></van-image>
|
|
|
|
+ </div>
|
|
|
|
+ <van-icon
|
|
|
|
+ class="btnClass"
|
|
@touchstart="() => toOperation('wheel', 'right')"
|
|
@touchstart="() => toOperation('wheel', 'right')"
|
|
@touchend="() => (touch = false)"
|
|
@touchend="() => (touch = false)"
|
|
- >
|
|
|
|
- 右
|
|
|
|
- </van-button>
|
|
|
|
|
|
+ name="arrow"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
+ <van-icon
|
|
|
|
+ class="btnClass"
|
|
|
|
+ @touchstart="() => toOperation('wheel', 'backward')"
|
|
|
|
+ @touchend="() => (touch = false)"
|
|
|
|
+ name="arrow-down"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
</van-col>
|
|
</van-col>
|
|
</van-row>
|
|
</van-row>
|
|
@@ -133,10 +162,10 @@ import {
|
|
Col as vanCol,
|
|
Col as vanCol,
|
|
Row as vanRow,
|
|
Row as vanRow,
|
|
Field as vanField,
|
|
Field as vanField,
|
|
- Image as VanImage,
|
|
|
|
|
|
+ Image as vanImage,
|
|
DropdownMenu as vanDropdownMenu,
|
|
DropdownMenu as vanDropdownMenu,
|
|
DropdownItem as vanDropdownItem,
|
|
DropdownItem as vanDropdownItem,
|
|
- Sticky as vanSticky,
|
|
|
|
|
|
+ Icon as vanIcon,
|
|
Toast
|
|
Toast
|
|
} from "vant";
|
|
} from "vant";
|
|
import "vant/lib/button/style";
|
|
import "vant/lib/button/style";
|
|
@@ -144,58 +173,81 @@ import "vant/lib/cell/style";
|
|
import "vant/lib/col/style";
|
|
import "vant/lib/col/style";
|
|
import "vant/lib/row/style";
|
|
import "vant/lib/row/style";
|
|
import "vant/lib/field/style";
|
|
import "vant/lib/field/style";
|
|
-import "vant/lib/sticky/style";
|
|
|
|
import "vant/lib/toast/style";
|
|
import "vant/lib/toast/style";
|
|
import "vant/lib/image/style";
|
|
import "vant/lib/image/style";
|
|
|
|
+import "vant/lib/icon/style";
|
|
import "vant/lib/dropdown-menu/style";
|
|
import "vant/lib/dropdown-menu/style";
|
|
import "vant/lib/dropdown-item/style";
|
|
import "vant/lib/dropdown-item/style";
|
|
|
|
|
|
import robotHead from "@/assets/image/robot-head.png";
|
|
import robotHead from "@/assets/image/robot-head.png";
|
|
|
|
+import robotBody from "@/assets/image/robot-body.png";
|
|
|
|
+import logo from "@/assets/image/logo.png";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "app",
|
|
name: "app",
|
|
- robotToken: "",
|
|
|
|
- scoket: undefined,
|
|
|
|
- status: true,
|
|
|
|
- timeout: undefined,
|
|
|
|
data: function() {
|
|
data: function() {
|
|
return {
|
|
return {
|
|
- robotList: [],
|
|
|
|
- dialogueList: [],
|
|
|
|
- q: [
|
|
|
|
- "天气如何?",
|
|
|
|
|
|
+ robotToken: "",
|
|
|
|
+ scoket: undefined,
|
|
|
|
+ status: false,
|
|
|
|
+ timeout: undefined,
|
|
|
|
+ quetion: [
|
|
|
|
+ "天气如何",
|
|
"两学一做",
|
|
"两学一做",
|
|
"八项规定",
|
|
"八项规定",
|
|
"三严三实",
|
|
"三严三实",
|
|
- "什么是两个100年?",
|
|
|
|
- "党的生日是那一天?"
|
|
|
|
|
|
+ "什么是两个100年",
|
|
|
|
+ "党的生日是那一天"
|
|
],
|
|
],
|
|
|
|
+ qPage: 1,
|
|
|
|
+ qPageSize: 5,
|
|
robotHead,
|
|
robotHead,
|
|
- remoteControl: [
|
|
|
|
- {
|
|
|
|
- typeL: "head",
|
|
|
|
- btn: {
|
|
|
|
- up: "上",
|
|
|
|
- left: "左",
|
|
|
|
- down: "下",
|
|
|
|
- right: "右"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- typeL: "wheel",
|
|
|
|
- btn: {
|
|
|
|
- forward: "前",
|
|
|
|
- left: "左",
|
|
|
|
- backward: "后",
|
|
|
|
- right: "右"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
|
|
+ robotBody,
|
|
|
|
+ logo,
|
|
|
|
+ robotList: [],
|
|
|
|
+ dialogueList: [],
|
|
|
|
+ q: [],
|
|
touch: false,
|
|
touch: false,
|
|
deviceId: "",
|
|
deviceId: "",
|
|
message: ""
|
|
message: ""
|
|
};
|
|
};
|
|
},
|
|
},
|
|
|
|
+ computed: {
|
|
|
|
+ touchArce() {
|
|
|
|
+ if (!this.touch)
|
|
|
|
+ return {
|
|
|
|
+ type: "",
|
|
|
|
+ style: ""
|
|
|
|
+ };
|
|
|
|
+ let l = this.touch.split("-");
|
|
|
|
+ switch (l[1]) {
|
|
|
|
+ case "up":
|
|
|
|
+ l[1] = "top";
|
|
|
|
+ break;
|
|
|
|
+ case "down":
|
|
|
|
+ l[1] = "bottom";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ return l[0] === "head" ? "border-" + l[1] + "-color: #dadada" : "";
|
|
|
|
+ },
|
|
|
|
+ touchArceWheel() {
|
|
|
|
+ if (!this.touch)
|
|
|
|
+ return {
|
|
|
|
+ type: "",
|
|
|
|
+ style: ""
|
|
|
|
+ };
|
|
|
|
+ let l = this.touch.split("-");
|
|
|
|
+ switch (l[1]) {
|
|
|
|
+ case "forward":
|
|
|
|
+ l[1] = "top";
|
|
|
|
+ break;
|
|
|
|
+ case "backward":
|
|
|
|
+ l[1] = "bottom";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ return l[0] === "wheel" ? "border-" + l[1] + "-color: #dadada" : "";
|
|
|
|
+ }
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
defQ(t) {
|
|
defQ(t) {
|
|
this.message = t;
|
|
this.message = t;
|
|
@@ -213,7 +265,7 @@ export default {
|
|
tomsg() {
|
|
tomsg() {
|
|
if (!this.status) {
|
|
if (!this.status) {
|
|
this.message = "";
|
|
this.message = "";
|
|
- return Toast("链接已断开!");
|
|
|
|
|
|
+ return Toast("未链接!");
|
|
}
|
|
}
|
|
if (!this.message) return;
|
|
if (!this.message) return;
|
|
let dialogue = {
|
|
let dialogue = {
|
|
@@ -234,9 +286,9 @@ export default {
|
|
this.message = "";
|
|
this.message = "";
|
|
},
|
|
},
|
|
toOperation(type, opera) {
|
|
toOperation(type, opera) {
|
|
- if (!this.status) return Toast("链接已断开!");
|
|
|
|
|
|
+ if (!this.status) return Toast("未链接!");
|
|
if (this.timeout) clearInterval(this.timeout);
|
|
if (this.timeout) clearInterval(this.timeout);
|
|
- this.touch = true;
|
|
|
|
|
|
+ this.touch = type + "-" + opera;
|
|
this.timeout = setInterval(() => {
|
|
this.timeout = setInterval(() => {
|
|
if (!this.touch) clearInterval(this.timeout);
|
|
if (!this.touch) clearInterval(this.timeout);
|
|
let p = {
|
|
let p = {
|
|
@@ -280,21 +332,40 @@ export default {
|
|
this.scoket.onerror = function() {
|
|
this.scoket.onerror = function() {
|
|
_this.status = false;
|
|
_this.status = false;
|
|
console.log("链接错误");
|
|
console.log("链接错误");
|
|
- Toast("链接已断开!");
|
|
|
|
|
|
+ Toast("未链接!");
|
|
};
|
|
};
|
|
this.scoket.onclose = function() {
|
|
this.scoket.onclose = function() {
|
|
_this.status = false;
|
|
_this.status = false;
|
|
console.log("链接断开");
|
|
console.log("链接断开");
|
|
- Toast("链接已断开!");
|
|
|
|
|
|
+ Toast("未链接!");
|
|
};
|
|
};
|
|
},
|
|
},
|
|
change(e) {
|
|
change(e) {
|
|
if (!e) return;
|
|
if (!e) return;
|
|
this.deviceId = e;
|
|
this.deviceId = e;
|
|
this.createRobotLink();
|
|
this.createRobotLink();
|
|
|
|
+ },
|
|
|
|
+ reset() {
|
|
|
|
+ let l = [];
|
|
|
|
+ let start = this.qPageSize * (this.qPage - 1);
|
|
|
|
+ for (let i = 0; i < this.qPageSize; i++) {
|
|
|
|
+ let index =
|
|
|
|
+ i + start >= this.quetion.length
|
|
|
|
+ ? i + start - this.quetion.length
|
|
|
|
+ : i + start;
|
|
|
|
+ const v = this.quetion[index];
|
|
|
|
+ l.push(v);
|
|
|
|
+ }
|
|
|
|
+ this.q = l;
|
|
|
|
+ if (this.qPageSize * this.qPage > this.quetion.length) {
|
|
|
|
+ this.qPage = 1;
|
|
|
|
+ } else {
|
|
|
|
+ this.qPage++;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
|
|
+ this.reset();
|
|
getRobotToken().then(res => {
|
|
getRobotToken().then(res => {
|
|
if (res.error_code !== 0) return Toast("机器人走丢了");
|
|
if (res.error_code !== 0) return Toast("机器人走丢了");
|
|
this.robotToken = res.token || "";
|
|
this.robotToken = res.token || "";
|
|
@@ -320,9 +391,9 @@ export default {
|
|
vanCell,
|
|
vanCell,
|
|
vanCol,
|
|
vanCol,
|
|
vanRow,
|
|
vanRow,
|
|
|
|
+ vanIcon,
|
|
vanField,
|
|
vanField,
|
|
- vanSticky,
|
|
|
|
- VanImage,
|
|
|
|
|
|
+ vanImage,
|
|
vanDropdownMenu,
|
|
vanDropdownMenu,
|
|
vanDropdownItem
|
|
vanDropdownItem
|
|
}
|
|
}
|
|
@@ -335,38 +406,71 @@ export default {
|
|
padding: 0.1rem;
|
|
padding: 0.1rem;
|
|
height: 3rem;
|
|
height: 3rem;
|
|
overflow-y: scroll;
|
|
overflow-y: scroll;
|
|
|
|
+ .defaultQuestion {
|
|
|
|
+ padding: 5px;
|
|
|
|
+ color: #222;
|
|
|
|
+ line-height: 2em;
|
|
|
|
+ font-size: 0.14rem;
|
|
|
|
+ border-radius: 5px;
|
|
|
|
+ word-wrap: break-word;
|
|
|
|
+ box-shadow: rgba(122, 122, 122, 0.2) 0px 0px 5px;
|
|
|
|
+ .queryTitle {
|
|
|
|
+ padding: 3px;
|
|
|
|
+ position: relative;
|
|
|
|
+ .reset {
|
|
|
|
+ position: absolute;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ bottom: 3px;
|
|
|
|
+ left: 3px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .msgBg {
|
|
|
|
+ padding: 5px 3px;
|
|
|
|
+ > div {
|
|
|
|
+ padding: 5px;
|
|
|
|
+ color: #fff;
|
|
|
|
+ border-radius: 5px;
|
|
|
|
+ word-wrap: break-word;
|
|
|
|
+ background-color: #959595;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.control {
|
|
.control {
|
|
- display: inline-block;
|
|
|
|
- margin-top: 0.1rem;
|
|
|
|
- width: 1.45rem;
|
|
|
|
|
|
+ margin-top: 0.05rem;
|
|
|
|
+ width: 173px;
|
|
text-align: center;
|
|
text-align: center;
|
|
- .conBtnGroup {
|
|
|
|
- text-align: center;
|
|
|
|
|
|
+ position: relative;
|
|
|
|
+ padding: 3px;
|
|
|
|
+ .bg {
|
|
|
|
+ width: 0;
|
|
|
|
+ height: 0;
|
|
|
|
+ border: 87px solid #fafafa;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ position: absolute;
|
|
|
|
+ z-index: -1;
|
|
}
|
|
}
|
|
- .text {
|
|
|
|
- padding: 0.1rem;
|
|
|
|
- font-size: 0.14rem;
|
|
|
|
|
|
+ .btnClass {
|
|
|
|
+ width: 45px;
|
|
|
|
+ height: 55px;
|
|
|
|
+ line-height: 55px;
|
|
|
|
+ display: inline-block;
|
|
}
|
|
}
|
|
- }
|
|
|
|
- .msgBg {
|
|
|
|
- padding: 5px 3px;
|
|
|
|
- > div {
|
|
|
|
- padding: 5px;
|
|
|
|
- color: #fff;
|
|
|
|
- border-radius: 5px;
|
|
|
|
- word-wrap: break-word;
|
|
|
|
- background-color: #959595;
|
|
|
|
|
|
+ .conBtnGroup {
|
|
|
|
+ display: flex;
|
|
|
|
+ > * {
|
|
|
|
+ flex: 1;
|
|
|
|
+ }
|
|
|
|
+ .centerImg {
|
|
|
|
+ width: 0.56rem;
|
|
|
|
+ height: 0.55rem;
|
|
|
|
+ text-align: center;
|
|
|
|
+ padding: 0.1rem;
|
|
|
|
+ border: 1px solid #eee;
|
|
|
|
+ background-color: #dadada;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .defaultQuestion {
|
|
|
|
- padding: 5px;
|
|
|
|
- color: #fff;
|
|
|
|
- border-radius: 5px;
|
|
|
|
- word-wrap: break-word;
|
|
|
|
- background-color: #959595;
|
|
|
|
- line-height: 2em;
|
|
|
|
- font-size: 0.14rem;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|