1
This commit is contained in:
196
components/da-tree/changelog.md
Normal file
196
components/da-tree/changelog.md
Normal file
File diff suppressed because it is too large
Load Diff
1181
components/da-tree/index.vue
Normal file
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
197
components/da-tree/props.ts
Normal file
File diff suppressed because it is too large
Load Diff
310
components/da-tree/readme.md
Normal file
310
components/da-tree/readme.md
Normal file
File diff suppressed because it is too large
Load Diff
150
components/da-tree/utils.ts
Normal file
150
components/da-tree/utils.ts
Normal file
File diff suppressed because it is too large
Load Diff
80
components/my-tabBar/my-tabBar.vue
Normal file
80
components/my-tabBar/my-tabBar.vue
Normal 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>
|
||||
67
components/n-scanTemp/n-scanTemp.vue
Normal file
67
components/n-scanTemp/n-scanTemp.vue
Normal 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', ''],
|
||||
['dailyCheck', ''],
|
||||
['maintain', ''],
|
||||
['periodCheck', ''],
|
||||
['calibration', ''],
|
||||
['accept', ''],
|
||||
['transfer', '']
|
||||
])
|
||||
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>
|
||||
136
components/n-upload/n-upload.vue
Normal file
136
components/n-upload/n-upload.vue
Normal file
File diff suppressed because it is too large
Load Diff
557
components/n-verify/n-verify.vue
Normal file
557
components/n-verify/n-verify.vue
Normal file
File diff suppressed because it is too large
Load Diff
17
components/n-verify/utils/aes.js
Normal file
17
components/n-verify/utils/aes.js
Normal 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
Reference in New Issue
Block a user