diff --git a/src/main.js b/src/main.js
index 923be63..d4fab0a 100644
--- a/src/main.js
+++ b/src/main.js
@@ -9,16 +9,9 @@ import "./assets/css/common.css";
import zhCn from "element-plus/dist/locale/zh-cn.mjs";
// 引入 vConsole
-import VConsole from "vconsole";
+// import VConsole from "vconsole";
// 初始化 vConsole
-const vConsole = new VConsole();
-// const vConsole = new VConsole({
-// defaultPlugins: {
-// // 是否默认开启 console 插件
-// 'console': true,
-// // 其他插件配置...
-// }
-// });
+// const vConsole = new VConsole();
createApp(App)
.use(router)
diff --git a/src/router/index.js b/src/router/index.js
index 688d223..2e8582c 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -17,27 +17,44 @@ const router = createRouter({
component: () => import("../view/guide.vue"),
},
{
- name: "无权限",
- path: "/error/noPermission",
- component: () => import("../view/error/noPermission.vue"),
+ name: "401",
+ path: "/error/401",
+ component: () => import("../view/error/401.vue"),
},
{
name: "403",
path: "/error/403",
component: () => import("../view/error/403.vue"),
- // meta: { page_id: 6, page_name: "403" },
},
{
name: "404",
path: "/error/404",
component: () => import("../view/error/404.vue"),
- // meta: { page_id: 7, page_name: "404" },
},
{
name: "500",
path: "/error/500",
component: () => import("../view/error/500.vue"),
- // meta: { page_id: 8, page_name: "500" },
+ },
+ {
+ name: "无网络",
+ path: "/error/noNetwork",
+ component: () => import("../view/error/noNetwork.vue"),
+ },
+ {
+ name: "建设中",
+ path: "/error/emptyPage",
+ component: () => import("../view/error/emptyPage.vue"),
+ },
+ {
+ name: "查询为空",
+ path: "/error/noResults",
+ component: () => import("../view/error/noResults.vue"),
+ },
+ {
+ name: "通用空页面",
+ path: "/error/noConstruction",
+ component: () => import("../view/error/noConstruction.vue"),
},
{
path: "/home",
@@ -100,10 +117,10 @@ const router = createRouter({
// },
],
},
+
],
});
-
router.beforeEach((to, form, next) => {
// var token = getCookie('lytoken')
// // console.log('token', token)
diff --git a/src/utils/request.js b/src/utils/request.js
index 25e537f..8de087d 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -30,7 +30,6 @@ axios.interceptors.response.use(
if (error.response) {
if (error.response.status == 401) {
ElMessage.error("请重新登录!");
-
const cookies = document.cookie.split(";");
for (let i = 0; i < cookies.length; i++) {
const cookie = cookies[i];
@@ -44,12 +43,12 @@ axios.interceptors.response.use(
} else if (error.response.status == 403) {
ElMessage.error("Status:403,资源不可用!");
router.replace({
- path: "/403",
+ path: "/error/403",
});
} else if (error.response.status == 404) {
ElMessage.error("Status:404,正在请求不存在的服务器记录!");
router.replace({
- path: "/404",
+ path: "/error/404",
});
} else if (error.response.status == 500) {
ElMessage.error({
@@ -57,7 +56,7 @@ axios.interceptors.response.use(
message: "Status:500,服务器发生错误!",
});
router.replace({
- path: "/500",
+ path: "/error/500",
});
} else {
ElMessage.error(`Status:${error.response.status},未知错误!`);
diff --git a/src/view/echart_analyze/pie3dMt1.vue b/src/view/echart_analyze/pie3dMt1.vue
index b2ab91f..908ff8b 100644
--- a/src/view/echart_analyze/pie3dMt1.vue
+++ b/src/view/echart_analyze/pie3dMt1.vue
@@ -1,19 +1,11 @@
-
+
+
+
diff --git a/src/view/echarts_yl/pie3d.vue b/src/view/echarts_yl/pie3d.vue
index a039678..0fec1c7 100644
--- a/src/view/echarts_yl/pie3d.vue
+++ b/src/view/echarts_yl/pie3d.vue
@@ -28,28 +28,29 @@ const chart = ref(); // 创建DOM引用
const data = reactive({
list: [],
- // pieData: [
- // {
- // name: "61-70岁", //名称
- // value: "", //值
- // },
- // {
- // name: "71-80岁",
- // value: "",
- // },
- // {
- // name: "81-90岁",
- // value: "",
- // },
- // {
- // name: "91-100岁",
- // value: "",
- // },
- // {
- // name: "100岁以上",
- // value: "",
- // },
- // ],
+ legendData: [],
+ pieData: [
+ {
+ name: "61-70岁", //名称
+ value: "", //值
+ },
+ {
+ name: "71-80岁",
+ value: "",
+ },
+ {
+ name: "81-90岁",
+ value: "",
+ },
+ {
+ name: "91-100岁",
+ value: "",
+ },
+ {
+ name: "100岁以上",
+ value: "",
+ },
+ ],
option: {},
});
@@ -89,466 +90,120 @@ const pieData = reactive([
},
]);
-// const serData = pieData.map((dItem, index) => {
-// return {
-// ...dItem,
-// value: Number(dItem.value),
-// itemStyle: {
-// color: colorList[index],
-// },
-// };
-// });
-
-//设置图表配置项
-// const option = getPie3D(serData, 0.8);
-
const getOption = () => {
- const serData = pieData.map((dItem, index) => {
- return {
- ...dItem,
- value: Number(dItem.value),
- itemStyle: {
- color: colorList[index],
- },
- };
- });
- data.option = getPie3D(serData, 0.8);
-};
-
-// 生成模拟 3D 饼图的配置项
-function getPie3D(pieData, internalDiameterRatio) {
- let series = [];
- let sumValue = 0;
- let startValue = 0;
- let endValue = 0;
- let legendData = [];
- let k =
- typeof internalDiameterRatio !== "undefined"
- ? (1 - internalDiameterRatio) / (1 + internalDiameterRatio)
- : 1 / 3;
-
- // 为每一个饼图数据,生成一个 series-surface 配置
- for (let i = 0; i < pieData.length; i++) {
- sumValue += pieData[i].value;
-
- let seriesItem = {
- name:
- typeof pieData[i].name === "undefined" ? `series${i}` : pieData[i].name,
- type: "surface",
- parametric: true,
- wireframe: {
- show: false,
- },
- pieData: pieData[i],
- pieStatus: {
- selected: false,
- hovered: false,
- k: 1 / 10,
- },
- };
-
- if (typeof pieData[i].itemStyle != "undefined") {
- let itemStyle = {};
-
- typeof pieData[i].itemStyle.color != "undefined"
- ? (itemStyle.color = pieData[i].itemStyle.color)
- : null;
- typeof pieData[i].itemStyle.opacity != "undefined"
- ? (itemStyle.opacity = pieData[i].itemStyle.opacity)
- : null;
-
- seriesItem.itemStyle = itemStyle;
- }
- series.push(seriesItem);
- }
-
- // 使用上一次遍历时,计算出的数据和 sumValue,调用 getParametricEquation 函数,
- // 向每个 series-surface 传入不同的参数方程 series-surface.parametricEquation,也就是实现每一个扇形。
- for (let i = 0; i < series.length; i++) {
- endValue = startValue + series[i].pieData.value;
-
- series[i].pieData.startRatio = startValue / sumValue;
- series[i].pieData.endRatio = endValue / sumValue;
- series[i].parametricEquation = getParametricEquation(
- series[i].pieData.startRatio,
- series[i].pieData.endRatio,
- false,
- false,
- k,
- series[i].pieData.value
- );
-
- startValue = endValue;
-
- legendData.push(series[i].name);
- }
-
- // // 补充一个透明的圆环,用于支撑高亮功能的近似实现。
- // series.push({
- // name: 'mouseoutSeries',
- // type: 'surface',
- // parametric: true,
- // wireframe: {
- // show: false,
- // },
- // width: '30px',
- // itemStyle: {
- // opacity: 0.7,
- // color: '#fff',
- // },
- // parametricEquation: {
- // u: {
- // min: 0,
- // max: Math.PI * 2,
- // step: Math.PI / 20,
- // },
- // v: {
- // min: 0,
- // max: Math.PI ,
- // step: Math.PI / 20,
- // },
- // x: function (u, v) {
- // return ((Math.sin(v) * Math.sin(u) + Math.sin(u)) / Math.PI);
- // },
- // y: function (u, v) {
- // return ((Math.sin(v) * Math.cos(u) + Math.cos(u)) / Math.PI) ;
- // },
- // z: function (u, v) {
- // return Math.cos(v) > 0 ? -6 : -7;
- // },
- // },
- // });
-
- // 准备待返回的配置项,把准备好的 legendData、series 传入。
- let option = {
- //animation: false,
- //图例组件
- // legend: {
- // data: legendData,
- // color: [
- // "#8FD7FC",
- // "#466BE7",
- // "#F4BB29",
- // "#49C384",
- // "#8FD7FC",
- // "#466BE7",
- // "#F4BB29",
- // "#49C384",
- // ],
- // width: "40%",
- // //图例列表的布局朝向。
- // orient: "vertical",
- // right: 20,
- // top: "center",
- // //图例文字每项之间的间隔
- // itemGap: 10,
- // show: true,
- // icon: "rect",
- // itemHeight: 10,
- // itemWidth: 25,
- // textStyle: {
- // //图例字体大小
- // fontSize: 16,
- // color: "#FFFFFF",
- // lineHeight: 20,
- // },
-
- // //格式化图例文本
- // formatter: function (name) {
- // var target;
- // for (var i = 0, l = pieData.length; i < l; i++) {
- // if (pieData[i].name == name) {
- // target = pieData[i].value;
- // }
- // }
- // if (name == "91-100岁") {
- // return ` ${name} ${target} ${target} ${target} `;
- // } else if (name == "100岁以上") {
- // return ` ${name} ${target} ${target} ${target} `;
- // } else {
- // return ` ${name} ${target} ${target} ${target} `;
- // }
- // },
- // },
- //移动上去提示的文本内容
+ data.option = {
+ color: colorList,
tooltip: {
- backgroundColor: "rgba(18, 55, 85, 0.8);",
- borderColor: "transparent",
+ show: true,
+ trigger: "item",
+ textStyle: {
+ color: "#fff",
+ },
+ backgroundColor: "rgba(16, 32, 40, 0.88)",
+ borderRadius: 4,
+ borderColor: "#20749e",
formatter: (params) => {
- if (
- params.seriesName !== "mouseoutSeries" &&
- params.seriesName !== "pie2d"
- ) {
- let bfb = (
- (option.series[params.seriesIndex].pieData.endRatio -
- option.series[params.seriesIndex].pieData.startRatio) *
- 100
- ).toFixed(2);
- const value = option.series[params.seriesIndex].pieData.value;
- return (
- `
` +
- `` +
- `${params.seriesName}
` +
- `${value}人` +
- `${bfb}%` +
- `
`
- );
- }
+ // return params.marker + params.name + ': ' + params.value
+ return `${params.name}:${params.percent}%`;
},
},
- xAxis3D: {},
- yAxis3D: {},
- zAxis3D: {},
- grid3D: {
- viewControl: {
- autoRotate: true,
- rotateSensitivity: 0, //设置为0无法旋转
- zoomSensitivity: 0, //设置为0无法缩放
- panSensitivity: 0, //设置为0无法平移
- alpha: 25, //角度(这个很重要 调节角度的)
- distance: 120, //调整视角到主体的距离,类似调整zoom(这是整体大小)
- },
- top: "-30",
- left: "0",
- width: "100%",
+ toolbox: {
show: false,
- boxHeight: 20,
},
- series: series,
+ series: [
+ {
+ name: "",
+ type: "pie",
+ radius: ["50%", "65%"],
+ // radius: '70%',
+ center: ["50%", "50%"],
+ emphasis: {
+ scale: true, //鼠标移入变大
+ },
+ label: {
+ show: false,
+ // formatter: ['{c|{d}%}', '{b|{b}}'].join('\n'),
+ formatter: (params) => {
+ if (params.name !== "") {
+ return [`{c|${params.percent}%}`, `{b|${params.name}}`].join(
+ "\n"
+ );
+ }
+ },
+ },
+
+ data: data1,
+ },
+ // {
+ // name: "外边框",
+ // type: "pie",
+ // clockwise: false, //顺时加载
+ // emphasis: {
+ // scale: false, //鼠标移入变大
+ // },
+ // center: ["50%", "50%"],
+ // radius: ["88%", "88%"],
+ // label: {
+ // show: false,
+ // },
+ // data: [
+ // {
+ // value: 0,
+ // name: "",
+ // itemStyle: {
+ // borderWidth: 1,
+ // borderColor: "rgba(181,221,216,.38)",
+ // },
+ // },
+ // ],
+ // },
+ ],
};
- return option;
-}
-
-// 生成扇形的曲面参数方程,用于 series-surface.parametricEquation
-function getParametricEquation(
- startRatio,
- endRatio,
- isSelected,
- isHovered,
- k,
- h
-) {
- // 计算
- let midRatio = (startRatio + endRatio) / 2;
- let startRadian = startRatio * Math.PI * 2;
- let endRadian = endRatio * Math.PI * 2;
- let midRadian = midRatio * Math.PI * 2;
- // 如果只有一个扇形,则不实现选中效果。
- if (startRatio === 0 && endRatio === 1) {
- isSelected = false;
- }
- // 通过扇形内径/外径的值,换算出辅助参数 k(默认值 1/3)
- k = typeof k !== "undefined" ? k : 1 / 3;
- // 计算选中效果分别在 x 轴、y 轴方向上的位移(未选中,则位移均为 0)
- let offsetX = isSelected ? Math.cos(midRadian) * 0.1 : 0;
- let offsetY = isSelected ? Math.sin(midRadian) * 0.1 : 0;
- // 计算高亮效果的放大比例(未高亮,则比例为 1)
- let hoverRate = isHovered ? 1.05 : 1;
- // 返回曲面参数方程
- return {
- u: {
- min: -Math.PI,
- max: Math.PI * 3,
- step: Math.PI / 32,
- },
- v: {
- min: 0,
- max: Math.PI * 2,
- step: Math.PI / 20,
- },
- x: function (u, v) {
- if (u < startRadian) {
- return (
- offsetX + Math.cos(startRadian) * (1 + Math.cos(v) * k) * hoverRate
- );
- }
- if (u > endRadian) {
- return (
- offsetX + Math.cos(endRadian) * (1 + Math.cos(v) * k) * hoverRate
- );
- }
- return offsetX + Math.cos(u) * (1 + Math.cos(v) * k) * hoverRate;
- },
- y: function (u, v) {
- if (u < startRadian) {
- return (
- offsetY + Math.sin(startRadian) * (1 + Math.cos(v) * k) * hoverRate
- );
- }
- if (u > endRadian) {
- return (
- offsetY + Math.sin(endRadian) * (1 + Math.cos(v) * k) * hoverRate
- );
- }
- return offsetY + Math.sin(u) * (1 + Math.cos(v) * k) * hoverRate;
- },
- z: function (u, v) {
- if (u < -Math.PI * 0.5) {
- return Math.sin(u);
- }
- if (u > Math.PI * 2.5) {
- return Math.sin(u) * h * 0.1;
- }
- return Math.sin(v) > 0 ? 1 * h * 0.1 : -1;
- },
- };
-}
-
-// 监听鼠标事件,实现饼图选中效果(单选),近似实现高亮(放大)效果。
-function bindListen(myChart) {
- let selectedIndex = "";
- let hoveredIndex = "";
- // 监听点击事件,实现选中效果(单选)
- myChart.on("click", function (params) {
- // 从 option.series 中读取重新渲染扇形所需的参数,将是否选中取反。
- let isSelected = !option.series[params.seriesIndex].pieStatus.selected;
- let isHovered = option.series[params.seriesIndex].pieStatus.hovered;
- let k = option.series[params.seriesIndex].pieStatus.k;
- let startRatio = option.series[params.seriesIndex].pieData.startRatio;
- let endRatio = option.series[params.seriesIndex].pieData.endRatio;
- // 如果之前选中过其他扇形,将其取消选中(对 option 更新)
- if (selectedIndex !== "" && selectedIndex !== params.seriesIndex) {
- option.series[selectedIndex].parametricEquation = getParametricEquation(
- option.series[selectedIndex].pieData.startRatio,
- option.series[selectedIndex].pieData.endRatio,
- false,
- false,
- k,
- option.series[selectedIndex].pieData.value
- );
- option.series[selectedIndex].pieStatus.selected = false;
- }
- // 对当前点击的扇形,执行选中/取消选中操作(对 option 更新)
- option.series[params.seriesIndex].parametricEquation =
- getParametricEquation(
- startRatio,
- endRatio,
- isSelected,
- isHovered,
- k,
- option.series[params.seriesIndex].pieData.value
- );
- option.series[params.seriesIndex].pieStatus.selected = isSelected;
- // 如果本次是选中操作,记录上次选中的扇形对应的系列号 seriesIndex
- isSelected ? (selectedIndex = params.seriesIndex) : null;
- // 使用更新后的 option,渲染图表
- myChart.setOption(option);
+};
+let data1 = [];
+const setChart1 = () => {
+ pieData.forEach((item) => {
+ item.value = Number(item.value);
});
- // 监听 mouseover,近似实现高亮(放大)效果
- myChart.on("mouseover", function (params) {
- // 准备重新渲染扇形所需的参数
- let isSelected;
- let isHovered;
- let startRatio;
- let endRatio;
- let k;
- // 如果触发 mouseover 的扇形当前已高亮,则不做操作
- if (hoveredIndex === params.seriesIndex) {
- return;
- // 否则进行高亮及必要的取消高亮操作
- } else {
- // 如果当前有高亮的扇形,取消其高亮状态(对 option 更新)
- if (hoveredIndex !== "") {
- // 从 option.series 中读取重新渲染扇形所需的参数,将是否高亮设置为 false。
- isSelected = option.series[hoveredIndex].pieStatus.selected;
- isHovered = false;
- startRatio = option.series[hoveredIndex].pieData.startRatio;
- endRatio = option.series[hoveredIndex].pieData.endRatio;
- k = option.series[hoveredIndex].pieStatus.k;
- // 对当前点击的扇形,执行取消高亮操作(对 option 更新)
- option.series[hoveredIndex].parametricEquation = getParametricEquation(
- startRatio,
- endRatio,
- isSelected,
- isHovered,
- k,
- option.series[hoveredIndex].pieData.value
- );
- option.series[hoveredIndex].pieStatus.hovered = isHovered;
- // 将此前记录的上次选中的扇形对应的系列号 seriesIndex 清空
- hoveredIndex = "";
+ // 计算 pieData 中所有 value 的总和
+ const totalValue = pieData.reduce((acc, item) => acc + item.value, 0);
+
+
+ // 计算总和的 10%
+ const tenPercentOfTotal = totalValue * 0.02;
+ // 使用 pieData 名称作为 legend 数据
+ data.legendData = pieData.map((item) => item.name);
+
+ pieData.forEach((item, index) => {
+ data1.push(
+ {
+ value: item.value,
+ name: item.name,
+ itemStyle: {
+ borderWidth: 1, //圆弧宽度
+ shadowBlur: 2, // 圆弧阴影
+ borderColor: colorList[index],
+ shadowColor: colorList[index],
+ },
+ },
+ {
+ // 每一项中间的空格
+ silent: true,
+ name: "gap",
+ value: tenPercentOfTotal, // 动态设置为总和的 10%
+ itemStyle: {
+ label: {
+ show: false,
+ },
+ labelLine: {
+ show: false,
+ },
+ color: "transparent",
+ },
}
- // 如果触发 mouseover 的扇形不是透明圆环,将其高亮(对 option 更新)
- if (
- params.seriesName !== "mouseoutSeries" &&
- params.seriesName !== "pie2d"
- ) {
- // 从 option.series 中读取重新渲染扇形所需的参数,将是否高亮设置为 true。
- isSelected = option.series[params.seriesIndex].pieStatus.selected;
- isHovered = true;
- startRatio = option.series[params.seriesIndex].pieData.startRatio;
- endRatio = option.series[params.seriesIndex].pieData.endRatio;
- k = option.series[params.seriesIndex].pieStatus.k;
- // 对当前点击的扇形,执行高亮操作(对 option 更新)
- option.series[params.seriesIndex].parametricEquation =
- getParametricEquation(
- startRatio,
- endRatio,
- isSelected,
- isHovered,
- k,
- option.series[params.seriesIndex].pieData.value + 5
- );
- option.series[params.seriesIndex].pieStatus.hovered = isHovered;
- // 记录上次高亮的扇形对应的系列号 seriesIndex
- hoveredIndex = params.seriesIndex;
- }
-
- // 使用更新后的 option,渲染图表
- myChart.setOption(option);
- }
+ );
});
- // 修正取消高亮失败的 bug
- myChart.on("globalout", function () {
- // 准备重新渲染扇形所需的参数
- let isSelected;
- let isHovered;
- let startRatio;
- let endRatio;
- let k;
- if (hoveredIndex !== "") {
- // 从 option.series 中读取重新渲染扇形所需的参数,将是否高亮设置为 true。
- isSelected = option.series[hoveredIndex].pieStatus.selected;
- isHovered = false;
- k = option.series[hoveredIndex].pieStatus.k;
- startRatio = option.series[hoveredIndex].pieData.startRatio;
- endRatio = option.series[hoveredIndex].pieData.endRatio;
- // 对当前点击的扇形,执行取消高亮操作(对 option 更新)
- option.series[hoveredIndex].parametricEquation = getParametricEquation(
- startRatio,
- endRatio,
- isSelected,
- isHovered,
- k,
- option.series[hoveredIndex].pieData.value
- );
- option.series[hoveredIndex].pieStatus.hovered = isHovered;
- // 将此前记录的上次选中的扇形对应的系列号 seriesIndex 清空
- hoveredIndex = "";
- }
- // 使用更新后的 option,渲染图表
- myChart.setOption(option);
- });
-}
-
-// 使用生命钩子
-// onMounted(() => {
-// // 基于准备好的dom,初始化echarts实例
-// // var myChart = echarts.init(document.getElementById('main'));
-// // Vue3中: 需要引入
-// var myChart = echarts.init(chart.value);
-// //设置交互事件 鼠标移入 点击
-// // bindListen(myChart)
-// // init(); // vue3.2没有this
-// // 使用刚指定的配置项和数据显示图表。
-// myChart.setOption(option);
-
-// // 单图表响应式: 跟随浏览器大小改变
-// window.addEventListener("resize", () => {
-// myChart.resize();
-// });
-// });
-
+};
const setChart = () => {
var myChart = echarts.init(chart.value);
myChart.setOption(data.option);
@@ -567,6 +222,7 @@ onBeforeMount(() => {
pieData[3].value = data.list.nl9099;
pieData[4].value = data.list.nl100;
+ setChart1();
getOption();
setChart();
}, 600);
diff --git a/src/view/echarts_yl/pie3d1.vue b/src/view/echarts_yl/pie3d1.vue
new file mode 100644
index 0000000..a039678
--- /dev/null
+++ b/src/view/echarts_yl/pie3d1.vue
@@ -0,0 +1,576 @@
+
+
+
+
+
+
+
diff --git a/src/view/error/401.vue b/src/view/error/401.vue
index 05fc32f..a6061e3 100644
--- a/src/view/error/401.vue
+++ b/src/view/error/401.vue
@@ -1,54 +1,84 @@
-
-
-
请求未验证,请联系管理员
-
+
+
+
请求未验证,请联系管理员
+
+
+
+ 应用归属单位
+
+
+
+ 浙江省龙游县数据局
+
-
-
-
\ No newline at end of file
+}
+
diff --git a/src/view/error/403.vue b/src/view/error/403.vue
index 6282417..c3e4150 100644
--- a/src/view/error/403.vue
+++ b/src/view/error/403.vue
@@ -4,6 +4,38 @@
抱歉,您暂无当前页面的访问权限,请联系管理员
+
+
+
+ 应用归属单位
+
+
+
+ 浙江省龙游县数据局
+
+
+
+
+
+
+ 应用管理员
+
+
+
+ 王昊
+
+
+
+
+
+
+ 联系方式
+
+
+
+ 18368625409
+
+
@@ -11,7 +43,7 @@
.error_main {
width: 100%;
max-width: 500px;
- padding: 200px 30px 0;
+ padding: 30px 30px 0;
box-sizing: border-box;
display: flex;
align-items: center;
diff --git a/src/view/error/404.vue b/src/view/error/404.vue
index 74f6279..6087d9d 100644
--- a/src/view/error/404.vue
+++ b/src/view/error/404.vue
@@ -1,8 +1,39 @@
-
抱歉,访问资源不存在
-
+
抱歉,系统错误,您可以选择尝试清除缓存或联系管理员
+
+
+
+ 应用归属单位
+
+
+
+ 浙江省龙游县数据局
+
+
+
+
+
+
+ 应用管理员
+
+
+
+ 王昊
+
+
+
+
+
+
+ 联系方式
+
+
+
+ 18368625409
+
+
@@ -10,7 +41,7 @@
.error_main {
width: 100%;
max-width: 500px;
- padding: 200px 30px 0;
+ padding: 30px 30px 0;
box-sizing: border-box;
display: flex;
align-items: center;
diff --git a/src/view/error/500.vue b/src/view/error/500.vue
index 9d7bd7a..1f908c9 100644
--- a/src/view/error/500.vue
+++ b/src/view/error/500.vue
@@ -1,56 +1,86 @@
-
-
-
- 抱歉,系统错误,您可以选择尝试清除缓存或联系管理员
-
-
+
+
+
+ 抱歉,系统错误,您可以选择尝试清除缓存或联系管理员
-
-
-
\ No newline at end of file
+}
+
diff --git a/src/view/error/emptyPage.vue b/src/view/error/emptyPage.vue
new file mode 100644
index 0000000..736c059
--- /dev/null
+++ b/src/view/error/emptyPage.vue
@@ -0,0 +1,68 @@
+
+
+
+
正在建设中,敬请期待
+
+
+
+ 应用归属单位
+
+
+
+ 浙江省龙游县数据局
+
+
+
+
+
+
+ 应用管理员
+
+
+
+ 王昊
+
+
+
+
+
+
+ 联系方式
+
+
+
+ 18368625409
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/view/error/noConstruction.vue b/src/view/error/noConstruction.vue
new file mode 100644
index 0000000..5331f44
--- /dev/null
+++ b/src/view/error/noConstruction.vue
@@ -0,0 +1,68 @@
+
+
+
+
暂无相关内容,请退回上一页
+
+
+
+ 应用归属单位
+
+
+
+ 浙江省龙游县数据局
+
+
+
+
+
+
+ 应用管理员
+
+
+
+ 王昊
+
+
+
+
+
+
+ 联系方式
+
+
+
+ 18368625409
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/view/error/noNetwork.vue b/src/view/error/noNetwork.vue
new file mode 100644
index 0000000..231a2a6
--- /dev/null
+++ b/src/view/error/noNetwork.vue
@@ -0,0 +1,68 @@
+
+
+
+
网络错误,请检查网络连接是否正常
+
+
+
+ 应用归属单位
+
+
+
+ 浙江省龙游县数据局
+
+
+
+
+
+
+ 应用管理员
+
+
+
+ 王昊
+
+
+
+
+
+
+ 联系方式
+
+
+
+ 18368625409
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/view/error/noPermission.vue b/src/view/error/noPermission.vue
deleted file mode 100644
index 5e7d389..0000000
--- a/src/view/error/noPermission.vue
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
账号没权限,请联系管理员
-
-
-
-
-
\ No newline at end of file
diff --git a/src/view/error/noResults.vue b/src/view/error/noResults.vue
new file mode 100644
index 0000000..2df8f84
--- /dev/null
+++ b/src/view/error/noResults.vue
@@ -0,0 +1,68 @@
+
+
+
+
暂无相关搜索结果,请更换关键字搜索
+
+
+
+ 应用归属单位
+
+
+
+ 浙江省龙游县数据局
+
+
+
+
+
+
+ 应用管理员
+
+
+
+ 王昊
+
+
+
+
+
+
+ 联系方式
+
+
+
+ 18368625409
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/view/guide.vue b/src/view/guide.vue
index eaab711..737c51e 100644
--- a/src/view/guide.vue
+++ b/src/view/guide.vue
@@ -152,7 +152,7 @@ const login = () => {
} else {
// 跳转未绑定页面
router.push({
- path: `/error/noPermission`,
+ path: `/error/403`,
});
}
});
@@ -160,11 +160,9 @@ const login = () => {
})
.catch((err) => {
console.log(err);
- var token = getCookie("lytoken");
- // var token = "6b0e380b4a8f46baae4923f83faf670d";
- // router.push({
- // path: `/error/404`,
- // });
+ // var token = getCookie("lytoken");
+ var token = "6b0e380b4a8f46baae4923f83faf670d";
+
// console.log('token', token)
if (!token) {
window.location.href =
diff --git a/src/view/sy_map.vue b/src/view/sy_map.vue
index 0b7aaa9..9a5ef2d 100644
--- a/src/view/sy_map.vue
+++ b/src/view/sy_map.vue
@@ -4344,7 +4344,27 @@ const reset_font2 = () => {
document.querySelector(".detail").style.transform =
"scale(" + width / 1920 + "," + height / 1080 + ")";
};
+
onMounted(async () => {
+ // 检查浏览器是否支持 WebGL
+ function isWebGLAvailable() {
+ try {
+ var canvas = document.createElement("canvas");
+ return (
+ !!window.WebGLRenderingContext &&
+ (canvas.getContext("webgl") || canvas.getContext("experimental-webgl"))
+ );
+ } catch (e) {
+ return false;
+ }
+ }
+
+ if (!isWebGLAvailable()) {
+ console.log("您的浏览器不支持WebGL。");
+ } else {
+ console.log("您的浏览器支持WebGL。");
+ }
+
loadingss.value = true;
reset_font();
await getXzsj();
@@ -5198,4 +5218,4 @@ onMounted(async () => {
background: rgba(255, 255, 255, 0.14);
border: 1px solid #6bade1;
}
-
\ No newline at end of file
+
diff --git a/src/view/table_gk/gk_yl.vue b/src/view/table_gk/gk_yl.vue
index 5045262..f1bd9d1 100644
--- a/src/view/table_gk/gk_yl.vue
+++ b/src/view/table_gk/gk_yl.vue
@@ -162,7 +162,7 @@
-
+
{{ data.oldAgeTotal }}
{{ data.oldAgePercent }}%
diff --git a/src/view/yl.vue b/src/view/yl.vue
index 665c8cc..bd5c555 100644
--- a/src/view/yl.vue
+++ b/src/view/yl.vue
@@ -83,7 +83,7 @@
-
+
{{ data.oldAgeTotal }}
{{ data.oldAgePercent }}%