xiabin
9
.editorconfig
Normal file
@ -0,0 +1,9 @@
|
||||
root = true
|
||||
|
||||
[*.{js,jsx,ts,tsx,vue}]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
end_of_line = auto
|
6
.env.development
Normal file
@ -0,0 +1,6 @@
|
||||
# 开发环境
|
||||
VITE_PORT = 9000
|
||||
VITE_APP_NAME = 'digital-agriculture-screen'
|
||||
VITE_APP_TITLE = '政务云数字农业智慧大屏'
|
||||
VITE_APP_BASE_API = '/apis'
|
||||
VITE_APP_BASE_URL = 'http://192.168.18.99:8080'
|
5
.env.production
Normal file
@ -0,0 +1,5 @@
|
||||
# 生产环境
|
||||
VITE_APP_NAME = 'digital-agriculture-screen'
|
||||
VITE_APP_TITLE = '政务云数字农业智慧大屏'
|
||||
VITE_APP_BASE_API = '/apis'
|
||||
VITE_APP_BASE_URL = ''
|
5
.env.test
Normal file
@ -0,0 +1,5 @@
|
||||
# 测试环境
|
||||
VITE_APP_NAME = 'digital-agriculture-screen'
|
||||
VITE_APP_TITLE = '政务云数字农业智慧大屏'
|
||||
VITE_APP_BASE_API = '/apis'
|
||||
VITE_APP_BASE_URL = ''
|
14
.eslintignore
Normal file
@ -0,0 +1,14 @@
|
||||
*.sh
|
||||
*.md
|
||||
*.woff
|
||||
*.ttf
|
||||
.vscode
|
||||
.idea
|
||||
.husky
|
||||
.local
|
||||
dist
|
||||
src/assets
|
||||
node_modules
|
||||
Dockerfile
|
||||
stats.html
|
||||
tailwind.config.js
|
62
.eslintrc.cjs
Normal file
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* @Descripttion: .eslintrc.cjs
|
||||
* 在VSCode中安装ESLint插件,编写过程中检测代码质量
|
||||
* ESLint 代码质量校验相关配置
|
||||
* 这里使用prettier作为代码格式化工具,用ESLint做代码质检
|
||||
* 相关配置使用下面extends扩展先做默认设置
|
||||
* 在.prettierrc.cjs文件中配置好后,格式化规则会以.prettierrc.cjs作为最终格式,所以不建议在本文件中做代码格式化相关配置
|
||||
* 相关prettier配置ESLint会默认加载为代码质检 格式化以prettier为主
|
||||
* 在本配置文件中只做代码质量约束规范配置
|
||||
* @Author: zenghua.wang
|
||||
* @Date: 2022-09-22 15:53:58
|
||||
* @LastEditors: zenghua.wang
|
||||
* @LastEditTime: 2024-03-22 10:19:39
|
||||
*/
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es2021: true,
|
||||
node: true,
|
||||
},
|
||||
extends: [
|
||||
'eslint-config-prettier',
|
||||
'eslint:recommended',
|
||||
// 'plugin:@typescript-eslint/recommended',
|
||||
'plugin:vue/vue3-recommended',
|
||||
'plugin:vue/vue3-essential',
|
||||
'plugin:prettier/recommended',
|
||||
],
|
||||
overrides: [
|
||||
{
|
||||
env: {
|
||||
node: true,
|
||||
},
|
||||
files: ['.eslintrc.{js,cjs}'],
|
||||
parserOptions: {
|
||||
sourceType: 'script',
|
||||
},
|
||||
},
|
||||
],
|
||||
parserOptions: {
|
||||
ecmaVersion: 'latest',
|
||||
sourceType: 'module',
|
||||
requireConfigFile: false,
|
||||
parser: '@babel/eslint-parser',
|
||||
// parser: '@typescript-eslint/parser',
|
||||
},
|
||||
plugins: ['vue', 'prettier'],
|
||||
globals: {
|
||||
defineProps: 'readonly',
|
||||
defineEmits: 'readonly',
|
||||
defineExpose: 'readonly',
|
||||
withDefaults: 'readonly',
|
||||
},
|
||||
// 这里时配置规则的,自己看情况配置
|
||||
rules: {
|
||||
'prettier/prettier': 'error',
|
||||
'no-debugger': 'off',
|
||||
'no-unused-vars': 'off',
|
||||
'vue/no-unused-vars': 'off',
|
||||
'vue/multi-word-component-names': 'off',
|
||||
},
|
||||
};
|
115
.gitignore
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Snowpack dependency directory (https://snowpack.dev/)
|
||||
web_modules/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Microbundle cache
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
# .env
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
.parcel-cache
|
||||
|
||||
# Next.js build output
|
||||
.next
|
||||
out
|
||||
|
||||
# Nuxt.js build / generate output
|
||||
.nuxt
|
||||
dist
|
||||
|
||||
# Gatsby files
|
||||
.cache/
|
||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||
# public
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
.dynamodb/
|
||||
|
||||
# TernJS port file
|
||||
.tern-port
|
||||
|
||||
# Stores VSCode versions used for testing VSCode extensions
|
||||
.vscode-test
|
||||
|
||||
# yarn v2
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.*
|
20
.prettierignore
Normal file
@ -0,0 +1,20 @@
|
||||
## OS
|
||||
.DS_Store
|
||||
node_modules
|
||||
.idea
|
||||
.editorconfig
|
||||
package-lock.json
|
||||
.npmrc
|
||||
|
||||
# Ignored suffix
|
||||
*.log
|
||||
*.md
|
||||
*.svg
|
||||
*.png
|
||||
*ignore
|
||||
|
||||
## Local
|
||||
|
||||
## Built-files
|
||||
.cache
|
||||
dist
|
52
.prettierrc.cjs
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* @Descripttion: .prettierrc.cjs
|
||||
* 在VSCode中安装prettier插件 打开插件配置填写`.prettierrc.js` 将本文件作为其代码格式化规范
|
||||
* 在本文件中修改格式化规则,不会同时触发改变ESLint代码检查,所以每次修改本文件需要重启VSCode,ESLint检查才能同步代码格式化
|
||||
* 需要相应的代码格式化规范请自行查阅配置,下面为默认项目配置
|
||||
* @Author: zenghua.wang
|
||||
* @Date: 2022-09-22 15:53:58
|
||||
* @LastEditors: zenghua.wang
|
||||
* @LastEditTime: 2024-01-24 19:22:25
|
||||
*/
|
||||
module.exports = {
|
||||
// 一行最多多少个字符
|
||||
printWidth: 150,
|
||||
// 指定每个缩进级别的空格数
|
||||
tabWidth: 2,
|
||||
// 使用制表符而不是空格缩进行
|
||||
useTabs: false,
|
||||
// 在语句末尾是否需要分号
|
||||
semi: true,
|
||||
// 是否使用单引号
|
||||
singleQuote: true,
|
||||
// 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>"
|
||||
quoteProps: 'as-needed',
|
||||
// 在JSX中使用单引号而不是双引号
|
||||
jsxSingleQuote: false,
|
||||
// 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none
|
||||
trailingComma: 'es5',
|
||||
// 在对象文字中的括号之间打印空格
|
||||
bracketSpacing: true,
|
||||
// jsx 标签的反尖括号需要换行
|
||||
jsxBracketSameLine: false,
|
||||
// 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x
|
||||
arrowParens: 'always',
|
||||
// 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码
|
||||
rangeStart: 0,
|
||||
rangeEnd: Infinity,
|
||||
// 指定要使用的解析器,不需要写文件开头的 @prettier
|
||||
requirePragma: false,
|
||||
// 不需要自动在文件开头插入 @prettier
|
||||
insertPragma: false,
|
||||
// 使用默认的折行标准 always\never\preserve
|
||||
proseWrap: 'preserve',
|
||||
// 指定HTML文件的全局空格敏感度 css\strict\ignore
|
||||
htmlWhitespaceSensitivity: 'css',
|
||||
// Vue文件脚本和样式标签缩进
|
||||
vueIndentScriptAndStyle: false,
|
||||
//在 windows 操作系统中换行符通常是回车 (CR) 加换行分隔符 (LF),也就是回车换行(CRLF),
|
||||
//然而在 Linux 和 Unix 中只使用简单的换行分隔符 (LF)。
|
||||
//对应的控制字符为 "\n" (LF) 和 "\r\n"(CRLF)。auto意为保持现有的行尾
|
||||
// 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>"
|
||||
endOfLine: 'auto',
|
||||
};
|
17
.stylelintignore
Normal file
@ -0,0 +1,17 @@
|
||||
# .stylelintignore
|
||||
# 旧的不需打包的样式库
|
||||
*.min.css
|
||||
|
||||
# 其他类型文件
|
||||
*.js
|
||||
*.jpg
|
||||
*.png
|
||||
*.eot
|
||||
*.ttf
|
||||
*.woff
|
||||
*.json
|
||||
|
||||
# 测试和打包目录
|
||||
/dist/*
|
||||
/node_modules/*
|
||||
/src/assets/*
|
131
.stylelintrc.cjs
Normal file
@ -0,0 +1,131 @@
|
||||
/*
|
||||
* @Descripttion: .stylelintrc.cjs
|
||||
* @Author: zenghua.wang
|
||||
* @Date: 2022-09-22 15:53:58
|
||||
* @LastEditors: zenghua.wang
|
||||
* @LastEditTime: 2024-01-24 18:49:26
|
||||
*/
|
||||
module.exports = {
|
||||
root: true,
|
||||
plugins: ['stylelint-order', 'stylelint-scss'],
|
||||
extends: [
|
||||
'stylelint-config-standard',
|
||||
'stylelint-config-standard-scss',
|
||||
'stylelint-config-prettier',
|
||||
'stylelint-config-html/vue',
|
||||
'stylelint-config-recommended-vue',
|
||||
'stylelint-config-recommended-scss'
|
||||
],
|
||||
overrides: [
|
||||
{
|
||||
files: ['**/*.{html,vue}'],
|
||||
customSyntax: 'postcss-html'
|
||||
}
|
||||
],
|
||||
rules: {
|
||||
indentation: 2,
|
||||
'selector-pseudo-element-no-unknown': [
|
||||
true,
|
||||
{
|
||||
ignorePseudoElements: ['v-deep', ':deep']
|
||||
}
|
||||
],
|
||||
'number-leading-zero': 'always',
|
||||
'no-descending-specificity': null,
|
||||
'function-url-quotes': 'always',
|
||||
'string-quotes': 'single',
|
||||
'unit-case': null,
|
||||
'color-hex-case': 'lower',
|
||||
'color-hex-length': 'long',
|
||||
'rule-empty-line-before': 'never',
|
||||
'font-family-no-missing-generic-family-keyword': null,
|
||||
'selector-type-no-unknown': null,
|
||||
'block-opening-brace-space-before': 'always',
|
||||
'at-rule-no-unknown': null,
|
||||
'no-duplicate-selectors': null,
|
||||
'property-no-unknown': null,
|
||||
'no-empty-source': null,
|
||||
'selector-class-pattern': null,
|
||||
'keyframes-name-pattern': null,
|
||||
'selector-pseudo-class-no-unknown': [true, { ignorePseudoClasses: ['global', 'deep'] }],
|
||||
'function-no-unknown': null,
|
||||
'order/properties-order': [
|
||||
'position',
|
||||
'top',
|
||||
'right',
|
||||
'bottom',
|
||||
'left',
|
||||
'z-index',
|
||||
'display',
|
||||
'justify-content',
|
||||
'align-items',
|
||||
'float',
|
||||
'clear',
|
||||
'overflow',
|
||||
'overflow-x',
|
||||
'overflow-y',
|
||||
'margin',
|
||||
'margin-top',
|
||||
'margin-right',
|
||||
'margin-bottom',
|
||||
'margin-left',
|
||||
'padding',
|
||||
'padding-top',
|
||||
'padding-right',
|
||||
'padding-bottom',
|
||||
'padding-left',
|
||||
'width',
|
||||
'min-width',
|
||||
'max-width',
|
||||
'height',
|
||||
'min-height',
|
||||
'max-height',
|
||||
'font-size',
|
||||
'font-family',
|
||||
'font-weight',
|
||||
'border',
|
||||
'border-style',
|
||||
'border-width',
|
||||
'border-color',
|
||||
'border-top',
|
||||
'border-top-style',
|
||||
'border-top-width',
|
||||
'border-top-color',
|
||||
'border-right',
|
||||
'border-right-style',
|
||||
'border-right-width',
|
||||
'border-right-color',
|
||||
'border-bottom',
|
||||
'border-bottom-style',
|
||||
'border-bottom-width',
|
||||
'border-bottom-color',
|
||||
'border-left',
|
||||
'border-left-style',
|
||||
'border-left-width',
|
||||
'border-left-color',
|
||||
'border-radius',
|
||||
'text-align',
|
||||
'text-justify',
|
||||
'text-indent',
|
||||
'text-overflow',
|
||||
'text-decoration',
|
||||
'white-space',
|
||||
'color',
|
||||
'background',
|
||||
'background-position',
|
||||
'background-repeat',
|
||||
'background-size',
|
||||
'background-color',
|
||||
'background-clip',
|
||||
'opacity',
|
||||
'filter',
|
||||
'list-style',
|
||||
'outline',
|
||||
'visibility',
|
||||
'box-shadow',
|
||||
'text-shadow',
|
||||
'resize',
|
||||
'transition'
|
||||
]
|
||||
}
|
||||
};
|
75
auto-imports.d.ts
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// noinspection JSUnusedGlobalSymbols
|
||||
// Generated by unplugin-auto-import
|
||||
export {}
|
||||
declare global {
|
||||
const EffectScope: typeof import('vue')['EffectScope']
|
||||
const computed: typeof import('vue')['computed']
|
||||
const createApp: typeof import('vue')['createApp']
|
||||
const customRef: typeof import('vue')['customRef']
|
||||
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
||||
const defineComponent: typeof import('vue')['defineComponent']
|
||||
const effectScope: typeof import('vue')['effectScope']
|
||||
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||
const h: typeof import('vue')['h']
|
||||
const inject: typeof import('vue')['inject']
|
||||
const isProxy: typeof import('vue')['isProxy']
|
||||
const isReactive: typeof import('vue')['isReactive']
|
||||
const isReadonly: typeof import('vue')['isReadonly']
|
||||
const isRef: typeof import('vue')['isRef']
|
||||
const markRaw: typeof import('vue')['markRaw']
|
||||
const nextTick: typeof import('vue')['nextTick']
|
||||
const onActivated: typeof import('vue')['onActivated']
|
||||
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
||||
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
|
||||
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
|
||||
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
||||
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
||||
const onDeactivated: typeof import('vue')['onDeactivated']
|
||||
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
||||
const onMounted: typeof import('vue')['onMounted']
|
||||
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
||||
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
||||
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
||||
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
||||
const onUnmounted: typeof import('vue')['onUnmounted']
|
||||
const onUpdated: typeof import('vue')['onUpdated']
|
||||
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
|
||||
const provide: typeof import('vue')['provide']
|
||||
const reactive: typeof import('vue')['reactive']
|
||||
const readonly: typeof import('vue')['readonly']
|
||||
const ref: typeof import('vue')['ref']
|
||||
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||
const shallowRef: typeof import('vue')['shallowRef']
|
||||
const toRaw: typeof import('vue')['toRaw']
|
||||
const toRef: typeof import('vue')['toRef']
|
||||
const toRefs: typeof import('vue')['toRefs']
|
||||
const toValue: typeof import('vue')['toValue']
|
||||
const triggerRef: typeof import('vue')['triggerRef']
|
||||
const unref: typeof import('vue')['unref']
|
||||
const useAttrs: typeof import('vue')['useAttrs']
|
||||
const useCssModule: typeof import('vue')['useCssModule']
|
||||
const useCssVars: typeof import('vue')['useCssVars']
|
||||
const useId: typeof import('vue')['useId']
|
||||
const useLink: typeof import('vue-router')['useLink']
|
||||
const useModel: typeof import('vue')['useModel']
|
||||
const useRoute: typeof import('vue-router')['useRoute']
|
||||
const useRouter: typeof import('vue-router')['useRouter']
|
||||
const useSlots: typeof import('vue')['useSlots']
|
||||
const useTemplateRef: typeof import('vue')['useTemplateRef']
|
||||
const watch: typeof import('vue')['watch']
|
||||
const watchEffect: typeof import('vue')['watchEffect']
|
||||
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
||||
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
||||
}
|
||||
// for type re-export
|
||||
declare global {
|
||||
// @ts-ignore
|
||||
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
||||
import('vue')
|
||||
}
|
51
components.d.ts
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// Generated by unplugin-vue-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
export {}
|
||||
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents {
|
||||
BaseBg: typeof import('./src/components/baseBg.vue')['default']
|
||||
CenterMap: typeof import('./src/components/centerMap.vue')['default']
|
||||
'CenterMap copy': typeof import('./src/components/centerMap copy.vue')['default']
|
||||
CodeDialog: typeof import('./src/components/code-dialog/index.vue')['default']
|
||||
Components: typeof import('./src/components/index.js')['default']
|
||||
copy: typeof import('./src/components/centerMap copy.vue')['default']
|
||||
CurrentTime: typeof import('./src/components/currentTime.vue')['default']
|
||||
CustomBack: typeof import('./src/components/customBack.vue')['default']
|
||||
CustomCarouselPicture: typeof import('./src/components/custom-carousel-picture/index.vue')['default']
|
||||
CustomEchartBar: typeof import('./src/components/custom-echart-bar/index.vue')['default']
|
||||
CustomEchartBubble: typeof import('./src/components/custom-echart-bubble/index.vue')['default']
|
||||
CustomEchartColumnLine: typeof import('./src/components/custom-echart-column-line/index.vue')['default']
|
||||
CustomEchartHyalineCake: typeof import('./src/components/custom-echart-hyaline-cake/index.vue')['default']
|
||||
CustomEchartLine: typeof import('./src/components/custom-echart-line/index.vue')['default']
|
||||
CustomEchartLineLine: typeof import('./src/components/custom-echart-line-line/index.vue')['default']
|
||||
CustomEchartMaps: typeof import('./src/components/custom-echart-maps/index.vue')['default']
|
||||
CustomEchartMixin: typeof import('./src/components/custom-echart-mixin/index.vue')['default']
|
||||
CustomEchartPictorialBar: typeof import('./src/components/custom-echart-pictorial-bar/index.vue')['default']
|
||||
CustomEchartPie: typeof import('./src/components/custom-echart-pie/index.vue')['default']
|
||||
CustomEchartPie3d: typeof import('./src/components/custom-echart-pie-3d/index.vue')['default']
|
||||
CustomEchartPieGauge: typeof import('./src/components/custom-echart-pie-gauge/index.vue')['default']
|
||||
CustomEchartRadar: typeof import('./src/components/custom-echart-radar/index.vue')['default']
|
||||
CustomEchartScatterBlister: typeof import('./src/components/custom-echart-scatter-blister/index.vue')['default']
|
||||
CustomEchartTriangle: typeof import('./src/components/custom-echart-triangle/index.vue')['default']
|
||||
CustomEchartWaterDroplet: typeof import('./src/components/custom-echart-water-droplet/index.vue')['default']
|
||||
CustomEchartWordCloud: typeof import('./src/components/custom-echart-word-cloud/index.vue')['default']
|
||||
CustomIframe: typeof import('./src/components/custom-iframe/index.vue')['default']
|
||||
CustomImportExcel: typeof import('./src/components/custom-import-excel/index.vue')['default']
|
||||
CustomProgress: typeof import('./src/components/customProgress.vue')['default']
|
||||
CustomRankList: typeof import('./src/components/custom-rank-list/index.vue')['default']
|
||||
CustomRichEditor: typeof import('./src/components/custom-rich-editor/index.vue')['default']
|
||||
CustomScrollBoard: typeof import('./src/components/custom-scroll-board/index.vue')['default']
|
||||
CustomScrollTitle: typeof import('./src/components/custom-scroll-title/index.vue')['default']
|
||||
CustomTableOperate: typeof import('./src/components/custom-table-operate/index.vue')['default']
|
||||
CustomTableTree: typeof import('./src/components/custom-table-tree/index.vue')['default']
|
||||
RouterLink: typeof import('vue-router')['RouterLink']
|
||||
RouterView: typeof import('vue-router')['RouterView']
|
||||
SubTop: typeof import('./src/components/subTop.vue')['default']
|
||||
SvgIcon: typeof import('./src/components/svg-icon/index.vue')['default']
|
||||
UpFile: typeof import('./src/components/custom-rich-editor/upFile.js')['default']
|
||||
}
|
||||
}
|
16
index.html
Normal file
@ -0,0 +1,16 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/logo.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>政务云数字农业智慧大屏</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
84
package.json
Normal file
@ -0,0 +1,84 @@
|
||||
{
|
||||
"name": "digital-agriculture-screen",
|
||||
"private": true,
|
||||
"version": "0.0.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --mode development",
|
||||
"build": "vite build --mode production",
|
||||
"test": "vite build --mode test",
|
||||
"preview": "vite preview",
|
||||
"format": "prettier --write 'src/**/*.{vue,ts,tsx,js,jsx,css,less,scss,json,md}'",
|
||||
"eslint": "npx eslint --init",
|
||||
"lint": "npm run lint:script && npm run lint:style",
|
||||
"lint:style": "stylelint 'src/**/*.{vue,scss,css,sass,less}' --fix",
|
||||
"lint:script": "eslint --ext .js,.ts,.tsx,.vue --fix --quiet ./src"
|
||||
},
|
||||
"dependencies": {
|
||||
"@element-plus/icons-vue": "^2.3.1",
|
||||
"@smallwei/avue": "^3.6.2",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||
"animate.css": "^4.1.1",
|
||||
"axios": "^1.6.5",
|
||||
"echarts": "^5.6.0",
|
||||
"echarts-gl": "^2.0.9",
|
||||
"echarts-liquidfill": "^3.1.0",
|
||||
"echarts-wordcloud": "^2.1.0",
|
||||
"@vuemap/vue-amap": "^2.0",
|
||||
"@vuemap/vue-amap-loca": "^2.0",
|
||||
"element-plus": "^2.7.2",
|
||||
"js-base64": "^3.7.6",
|
||||
"lodash": "^4.17.21",
|
||||
"moment": "^2.30.1",
|
||||
"nprogress": "^0.2.0",
|
||||
"path-browserify": "^1.0.1",
|
||||
"pinia": "^2.1.7",
|
||||
"pinia-plugin-persistedstate": "^3.2.1",
|
||||
"screenfull": "^6.0.2",
|
||||
"vue": "^3.3.11",
|
||||
"vue-cesium": "^3.2.9",
|
||||
"vue-echarts": "^7.0.3",
|
||||
"vue-router": "^4.2.5",
|
||||
"vue3-scroll-seamless": "^1.0.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.23.7",
|
||||
"@babel/eslint-parser": "^7.23.3",
|
||||
"@types/path-browserify": "^1.0.2",
|
||||
"@vitejs/plugin-vue": "^4.5.2",
|
||||
"autoprefixer": "^10.4.17",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"eslint-plugin-vue": "^9.20.1",
|
||||
"mockjs": "^1.1.0",
|
||||
"postcss": "^8.4.33",
|
||||
"postcss-html": "^1.6.0",
|
||||
"postcss-import": "^16.0.0",
|
||||
"prettier": "^3.2.4",
|
||||
"sass": "^1.70.0",
|
||||
"stylelint": "^16.2.0",
|
||||
"stylelint-config-html": "^1.1.0",
|
||||
"stylelint-config-prettier": "^9.0.5",
|
||||
"stylelint-config-rational-order": "^0.1.2",
|
||||
"stylelint-config-recommended": "^14.0.0",
|
||||
"stylelint-config-recommended-scss": "^14.0.0",
|
||||
"stylelint-config-recommended-vue": "^1.5.0",
|
||||
"stylelint-config-standard": "^36.0.0",
|
||||
"stylelint-config-standard-scss": "^13.0.0",
|
||||
"stylelint-order": "^6.0.4",
|
||||
"stylelint-scss": "^6.1.0",
|
||||
"terser": "^5.27.0",
|
||||
"unplugin-auto-import": "^0.17.3",
|
||||
"unplugin-vue-components": "^0.26.0",
|
||||
"vite": "^5.0.8",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-eslint": "^1.8.1",
|
||||
"vite-plugin-mock": "^3.0.1",
|
||||
"vite-plugin-progress": "^0.0.7",
|
||||
"vite-plugin-qiankun": "^1.0.15",
|
||||
"vite-plugin-svg-icons": "^2.0.1",
|
||||
"vite-plugin-vue-setup-extend": "^0.4.0"
|
||||
}
|
||||
}
|
BIN
public/images/avatar.gif
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
public/logo.png
Normal file
After Width: | Height: | Size: 12 KiB |
21
src/App.vue
Normal file
@ -0,0 +1,21 @@
|
||||
<template>
|
||||
<el-config-provider :size="size" :locale="zhCn">
|
||||
<router-view />
|
||||
</el-config-provider>
|
||||
</template>
|
||||
|
||||
<script setup name="app">
|
||||
import { computed, ref, onMounted, onUnmounted } from 'vue';
|
||||
import { useSettingStore } from '@/store/modules/setting';
|
||||
// 配置element中文
|
||||
import zhCn from 'element-plus/es/locale/lang/zh-cn';
|
||||
import { createApp } from 'vue';
|
||||
import App from './App.vue';
|
||||
|
||||
const SettingStore = useSettingStore();
|
||||
// 配置全局组件大小
|
||||
const size = computed(() => SettingStore.themeConfig.globalComSize);
|
||||
</script>
|
||||
<style lang="scss">
|
||||
@import './styles/style';
|
||||
</style>
|
35
src/apis/index.js
Normal file
@ -0,0 +1,35 @@
|
||||
// import request from '@/utils/axios';
|
||||
// import { isEmpty } from '@/utils';
|
||||
|
||||
// /**
|
||||
// * @Title: 获取字典
|
||||
// */
|
||||
// export function CommonDicData(params = { pageNum: 1, pageSize: 20, dictType: null }) {
|
||||
// if (isEmpty(params?.dictType)) return;
|
||||
// return request(`/system/dict/data/list`, {
|
||||
// method: 'GET',
|
||||
// apisType: 'dicData',
|
||||
// params,
|
||||
// });
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * @Title: 上传图片
|
||||
// */
|
||||
// export function CommonUpload(data, params) {
|
||||
// return request(`/upload`, {
|
||||
// method: 'POST',
|
||||
// apisType: 'upload',
|
||||
// uploadType: 'multipart/form-data',
|
||||
// data,
|
||||
// params,
|
||||
// });
|
||||
// }
|
||||
|
||||
// //云南省所有区域信息
|
||||
// export function getRegion(code) {
|
||||
// let codeVal = code ? code : '530000';
|
||||
// return request('/system/area/region?areaCode=' + codeVal, {
|
||||
// method: 'GET',
|
||||
// });
|
||||
// }
|
11
src/apis/inputs.js
Normal file
@ -0,0 +1,11 @@
|
||||
import request from '@/utils/axios';
|
||||
|
||||
/**
|
||||
* @Title: 获取投入品信息
|
||||
* https://doc.apipost.net/docs/detail/4516a8efdce0000?target_id=f010812312008&locale=zh-cn
|
||||
*/
|
||||
export function GetInputsInfo(code) {
|
||||
return request('/inputGoods/inputView/getData', {
|
||||
method: 'GET',
|
||||
});
|
||||
}
|
11
src/apis/land.js
Normal file
@ -0,0 +1,11 @@
|
||||
import request from '@/utils/axios';
|
||||
|
||||
/**
|
||||
* @Title: 获取土地信息
|
||||
* https://doc.apipost.net/docs/detail/4516a8efdce0000?target_id=f010812312008&locale=zh-cn
|
||||
*/
|
||||
export function GetLandInfo(code) {
|
||||
return request('/inputGoods/inputView/getData', {
|
||||
method: 'GET',
|
||||
});
|
||||
}
|
BIN
src/assets/fonts/DingTalk JinBuTi.ttf
Normal file
BIN
src/assets/fonts/DingTalk Sans.ttf
Normal file
15
src/assets/fonts/font.css
Normal file
@ -0,0 +1,15 @@
|
||||
@font-face {
|
||||
font-family: 'JinBuTi';
|
||||
/* 自定义字体名称 */
|
||||
src: url('./DingTalk JinBuTi.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Sans';
|
||||
/* 自定义字体名称 */
|
||||
src: url('./DingTalk Sans.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
BIN
src/assets/images/basic/containerBG.png
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
src/assets/images/basic/containerBotBG.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
src/assets/images/basic/footerBG.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
src/assets/images/basic/footerBtnTextBG.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src/assets/images/basic/headerBG.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
src/assets/images/basic/leftArrowIcon.png
Normal file
After Width: | Height: | Size: 517 B |
BIN
src/assets/images/basic/leftTitleBG.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
src/assets/images/basic/rightArrowIcon.png
Normal file
After Width: | Height: | Size: 517 B |
BIN
src/assets/images/basic/rightTitleBG.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
src/assets/images/basic/tagBG.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/business/b1-1.png
Normal file
After Width: | Height: | Size: 601 KiB |
BIN
src/assets/images/business/b1-2.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
src/assets/images/business/b2-1.png
Normal file
After Width: | Height: | Size: 601 KiB |
BIN
src/assets/images/business/b2-2.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
src/assets/images/business/bg_title.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/early/arrowL.png
Normal file
After Width: | Height: | Size: 326 KiB |
BIN
src/assets/images/early/arrowR.png
Normal file
After Width: | Height: | Size: 431 KiB |
BIN
src/assets/images/early/back1.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
src/assets/images/early/back2.png
Normal file
After Width: | Height: | Size: 702 KiB |
BIN
src/assets/images/early/back3.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
src/assets/images/early/bg5.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
src/assets/images/early/icon1.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
src/assets/images/early/icon2.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
src/assets/images/early/icon3.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
src/assets/images/early/icon5.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
src/assets/images/early/icon6.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
src/assets/images/early/icon7.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
src/assets/images/entities/1.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
src/assets/images/entities/2.jpg
Normal file
After Width: | Height: | Size: 853 KiB |
BIN
src/assets/images/entities/3.jpg
Normal file
After Width: | Height: | Size: 502 KiB |
BIN
src/assets/images/entities/4.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
src/assets/images/entities/5.jpg
Normal file
After Width: | Height: | Size: 448 KiB |
BIN
src/assets/images/entities/6.jpg
Normal file
After Width: | Height: | Size: 828 KiB |
BIN
src/assets/images/entities/7.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
src/assets/images/entities/8.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
src/assets/images/entities/goodsBG.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
src/assets/images/entities/leftArrowBG.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/assets/images/entities/rightArrowBG.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/images/entities/tomatoImg.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
src/assets/images/inputs/1.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
src/assets/images/inputs/2.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
src/assets/images/inputs/3.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
src/assets/images/inputs/4.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
src/assets/images/inputs/5.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
src/assets/images/inputs/6.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
src/assets/images/inputs/bg_label.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
src/assets/images/inputs/bg_title.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/inputs/bg_value.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/images/land/countCircleBG.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
src/assets/images/land/countTextBG.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src/assets/images/land/土地资源地图1.png
Normal file
After Width: | Height: | Size: 223 KiB |
BIN
src/assets/images/land/提示边框1.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/images/land/矩形 45.png
Normal file
After Width: | Height: | Size: 101 B |
BIN
src/assets/images/land/矩形 45_1.png
Normal file
After Width: | Height: | Size: 101 B |
BIN
src/assets/images/land/组 78.png
Normal file
After Width: | Height: | Size: 296 B |
BIN
src/assets/images/land/组 78_1.png
Normal file
After Width: | Height: | Size: 296 B |
BIN
src/assets/images/plant/bg1.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
src/assets/images/plant/bg2.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
src/assets/images/plant/bg3.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
src/assets/images/plant/bg5.png
Normal file
After Width: | Height: | Size: 702 KiB |
BIN
src/assets/images/plant/bg6.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/assets/images/plant/bg7.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/assets/images/plant/bg8.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
src/assets/images/plant/bg9.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
src/assets/images/plant/icon1.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
src/assets/images/plant/icon2.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
src/assets/images/plant/icon3.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
src/assets/images/plant/icon4.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
src/assets/images/plant/icon5.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
src/assets/images/trace/all.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
src/assets/images/trace/batch.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
src/assets/images/trace/bg1.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
src/assets/images/trace/bg2.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
src/assets/images/trace/bubbleA.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
src/assets/images/trace/bubbleB.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
src/assets/images/trace/bubbleC.png
Normal file
After Width: | Height: | Size: 16 KiB |