提交 d0305098 authored 作者: 胡卉清's avatar 胡卉清

合并分支 'dev_hhq' 到 'master'

Dev hhq 查看合并请求 !37
<template> <template>
<div class="timeline-map"> <div ref="map" style="width: 1600px; height: 551px"></div>
<!-- 地图容器 --> <div
<div ref="chartRef" style="width: 100%; height: 600px;"></div> style="width: 1231px; height: 72px; margin-top: -55px; background: linear-gradient(to top, #DAEBFD, #ffffff);margin-left: 182px">
<div style="width: 1231px; height: 40px; display: flex;justify-content: space-between;">
<!-- 控制栏 --> <div style="display: flex;align-self: center;">
<div class="controls" style="margin-top: 16px; text-align: center;"> <div class="time-btn">
<button @click="play" :disabled="isPlaying">播放</button>
<button @click="pause" :disabled="!isPlaying">暂停</button> </div>
<span style="margin: 0 16px;">速度:</span> <div class="time-btn">
<input type="range" min="0.5" max="3" step="0.5" v-model.number="speed" />
<span>{{ speed }}x</span> </div>
<div class="time-btn">
重置
</div>
</div>
<div style="display: flex;align-self: center;">
<div>
当前时间:
</div>
<input></input>
<div style="margin: 0 10px 0 40px;color: #04295A;"> 刻度</div>
<select name="firstSelect" id="firstSelect">
<option value="option1">周制</option>
</select>
<div style="margin: 0 10px 0 40px;color: #04295A;">速率</div>
<select name="secondSelect" id="secondSelect" style="margin-right: 20px;">
<option value="optionA">1X</option>
<option value="optionB">2X</option>
</select>
</div>
</div> </div>
</div>
</template>
<script setup> <div ref=" timeLineChart" style="width: 1231px; height: 30px;background-color: #6091D6; "></div>
import { ref, onMounted, onUnmounted, watch } from 'vue'; </div>
import * as echarts from 'echarts/core';
import { CanvasRenderer } from 'echarts/renderers';
import { GeoComponent } from 'echarts/components';
import { ScatterChart } from 'echarts/charts';
import { TooltipComponent } from 'echarts/components';
// 注册必要组件 </template>
echarts.use([CanvasRenderer, GeoComponent, ScatterChart, TooltipComponent]);
// 导入中国地图 GeoJSON <script>
import chinaJson from '@/assets/json/China.json'; import * as echarts from "echarts";
import worldJson from "@/assets/json/world.json";
// 事件数据(模拟) export default {
const events = [ name: "MapAnimation",
{ mounted() {
date: '2024-09-23', this.initMap();
desc: '在北京会见科技企业代表',
avatar: 'https://via.placeholder.com/32?text=BJ',
lng: 116.4074,
lat: 39.9042 // 北京
},
{
date: '2024-09-24',
desc: '在上海考察集成电路产业',
avatar: 'https://via.placeholder.com/32?text=SH',
lng: 121.4737,
lat: 31.2304 // 上海
},
{
date: '2024-09-25',
desc: '在深圳调研人工智能发展',
avatar: 'https://via.placeholder.com/32?text=SZ',
lng: 114.0579,
lat: 22.5431 // 深圳
}, },
{ methods: {
date: '2024-09-26', initMap() {
desc: '在成都出席科技创新论坛', // 注册自定义地图数据
avatar: 'https://via.placeholder.com/32?text=CD', echarts.registerMap("China", worldJson);
lng: 104.0665,
lat: 30.5728 // 成都 const chart = echarts.init(this.$refs.map);
}
]; const option = {
// timeline: {
// 响应式状态 // autoplay: true,
const chartRef = ref(null); // playInterval: 2000,
const currentIndex = ref(0); // data: ["9月23日"]
const isPlaying = ref(false); // },
const speed = ref(1); grid: {
let intervalId = null; left: "10%",
let myChart = null; right: "10%",
bottom: "10%",
// 初始化图表 top: "10%",
onMounted(() => { containLabel: true
// 注册中国地图(关键!) },
echarts.registerMap('China', chinaJson); geo: {
map: "China",
myChart = echarts.init(chartRef.value); roam: true,
label: {
const option = getOption(); emphasis: {
myChart.setOption(option); show: false,
}); color: "#fff"
}
onUnmounted(() => { },
if (intervalId) clearInterval(intervalId); silent: true,
if (myChart) myChart.dispose(); itemStyle: {
}); areaColor: "#F6FAFF",
borderColor: "#B9DCFF"
// 获取 ECharts 配置 }
function getOption() {
return {
tooltip: {
trigger: 'item',
backgroundColor: 'rgba(255,255,255,0.9)',
borderColor: '#ccc',
borderRadius: 6,
textStyle: { color: '#333', fontSize: 12 },
formatter(params) {
const data = params.data;
return `
<div style="padding:8px; line-height:1.4;">
<img src="${data.avatar}" width="24" height="24" style="border-radius:50%; vertical-align:middle; margin-right:6px;" />
<strong>${data.date}</strong><br/>
${data.desc}
</div>
`;
}
},
geo: {
map: 'China', // 使用注册的地图名
roam: true,
zoom: 1.2,
center: [105, 35], // 中国大致中心
label: {
show: false
},
itemStyle: {
areaColor: '#f0f9ff',
borderColor: '#a0cfff'
},
emphasis: {
itemStyle: {
areaColor: '#e6f7ff'
}
}
},
series: [
{
type: 'scatter',
coordinateSystem: 'geo',
data: getCurrentData(),
symbolSize: 12,
itemStyle: {
color: '#1890ff'
}, },
label: { series: [
{
name: "行程",
type: "effectScatter",
coordinateSystem: "geo",
data: [
{
time: "2025-02-01",
text: "随美国总统特朗普进行国事访问",
value: [116.46, 39.92],
itemStyle: { color: "#ffcc00" }
},
{
time: "2025-02-01",
text: "出席中国发展高层论坛2025年年会",
value: [116.46, 39.92],
itemStyle: { color: "#ffcc00" }
},
{
time: "2025-02-01",
text: "与民主党领导人查克·舒默及哈基姆...",
value: [1.46, 39.92],
itemStyle: { color: "#ffcc00" }
},
{
time: "2025-02-01",
text: "与阿拉伯国家领导人会晤,商讨加...",
value: [116.46, -44.92],
itemStyle: { color: "#ffcc00" }
},
{
time: "2025-02-01",
text: "对印度进行为期四天的访问,与总理...",
value: [78.1, 20.7],
itemStyle: { color: "#ffcc00" }
}
],
symbolSize: 10,
showEffectOn: "render",
rippleEffect: {
brushType: "stroke"
},
label: {
show: true,
position: "right",
offset: [5, 0],
borderColor: "rgba(174, 214, 255, 1)",
backgroundColor: "rgba(255, 255, 255, 0.8)",
formatter: params => {
const { time, text } = params.data; // 👈 从 params.data 取
return `{time|${time}} \n {text|${text}项}`;
},
rich: {
time: {
fontSize: 16,
fontFamily: "Microsoft YaHei",
fontWeight: 700,
lineHeight: 30,
color: "rgba(5, 95, 194, 1)"
},
text: {
fontSize: 14,
fontFamily: "Microsoft YaHei",
fontWeight: 400,
lineHeight: 22,
color: "rgb(95, 101, 108)"
}
}
},
itemStyle: {
color: "#ddb926",
shadowBlur: 10,
shadowColor: "#333"
}
}
]
};
chart.setOption(option);
const chart2 = echarts.init(this.$refs.timeLineChart);
const option2 = {
xAxis: {
type: "time",
position: "top",
axisLine: {
show: true,
lineStyle: {
color: "#000"
}
},
axisTick: {
show: false
},
axisLabel: {
formatter: "{value}日",
color: "#000"
},
splitLine: {
show: true
},
data: [
"2024-03-25",
"2024-04-08",
"2024-04-15",
"2024-04-22",
"2024-04-29",
"2024-05-06",
"2024-05-13",
"2024-05-20",
"2024-05-27",
"2024-06-03",
"2024-06-10",
"2024-06-17",
"2024-06-24",
"2024-07-01",
"2024-07-08",
"2024-07-15",
"2024-07-22",
"2024-07-29"
]
},
yAxis: {
type: "value",
show: false show: false
},
series: [
{
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
type: "line",
areaStyle: {},
emphasis: {
focus: "series"
}
}
],
visualMap: {
show: false,
dimension: 1,
pieces: [{ gt: 0, lte: 1, color: "#ffcc00" }]
} }
} };
]
};
}
// 获取当前要显示的数据
function getCurrentData() {
return [events[currentIndex.value]];
}
// 播放 chart2.setOption(option2);
function play() { }
if (isPlaying.value) return;
isPlaying.value = true;
intervalId = setInterval(() => {
currentIndex.value = (currentIndex.value + 1) % events.length;
myChart.setOption({
series: [{ data: getCurrentData() }]
});
}, 1000 / speed.value);
}
// 暂停
function pause() {
if (!isPlaying.value) return;
isPlaying.value = false;
clearInterval(intervalId);
intervalId = null;
}
// 监听速度变化
watch(speed, () => {
if (isPlaying.value) {
pause();
play();
} }
}); };
</script> </script>
<style scoped> <style scoped>
.controls button { #map {
margin: 0 8px; width: 1600px;
padding: 6px 12px; height: 581px;
font-size: 14px; }
.time-btn {
color: #04295A;
background-color: #F9FDFE;
border: 1px solid #04295A;
padding: 0 10px;
margin: 0 10px;
} }
</style> </style>
\ No newline at end of file
...@@ -132,17 +132,16 @@ ...@@ -132,17 +132,16 @@
</div> </div>
<!-- <div class="box3-header-title">{{ "人物动向" }}</div> --> <!-- <div class="box3-header-title">{{ "人物动向" }}</div> -->
<div class="header-title" <div class="header-title"
style="width: 1560px;display: flex;justify-content: space-between;margin-top: 10px;"> style="width: 1560px; display: flex; justify-content: space-between; margin-top: 10px">
<div class="box3-header-title"> <div class="box3-header-title">
{{ "人物动向" }} {{ "人物动向" }}
</div> </div>
<div style="display: flex;gap: 8px;margin-right: 12px;"> <div style="display: flex; gap: 8px; margin-right: 12px">
<div v-for="value in peoDateList" <div v-for="value in peoDateList"
:class="peoDate !== value ? 'btn-box-samll' : 'btn-box-select-samll'"> :class="peoDate !== value ? 'btn-box-samll' : 'btn-box-select-samll'">
{{ value }} {{ value }}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
...@@ -156,17 +155,16 @@ ...@@ -156,17 +155,16 @@
<img src="./assets/images/header-message.png" alt="" /> <img src="./assets/images/header-message.png" alt="" />
</div> </div>
<div class="header-title" <div class="header-title"
style="width: 1595px;display: flex;justify-content: space-between;margin-top: 10px;"> style="width: 1595px; display: flex; justify-content: space-between; margin-top: 10px">
<div> <div>
{{ "重要人物言论及立场" }} {{ "重要人物言论及立场" }}
</div> </div>
<div style="display: flex;gap: 8px;margin-right: 12px;"> <div style="display: flex; gap: 8px; margin-right: 12px">
<div v-for="value in fields" <div v-for="value in fields"
:class="fieldSelect !== value ? 'btn-box-samll' : 'btn-box-select-samll'"> :class="fieldSelect !== value ? 'btn-box-samll' : 'btn-box-select-samll'">
{{ value }} {{ value }}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="box4-main"> <div class="box4-main">
...@@ -179,35 +177,43 @@ ...@@ -179,35 +177,43 @@
<div class="box5"> <div class="box5">
<div class="box5-header"> <div class="box5-header">
<div class="box5-header-left"> <div class="box5-header-left">
<div class="box5-header-icon" style="display: flex "> <div class="box5-header-icon">
<img src="./assets/images/box3-header-icon.png" alt="" style="/* 云端,云,云服务 1 */ <img src="./assets/images/box3-header-icon.png" alt=""
width: 22px; style="margin: 13px 21px 13px 21px; height: 22px" />
height: 22px;" />
<div class="box5-header-title">{{ "科技人物观点词云" }}</div> <div class="box5-header-title">{{ "科技人物观点词云" }}</div>
</div> </div>
<div> <div>
<div style="display: flex"> <div style="height: 45px; display: flex; align-items: center">
<el-select v-model="wordCloudvalue" class="select"> <el-select v-model="wordCloudvalue" style="width: 120px; height: 28px">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in yearList" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
<el-select v-model="wordCloudfield" class="select"> <el-select v-model="wordCloudfield" style="width: 120px; height: 28px; margin: 10px 24px 10px 5px">
<el-option v-for="item in fieldSelect" :key="item.value" :label="item.label" <el-option v-for="item in fieldSelect" :key="item.value" :label="item.label"
:value="item.value" /> :value="item.value" />
</el-select> </el-select>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="box5-main" id="box5Chart"></div> <div class="box5-main" id="box5Chart"></div>
</div> </div>
<div class="box6"> <div class="box6">
<div class="box6-header"> <div class="box6-header" style="width: 790px">
<div class="header-icon"> <div class="header-icon">
<img src="./assets/images/box6-header-icon.png" alt="" /> <img src="./assets/images/box6-header-icon.png" alt="" />
</div> </div>
<div class="header-title">{{ "科技人物观点涉及领域变化趋势" }}</div> <div class="header-title"
style="display: flex; width: 740px; justify-content: space-between; align-items: center">
<div>
{{ "科技人物观点涉及领域变化趋势" }}
</div>
<el-select v-model="areaSelect" style="width: 120px; height: 28px">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
</div> </div>
<div class="box6-main" id="box6Chart"></div> <div class="box6-main" id="box6Chart"></div>
</div> </div>
...@@ -230,7 +236,19 @@ height: 22px;" /> ...@@ -230,7 +236,19 @@ height: 22px;" />
<div class="box8-header-icon"> <div class="box8-header-icon">
<img src="./assets/images/box6-header-icon.png" alt="" /> <img src="./assets/images/box6-header-icon.png" alt="" />
</div> </div>
<div class="box8-header-title">{{ "主要人物涉华观点统计" }}</div> <div style="display: flex; width: 730px; justify-content: space-between; align-items: center">
<div class="box8-header-title">{{ "主要人物涉华观点统计" }}</div>
<div style="gap: 8px;display: flex;">
<div v-for="value in viewOption"
:class="viewSelect !== value ? 'btn-box-samll' : 'btn-box-select-samll'">
{{ value }}
</div>
<el-select v-model="wordCloudvalue" style="width: 120px; height: 28px; margin-top: -5px;">
<el-option v-for="item in yearList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
</div>
</div> </div>
</div> </div>
<div class="box8-main"> <div class="box8-main">
...@@ -268,14 +286,14 @@ import setChart from "@/utils/setChart"; ...@@ -268,14 +286,14 @@ import setChart from "@/utils/setChart";
// 图表工具函数(仅保留用到的) // 图表工具函数(仅保留用到的)
import getWordCloudChart from "./utils/worldCloudChart"; import getWordCloudChart from "./utils/worldCloudChart";
import getMultiLineChart from "./utils/multiLineChart"; import getMultiLineChart from "./utils/multiLineChart";
import getDonutChart from './utils/donutChart.js'; import getDonutChart from "./utils/donutChart.js";
// 组件 // 组件
import TimelineMap from "./component/TimelineMap.vue"; import TimelineMap from "./component/TimelineMap.vue";
import PersonNewsCard from './component/PersonNewsCard.vue'; import PersonNewsCard from "./component/PersonNewsCard.vue";
import SpeechStance from "./component/speechStance.vue"; import SpeechStance from "./component/speechStance.vue";
import PersonTable from './component/PersonTable.vue'; import PersonTable from "./component/PersonTable.vue";
import SourceLibrary from './component/SourceLibrary.vue'; import SourceLibrary from "./component/SourceLibrary.vue";
const router = useRouter(); const router = useRouter();
...@@ -288,7 +306,7 @@ const handleBackHome = () => { ...@@ -288,7 +306,7 @@ const handleBackHome = () => {
}; };
// 查看详情 // 查看详情
const handleClickToDetail = (id) => { const handleClickToDetail = id => {
const route = router.resolve({ const route = router.resolve({
path: "/marketAccessLayout", path: "/marketAccessLayout",
query: { id } query: { id }
...@@ -306,22 +324,29 @@ const warningList = ref([ ...@@ -306,22 +324,29 @@ const warningList = ref([
]); ]);
//人物动向 //人物动向
const peoDate = ref('今天') const peoDate = ref("今天");
const peoDateList = [ const peoDateList = ["今天", "昨天", "近三天", "本周", "本月"];
"今天",
"昨天",
"近三天",
"本周",
"本月"
]
//重要人物言论及立场选择按钮 //重要人物言论及立场选择按钮
const fieldSelect = ref('全部领域') const fieldSelect = ref("全部领域");
const fields = ["全部领域", "集成电路", "能源", "生物科技", "量子科技", "人工智能", "通信网络", "航空航天", "海洋", "新材料", "先进制造"]; const fields = [
"全部领域",
"集成电路",
"能源",
"生物科技",
"量子科技",
"人工智能",
"通信网络",
"航空航天",
"海洋",
"新材料",
"先进制造"
];
const yearList = ref(["2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"]);
// 资源库分类 // 资源库分类
const categoryList = ref(["全部人物", "国会议员", "行政主官", "科技领袖", "顶尖科学家"]); const categoryList = ref(["全部人物", "国会议员", "行政主官", "科技领袖", "顶尖科学家"]);
const activeCate = ref("全部人物"); const activeCate = ref("全部人物");
const handleClickCate = (cate) => { const handleClickCate = cate => {
activeCate.value = cate; activeCate.value = cate;
}; };
...@@ -335,30 +360,31 @@ const handleToMoreRiskSignal = () => { ...@@ -335,30 +360,31 @@ const handleToMoreRiskSignal = () => {
// 词云数据 // 词云数据
const wordCloudData = ref([ const wordCloudData = ref([
{ "name": "人工智能 (AI)", "value": 100 }, { name: "人工智能 (AI)", value: 100 },
{ "name": "进行可再生能源税收减免", "value": 85 }, { name: "进行可再生能源税收减免", value: 85 },
{ "name": "减少燃料对外依赖", "value": 80 }, { name: "减少燃料对外依赖", value: 80 },
{ "name": "评估中美现代化技术", "value": 75 }, { name: "评估中美现代化技术", value: 75 },
{ "name": "应对中国制造2025战略", "value": 70 }, { name: "应对中国制造2025战略", value: 70 },
{ "name": "加强供应链风险管理", "value": 68 }, { name: "加强供应链风险管理", value: 68 },
{ "name": "补贴和税收抵免", "value": 65 }, { name: "补贴和税收抵免", value: 65 },
{ "name": "评估中美能源技术", "value": 60 }, { name: "评估中美能源技术", value: 60 },
{ "name": "实施能源税收延期", "value": 58 }, { name: "实施能源税收延期", value: 58 },
{ "name": "投资基础设施", "value": 55 }, { name: "投资基础设施", value: 55 },
{ "name": "禁止资助中国能源项目", "value": 53 }, { name: "禁止资助中国能源项目", value: 53 },
{ "name": "限制采购中国产电池", "value": 50 }, { name: "限制采购中国产电池", value: 50 },
{ "name": "加强美国在核能领域得到领导力", "value": 48 }, { name: "加强美国在核能领域得到领导力", value: 48 },
{ "name": "技术出口限制", "value": 45 }, { name: "技术出口限制", value: 45 },
{ "name": "出口管制与投资审查", "value": 42 }, { name: "出口管制与投资审查", value: 42 },
{ "name": "供应链调整", "value": 40 }, { name: "供应链调整", value: 40 },
{ "name": "左岸外包", "value": 38 }, { name: "左岸外包", value: 38 },
{ "name": "空域主权与安全", "value": 36 }, { name: "空域主权与安全", value: 36 },
{ "name": "抵制外国人才争夺", "value": 34 }, { name: "抵制外国人才争夺", value: 34 },
{ "name": "无人机先进空中交通", "value": 32 }, { name: "无人机先进空中交通", value: 32 },
{ "name": "能源与基础设施", "value": 30 } { name: "能源与基础设施", value: 30 }
]); ]);
const wordCloudfield = ref('全部领域') const wordCloudfield = ref("全部领域");
const wordCloudvalue = ref("近十年"); const wordCloudvalue = ref("2025");
const areaSelect = ref("近十年");
const options = [ const options = [
{ {
value: "近十年", value: "近十年",
...@@ -382,9 +408,11 @@ const box6Chart = ref({ ...@@ -382,9 +408,11 @@ const box6Chart = ref({
] ]
}); });
const viewOption = ref(["行政主管", "国会议员", "科技领袖", "顶尖科学家"]);
const viewSelect = ref("行政主管");
// 科技人物类型 // 科技人物类型
const chart7Data = ref({ const chart7Data = ref({
name: ['国会议员', '行政主官', '科技领袖', '顶尖科学家', '其他'], name: ["国会议员", "行政主官", "科技领袖", "顶尖科学家", "其他"],
value: [482, 41, 83, 201, 25] value: [482, 41, 83, 201, 25]
}); });
...@@ -394,10 +422,7 @@ onMounted(() => { ...@@ -394,10 +422,7 @@ onMounted(() => {
setChart(wordCloudChart, "box5Chart"); setChart(wordCloudChart, "box5Chart");
// 领域趋势 // 领域趋势
const chart6 = getMultiLineChart( const chart6 = getMultiLineChart(box6Chart.value.title, ...box6Chart.value.data.map(d => d.value));
box6Chart.value.title,
...box6Chart.value.data.map(d => d.value)
);
setChart(chart6, "box6Chart"); setChart(chart6, "box6Chart");
// 人物类型 // 人物类型
...@@ -906,7 +931,7 @@ onMounted(() => { ...@@ -906,7 +931,7 @@ onMounted(() => {
} }
.box3-main { .box3-main {
height: 402px; height: 590px;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
padding-top: 6px; padding-top: 6px;
...@@ -980,19 +1005,22 @@ onMounted(() => { ...@@ -980,19 +1005,22 @@ onMounted(() => {
background: rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 1);
.box5-header { .box5-header {
height: 53px; width: 792px;
height: 48px;
border-bottom: 1px solid rgba(240, 242, 244, 1); border-bottom: 1px solid rgba(240, 242, 244, 1);
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 0 20px;
position: relative; position: relative;
.box5-header-left { .box5-header-left {
display: flex; display: flex;
width: 792px;
justify-content: space-between;
.box5-header-icon { .box5-header-icon {
padding: 13px 21px 13px 21px; display: flex;
} }
.box5-header-title { .box5-header-title {
...@@ -1142,7 +1170,7 @@ onMounted(() => { ...@@ -1142,7 +1170,7 @@ onMounted(() => {
display: flex; display: flex;
.box8-header-icon { .box8-header-icon {
margin-top: 15px; margin-top: 18px;
margin-left: 2px; margin-left: 2px;
width: 19px; width: 19px;
height: 19px; height: 19px;
...@@ -1154,8 +1182,7 @@ onMounted(() => { ...@@ -1154,8 +1182,7 @@ onMounted(() => {
} }
.box8-header-title { .box8-header-title {
margin-top: 12px; margin-left: 20px;
margin-left: 19px;
height: 26px; height: 26px;
color: rgba(20, 89, 187, 1); color: rgba(20, 89, 187, 1);
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
...@@ -1249,8 +1276,17 @@ onMounted(() => { ...@@ -1249,8 +1276,17 @@ onMounted(() => {
box-shadow: none !important; box-shadow: none !important;
} }
.btn-box-samll { :deep(.el-select__placeholder) {
color: rgba(59, 65, 75, 1);
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: 400;
line-height: 22px;
letter-spacing: 0px;
}
.btn-box-samll {
height: 28px; height: 28px;
/* 自动布局 */ /* 自动布局 */
display: flex; display: flex;
...@@ -1265,12 +1301,11 @@ onMounted(() => { ...@@ -1265,12 +1301,11 @@ onMounted(() => {
border-radius: 4px; border-radius: 4px;
background: rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 1);
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-size: 16px; font-size: 14px;
font-weight: 400; font-weight: 400;
line-height: 30px; line-height: 30px;
letter-spacing: 0px; letter-spacing: 0px;
text-align: left; text-align: left;
} }
.btn-box-select-samll { .btn-box-select-samll {
...@@ -1294,4 +1329,4 @@ onMounted(() => { ...@@ -1294,4 +1329,4 @@ onMounted(() => {
letter-spacing: 0px; letter-spacing: 0px;
text-align: left; text-align: left;
} }
</style> </style>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论