出现这个错误,H5能运行,APP编译出现:Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds.增加了 vite.config.js 未解决。
添加了实时数据采集展示页面,工业库实时访问的连接错误未解决。
This commit is contained in:
parent
036b2ecb05
commit
cff5f27692
@ -18,8 +18,6 @@ export function queryJinriTrqShengchansj(params) { // 获取当前日期、今
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export function queryYearShengchansj(params) { // 获取今年以来天然气的生产数据
|
export function queryYearShengchansj(params) { // 获取今年以来天然气的生产数据
|
||||||
return https({
|
return https({
|
||||||
url: '/scdt.CxcScdtChart/cxcScdtChart/getYearStatis',
|
url: '/scdt.CxcScdtChart/cxcScdtChart/getYearStatis',
|
||||||
@ -34,4 +32,22 @@ export function queryJinriYuanyouShengchansj(params) { // 获取今日原油 污
|
|||||||
method: 'get',
|
method: 'get',
|
||||||
data: params
|
data: params
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 实时数据API
|
||||||
|
|
||||||
|
export function queryJldZcList(params) { // 获取计量点站场列表
|
||||||
|
return https({
|
||||||
|
url: '/sys/sysDepart/queryDepartsByzdjl',
|
||||||
|
method: 'get',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function queryJldDataByZc(params) { // 获取站场计量点实时数据
|
||||||
|
return https({
|
||||||
|
url: 'http://10.75.166.6:9999/Gyk/sssj/GetJlByZc',
|
||||||
|
method: 'get',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
}
|
}
|
1316
package-lock.json
generated
1316
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
21
package.json
21
package.json
@ -1,8 +1,17 @@
|
|||||||
{
|
{
|
||||||
"dependencies": {
|
"name": "your-project",
|
||||||
"@dcloudio/uni-ui": "^1.5.6",
|
"version": "1.0.0",
|
||||||
"base-64": "^1.0.0",
|
"scripts": {
|
||||||
"dayjs": "^1.11.13",
|
"build": "vite build --config vite.config.js --format esm"
|
||||||
"echarts": "^5.6.0"
|
},
|
||||||
}
|
"dependencies": {
|
||||||
|
"@dcloudio/uni-ui": "^1.5.6",
|
||||||
|
"base-64": "^1.0.0",
|
||||||
|
"dayjs": "^1.11.13",
|
||||||
|
"echarts": "^5.6.0",
|
||||||
|
"pinia": "^3.0.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"vite": "^6.2.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
57
pages.json
57
pages.json
@ -185,6 +185,63 @@
|
|||||||
"navigationBarTextStyle": "white"
|
"navigationBarTextStyle": "white"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"path": "pages/views/shengchan/shishishuju/index",
|
||||||
|
"style": {
|
||||||
|
// "navigationStyle": "custom"
|
||||||
|
"navigationBarTitleText": "实时数据",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTextStyle": "white"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"path": "pages/views/shengchan/shishishuju/trqSssj",
|
||||||
|
"style": {
|
||||||
|
// "navigationStyle": "custom"
|
||||||
|
"navigationBarTitleText": "天然气实时数据",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTextStyle": "white"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"path": "pages/views/shengchan/shishishuju/gycsSssj",
|
||||||
|
"style": {
|
||||||
|
// "navigationStyle": "custom"
|
||||||
|
"navigationBarTitleText": "工艺参数实时数据",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTextStyle": "white"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/views/shengchan/shishishuju/ysjSssj",
|
||||||
|
"style": {
|
||||||
|
// "navigationStyle": "custom"
|
||||||
|
"navigationBarTitleText": "压缩机实时数据",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTextStyle": "white"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/views/shengchan/shishishuju/aqbjSssj",
|
||||||
|
"style": {
|
||||||
|
// "navigationStyle": "custom"
|
||||||
|
"navigationBarTitleText": "安全报警实时数据",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTextStyle": "white"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/views/shengchan/shishishuju/nyxhSssj",
|
||||||
|
"style": {
|
||||||
|
// "navigationStyle": "custom"
|
||||||
|
"navigationBarTitleText": "能耗实时数据",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTextStyle": "white"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/userlist/index",
|
"path": "pages/userlist/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -5,57 +5,189 @@
|
|||||||
<view style="width: 100%; display: grid; place-items: center">
|
<view style="width: 100%; display: grid; place-items: center">
|
||||||
<uni-title :title="dateDate + ':生产经营情况'" type="h1" color="blue" />
|
<uni-title :title="dateDate + ':生产经营情况'" type="h1" color="blue" />
|
||||||
</view>
|
</view>
|
||||||
|
<view style="margin: 0 10px;">
|
||||||
|
<uni-segmented-control style="margin-top: 10px;margin-bottom: 10px" :current="current" :values="items"
|
||||||
|
@clickItem="onClickItem" styleType="button" activeColor="#0055ff"></uni-segmented-control>
|
||||||
|
</view>
|
||||||
|
<view class="content">
|
||||||
|
<view v-show="current === 0">
|
||||||
|
<view style="padding: 0 10px">
|
||||||
|
<view class="progress-bartime">
|
||||||
|
<!-- 动态设置宽度和颜色 -->
|
||||||
|
<view class="progressTime" :style="{ width: `${timePercent}%`, 'background-color': '#0055ff' }">
|
||||||
|
</view>
|
||||||
|
<!-- 显示带符号的百分比 -->
|
||||||
|
<text class="progress-text">全年时间进度:{{ timePercent }}%</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y :style="{ height: scrollViewHeight + 'px' }">
|
||||||
|
<trq-data></trq-data>
|
||||||
|
<yy-data></yy-data>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
<view v-show="current === 1">
|
||||||
|
<scroll-view scroll-y :style="{ height: scrollViewHeight + 'px' }">
|
||||||
|
<sssjForm></sssjForm>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
<view v-show="current === 2">
|
||||||
|
<scroll-view scroll-y :style="{ height: scrollViewHeight + 'px' }">
|
||||||
|
选项卡2的内容
|
||||||
|
</scroll-view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
<trq-data></trq-data>
|
|
||||||
<yy-data></yy-data>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { formatDate, getDateAfterDays } from '@/utils/dateTime.js';
|
import {
|
||||||
|
formatDate,
|
||||||
|
getDateAfterDays
|
||||||
|
} from '@/utils/dateTime.js';
|
||||||
|
import {
|
||||||
|
getYearProgress
|
||||||
|
} from '@/utils/dateTime.js';
|
||||||
|
|
||||||
import { ref, onMounted, computed, nextTick, watchEffect } from 'vue';
|
import {
|
||||||
|
ref,
|
||||||
|
onMounted,
|
||||||
|
computed,
|
||||||
|
nextTick,
|
||||||
|
watchEffect,
|
||||||
|
onUnmounted
|
||||||
|
} from 'vue';
|
||||||
|
const items = ref(['日报数据', '实时数据', '经营数据'])
|
||||||
|
const current = ref(0)
|
||||||
|
const res = wx.getSystemInfoSync();
|
||||||
|
const statusHeight = res.statusBarHeight; //状态栏高度
|
||||||
|
const cusnavbarheight = statusHeight + 44 + 'px';
|
||||||
|
|
||||||
const res = wx.getSystemInfoSync();
|
const scrollViewHeight = ref(0); //状态栏高度
|
||||||
const statusHeight = res.statusBarHeight; //状态栏高度
|
|
||||||
const cusnavbarheight = statusHeight + 44 + 'px';
|
|
||||||
|
|
||||||
const dateDate = ref('');
|
|
||||||
|
|
||||||
import trqData from './ribaoshuju/trqRbsj.vue';
|
const timePercent = ref(0);
|
||||||
import yyData from './ribaoshuju/yyRbsj.vue';
|
const dateDate = ref('');
|
||||||
|
|
||||||
const strDate = () => {
|
import trqData from './ribaoshuju/trqRbsj.vue';
|
||||||
const now = new Date();
|
import yyData from './ribaoshuju/yyRbsj.vue';
|
||||||
if (now.getHours() < 11) {
|
import sssjForm from './shishishuju/index.vue';
|
||||||
return formatDate(getDateAfterDays(now, -1)); //11点之前 头一天的数据
|
|
||||||
} else {
|
function onClickItem(e) {
|
||||||
return formatDate(now);
|
if (current.value != e.currentIndex) {
|
||||||
|
current.value = e.currentIndex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
|
||||||
onMounted(() => {
|
const strDate = () => {
|
||||||
dateDate.value = strDate();
|
const now = new Date();
|
||||||
});
|
if (now.getHours() < 11) {
|
||||||
|
return formatDate(getDateAfterDays(now, -1)); //11点之前 头一天的数据
|
||||||
|
} else {
|
||||||
|
return formatDate(now);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
onMounted(() => {
|
||||||
|
dateDate.value = strDate();
|
||||||
|
timePercent.value = getYearProgress();
|
||||||
|
calculateScrollViewHeight();
|
||||||
|
// 监听窗口大小变化事件,当窗口大小改变时重新计算高度
|
||||||
|
window.addEventListener('resize', calculateScrollViewHeight);
|
||||||
|
});
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
// 移除窗口大小变化事件监听器
|
||||||
|
window.removeEventListener('resize', calculateScrollViewHeight);
|
||||||
|
});
|
||||||
|
|
||||||
|
const calculateScrollViewHeight = () => {
|
||||||
|
// 获取屏幕的总高度
|
||||||
|
const screenHeight = uni.getSystemInfoSync().windowHeight;
|
||||||
|
// 创建一个选择器查询对象
|
||||||
|
const query = uni.createSelectorQuery();
|
||||||
|
// 选择所有需要计算高度的元素
|
||||||
|
query
|
||||||
|
.select('.nav')
|
||||||
|
.boundingClientRect();
|
||||||
|
query
|
||||||
|
.select('.placeholder')
|
||||||
|
.boundingClientRect();
|
||||||
|
query
|
||||||
|
.select('.uni-title')
|
||||||
|
.boundingClientRect();
|
||||||
|
query
|
||||||
|
.select('.uni-segmented-control')
|
||||||
|
.boundingClientRect();
|
||||||
|
query
|
||||||
|
.select('.progress-bartime')
|
||||||
|
.boundingClientRect();
|
||||||
|
// 执行查询操作
|
||||||
|
query.exec((res) => {
|
||||||
|
let totalHeight = 0;
|
||||||
|
res.forEach((element) => {
|
||||||
|
if (element) {
|
||||||
|
totalHeight += element.height;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 计算 scroll-view 的高度
|
||||||
|
scrollViewHeight.value = screenHeight - totalHeight - 80;
|
||||||
|
});
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.nav {
|
.nav {
|
||||||
width: calc(100% - 60rpx);
|
width: calc(100% - 60rpx);
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
height: v-bind(cusnavbarheight);
|
height: v-bind(cusnavbarheight);
|
||||||
|
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
z-index: 99;
|
z-index: 99;
|
||||||
background-image: url('../../static/my/navbg.png');
|
background-image: url('../../static/my/navbg.png');
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: 750rpx 458rpx;
|
background-size: 750rpx 458rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.placeholder {
|
.placeholder {
|
||||||
height: v-bind(cusnavbarheight);
|
height: v-bind(cusnavbarheight);
|
||||||
}
|
}
|
||||||
</style>
|
|
||||||
|
.progress-bartime {
|
||||||
|
position: relative;
|
||||||
|
height: 25px;
|
||||||
|
background: #f0f0f0;
|
||||||
|
border-radius: 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress {
|
||||||
|
height: 100%;
|
||||||
|
transition: all 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progressTime {
|
||||||
|
height: 100%;
|
||||||
|
transition: all 0.3s;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-text {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
color: red;
|
||||||
|
/* 保持红色 */
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
/* 提升可读性 */
|
||||||
|
}
|
||||||
|
</style>
|
File diff suppressed because it is too large
Load Diff
@ -29,15 +29,13 @@
|
|||||||
|
|
||||||
<view class="progress-bar">
|
<view class="progress-bar">
|
||||||
<!-- 动态设置宽度和颜色 -->
|
<!-- 动态设置宽度和颜色 -->
|
||||||
<view
|
<view class="progress" :style="{
|
||||||
class="progress"
|
|
||||||
:style="{
|
|
||||||
width: `${Math.abs(item.yearPerCent)}%`,
|
width: `${Math.abs(item.yearPerCent)}%`,
|
||||||
'background-color': item.yearPerCent < 0 ? '#ff4444' : '#007aff'
|
'background-color': item.yearPerCent < 0 ? '#ff4444' : '#007aff'
|
||||||
}"
|
}"></view>
|
||||||
></view>
|
|
||||||
<!-- 显示带符号的百分比 -->
|
<!-- 显示带符号的百分比 -->
|
||||||
<text v-if="!(item.yearPlan === '' || item.yearPlan === '0')" class="progress-text">{{ item.yearPerCent }}%</text>
|
<text v-if="!(item.yearPlan === '' || item.yearPlan === '0')"
|
||||||
|
class="progress-text">{{ item.yearPerCent }}%</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -63,7 +61,8 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 表格内容 -->
|
<!-- 表格内容 -->
|
||||||
<view class="tr" v-for="(item, index) in dataJinri" :key="index" :class="{ even: index % 2 === 0 }">
|
<view class="tr" v-for="(item, index) in dataJinri" :key="index"
|
||||||
|
:class="{ even: index % 2 === 0 }">
|
||||||
<view class="td1">{{ index }}</view>
|
<view class="td1">{{ index }}</view>
|
||||||
<view class="td">{{ item.dw }}</view>
|
<view class="td">{{ item.dw }}</view>
|
||||||
<view class="td">
|
<view class="td">
|
||||||
@ -86,327 +85,353 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onMounted, computed, nextTick, watchEffect } from 'vue';
|
import {
|
||||||
import { onLoad } from '@dcloudio/uni-app';
|
ref,
|
||||||
import { queryJinriYuanyouShengchansj } from '@/api/shengchan.js';
|
onMounted,
|
||||||
import { formatDate, getDateAfterDays } from '@/utils/dateTime.js';
|
computed,
|
||||||
import { beforeJump } from '@/utils/index.js';
|
nextTick,
|
||||||
import { useStore } from '@/store';
|
watchEffect
|
||||||
|
} from 'vue';
|
||||||
|
import {
|
||||||
|
onLoad
|
||||||
|
} from '@dcloudio/uni-app';
|
||||||
|
import {
|
||||||
|
queryJinriYuanyouShengchansj
|
||||||
|
} from '@/api/shengchan.js';
|
||||||
|
import {
|
||||||
|
formatDate,
|
||||||
|
getDateAfterDays
|
||||||
|
} from '@/utils/dateTime.js';
|
||||||
|
import {
|
||||||
|
beforeJump
|
||||||
|
} from '@/utils/index.js';
|
||||||
|
import {
|
||||||
|
useStore
|
||||||
|
} from '@/store';
|
||||||
|
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
import dataCom from '@/bpm/dataCom.vue';
|
import dataCom from '@/bpm/dataCom.vue';
|
||||||
|
|
||||||
const shishiArr = ref([
|
const shishiArr = ref([{
|
||||||
{
|
|
||||||
gas: '原油产量',
|
gas: '原油产量',
|
||||||
rcwy: '',
|
rcwy: '',
|
||||||
yl: '',
|
yl: '',
|
||||||
nl: '',
|
nl: '',
|
||||||
yearPlan: '1500',
|
yearPlan: '1500',
|
||||||
yearPerCent: ''
|
yearPerCent: ''
|
||||||
}
|
}]);
|
||||||
]);
|
|
||||||
|
|
||||||
const dataJinri = ref([]);
|
const dataJinri = ref([]);
|
||||||
const dataJinriSum = ref([]);
|
const dataJinriSum = ref([]);
|
||||||
const popup = ref(null);
|
const popup = ref(null);
|
||||||
// 点击卡片处理
|
// 点击卡片处理
|
||||||
const handleCardClick = () => {
|
const handleCardClick = () => {
|
||||||
popup.value.open();
|
popup.value.open();
|
||||||
};
|
};
|
||||||
|
|
||||||
// 关闭弹窗
|
// 关闭弹窗
|
||||||
const closePopup = () => {
|
const closePopup = () => {
|
||||||
popup.value.close();
|
popup.value.close();
|
||||||
};
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getJinriYuanyouShengchansj();
|
getJinriYuanyouShengchansj();
|
||||||
// getYearShengchansj();
|
// getYearShengchansj();
|
||||||
});
|
|
||||||
|
|
||||||
const strDate = ref('');
|
|
||||||
// 数字格式化
|
|
||||||
const formatNumber = (num) => {
|
|
||||||
if (typeof num !== 'number') return '-';
|
|
||||||
return num.toFixed(4).replace(/\.?0+$/, '');
|
|
||||||
};
|
|
||||||
function goHistory(val) {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/views/shengchan/ribaoshuju/rbsjLsxq?data=' + JSON.stringify(val) + '&type=yy'
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
const getJinriYuanyouShengchansj = () => {
|
const strDate = ref('');
|
||||||
const now = new Date();
|
// 数字格式化
|
||||||
if (now.getHours() < 11) {
|
const formatNumber = (num) => {
|
||||||
strDate.value = formatDate(getDateAfterDays(now, -1)).toString(); //11点之前 头一天的数据
|
if (typeof num !== 'number') return '-';
|
||||||
} else {
|
return num.toFixed(4).replace(/\.?0+$/, '');
|
||||||
strDate.value = formatDate(now).toString();
|
};
|
||||||
}
|
|
||||||
let queryParms = {};
|
function goHistory(val) {
|
||||||
dataJinri.value = [];
|
uni.navigateTo({
|
||||||
dataJinriSum.value = [];
|
url: '/pages/views/shengchan/ribaoshuju/rbsjLsxq?data=' + JSON.stringify(val) + '&type=yy'
|
||||||
queryParms.scrq = strDate.value;
|
|
||||||
queryParms.pageSize = 100;
|
|
||||||
// // console.log(queryParms);
|
|
||||||
queryJinriYuanyouShengchansj(queryParms).then((res) => {
|
|
||||||
if (res.success) {
|
|
||||||
// // console.log(res);
|
|
||||||
dataJinri.value = res.result.records;
|
|
||||||
dataJinriSum.value = sumByOil(dataJinri.value); //包含gas unit rq cq totalGas
|
|
||||||
// // console.log(dataJinriSum.value);
|
|
||||||
nextTick();
|
|
||||||
shishiArr.value.forEach((item) => {
|
|
||||||
dataJinriSum.value.forEach((itemjinri) => {
|
|
||||||
item.rcwy = itemjinri.rcwy.toFixed(4);
|
|
||||||
item.nl = itemjinri.nl.toFixed(4);
|
|
||||||
item.yl = itemjinri.yl.toFixed(4);
|
|
||||||
item.yearPerCent = calcPercent(item.yearPlan, item.nl);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
// getYearShengchansj(); //再获取今年以来的数据
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
function calcPercent(yearJihua, yearShiji) {
|
|
||||||
// 计算进度百分比,避免除数为 0
|
|
||||||
// 确保进度百分比不超过 100
|
|
||||||
let plan = parseFloat(yearJihua === '' ? 0 : yearJihua);
|
|
||||||
let shiji = parseFloat(yearShiji);
|
|
||||||
let percent = 0;
|
|
||||||
// 修改原始计算代码
|
|
||||||
if (plan > 0) {
|
|
||||||
percent = (shiji / plan) * 100;
|
|
||||||
percent = Math.min(percent, 100); // 限制最大100%
|
|
||||||
}
|
|
||||||
return parseFloat(percent.toFixed(2)); // 转为数值
|
|
||||||
}
|
|
||||||
function sumByOil(records) {
|
|
||||||
// console.log(records);
|
|
||||||
const summaryMap = {};
|
|
||||||
try {
|
|
||||||
records.forEach((record) => {
|
|
||||||
const gas = record.gas;
|
|
||||||
if (!summaryMap[gas]) {
|
|
||||||
// 初始化该 gas 类型的汇总对象
|
|
||||||
summaryMap[gas] = {
|
|
||||||
rcwy: 0,
|
|
||||||
yl: 0,
|
|
||||||
nl: 0
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// 无论是否是第一次遇到该 gas 类型,都进行累加操作
|
|
||||||
summaryMap[gas].rcwy += record.rcwy || 0;
|
|
||||||
summaryMap[gas].yl += record.yl || 0;
|
|
||||||
summaryMap[gas].nl += record.nl || 0;
|
|
||||||
});
|
});
|
||||||
return Object.values(summaryMap);
|
|
||||||
} catch (error) {
|
|
||||||
//TODO handle the exception
|
|
||||||
// console.log(error);
|
|
||||||
}
|
}
|
||||||
}
|
const getJinriYuanyouShengchansj = () => {
|
||||||
|
const now = new Date();
|
||||||
|
if (now.getHours() < 11) {
|
||||||
|
strDate.value = formatDate(getDateAfterDays(now, -1)).toString(); //11点之前 头一天的数据
|
||||||
|
} else {
|
||||||
|
strDate.value = formatDate(now).toString();
|
||||||
|
}
|
||||||
|
let queryParms = {};
|
||||||
|
dataJinri.value = [];
|
||||||
|
dataJinriSum.value = [];
|
||||||
|
queryParms.scrq = strDate.value;
|
||||||
|
queryParms.pageSize = 100;
|
||||||
|
// // console.log(queryParms);
|
||||||
|
queryJinriYuanyouShengchansj(queryParms).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
// // console.log(res);
|
||||||
|
dataJinri.value = res.result.records;
|
||||||
|
dataJinriSum.value = sumByOil(dataJinri.value); //包含gas unit rq cq totalGas
|
||||||
|
// // console.log(dataJinriSum.value);
|
||||||
|
nextTick();
|
||||||
|
shishiArr.value.forEach((item) => {
|
||||||
|
dataJinriSum.value.forEach((itemjinri) => {
|
||||||
|
item.rcwy = itemjinri.rcwy.toFixed(4);
|
||||||
|
item.nl = itemjinri.nl.toFixed(4);
|
||||||
|
item.yl = itemjinri.yl.toFixed(4);
|
||||||
|
item.yearPerCent = calcPercent(item.yearPlan, item.nl);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// getYearShengchansj(); //再获取今年以来的数据
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
function calcPercent(yearJihua, yearShiji) {
|
||||||
|
// 计算进度百分比,避免除数为 0
|
||||||
|
// 确保进度百分比不超过 100
|
||||||
|
let plan = parseFloat(yearJihua === '' ? 0 : yearJihua);
|
||||||
|
let shiji = parseFloat(yearShiji);
|
||||||
|
let percent = 0;
|
||||||
|
// 修改原始计算代码
|
||||||
|
if (plan > 0) {
|
||||||
|
percent = (shiji / plan) * 100;
|
||||||
|
percent = Math.min(percent, 100); // 限制最大100%
|
||||||
|
}
|
||||||
|
return parseFloat(percent.toFixed(2)); // 转为数值
|
||||||
|
}
|
||||||
|
|
||||||
|
function sumByOil(records) {
|
||||||
|
// console.log(records);
|
||||||
|
const summaryMap = {};
|
||||||
|
try {
|
||||||
|
records.forEach((record) => {
|
||||||
|
const gas = record.gas;
|
||||||
|
if (!summaryMap[gas]) {
|
||||||
|
// 初始化该 gas 类型的汇总对象
|
||||||
|
summaryMap[gas] = {
|
||||||
|
rcwy: 0,
|
||||||
|
yl: 0,
|
||||||
|
nl: 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
// 无论是否是第一次遇到该 gas 类型,都进行累加操作
|
||||||
|
summaryMap[gas].rcwy += record.rcwy || 0;
|
||||||
|
summaryMap[gas].yl += record.yl || 0;
|
||||||
|
summaryMap[gas].nl += record.nl || 0;
|
||||||
|
});
|
||||||
|
return Object.values(summaryMap);
|
||||||
|
} catch (error) {
|
||||||
|
//TODO handle the exception
|
||||||
|
// console.log(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.header-row {
|
.header-row {
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
padding: 15rpx 0;
|
|
||||||
border-bottom: 1rpx solid #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title {
|
|
||||||
font-size: 30rpx;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.more {
|
|
||||||
font-size: 26rpx;
|
|
||||||
color: #666;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.more::after {
|
|
||||||
content: '';
|
|
||||||
width: 8rpx;
|
|
||||||
height: 8rpx;
|
|
||||||
border-top: 2rpx solid #666;
|
|
||||||
border-right: 2rpx solid #666;
|
|
||||||
transform: rotate(45deg);
|
|
||||||
margin-left: 8rpx;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 鼠标悬停效果 */
|
|
||||||
.more:hover {
|
|
||||||
color: #007aff;
|
|
||||||
}
|
|
||||||
.container {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
padding: 20rpx;
|
|
||||||
gap: 20rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.popup-content {
|
|
||||||
padding: 30rpx;
|
|
||||||
max-height: 70vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
.popup-header {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
margin-bottom: 30rpx;
|
|
||||||
padding-bottom: 20rpx;
|
|
||||||
border-bottom: 2rpx solid #eee;
|
|
||||||
|
|
||||||
.title {
|
|
||||||
font-size: 32rpx;
|
|
||||||
font-weight: 600;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-container {
|
|
||||||
width: 100%;
|
|
||||||
height: 30vh;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table {
|
|
||||||
min-width: 100%;
|
|
||||||
border: 2rpx solid #e8e8e8;
|
|
||||||
|
|
||||||
.tr {
|
|
||||||
display: flex;
|
|
||||||
border-bottom: 2rpx solid #e8e8e8;
|
|
||||||
|
|
||||||
&.header {
|
|
||||||
background-color: #fafafa;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.even {
|
|
||||||
background-color: #f8f8f8;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.th,
|
|
||||||
.td {
|
|
||||||
flex: 1;
|
|
||||||
min-width: 80rpx;
|
|
||||||
padding: 10rpx;
|
|
||||||
font-size: 20rpx;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #333;
|
|
||||||
text-align: center;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.th1,
|
|
||||||
.td1 {
|
|
||||||
flex: 1;
|
|
||||||
max-width: 40rpx;
|
|
||||||
padding: 10rpx;
|
|
||||||
font-size: 22rpx;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #333;
|
|
||||||
text-align: center;
|
|
||||||
white-space: nowrap;
|
|
||||||
height: 30rpx;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.th {
|
|
||||||
background-color: #f0f0f0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.td.negative {
|
|
||||||
color: #ff4444;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.empty {
|
|
||||||
padding: 40rpx;
|
|
||||||
text-align: center;
|
|
||||||
color: #888;
|
|
||||||
font-size: 16rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-item {
|
|
||||||
flex: 1 1 200rpx; // 基础宽度300rpx,自动伸缩 selectedGas formatNumber
|
|
||||||
min-width: 200rpx;
|
|
||||||
max-width: calc(50% - 10rpx); // 最大不超过容器一半(考虑间距)
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
max-width: calc(33.33% - 14rpx); // 大屏显示3列
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.card {
|
|
||||||
background: #ececec;
|
|
||||||
border-radius: 16rpx;
|
|
||||||
padding: 15rpx;
|
|
||||||
box-shadow: 0 4rpx 12rpx rgba(197, 197, 197, 0.1);
|
|
||||||
|
|
||||||
.title {
|
|
||||||
display: block;
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-weight: 600;
|
|
||||||
color: #333;
|
|
||||||
margin-bottom: 16rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 10rpx;
|
padding: 15rpx 0;
|
||||||
|
border-bottom: 1rpx solid #eee;
|
||||||
|
margin-left: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
|
||||||
&:last-child {
|
}
|
||||||
margin-bottom: 0;
|
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.more {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #666;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.more::after {
|
||||||
|
content: '';
|
||||||
|
width: 8rpx;
|
||||||
|
height: 8rpx;
|
||||||
|
border-top: 2rpx solid #666;
|
||||||
|
border-right: 2rpx solid #666;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
margin-left: 8rpx;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 鼠标悬停效果 */
|
||||||
|
.more:hover {
|
||||||
|
color: #007aff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
padding: 20rpx;
|
||||||
|
gap: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popup-content {
|
||||||
|
padding: 30rpx;
|
||||||
|
max-height: 70vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popup-header {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
border-bottom: 2rpx solid #eee;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-container {
|
||||||
|
width: 100%;
|
||||||
|
height: 30vh;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
min-width: 100%;
|
||||||
|
border: 2rpx solid #e8e8e8;
|
||||||
|
|
||||||
|
.tr {
|
||||||
|
display: flex;
|
||||||
|
border-bottom: 2rpx solid #e8e8e8;
|
||||||
|
|
||||||
|
&.header {
|
||||||
|
background-color: #fafafa;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.even {
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.label {
|
.th,
|
||||||
font-size: 24rpx;
|
.td {
|
||||||
color: #666;
|
flex: 1;
|
||||||
|
min-width: 80rpx;
|
||||||
|
padding: 10rpx;
|
||||||
|
font-size: 20rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333;
|
||||||
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.value {
|
.th1,
|
||||||
font-size: 28rpx;
|
.td1 {
|
||||||
color: #0000ff;
|
flex: 1;
|
||||||
|
max-width: 40rpx;
|
||||||
|
padding: 10rpx;
|
||||||
|
font-size: 22rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
|
height: 30rpx;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.th {
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td.negative {
|
||||||
|
color: #ff4444;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
.progress-item {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-bar {
|
.empty {
|
||||||
position: relative;
|
padding: 40rpx;
|
||||||
height: 20px;
|
text-align: center;
|
||||||
background: #f0f0f0;
|
color: #888;
|
||||||
border-radius: 10px;
|
font-size: 16rpx;
|
||||||
overflow: hidden;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.progress {
|
.card-item {
|
||||||
height: 100%;
|
flex: 1 1 200rpx; // 基础宽度300rpx,自动伸缩 selectedGas formatNumber
|
||||||
transition: all 0.3s;
|
min-width: 200rpx;
|
||||||
}
|
max-width: calc(50% - 10rpx); // 最大不超过容器一半(考虑间距)
|
||||||
|
|
||||||
.progress-text {
|
@media (min-width: 768px) {
|
||||||
position: absolute;
|
max-width: calc(33.33% - 14rpx); // 大屏显示3列
|
||||||
left: 50%;
|
}
|
||||||
top: 50%;
|
}
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
color: red; /* 保持红色 */
|
.card {
|
||||||
font-size: 12px;
|
background: #ececec;
|
||||||
font-weight: bold;
|
border-radius: 16rpx;
|
||||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); /* 提升可读性 */
|
padding: 15rpx;
|
||||||
}
|
box-shadow: 0 4rpx 12rpx rgba(197, 197, 197, 0.1);
|
||||||
</style>
|
|
||||||
|
.title {
|
||||||
|
display: block;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333;
|
||||||
|
margin-bottom: 16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.value {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #0000ff;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-item {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar {
|
||||||
|
position: relative;
|
||||||
|
height: 20px;
|
||||||
|
background: #f0f0f0;
|
||||||
|
border-radius: 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress {
|
||||||
|
height: 100%;
|
||||||
|
transition: all 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-text {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
color: red;
|
||||||
|
/* 保持红色 */
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
/* 提升可读性 */
|
||||||
|
}
|
||||||
|
</style>
|
8
pages/views/shengchan/shishishuju/aqbjSssj.vue
Normal file
8
pages/views/shengchan/shishishuju/aqbjSssj.vue
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<template>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
8
pages/views/shengchan/shishishuju/gycsSssj.vue
Normal file
8
pages/views/shengchan/shishishuju/gycsSssj.vue
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<template>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
44
pages/views/shengchan/shishishuju/index.vue
Normal file
44
pages/views/shengchan/shishishuju/index.vue
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<template>
|
||||||
|
<view :class="{ gray: store.isgray == 1 }">
|
||||||
|
<trqSssjVue></trqSssjVue>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
onMounted,
|
||||||
|
computed,
|
||||||
|
nextTick,
|
||||||
|
watchEffect
|
||||||
|
} from 'vue';
|
||||||
|
import {
|
||||||
|
onLoad
|
||||||
|
} from '@dcloudio/uni-app';
|
||||||
|
import {
|
||||||
|
queryJinriShengchansj,
|
||||||
|
queryYearShengchansj,
|
||||||
|
queryJinriTrqShengchansj
|
||||||
|
} from '@/api/shengchan.js';
|
||||||
|
import {
|
||||||
|
formatDate,
|
||||||
|
getDateAfterDays
|
||||||
|
} from '@/utils/dateTime.js';
|
||||||
|
import {
|
||||||
|
beforeJump
|
||||||
|
} from '@/utils/index.js';
|
||||||
|
import {
|
||||||
|
useStore
|
||||||
|
} from '@/store';
|
||||||
|
|
||||||
|
import trqSssjVue from './trqSssj.vue';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const store = useStore();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
8
pages/views/shengchan/shishishuju/nyxhSssj.vue
Normal file
8
pages/views/shengchan/shishishuju/nyxhSssj.vue
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<template>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
315
pages/views/shengchan/shishishuju/trqSssj.vue
Normal file
315
pages/views/shengchan/shishishuju/trqSssj.vue
Normal file
@ -0,0 +1,315 @@
|
|||||||
|
<template>
|
||||||
|
<view :class="{ gray: store.isgray == 1 }">
|
||||||
|
|
||||||
|
|
||||||
|
<view>
|
||||||
|
<!-- 标题行 -->
|
||||||
|
<view class="header-row">
|
||||||
|
<view class="title">天然气实时数据</view>
|
||||||
|
<view style="min-width: 200px;"><cxc-szcx-stationJl-select v-model="stationID" returnCodeOrID="id"
|
||||||
|
@change="onChange"></cxc-szcx-stationJl-select></view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<button size="mini" @click="getData">连接WebSocket</button>
|
||||||
|
|
||||||
|
<view class="container">
|
||||||
|
<view v-for="(item, index) in jlData" :key="index" class="card">
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="titlejl">{{ stationName }}--{{ item.jldname }}</text>
|
||||||
|
<view class="status-circle"
|
||||||
|
:style="{ backgroundColor: item.yxzt==='运行' ? '#4CAF50' : '#F44336' }">
|
||||||
|
{{item.yxzt}}
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="field-list">
|
||||||
|
<!-- 压力 -->
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="field-label">压力(MPa)</text>
|
||||||
|
<text class="field-value">{{ formatNumber(item.yl) || '-' }}</text>
|
||||||
|
</view>
|
||||||
|
<!-- 差压 -->
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="field-label">差压(kPa)</text>
|
||||||
|
<text class="field-value">{{ formatNumber(item.yc) || '-' }}</text>
|
||||||
|
</view>
|
||||||
|
<!-- 温度 -->
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="field-label">温度(℃)</text>
|
||||||
|
<text class="field-value">{{ formatNumber(item.wd) || '-' }}</text>
|
||||||
|
</view>
|
||||||
|
<!-- 瞬时流量 -->
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="field-label">瞬时流量(m³/d)</text>
|
||||||
|
<text class="field-value">{{ formatNumber(item.ssll) || '-' }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 今日流量 -->
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="field-label">今日流量(m³)</text>
|
||||||
|
<text class="field-value">{{ formatNumber(item.jrl) || '-' }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 昨日流量 -->
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="field-label">昨日流量(m³)</text>
|
||||||
|
<text class="field-value">{{ formatNumber(item.zrl) || '-' }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 昨日时间 -->
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="field-label">昨日时间(min)</text>
|
||||||
|
<text class="field-value">{{ formatNumber(item.zrsj) || '-' }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 今日时间 -->
|
||||||
|
<view class="field-item">
|
||||||
|
<text class="field-label">今日时间(min)</text>
|
||||||
|
<text class="field-value">{{ formatNumber(item.jrsj) || '-' }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
onMounted,
|
||||||
|
computed,
|
||||||
|
nextTick,
|
||||||
|
watchEffect
|
||||||
|
} from 'vue';
|
||||||
|
import {
|
||||||
|
onLoad
|
||||||
|
} from '@dcloudio/uni-app';
|
||||||
|
import {
|
||||||
|
queryJldZcList,
|
||||||
|
queryJldDataByZc
|
||||||
|
} from '@/api/shengchan.js';
|
||||||
|
import {
|
||||||
|
formatDate,
|
||||||
|
getDateAfterDays
|
||||||
|
} from '@/utils/dateTime.js';
|
||||||
|
import {
|
||||||
|
beforeJump
|
||||||
|
} from '@/utils/index.js';
|
||||||
|
import {
|
||||||
|
useStore
|
||||||
|
} from '@/store';
|
||||||
|
const store = useStore();
|
||||||
|
|
||||||
|
const stationList = ref([])
|
||||||
|
// 控制弹窗显示与隐藏
|
||||||
|
const popupSelect = ref(null);
|
||||||
|
const stationID = ref("")
|
||||||
|
const stationName = ref("")
|
||||||
|
|
||||||
|
const jlData = ref([])
|
||||||
|
|
||||||
|
const sssjUrl = ref('wss://10.75.166.6:9999/Gyk/websocket/')
|
||||||
|
const jlByzc = ref('http://10.75.166.6:9999/Gyk/sssj/GetJlByZc')
|
||||||
|
|
||||||
|
//首先链接的地址要先拿在websocket在线调试去调试是否能连接通 不然下面的操作就不知道错误
|
||||||
|
// 建立websocket
|
||||||
|
function connectSocketInit() {
|
||||||
|
console.log(11, )
|
||||||
|
let userID = '1412198011559055361'
|
||||||
|
// 创建一个this.socketTask对象【发送、接收、关闭socket都由这个对象操作】
|
||||||
|
uni.connectSocket({
|
||||||
|
// 【非常重要】必须确保你的服务器是成功的,如果是手机测试千万别使用ws://127.0.0.1:9099【特别容易犯的错误】
|
||||||
|
// url: 'wss://'+this.$api.sellerWebsocket+'/'+this.userinfo.id,
|
||||||
|
url: sssjUrl.value + userID,
|
||||||
|
success(data) {
|
||||||
|
console.log(data);
|
||||||
|
console.log('websocket连接成功');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 消息的发送和接收必须在正常连接打开中,才能发送或接收【否则会失败】
|
||||||
|
uni.onSocketOpen(function(res) {
|
||||||
|
console.log('WebSocket连接已打开!');
|
||||||
|
});
|
||||||
|
uni.onSocketMessage(function(res) {
|
||||||
|
console.log('收到服务器内容:' + res.data);
|
||||||
|
// 语音播放 start
|
||||||
|
const innerAudioContext = uni.createInnerAudioContext();
|
||||||
|
innerAudioContext.autoplay = true;
|
||||||
|
innerAudioContext.src = 'https://wzs1.oss-cn-beijing.aliyuncs.com/music.mp3';
|
||||||
|
innerAudioContext.onPlay(() => {
|
||||||
|
console.log('开始播放');
|
||||||
|
});
|
||||||
|
innerAudioContext.onError(res => {
|
||||||
|
console.log(res.errMsg);
|
||||||
|
console.log(res.errCode);
|
||||||
|
});
|
||||||
|
//语音播放 end
|
||||||
|
});
|
||||||
|
// 这里仅是事件监听【如果socket关闭了会执行】
|
||||||
|
uni.onSocketClose(function(res) {
|
||||||
|
console.log('WebSocket 已关闭!');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getData() {
|
||||||
|
connectSocketInit()
|
||||||
|
}
|
||||||
|
|
||||||
|
function onChange(e, data) {
|
||||||
|
console.log(2, e, data.value);
|
||||||
|
stationID.value = e
|
||||||
|
stationName.value = data.value.title
|
||||||
|
uni.request({
|
||||||
|
url: jlByzc.value + '?zhanc=' + stationID.value + '&jldLx=0',
|
||||||
|
method: 'GET',
|
||||||
|
success: (res) => {
|
||||||
|
console.log(3, res, stationName.value)
|
||||||
|
jlData.value = JSON.parse(res.data.result).JlData;
|
||||||
|
console.log(4, jlData.value)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
const websock = ref(null);
|
||||||
|
const timer2 = ref(null);
|
||||||
|
// 封装心跳函数
|
||||||
|
const websocketheart = () => {
|
||||||
|
timer2.value = setInterval(() => {
|
||||||
|
if (websock.value && websock.value.readyState === 1) {
|
||||||
|
// 如果连接正常,发送心跳消息
|
||||||
|
connectSocketInit()
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
};
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
|
||||||
|
queryJldZcList({
|
||||||
|
pId: '1267633406031953921'
|
||||||
|
}).then((res) => {
|
||||||
|
|
||||||
|
if (res.success) {
|
||||||
|
stationList.value = res.result
|
||||||
|
console.log(1, stationList.value)
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
websocketheart()
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 数字格式化
|
||||||
|
const formatNumber = (num) => {
|
||||||
|
let temp = 0;
|
||||||
|
try {
|
||||||
|
temp = parseFloat(num);
|
||||||
|
} catch (error) {
|
||||||
|
//TODO handle the exception
|
||||||
|
}
|
||||||
|
|
||||||
|
return temp.toFixed(4).replace(/\.?0+$/, '');
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.header-row {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 10 10rpx;
|
||||||
|
border-bottom: 1rpx solid #eee;
|
||||||
|
margin-left: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titlejl {
|
||||||
|
font-size: 20rpx;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #0055ff;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||||
|
gap: 16px;
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 5px;
|
||||||
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-list {
|
||||||
|
margin-top: 10px;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
/* 允许子元素换行 */
|
||||||
|
gap: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-item {
|
||||||
|
display: flex;
|
||||||
|
height: 30px;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 5px 5px;
|
||||||
|
background: #f8f9fa;
|
||||||
|
border-radius: 4px;
|
||||||
|
flex-basis: calc(50%-10px);
|
||||||
|
/* 每个元素占据约一半宽度,减去间隙 */
|
||||||
|
box-sizing: border-box;
|
||||||
|
/* 包含内边距和边框 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 当屏幕宽度较小时,每个元素占据整行 */
|
||||||
|
@media (max-width: 200px) {
|
||||||
|
.field-item {
|
||||||
|
flex-basis: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-label {
|
||||||
|
color: #666;
|
||||||
|
font-size: 8px;
|
||||||
|
flex: 1;
|
||||||
|
margin-right: 2px;
|
||||||
|
width: 80px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-value {
|
||||||
|
color: #1890ff;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 12px;
|
||||||
|
text-align: right;
|
||||||
|
width: 60px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-circle {
|
||||||
|
width: 70rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
font-size: 12px;
|
||||||
|
vertical-align: middle;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
8
pages/views/shengchan/shishishuju/ysjSssj.vue
Normal file
8
pages/views/shengchan/shishishuju/ysjSssj.vue
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<template>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
0
uni_modules/cxc-szcx-stationJl-select/changelog.md
Normal file
0
uni_modules/cxc-szcx-stationJl-select/changelog.md
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
<template>
|
||||||
|
<view v-if="returnCodeOrID === 'orgCode'">
|
||||||
|
<uni-data-picker v-model="selectDepartID" ref="depart" :openSearch="true" :ellipsis="true" placeholder="请选择单位"
|
||||||
|
popup-title="请选择单位" :localdata="stationList" @nodeclick="onnodeclick" @popupclosed="onpopupclosed"
|
||||||
|
:map="{'text':'title','value':'orgCode'}" class="no-wrap-picker"></uni-data-picker>
|
||||||
|
</view>
|
||||||
|
<view v-else>
|
||||||
|
<uni-data-picker v-model="selectDepartID" ref="depart" :openSearch="true" :ellipsis="true" placeholder="请选择单位id"
|
||||||
|
popup-title="请选择单位" :localdata="stationList" @nodeclick="onnodeclick" @popupclosed="onpopupclosed"
|
||||||
|
:map="{'text':'title','value':'id'}" class="no-wrap-picker"></uni-data-picker>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
useStore
|
||||||
|
} from '@/store';
|
||||||
|
import {
|
||||||
|
queryJldZcList
|
||||||
|
} from '@/api/shengchan.js'
|
||||||
|
import {
|
||||||
|
queryMyDeptTreeListApi
|
||||||
|
} from '@/api/api.js'
|
||||||
|
import {
|
||||||
|
onReady,
|
||||||
|
onLoad
|
||||||
|
} from '@dcloudio/uni-app';
|
||||||
|
import {
|
||||||
|
reactive,
|
||||||
|
ref,
|
||||||
|
watch
|
||||||
|
|
||||||
|
} from 'vue';
|
||||||
|
const store = useStore()
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
returnCodeOrID: {
|
||||||
|
type: String,
|
||||||
|
default: "orgCode"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
let stationList = ref([])
|
||||||
|
let selectDepartID = ref("") //当前选中的单位ID
|
||||||
|
let selectDepartIDS = ref([]) //选中的级联单位ID数组
|
||||||
|
let tempSelectDepartID = ref("") //临时选择的单位ID
|
||||||
|
let depart = ref(null);
|
||||||
|
|
||||||
|
let departInfo = ref({}) //"单位的全部信息"
|
||||||
|
|
||||||
|
let $emit = defineEmits(['change']);
|
||||||
|
|
||||||
|
|
||||||
|
watch(
|
||||||
|
tempSelectDepartID,
|
||||||
|
(newVal, oldVal) => { //通过监听触发change by 闵
|
||||||
|
$emit('change', newVal, departInfo)
|
||||||
|
}, {
|
||||||
|
immediate: true,
|
||||||
|
deep: true
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
const getDepartList = () => {
|
||||||
|
queryJldZcList({
|
||||||
|
pId: '1267633406031953921'
|
||||||
|
}).then((res) => {
|
||||||
|
|
||||||
|
if (res.success) {
|
||||||
|
stationList.value = res.result
|
||||||
|
console.log(1, stationList.value)
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const onnodeclick = ((e) => {
|
||||||
|
departInfo.value = e;
|
||||||
|
if (props.returnCodeOrID == "orgCode") {
|
||||||
|
tempSelectDepartID.value = e.orgCode
|
||||||
|
} else {
|
||||||
|
tempSelectDepartID.value = e.value
|
||||||
|
}
|
||||||
|
// if(!depart.value.isOpened){//如果页面已经关闭 就触发change方法 by 闵
|
||||||
|
// $emit('change', selectDepartID.value, departInfo)
|
||||||
|
// }
|
||||||
|
})
|
||||||
|
|
||||||
|
const onchange = ((e) => {
|
||||||
|
selectDepartID.value = e.detail.value[e.detail.value.length - 1].value
|
||||||
|
// $emit('change', e.detail.value[e.detail.value.length - 1].value, {})
|
||||||
|
})
|
||||||
|
|
||||||
|
const onpopupclosed = ((e) => {
|
||||||
|
selectDepartID.value = tempSelectDepartID.value
|
||||||
|
// $emit('change', selectDepartID.value, departInfo)
|
||||||
|
})
|
||||||
|
onLoad((e) => {
|
||||||
|
getDepartList();
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
/* 选择器根据实际情况调整 */
|
||||||
|
.no-wrap-picker::v-deep .uni-data-picker-item {
|
||||||
|
white-space: nowrap;
|
||||||
|
/* 强制不换行 */
|
||||||
|
overflow: hidden;
|
||||||
|
/* 超出部分隐藏 */
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/* 超出部分显示省略号 */
|
||||||
|
}
|
||||||
|
</style>
|
83
uni_modules/cxc-szcx-stationJl-select/package.json
Normal file
83
uni_modules/cxc-szcx-stationJl-select/package.json
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
{
|
||||||
|
"id": "cxc-szcx-stationJl-select",
|
||||||
|
"displayName": "cxc-szcx-stationJl-select",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "cxc-szcx-stationJl-select",
|
||||||
|
"keywords": [
|
||||||
|
"cxc-szcx-stationJl-select"
|
||||||
|
],
|
||||||
|
"repository": "",
|
||||||
|
"engines": {
|
||||||
|
"HBuilderX": "^3.1.0"
|
||||||
|
},
|
||||||
|
"dcloudext": {
|
||||||
|
"type": "component-vue",
|
||||||
|
"sale": {
|
||||||
|
"regular": {
|
||||||
|
"price": "0.00"
|
||||||
|
},
|
||||||
|
"sourcecode": {
|
||||||
|
"price": "0.00"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"contact": {
|
||||||
|
"qq": ""
|
||||||
|
},
|
||||||
|
"declaration": {
|
||||||
|
"ads": "",
|
||||||
|
"data": "",
|
||||||
|
"permissions": ""
|
||||||
|
},
|
||||||
|
"npmurl": ""
|
||||||
|
},
|
||||||
|
"uni_modules": {
|
||||||
|
"dependencies": [],
|
||||||
|
"encrypt": [],
|
||||||
|
"platforms": {
|
||||||
|
"cloud": {
|
||||||
|
"tcb": "u",
|
||||||
|
"aliyun": "u",
|
||||||
|
"alipay": "u"
|
||||||
|
},
|
||||||
|
"client": {
|
||||||
|
"Vue": {
|
||||||
|
"vue2": "u",
|
||||||
|
"vue3": "u"
|
||||||
|
},
|
||||||
|
"App": {
|
||||||
|
"app-vue": "u",
|
||||||
|
"app-nvue": "u",
|
||||||
|
"app-uvue": "u"
|
||||||
|
},
|
||||||
|
"H5-mobile": {
|
||||||
|
"Safari": "u",
|
||||||
|
"Android Browser": "u",
|
||||||
|
"微信浏览器(Android)": "u",
|
||||||
|
"QQ浏览器(Android)": "u"
|
||||||
|
},
|
||||||
|
"H5-pc": {
|
||||||
|
"Chrome": "u",
|
||||||
|
"IE": "u",
|
||||||
|
"Edge": "u",
|
||||||
|
"Firefox": "u",
|
||||||
|
"Safari": "u"
|
||||||
|
},
|
||||||
|
"小程序": {
|
||||||
|
"微信": "u",
|
||||||
|
"阿里": "u",
|
||||||
|
"百度": "u",
|
||||||
|
"字节跳动": "u",
|
||||||
|
"QQ": "u",
|
||||||
|
"钉钉": "u",
|
||||||
|
"快手": "u",
|
||||||
|
"飞书": "u",
|
||||||
|
"京东": "u"
|
||||||
|
},
|
||||||
|
"快应用": {
|
||||||
|
"华为": "u",
|
||||||
|
"联盟": "u"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1
uni_modules/cxc-szcx-stationJl-select/readme.md
Normal file
1
uni_modules/cxc-szcx-stationJl-select/readme.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# cxc-szcx-stationJl-select
|
@ -1,14 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<view v-if="returnCodeOrID === 'orgCode'">
|
<view v-if="returnCodeOrID === 'orgCode'">
|
||||||
<uni-data-picker v-model="selectDepartID" ref="depart" :openSearch="true" :ellipsis="true"
|
<uni-data-picker v-model="selectDepartID" ref="depart" :openSearch="true" :ellipsis="true" placeholder="请选择单位"
|
||||||
placeholder="请选择单位" popup-title="请选择单位" :localdata="departList" @nodeclick="onnodeclick"
|
popup-title="请选择单位" :localdata="departList" @nodeclick="onnodeclick" @popupclosed="onpopupclosed"
|
||||||
@popupclosed="onpopupclosed" :map="{'text':'title','value':'orgCode'}"
|
:map="{'text':'title','value':'orgCode'}" class="no-wrap-picker"></uni-data-picker>
|
||||||
class="no-wrap-picker"></uni-data-picker>
|
|
||||||
</view>
|
</view>
|
||||||
<view v-else>
|
<view v-else>
|
||||||
<uni-data-picker v-model="selectDepartID" ref="depart" :openSearch="true" :ellipsis="true" placeholder="请选择单位id"
|
<uni-data-picker v-model="selectDepartID" ref="depart" :openSearch="true" :ellipsis="true" placeholder="请选择单位id"
|
||||||
popup-title="请选择单位" :localdata="departList" @nodeclick="onnodeclick" @popupclosed="onpopupclosed"
|
popup-title="请选择单位" :localdata="departList" @nodeclick="onnodeclick" @popupclosed="onpopupclosed"
|
||||||
:map="{'text':'title','value':'id'}" class="no-wrap-picker"></uni-data-picker>
|
:map="{'text':'title','value':'id'}" class="no-wrap-picker"></uni-data-picker>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
@ -30,9 +29,7 @@
|
|||||||
import {
|
import {
|
||||||
reactive,
|
reactive,
|
||||||
ref,
|
ref,
|
||||||
watch,
|
watch
|
||||||
defineEmits,
|
|
||||||
defineProps
|
|
||||||
} from 'vue';
|
} from 'vue';
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
|
|
||||||
@ -52,18 +49,18 @@
|
|||||||
let departInfo = ref({}) //"单位的全部信息"
|
let departInfo = ref({}) //"单位的全部信息"
|
||||||
|
|
||||||
let $emit = defineEmits(['change']);
|
let $emit = defineEmits(['change']);
|
||||||
|
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
tempSelectDepartID,
|
tempSelectDepartID,
|
||||||
(newVal,oldVal)=>{ //通过监听触发change by 闵
|
(newVal, oldVal) => { //通过监听触发change by 闵
|
||||||
$emit('change', newVal, departInfo)
|
$emit('change', newVal, departInfo)
|
||||||
},{
|
}, {
|
||||||
immediate:true,
|
immediate: true,
|
||||||
deep:true
|
deep: true
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
const getDepartList = () => {
|
const getDepartList = () => {
|
||||||
queryMyDeptTreeListApi().then((res) => {
|
queryMyDeptTreeListApi().then((res) => {
|
||||||
|
18
vite.config.js
Normal file
18
vite.config.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// vite.config.js
|
||||||
|
import {
|
||||||
|
defineConfig
|
||||||
|
} from 'vite';
|
||||||
|
import uni from '@dcloudio/vite-plugin-uni';
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [uni()],
|
||||||
|
build: {
|
||||||
|
rollupOptions: {
|
||||||
|
output: {
|
||||||
|
format: 'esm' // 确保使用支持代码分割的格式
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
368
yarn.lock
Normal file
368
yarn.lock
Normal file
@ -0,0 +1,368 @@
|
|||||||
|
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||||
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
|
"@babel/helper-string-parser@^7.25.9":
|
||||||
|
"integrity" "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz"
|
||||||
|
"version" "7.25.9"
|
||||||
|
|
||||||
|
"@babel/helper-validator-identifier@^7.25.9":
|
||||||
|
"integrity" "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz"
|
||||||
|
"version" "7.25.9"
|
||||||
|
|
||||||
|
"@babel/parser@^7.25.3":
|
||||||
|
"integrity" "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.10.tgz"
|
||||||
|
"version" "7.26.10"
|
||||||
|
dependencies:
|
||||||
|
"@babel/types" "^7.26.10"
|
||||||
|
|
||||||
|
"@babel/types@^7.26.10":
|
||||||
|
"integrity" "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@babel/types/-/types-7.26.10.tgz"
|
||||||
|
"version" "7.26.10"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-string-parser" "^7.25.9"
|
||||||
|
"@babel/helper-validator-identifier" "^7.25.9"
|
||||||
|
|
||||||
|
"@dcloudio/uni-ui@^1.5.6":
|
||||||
|
"integrity" "sha512-jmb98PasFvZkrIDXGh94GbdWg2/jyhgs1HUG+bU8eyL7Ltias/5XBz4q8w9RXyWUfqepJRqapPA2IIQpLCuTIg=="
|
||||||
|
"resolved" "https://registry.npmjs.org/@dcloudio/uni-ui/-/uni-ui-1.5.6.tgz"
|
||||||
|
"version" "1.5.6"
|
||||||
|
|
||||||
|
"@jridgewell/sourcemap-codec@^1.5.0":
|
||||||
|
"integrity" "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz"
|
||||||
|
"version" "1.5.0"
|
||||||
|
|
||||||
|
"@rollup/rollup-win32-x64-msvc@4.35.0":
|
||||||
|
"integrity" "sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.35.0.tgz"
|
||||||
|
"version" "4.35.0"
|
||||||
|
|
||||||
|
"@types/estree@1.0.6":
|
||||||
|
"integrity" "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz"
|
||||||
|
"version" "1.0.6"
|
||||||
|
|
||||||
|
"@vue/compiler-core@3.5.13":
|
||||||
|
"integrity" "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@babel/parser" "^7.25.3"
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
"entities" "^4.5.0"
|
||||||
|
"estree-walker" "^2.0.2"
|
||||||
|
"source-map-js" "^1.2.0"
|
||||||
|
|
||||||
|
"@vue/compiler-dom@3.5.13":
|
||||||
|
"integrity" "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@vue/compiler-core" "3.5.13"
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
|
||||||
|
"@vue/compiler-sfc@3.5.13":
|
||||||
|
"integrity" "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@babel/parser" "^7.25.3"
|
||||||
|
"@vue/compiler-core" "3.5.13"
|
||||||
|
"@vue/compiler-dom" "3.5.13"
|
||||||
|
"@vue/compiler-ssr" "3.5.13"
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
"estree-walker" "^2.0.2"
|
||||||
|
"magic-string" "^0.30.11"
|
||||||
|
"postcss" "^8.4.48"
|
||||||
|
"source-map-js" "^1.2.0"
|
||||||
|
|
||||||
|
"@vue/compiler-ssr@3.5.13":
|
||||||
|
"integrity" "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@vue/compiler-dom" "3.5.13"
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
|
||||||
|
"@vue/devtools-api@^7.7.2":
|
||||||
|
"integrity" "sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.2.tgz"
|
||||||
|
"version" "7.7.2"
|
||||||
|
dependencies:
|
||||||
|
"@vue/devtools-kit" "^7.7.2"
|
||||||
|
|
||||||
|
"@vue/devtools-kit@^7.7.2":
|
||||||
|
"integrity" "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.2.tgz"
|
||||||
|
"version" "7.7.2"
|
||||||
|
dependencies:
|
||||||
|
"@vue/devtools-shared" "^7.7.2"
|
||||||
|
"birpc" "^0.2.19"
|
||||||
|
"hookable" "^5.5.3"
|
||||||
|
"mitt" "^3.0.1"
|
||||||
|
"perfect-debounce" "^1.0.0"
|
||||||
|
"speakingurl" "^14.0.1"
|
||||||
|
"superjson" "^2.2.1"
|
||||||
|
|
||||||
|
"@vue/devtools-shared@^7.7.2":
|
||||||
|
"integrity" "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.2.tgz"
|
||||||
|
"version" "7.7.2"
|
||||||
|
dependencies:
|
||||||
|
"rfdc" "^1.4.1"
|
||||||
|
|
||||||
|
"@vue/reactivity@3.5.13":
|
||||||
|
"integrity" "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
|
||||||
|
"@vue/runtime-core@3.5.13":
|
||||||
|
"integrity" "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@vue/reactivity" "3.5.13"
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
|
||||||
|
"@vue/runtime-dom@3.5.13":
|
||||||
|
"integrity" "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@vue/reactivity" "3.5.13"
|
||||||
|
"@vue/runtime-core" "3.5.13"
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
"csstype" "^3.1.3"
|
||||||
|
|
||||||
|
"@vue/server-renderer@3.5.13":
|
||||||
|
"integrity" "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@vue/compiler-ssr" "3.5.13"
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
|
||||||
|
"@vue/shared@3.5.13":
|
||||||
|
"integrity" "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
|
||||||
|
"base-64@^1.0.0":
|
||||||
|
"integrity" "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/base-64/-/base-64-1.0.0.tgz"
|
||||||
|
"version" "1.0.0"
|
||||||
|
|
||||||
|
"birpc@^0.2.19":
|
||||||
|
"integrity" "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/birpc/-/birpc-0.2.19.tgz"
|
||||||
|
"version" "0.2.19"
|
||||||
|
|
||||||
|
"copy-anything@^3.0.2":
|
||||||
|
"integrity" "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz"
|
||||||
|
"version" "3.0.5"
|
||||||
|
dependencies:
|
||||||
|
"is-what" "^4.1.8"
|
||||||
|
|
||||||
|
"csstype@^3.1.3":
|
||||||
|
"integrity" "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz"
|
||||||
|
"version" "3.1.3"
|
||||||
|
|
||||||
|
"dayjs@^1.11.13":
|
||||||
|
"integrity" "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz"
|
||||||
|
"version" "1.11.13"
|
||||||
|
|
||||||
|
"echarts@^5.6.0":
|
||||||
|
"integrity" "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz"
|
||||||
|
"version" "5.6.0"
|
||||||
|
dependencies:
|
||||||
|
"tslib" "2.3.0"
|
||||||
|
"zrender" "5.6.1"
|
||||||
|
|
||||||
|
"entities@^4.5.0":
|
||||||
|
"integrity" "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz"
|
||||||
|
"version" "4.5.0"
|
||||||
|
|
||||||
|
"esbuild@^0.25.0":
|
||||||
|
"integrity" "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.1.tgz"
|
||||||
|
"version" "0.25.1"
|
||||||
|
optionalDependencies:
|
||||||
|
"@esbuild/aix-ppc64" "0.25.1"
|
||||||
|
"@esbuild/android-arm" "0.25.1"
|
||||||
|
"@esbuild/android-arm64" "0.25.1"
|
||||||
|
"@esbuild/android-x64" "0.25.1"
|
||||||
|
"@esbuild/darwin-arm64" "0.25.1"
|
||||||
|
"@esbuild/darwin-x64" "0.25.1"
|
||||||
|
"@esbuild/freebsd-arm64" "0.25.1"
|
||||||
|
"@esbuild/freebsd-x64" "0.25.1"
|
||||||
|
"@esbuild/linux-arm" "0.25.1"
|
||||||
|
"@esbuild/linux-arm64" "0.25.1"
|
||||||
|
"@esbuild/linux-ia32" "0.25.1"
|
||||||
|
"@esbuild/linux-loong64" "0.25.1"
|
||||||
|
"@esbuild/linux-mips64el" "0.25.1"
|
||||||
|
"@esbuild/linux-ppc64" "0.25.1"
|
||||||
|
"@esbuild/linux-riscv64" "0.25.1"
|
||||||
|
"@esbuild/linux-s390x" "0.25.1"
|
||||||
|
"@esbuild/linux-x64" "0.25.1"
|
||||||
|
"@esbuild/netbsd-arm64" "0.25.1"
|
||||||
|
"@esbuild/netbsd-x64" "0.25.1"
|
||||||
|
"@esbuild/openbsd-arm64" "0.25.1"
|
||||||
|
"@esbuild/openbsd-x64" "0.25.1"
|
||||||
|
"@esbuild/sunos-x64" "0.25.1"
|
||||||
|
"@esbuild/win32-arm64" "0.25.1"
|
||||||
|
"@esbuild/win32-ia32" "0.25.1"
|
||||||
|
"@esbuild/win32-x64" "0.25.1"
|
||||||
|
|
||||||
|
"estree-walker@^2.0.2":
|
||||||
|
"integrity" "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz"
|
||||||
|
"version" "2.0.2"
|
||||||
|
|
||||||
|
"hookable@^5.5.3":
|
||||||
|
"integrity" "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz"
|
||||||
|
"version" "5.5.3"
|
||||||
|
|
||||||
|
"is-what@^4.1.8":
|
||||||
|
"integrity" "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz"
|
||||||
|
"version" "4.1.16"
|
||||||
|
|
||||||
|
"magic-string@^0.30.11":
|
||||||
|
"integrity" "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz"
|
||||||
|
"version" "0.30.17"
|
||||||
|
dependencies:
|
||||||
|
"@jridgewell/sourcemap-codec" "^1.5.0"
|
||||||
|
|
||||||
|
"mitt@^3.0.1":
|
||||||
|
"integrity" "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz"
|
||||||
|
"version" "3.0.1"
|
||||||
|
|
||||||
|
"nanoid@^3.3.8":
|
||||||
|
"integrity" "sha512-vSJJTG+t/dIKAUhUDw/dLdZ9s//5OxcHqLaDWWrW4Cdq7o6tdLIczUkMXt2MBNmk6sJRZBZRXVixs7URY1CmIg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.10.tgz"
|
||||||
|
"version" "3.3.10"
|
||||||
|
|
||||||
|
"perfect-debounce@^1.0.0":
|
||||||
|
"integrity" "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz"
|
||||||
|
"version" "1.0.0"
|
||||||
|
|
||||||
|
"picocolors@^1.1.1":
|
||||||
|
"integrity" "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz"
|
||||||
|
"version" "1.1.1"
|
||||||
|
|
||||||
|
"pinia@^3.0.1":
|
||||||
|
"integrity" "sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/pinia/-/pinia-3.0.1.tgz"
|
||||||
|
"version" "3.0.1"
|
||||||
|
dependencies:
|
||||||
|
"@vue/devtools-api" "^7.7.2"
|
||||||
|
|
||||||
|
"postcss@^8.4.48", "postcss@^8.5.3":
|
||||||
|
"integrity" "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz"
|
||||||
|
"version" "8.5.3"
|
||||||
|
dependencies:
|
||||||
|
"nanoid" "^3.3.8"
|
||||||
|
"picocolors" "^1.1.1"
|
||||||
|
"source-map-js" "^1.2.1"
|
||||||
|
|
||||||
|
"rfdc@^1.4.1":
|
||||||
|
"integrity" "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz"
|
||||||
|
"version" "1.4.1"
|
||||||
|
|
||||||
|
"rollup@^4.30.1":
|
||||||
|
"integrity" "sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/rollup/-/rollup-4.35.0.tgz"
|
||||||
|
"version" "4.35.0"
|
||||||
|
dependencies:
|
||||||
|
"@types/estree" "1.0.6"
|
||||||
|
optionalDependencies:
|
||||||
|
"@rollup/rollup-android-arm-eabi" "4.35.0"
|
||||||
|
"@rollup/rollup-android-arm64" "4.35.0"
|
||||||
|
"@rollup/rollup-darwin-arm64" "4.35.0"
|
||||||
|
"@rollup/rollup-darwin-x64" "4.35.0"
|
||||||
|
"@rollup/rollup-freebsd-arm64" "4.35.0"
|
||||||
|
"@rollup/rollup-freebsd-x64" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-arm-gnueabihf" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-arm-musleabihf" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-arm64-gnu" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-arm64-musl" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-loongarch64-gnu" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-powerpc64le-gnu" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-riscv64-gnu" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-s390x-gnu" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-x64-gnu" "4.35.0"
|
||||||
|
"@rollup/rollup-linux-x64-musl" "4.35.0"
|
||||||
|
"@rollup/rollup-win32-arm64-msvc" "4.35.0"
|
||||||
|
"@rollup/rollup-win32-ia32-msvc" "4.35.0"
|
||||||
|
"@rollup/rollup-win32-x64-msvc" "4.35.0"
|
||||||
|
"fsevents" "~2.3.2"
|
||||||
|
|
||||||
|
"source-map-js@^1.2.0", "source-map-js@^1.2.1":
|
||||||
|
"integrity" "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz"
|
||||||
|
"version" "1.2.1"
|
||||||
|
|
||||||
|
"speakingurl@^14.0.1":
|
||||||
|
"integrity" "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz"
|
||||||
|
"version" "14.0.1"
|
||||||
|
|
||||||
|
"superjson@^2.2.1":
|
||||||
|
"integrity" "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/superjson/-/superjson-2.2.2.tgz"
|
||||||
|
"version" "2.2.2"
|
||||||
|
dependencies:
|
||||||
|
"copy-anything" "^3.0.2"
|
||||||
|
|
||||||
|
"tslib@2.3.0":
|
||||||
|
"integrity" "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz"
|
||||||
|
"version" "2.3.0"
|
||||||
|
|
||||||
|
"vite@^6.2.2":
|
||||||
|
"integrity" "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/vite/-/vite-6.2.2.tgz"
|
||||||
|
"version" "6.2.2"
|
||||||
|
dependencies:
|
||||||
|
"esbuild" "^0.25.0"
|
||||||
|
"postcss" "^8.5.3"
|
||||||
|
"rollup" "^4.30.1"
|
||||||
|
optionalDependencies:
|
||||||
|
"fsevents" "~2.3.3"
|
||||||
|
|
||||||
|
"vue@^2.7.0 || ^3.5.11", "vue@3.5.13":
|
||||||
|
"integrity" "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz"
|
||||||
|
"version" "3.5.13"
|
||||||
|
dependencies:
|
||||||
|
"@vue/compiler-dom" "3.5.13"
|
||||||
|
"@vue/compiler-sfc" "3.5.13"
|
||||||
|
"@vue/runtime-dom" "3.5.13"
|
||||||
|
"@vue/server-renderer" "3.5.13"
|
||||||
|
"@vue/shared" "3.5.13"
|
||||||
|
|
||||||
|
"zrender@5.6.1":
|
||||||
|
"integrity" "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag=="
|
||||||
|
"resolved" "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz"
|
||||||
|
"version" "5.6.1"
|
||||||
|
dependencies:
|
||||||
|
"tslib" "2.3.0"
|
Loading…
Reference in New Issue
Block a user