This commit is contained in:
houjunxiang
2025-10-09 18:19:55 +08:00
parent f2ffc65094
commit 386f1e7466
1553 changed files with 284685 additions and 32820 deletions

File diff suppressed because it is too large Load Diff

1181
components/da-tree/index.vue Normal file

File diff suppressed because it is too large Load Diff

197
components/da-tree/props.ts Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

150
components/da-tree/utils.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,80 @@
//my-tabbar文件
<template>
<view>
<u-tabbar
:value="currentTab"
:fixed="true"
:border="false"
activeColor="#0055a2"
:placeholder="false"
@change="changeTabIndex"
>
<u-tabbar-item
v-for="item in switchTabs"
:key="item.name"
:text="item.text"
:icon="item.iconName"
></u-tabbar-item>
</u-tabbar>
</view>
</template>
<script setup>
import { computed, reactive } from 'vue'
let props = defineProps({
currentTab: {
type: Number,
default: 0
}
})
const switchTabs = reactive([
{
pagePath: '/pages/lims/index/index',
iconName: 'home',
text: '首页',
name: 'home'
},
{
pagePath: '/pages/me/index',
iconName: 'account',
text: '我的',
name: 'account'
}
])
// const switchTabs = computed(() => {
// return [
// {
// pagePath: '/pages/lims/index/index',
// iconName: 'home',
// text: '首页',
// name: 'home'
// },
// {
// pagePath: '/pages/me/index',
// iconName: 'account',
// text: '我的',
// name: 'account'
// }
// ]
// })
function changeTabIndex(e) {
let pagePath = switchTabs[e].pagePath
uni.switchTab({
url: pagePath
})
}
</script>
<style lang="scss" scoped>
::v-deep .u-tabbar__content {
background-color: #f2f2f2;
padding: 10rpx 0;
.u-icon__icon {
font-size: 54rpx !important;
}
.u-tabbar-item__text {
font-size: 38rpx;
}
}
</style>

View File

@@ -0,0 +1,67 @@
<template>
<view class="content">
<view class="x-c">
<image style="width: 80px; height: 80px" :src="`/static/images/menus/${icon}.png`"></image>
</view>
<view class="pt50 pb50 fs30">
<span>{{ title }}</span>
</view>
<view class="x-c">
<u-icon size="150" color="#0055A2" name="scan"></u-icon>
</view>
<!-- #ifdef H5 -->
<up-search
shape="square"
placeholder="请输入设备id"
actionText="查询"
:clearabled="false"
:showAction="true"
@custom="handleInputSearch"
></up-search>
<!-- #endif -->
</view>
</template>
<script setup>
let props = defineProps({
title: {
type: String,
default: '请扫描设备'
},
icon: {
type: String,
default: 'useRecord'
}
})
const emits = defineEmits(['deviceId'])
const customIconsMap = new Map([
['useRecord', '&#xe66e;'],
['dailyCheck', '&#xe614;'],
['maintain', '&#xe60e;'],
['periodCheck', '&#xe676;'],
['calibration', '&#xe83b;'],
['accept', '&#xe6de;'],
['transfer', '&#xe603;']
])
function iconMap(key) {
return customIconsMap.get(key)
}
function handleInputSearch(e) {
emits('deviceId', e)
}
</script>
<style lang="scss" scoped>
@font-face {
font-family: 'CustomFont';
src: url('@/static/iconfont/iconfont.ttf');
}
.content {
padding-top: 100px;
text-align: center;
background-color: #fff;
box-sizing: border-box;
height: 100%;
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
import CryptoJS from 'crypto-js';
/**
* 使用 AES-ECB 模式 + PKCS7 填充对字符串进行加密
* @param {string} word - 需要加密的明文
* @param {string} [keyWord='XwKsGlMcdPMEhR1B'] - 加密密钥,默认为 aj-captcha 默认密钥
* @returns {string} - 加密后的密文
*/
export function aesEncrypt(word, keyWord = 'XwKsGlMcdPMEhR1B') {
const key = CryptoJS.enc.Utf8.parse(keyWord);
const srcs = CryptoJS.enc.Utf8.parse(word);
const encrypted = CryptoJS.AES.encrypt(srcs, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
});
return encrypted.toString();
}

Some files were not shown because too many files have changed in this diff Show More