代码迁移

This commit is contained in:
BianLzhaoMin 2024-08-13 12:13:29 +08:00
commit feabe83646
161 changed files with 149211 additions and 0 deletions

18
.babelrc Normal file
View File

@ -0,0 +1,18 @@
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins": ["transform-vue-jsx", "transform-runtime"],
"env": {
"test": {
"presets": ["env", "stage-2"],
"plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
}
}
}

9
.editorconfig Normal file
View File

@ -0,0 +1,9 @@
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules/
dist/

4
.prettierrc Normal file
View File

@ -0,0 +1,4 @@
{
"semi": false,
"singleQuote": true
}

28
README.md Normal file
View File

@ -0,0 +1,28 @@
## 开发
```bash
# 克隆项目
git clone http://192.168.0.56:3000/bonus/cqscreen-ui.git
# 进入项目目录
cd cqscreen-ui
# 安装依赖
npm install
# 项目较老node版本不要超过16.0 可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com
# 启动服务
npm run dev
```
浏览器访问 http://localhost:80
## 发布
```bash
# 构建生产环境
npm run build
```

40
build/build.js Normal file
View File

@ -0,0 +1,40 @@
'use strict'
require('./check-versions')()
process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
const spinner = ora('building for production...')
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
webpack(webpackConfig, (err, stats) => {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
chunks: false,
chunkModules: false
}) + '\n\n')
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
})

54
build/check-versions.js Normal file
View File

@ -0,0 +1,54 @@
'use strict'
const chalk = require('chalk')
const semver = require('semver')
const packageConfig = require('../package.json')
const shell = require('shelljs')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
const versionRequirements = [
{
name: 'node',
currentVersion: semver.clean(process.version),
versionRequirement: packageConfig.engines.node
}
]
if (shell.which('npm')) {
versionRequirements.push({
name: 'npm',
currentVersion: exec('npm --version'),
versionRequirement: packageConfig.engines.npm
})
}
module.exports = function () {
const warnings = []
for (let i = 0; i < versionRequirements.length; i++) {
const mod = versionRequirements[i]
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
warnings.push(mod.name + ': ' +
chalk.red(mod.currentVersion) + ' should be ' +
chalk.green(mod.versionRequirement)
)
}
}
if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
for (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}

BIN
build/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

93
build/utils.js Normal file
View File

@ -0,0 +1,93 @@
'use strict'
const path = require('path')
const config = require('../config')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const packageConfig = require('../package.json')
exports.assetsPath = function (_path) {
const assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
const cssLoader = {
loader: 'css-loader',
options: {
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
const loaders = [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
const output = []
const loaders = exports.cssLoaders(options)
for (const extension in loaders) {
const loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
exports.createNotifierCallback = () => {
const notifier = require('node-notifier')
return (severity, errors) => {
if (severity !== 'error') return
const error = errors[0]
const filename = error.file && error.file.split('!').pop()
notifier.notify({
title: packageConfig.name,
message: severity + ': ' + error.name,
subtitle: filename || '',
icon: path.join(__dirname, 'logo.png')
})
}
}

22
build/vue-loader.conf.js Normal file
View File

@ -0,0 +1,22 @@
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}

100
build/webpack.base.conf.js Normal file
View File

@ -0,0 +1,100 @@
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json', '.css','.png'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
},
{
test: /\.svg$/,
loader: 'svg-sprite-loader',
include: [resolve('src/icons')],
options: {
symbolId: 'icon-[name]'
}
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
exclude:[resolve('src/icons')],
options: {
// limit: 10000,
// name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('media/[name].[hash:7].[ext]')
}
},
{
// 加载图标
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
},
// {
// test: /\.less$/,
// loader: "style-loader!css-loader!less-loader"
// },
{
test: / .scss$ / ,
loaders: [ 'style', 'css', 'sass']
},
]
},
node: {
// prevent webpack from injecting useless setImmediate polyfill because Vue
// source contains it (although only uses it if it's native).
setImmediate: false,
// prevent webpack from injecting mocks to Node native modules
// that does not make sense for the client
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty'
}
}

106
build/webpack.dev.conf.js Normal file
View File

@ -0,0 +1,106 @@
'use strict'
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')
const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
},
// cheap-module-eval-source-map is faster for development
devtool: config.dev.devtool,
// these devServer options should be customized in /config/index.js
devServer: {
clientLogLevel: 'warning',
historyApiFallback: true,
// historyApiFallback: {
// rewrites: [
// { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
// ],
// },
hot: true,
contentBase: false, // since we use CopyWebpackPlugin.
compress: true,
host: HOST || config.dev.host,
port: PORT || config.dev.port,
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable,
// proxy:{
// '/mobilePortal': {
// target: 'http://22.0.63.74:30102/',
// // target: 'http://bjvideo.cn1.utools.club',
// changeOrigin: true,
// pathRewrite: {
// '^/mobilePortal': '/mobilePortal'
// },
// logLevel: 'debug',
// }
// },
quiet: true, // necessary for FriendlyErrorsPlugin
watchOptions: {
poll: config.dev.poll,
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/dev.env')
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
module.exports = new Promise((resolve, reject) => {
portfinder.basePort = process.env.PORT || config.dev.port
portfinder.getPort((err, port) => {
if (err) {
reject(err)
} else {
// publish the new Port, necessary for e2e tests
process.env.PORT = port
// add port to devServer config
devWebpackConfig.devServer.port = port
// Add FriendlyErrorsPlugin
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
}))
resolve(devWebpackConfig)
}
})
})

151
build/webpack.prod.conf.js Normal file
View File

@ -0,0 +1,151 @@
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
// 时间戳
const version = new Date().getTime()
const env = process.env.NODE_ENV === 'testing'
? require('../config/test.env')
: require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true,
})
},
devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath(`js/[name].[chunkhash].${version}.js`),
chunkFilename: utils.assetsPath(`js/[id].[chunkhash].${version}.js`)
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
}),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: process.env.NODE_ENV === 'testing'
? 'index.html'
: config.build.index,
template: 'index.html',
hash: version,
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// keep module.id stable when vendor modules does not change
new webpack.HashedModuleIdsPlugin(),
// enable scope hoisting
new webpack.optimize.ModuleConcatenationPlugin(),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks(module) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
async: 'vendor-async',
children: true,
minChunks: 3
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
if (config.build.productionGzip) {
const CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
if (config.build.bundleAnalyzerReport) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig

19
config/dev.env.js Normal file
View File

@ -0,0 +1,19 @@
var merge = require('webpack-merge')
var prodEnv = require('./prod.env')
// var testUrl = '14.29.196.32:8480'
// var testUrl = '172.16.1.211:8802'
// var testUrl = '172.16.2.82:8802'
// var testUrl = '14.29.196.32:8802'
// var testUrl = '10.14.16.165:8802'
// var testUrl = '112.29.103.165:21624' //线上
// var testUrl = '192.168.0.14:21626' //线上
var testUrl = '10.40.92.8:8080'
// var testUrl = '223.243.184.53:8480'
// var testUrl = 'www.lingyangplat.com'
// var testUrl = ''
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
//API调用地址
// API_ROOT: '"http://' + testUrl + '"',
// BASE_URL: '/cockpit-screen/'
})

46
config/index.js Normal file
View File

@ -0,0 +1,46 @@
'use strict'
const path = require('path')
var proxyUrl =
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
host: 'localhost', // can be overwritten by process.env.HOST
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
devtool: 'cheap-module-eval-source-map',
cacheBusting: true,
cssSourceMap: true,
proxyTable: {
'/screen': {
// target: 'http://112.29.103.165:21626',//重庆
target: 'http://192.168.0.14:21624',//测试
// target: 'http://10.40.92.74:8080',
changeOrigin: true,
// secure: true, //如果是https接口需要配置这个参数
pathRewrite: {
'^/screen': '/'
}
},
}
},
build: {
index: path.resolve(__dirname, '../dist/index01.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static01',
assetsPublicPath: '/',
productionSourceMap: false,
devtool: '#source-map',
productionGzip: false,
productionGzipExtensions: ['js', 'css'],
bundleAnalyzerReport: process.env.npm_config_report
}
}

10
config/prod.env.js Normal file
View File

@ -0,0 +1,10 @@
// var testUrl = '223.243.184.53:8480'
var testUrl = '112.29.103.165:21624/'
// var testUrl = '192.168.0.14:21624/'
// var testUrl = '192.168.0.166:8080'
module.exports = {
NODE_ENV: '"production"',
//post用当前域名
// API_ROOT: '"http://' + testUrl + '/iot"'
// API_ROOT: '/',
}

7
config/test.env.js Normal file
View File

@ -0,0 +1,7 @@
'use strict'
const merge = require('webpack-merge')
const devEnv = require('./dev.env')
module.exports = merge(devEnv, {
NODE_ENV: '"testing"'
})

16
index.html Normal file
View File

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=0"
/>
<link rel="shortcut icon" href="./static/favicon.ico" type="image/x-icon" />
<title>智慧仓储管理平台</title>
</head>
<body style="margin: 0;">
<div id="app"></div>
</body>
</html>

17511
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

97
package.json Normal file
View File

@ -0,0 +1,97 @@
{
"name": "hailuo",
"version": "1.0.0",
"description": "",
"author": "",
"private": true,
"scripts": {
"dev": "webpack-dev-server --history-api-fallback --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest.conf.js --coverage",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"build": "node build/build.js"
},
"dependencies": {
"axios": "^0.21.1",
"echarts": "^5.4.1",
"echarts-gl": "^2.0.9",
"echarts-liquidfill": "^3.1.0",
"element-ui": "^2.15.8",
"i": "^0.3.7",
"jquery": "^3.6.1",
"js-base64": "^3.6.0",
"js-md5": "^0.7.3",
"less-loader": "^4.1.0",
"moment": "^2.29.1",
"scss": "^0.2.4",
"svg-sprite-loader": "^6.0.11",
"swiper": "^3.4.2",
"vant": "^2.12.21",
"vue": "^2.5.2",
"vue-router": "^3.0.1",
"vuex": "^3.6.2"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-jest": "^21.0.2",
"babel-loader": "^7.1.1",
"babel-plugin-dynamic-import-node": "^1.2.0",
"babel-plugin-import": "^1.13.3",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
"chalk": "^2.0.1",
"chromedriver": "^2.27.2",
"copy-webpack-plugin": "^4.0.1",
"cross-spawn": "^5.0.1",
"css-loader": "^0.28.0",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"jest": "^22.0.4",
"jest-serializer-vue": "^0.3.0",
"less": "3.0.0",
"nightwatch": "^0.9.12",
"node-notifier": "^5.1.2",
"node-sass": "^4.14.1",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0",
"portfinder": "^1.0.13",
"postcss": "^8.3.5",
"postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8",
"postcss-url": "^7.2.1",
"rimraf": "^2.6.0",
"sass-loader": "^7.3.1",
"selenium-server": "^3.0.1",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1",
"url-loader": "^0.5.8",
"vue-jest": "^1.0.2",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"webpack": "^3.12.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
},
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}

BIN
public/static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

119
src/App.vue Normal file
View File

@ -0,0 +1,119 @@
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'app',
created() {
// console.log(this.$route)
// localStorage.setItem('token', this.$route.query.token)
var link = document.querySelector("link[rel*='icon']") || document.createElement("link");
link.type = "image/x-icon";
link.rel = "shortcut icon";
link.href = require('./assets/img/myImage/logo.png');
document.getElementsByTagName("head")[0].appendChild(link);
},
}
</script>
<style lang="less">
.el-dialog {
//
background-color: rgba(0, 0, 0, 0.5);
// background-color: transparent;
// background-color: #000;
background-image: url('./assets/img/dialog/window.png');
background-size: 100% 100%;
background-repeat: no-repeat;
.el-dialog__headerbtn {
width: 83px;
height: 44px;
background-image: url('./assets/img/dialog/icon_close.png');
background-size: cover;
// x
.el-dialog__close {
display: none;
}
}
.el-form-item__label {
color: #fff;
}
.el-table th {
// #253855 #30619B
background: linear-gradient(to bottom, #2B313D, #3267A7);
color: #fff;
border-bottom: 1px solid #84FCFD !important;
}
.el-table tr {
background-color: #335684;
color: #fff;
}
.el-table--striped .el-table__body tr.el-table__row--striped td {
background-color: #25447D;
color: #fff;
}
.el-table td,.building-top .el-table th.is-leaf {
border-bottom: 1px solid #6983A5;
}
.el-table::before{
border-bottom: 1px solid #6983A5;
background-color: #6983A5;
height: 1px;
}
.el-table--enable-row-hover .el-table__body tr:hover>td {
background-color: #6983A5;
}
.el-pagination__total {
color: #E1E3E6;
}
.el-pagination__jump {
color: #E1E3E6;
}
.el-input__inner {
background-color: transparent;
border: 1px solid #77E2E7;
color: #E1E3E6;
}
.el-pagination__sizes .el-input .el-input__inner {
color: #E3E4E7;
border: 1px solid #E3E4E7;
}
.el-pagination__editor.el-input .el-input__inner {
color: #E3E4E7;
border: 1px solid #E3E4E7;
}
.el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li {
color: #E3E4E7;
border: 1px solid #E3E4E7;
background-color: transparent;
}
.el-pagination.is-background .btn-next {
color: #E3E4E7;
border: 1px solid #E3E4E7;
background-color: transparent;
}
.el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #98F4FB;
color: #000;
}
.el-button--primary {
background-color: #84FCFD;
border: #84FCFD;
color: #285050;
}
.el-button--default {
background-color: transparent;
border: 1px solid #84FCFD;
color: #D5D6DA;
}
.el-table__empty-block {
background-color: #335684;
.el-table__empty-text {
color: #D5D6DA;
}
}
}
</style>

103
src/api/aiServer.js Normal file
View File

@ -0,0 +1,103 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// 5-1 算法订阅
getScreenAiSubscribeSevenAiVo: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAiSubscribe/getSevenAiVo'),
params
)
},
//5-2 获取算法收藏信息
getScreenAiCollectSevenAiVo: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAiCollect/getSevenAiVo'),
params
)
},
// 5-3 获取算法调用信息
getScreenAiInvokeSevenAiVo: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAiInvoke/getSevenAiVo'),
params
)
},
// gywlw/screenAiResource/getAiResourceByScreen 获取算法资源信息
getAiResourceByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAiResource/getAiResourceByScreen'),
params
)
},
// gywlw/screenAiLibrary/getAiLibraryByScreen 算法库
// getAiLibraryByScreen: params => {
// return API.GET(
// URL_PREFIXRightUrl.concat('gywlw/screenAiLibrary/getAiLibraryByScreen'),
// params
// )
// },
// gywlw/screenAiLibrary/getAiLibraryByScreen 算法定义
getAiDefineVoByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAiDefine/getAiDefineVoByScreen'),
params
)
},
// screenAiManager/getAiManagerVoByScreen 算法管理
getAiManagerVoByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAiManager/getAiManagerVoByScreen'),
params
)
},
// gywlw/screenAiCompanyService/getAiCompanyByScreen 算法服务排名
getAiCompanyByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAiCompanyService/getAiCompanyByScreen'
),
params
)
},
//获取算法库类型
getAiLibraryType: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAiLibrary/getAiLibraryType'
),
params
)
},
//根据类型获取算法库
getAiLibraryByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAiLibrary/getAiLibraryByScreen'
),
params
)
},
// 模拟训练
getSevenAiVo: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAiSubscribe/getSevenAiVo'
),
params
)
},
// 算法调用
getSuanfaSevenAiVo: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAiInvoke/getSevenAiVo'
),
params
)
},
}

98
src/api/applyDevelope.js Normal file
View File

@ -0,0 +1,98 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// screenAppProjectManager/getAppProjectManagerByScreen 获取项目管理信息
getAppProjectManagerByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppProjectManager/getAppProjectManagerByScreen'
),
params
)
},
// 获取工作项组信息
getDictListByCode: params => {
return API.GET(URL_PREFIXRightUrl.concat('dict/getDictListByCode'), params)
},
// gywlw/screenAppWorkItems/getAppWorkItemsByGroupId 根据组id获取项目管理信息
getAppWorkItemsByGroupId: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppWorkItems/getAppWorkItemsByGroupId'
),
params
)
},
// 获取微服务信息
getAppMicroserviceVoByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppMicroservice/getAppMicroserviceVoByScreen'
),
params
)
},
// gywlw/screenAppWorkItems/getAppWorkItemsByGroupId 根据组id获取注册与发现信息
getAppDiscoveryByGroupId: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppDiscovery/getAppDiscoveryByGroupId'
),
params
)
},
// 获取通用组件订阅相关信息
getComponentSubscribeList: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenIndexComponentSubscribe/getComponentSubscribeList'
),
params
)
},
// 获取通用组件订阅相关信息
getAppCicdVoByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAppCicd/getAppCicdVoByScreen'),
params
)
},
// 获取流水线执行结果记录 gywlw/screenAppPipelineExecute/getAppPipelineExecuteByScreen
getAppPipelineExecuteByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppPipelineExecute/getAppPipelineExecuteByScreen'
),
params
)
},
// 获取流水线执行结果记录 gywlw/screenAppPipelineExecute/getAppPipelineExecuteByScreen
getAppCodeResultByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppCodeResult/getAppCodeResultByScreen'
),
params
)
},
// 获取代码commit信息
getSevenCodeCommitVo: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppCodeCommit/getSevenCodeCommitVo'
),
params
)
},
// 获取代代码行数
getSevenCodeLine: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppCodeLine/getSevenCodeVo'
),
params
)
}
}

47
src/api/baseIT.js Normal file
View File

@ -0,0 +1,47 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// 容器管理汇总接口
getScreenItContainerData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenItContainer/data'),
params
)
},
// 弹性负载均衡elb汇总接口
getScreenItELBData: params => {
return API.GET(URL_PREFIXRightUrl.concat('gywlw/screenItELB/data'), params)
},
// 基础服务汇总接口
getScreenItBaseServiceData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenItBaseService/data'),
params
)
},
// gywlw/screenItUserVisit/data // 用户访问信息汇总接口
getScreenItUserVisitData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenItUserVisit/data'),
params
)
},
// gywlw/screenItUserVisit/data // 物联设备信息汇总接口
getScreenItInternetDeviceData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenItInternetDevice/data'),
params
)
},
// 接入视频
getScreenItIotDataServiceData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenItIotDataService/data'),
params
)
},
}

67
src/api/business.js Normal file
View File

@ -0,0 +1,67 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// 查询业务服务准备列表接口
getDictListByCode: params => {
return API.GET(URL_PREFIXRightUrl.concat('dict/getDictListByCode'), params)
},
// gywlw/screenBusinessPrepare/findListById 根据id查询服务准备详情接口
getFindListById: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessPrepare/findListById'),
params
)
},
// gywlw/screenBusinessFile/data 文档管理接口
getScreenBusinessFile: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessFile/data'),
params
)
},
// gywlw/screenBusinessModelingCycle/data 模型生命周期接口
getScreenBusinessModelingCycle: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessModelingCycle/data'),
params
)
},
// 服务模型调用-服务准备层接口
getScreenBusinessModelingPrepare: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessModelingPrepare/data'),
params
)
},
//服务模型调用-服务执行层接口
getScreenBusinessModelingExecute: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessModelingExecute/data'),
params
)
},
//服务模型API接口
getScreenBusinessModelingApi: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessModelingApi/data'),
params
)
},
// gywlw/screenBusinessApiItem/findListById 服务模型API子项详情接口
getScreenBusinessApiItemFindListById: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessApiItem/findListById'),
params
)
},
// 业务中间模块接口数据
screenBusinessSummary: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessSummary/data'),
params
)
},
}

64
src/api/centerModule.js Normal file
View File

@ -0,0 +1,64 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// /gywlw/screenTuPuGroup/getTuPuGroupVoNoIndexList 首页
getTuPuGroupVoNoIndexList: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenTuPuGroup/getTuPuGroupVoNoIndexList'
),
params
)
},
// 应用开发层 111
getAppCenterTopVoByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenAppCenterTop/getAppCenterTopVoByScreen'
),
params
)
},
// 应用开发层 222
getAppCenterByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAppCenter/getAppCenterByScreen'),
params
)
},
// AI服务层/gywlw/screenAiSummary/getAiSummaryVoByScreen
getAiSummaryVoByScreen: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenAiSummary/getAiSummaryVoByScreen'),
params
)
},
// 基础it大屏中间接口 gywlw/screenItBaseHardware/data
getScreenItBaseHardwareData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenItBaseHardware/data'),
params
)
},
// 数据服务平台大屏中间接口:
getScreenDataTableDetailData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataTableDetail/data'),
params
)
},
// 业务服务平台大屏列表接口dict/getDictListByCode
getDictListByCode: params => {
return API.GET(URL_PREFIXRightUrl.concat('/dict/getDictListByCode'), params)
},
// http://localhost:8803/cockpit/gywlw/screenBusinessSummary/findListById?groupId=1592768383093727233
getFindListById: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenBusinessSummary/findListById'),
params
)
}
}

115
src/api/dataServer.js Normal file
View File

@ -0,0 +1,115 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// 数据资产 11111
getScreenDataPropertyData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataProperty/data'),
params
)
},
// 数据存储贴源层接口 2-1
getScreenDataOdsData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataOds/data'),
params
)
},
// 数据存储-数据明细层接口 2-2
getScreenDataDwdData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataDwd/data'),
params
)
},
// 数据存储-数据主题层接口 2-3
getScreenDataDwtData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataDwt/data'),
params
)
},
// 数据服务接口
getScreenDataServiceData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataService/data'),
params
)
},
// 数据检查
getScreenDataCheckData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataCheck/data'),
params
)
},
// dict/getDictListByCode?code=appWorkItems 数据检查子项列表接口
getDictListByCode: params => {
return API.GET(URL_PREFIXRightUrl.concat('dict/getDictListByCode'), params)
},
// gywlw/screenDataQuality/findListById 根据id查询检查子项详情接口
getFindListById: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataQuality/findListById'),
params
)
},
// 数据服务api调用排名
getScreenDataApiInvokeData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataApiInvoke/data'),
params
)
},
//获取贴源层 http://14.29.196.32:8803/cockpit/gywlw/screenDataOds/data
screenDataOds: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataOds/data'),
params
)
},
//获取整合层 http://14.29.196.32:8803/cockpit/gywlw/screenDataDwd/data
screenDataDwd: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataDwd/data'),
params
)
},
//获取报告层 http://14.29.196.32:8803/cockpit/gywlw/screenDataDwt/data
screenDataDwt: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataDwt/data'),
params
)
},
//获取集市层 http://14.29.196.32:8803/cockpit/gywlw/screenDataMart/data
screenDataMart: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataMart/data'),
params
)
},
// 数据服务平台大屏中间接口:
getScreenDataTableDetailData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataTableDetail/data'),
params
)
},
// 中间大屏顶部数据
screenTopDataDetail: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenDataDetail/data'),
params
)
},
}

50
src/api/dialog.js Normal file
View File

@ -0,0 +1,50 @@
import { POST, GET } from './index.js'
const URL_TYPE_LIST = '/screen/material/returnOfMaterialsInfo/getTypeList'
const URL_DETAILS = '/screen/base/largeScreen/home/getMaterialReqData/details'
const URL_RETURN_DETAILS = '/screen/base/largeScreen/home/getMaterialReturnData/details'
const URL_UNIT_LIST = '/screen/material/agreementInfo/getUnitList'
const URL_PROJECT_LIST = '/screen/material/agreementInfo/getProjectList'
const URL_SCRAP_ANALYSIS = '/screen/base/largeScreen/home/getScrapAnalysisByMonth/details'
const URL_TOTAL_OWNERSHIP = '/screen/base/largeScreen/home/getTotalOwnership/details'
const URL_ACCEPTANCE_STORAGE = '/screen/base/largeScreen/home/getAcceptanceStorage/details'
const URL_PICKING_ANALYSIS = '/screen/base/largeScreen/home/getPickingAnalysisByMonth/details'
const URL_MATERIAL_RETURN_BY_MONTH = '/screen/base/largeScreen/home/getMaterialReturnByMonth/details'
const URL_MAINTENANCE_BY_CHART = '/screen/base/largeScreen/home/getMaintenanceByMonth/chart'
const URL_MAINTENANCE_BY_MONTH_DETAILS = '/screen/base/largeScreen/home/getMaintenanceByMonth/details'
// 设备类型
export const getTypeList = params => GET(URL_TYPE_LIST, params)
// 领料数据
export const getDetails = data => POST(URL_DETAILS, data)
// 退料数据
export const getReturnDetails = data => POST(URL_RETURN_DETAILS, data)
// 往来单位-下拉
export const getUnitList = params => GET(URL_UNIT_LIST, params)
// 工程名称-下拉
export const getProjectList = params => GET(URL_PROJECT_LIST, params)
// 废料分析
export const getScrapAnalysis = data => POST(URL_SCRAP_ANALYSIS, data)
// 总保有量
export const getTotalOwnership = data => POST(URL_TOTAL_OWNERSHIP, data)
// 入库分析
export const getAcceptanceStorage = data => POST(URL_ACCEPTANCE_STORAGE, data)
// 领料分析
export const getPickingAnalysis = data => POST(URL_PICKING_ANALYSIS, data)
// 退料分析
export const getMaterialReturnByMonth = data => POST(URL_MATERIAL_RETURN_BY_MONTH, data)
// 维修分析-pie+bar
export const getMaintenanceByMonthChart = data => POST(URL_MAINTENANCE_BY_CHART, data)
// 维修分析
export const getMaintenanceByMonthDetails = data => POST(URL_MAINTENANCE_BY_MONTH_DETAILS, data)

123
src/api/finance.js Normal file
View File

@ -0,0 +1,123 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// 财务信息接口
screenSaleFinance: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleFinance/data'
),
params
)
},
//生产信息接口
screenSaleProduction: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleProduction/data'
),
params
)
},
//利润信息接口
screenSaleProfit: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleProfit/data'
),
params
)
},
// 大宗原材料接口
screenSaleMaterial: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleMaterial/data'
),
params
)
},
// 原煤接口
screenSaleCoal: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleCoal/data'
),
params
)
},
// 汇总信息接口
screenSaleSummary: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleSummary/data'
),
params
)
},
// 收入接口
screenSaleIncome: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleIncome/data'
),
params
)
},
// 资产信息接口
screenSaleAsset: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleAsset/data'
),
params
)
},
//获取出厂水泥强度类型列表
getSaleCementStrengthType: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'/dict/getDictListByCode?code=saleCementStrengthType'
),
params
)
},
// 根据名称获取水泥强度柱状图
screenSaleCementStrength: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleCementStrength/data'
),
params
)
},
// 获取销售趋势数据
screenSaleProductionSummary: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenSaleProductionSummary/data'
),
params
)
},
// 获取大宗原材料类型列表
getSaleMaterialType: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'/dict/getDictListByCode?code=saleMaterialType'
),
params
)
},
}

68
src/api/home.js Normal file
View File

@ -0,0 +1,68 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// 首页轮播图
// 通用组件订阅接口 666
getComponentSubscribeList: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenIndexComponentSubscribe/getComponentSubscribeList'
),
params
)
},
// 服务平台能力接口 222
getModuleTwoData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenIndexServiceCompetence/data'),
params
)
},
// 服务企业平台接口 444
getModuleFourData: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenIndexCompanyPlatform/getCompanyPlatformList'
),
params
)
},
// 获取平台服务调用组信息 5555
getModuleFiveData: params => {
return API.GET(URL_PREFIXRightUrl.concat('dict/getDictListByCode'), params)
},
// gywlw/screenIndexServerInvoke/getServerInvokeByGroupId 获取平台服务调用组信息 5555
getModuleFiveDataItem: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenIndexServerInvoke/getServerInvokeByGroupId'
),
params
)
},
// 数据服务能力接口 333
getDataList: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenIndexServiceDataCompetence/data'),
params
)
},
// gywlw/screenIndexBaseCompetence/data 平台基础能力 1111
getModuleOneData: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenIndexBaseCompetence/data'),
params
)
},
// 大屏中间文字修改
screenIndexConfig: params => {
return API.GET(
URL_PREFIXRightUrl.concat('gywlw/screenIndexConfig/data'),
params
)
}
}

63
src/api/index.js Normal file
View File

@ -0,0 +1,63 @@
/**
* axios全局配置
*/
import axios from 'axios';
axios.defaults.timeout = 30000
// 默认配置
axios.defaults.baseURL = process.env.API_ROOT;
axios.interceptors.request.use(
config => {
let token = localStorage.getItem('token')
if (token) {
config.headers.accessToken = `${token}`;
config.headers.Authorization = `${token}`;
}
return config;
},
error => {
return Promise.reject(error);
}
);
// 添加一个请求拦截器
axios.interceptors.response.use(
response => {
if (response.data) {
if (response.data.code === 401) {
} else if (response.data.code === 200) {
return Promise.resolve(response.data)
} else {
return response.data
}
} else {
return Promise.reject(response.data)
}
},
error => {
if (error.code === 'ECONNABORTED' && error.message.indexOf('timeout') !== -1)
console.log('请求超时!')
return Promise.reject(error)
}
);
// 通用POST方法
export const POST = (url, params) => {
return axios.post(`${url}`, params).then(response => response);
};
// 通用POST_JSON方法
export const POST_JSON = (url, json, params) => {
return axios.post(`${url}`, json, {
params: params
}).then(response => response);
};
// 通用GET方法
export const GET = (url, params) => {
return axios.get(`${url}`, {
params: params
}).then(response => response);
};

23
src/api/login.js Normal file
View File

@ -0,0 +1,23 @@
import { axios } from './index.js';
import md5 from 'js-md5';
const URL_PREFIXRightUrl = ''
export default {
getLogin(data) {
return axios({
url: '/oauth/token',
method: 'post',
headers: {
key: data.key,
code: data.code,
},
params: {
username: data.account,
password: md5(data.password),
grant_type: 'captcha',
scope: 'all',
id_token: data.id_token ? data.id_token : '',
},
});
}
}

74
src/api/newMaterials.js Normal file
View File

@ -0,0 +1,74 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/'
const URL_PREFIXRightUrl = ''
export default {
// 销售收入接口
screenFinanceSale: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenFinanceSale/data'
),
params
)
},
//中上汇总数据接口
screenFinanceSummary: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenFinanceSummary/data'
),
params
)
},
//中间销售完成率接口
screenFinanceIncome: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenFinanceIncome/data'
),
params
)
},
// 资产信息接口
screenFinanceAsset: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenFinanceAsset/data'
),
params
)
},
// 月利润收入接口
screenFinanceProfit: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenFinanceProfit/data'
),
params
)
},
// 大宗原材料PVC价格接口
screenFinancePvc: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenFinancePvc/data'
),
params
)
},
// 大宗原材料铝锭价格接口
screenFinanceAluminium: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'gywlw/screenFinanceAluminium/data'
),
params
)
},
}

24
src/api/public.js Normal file
View File

@ -0,0 +1,24 @@
import * as API from './index.js'
const URL_PREFIX = '/gywlw/';
const URL_PREFIXRightUrl = "";
export default {
getCodeImg: params => {
return API.GET(
URL_PREFIXRightUrl.concat(
'auth/code'
),
params
)
},
// 大屏列表
getScreenList: params => {
return API.GET(URL_PREFIX.concat('screenTuPuGroup/getTuPuGroupVoList'),params)
},
// 大屏详情信息
getTuPuManagerVoById: params => {
return API.GET(URL_PREFIX.concat('screenTuPuGroup/getTuPuManagerVoById'),params)
},
}

27
src/api/screen.js Normal file
View File

@ -0,0 +1,27 @@
import { POST, GET } from './index'
// 领料数据
export const getMaterialReqDataApi = params => POST(`/screen/base/largeScreen/home/getMaterialReqData`,)
// 退料数据
export const getMaterialReturnDataApi = params => POST(`/screen/base/largeScreen/home/getMaterialReturnData`)
//当月报废分析
export const getScrapAnalysisByMonthApi = params => POST(`/screen/base/largeScreen/home/getScrapAnalysisByMonth?maType=${params.maType}`)
//新购验收入库分析
export const getAcceptanceStorageApi = params => POST(`/screen/base/largeScreen/home/getAcceptanceStorage?maType=${params.maType}`,)
//当月领料分析
export const getPickingAnalysisByMonthApi = params => POST(`/screen/base/largeScreen/home/getPickingAnalysisByMonth?maType=${params.maType}`,)
//当月退料分析
export const getMaterialReturnByMonthApi = params => POST(`/screen/base/largeScreen/home/getMaterialReturnByMonth?maType=${params.maType}`,)
//当月维修分析
export const getMaintenanceByMonthApi = params => POST(`/screen/base/largeScreen/home/getMaintenanceByMonth?maType=${params.maType}`,)
//设备分布图
export const getEquipmentDisByMapApi = params => POST(`/screen/base/largeScreen/home/getEquipmentDisByMap`,)
//施工机具/
export const getTotalOwnershipApi = params => POST(`/screen/base/largeScreen/home/getTotalOwnership`,)
// 当月使用车辆
export const getCarUseByMonthApi = params => POST(`/screen/base/largeScreen/home/getCarUseByMonth?maType=${params.maType}`,)
// 当月使用车辆
export const getMaintenanceWarningApi = params => POST(`/screen/base/largeScreen/home/getMaintenanceWarning`,)
//各公司机具保有量
export const getTotalOwnershipByCompany = params => POST(`/screen/base/largeScreen/home/getTotalOwnershipByCompany`)

25
src/api/screen_1.js Normal file
View File

@ -0,0 +1,25 @@
import { POST, GET } from './index'
// 领料数据
export const getMaterialReqDataApi = params => POST(`/sgzb-base/largeScreen/home/getMaterialReqData`,)
// 退料数据
export const getMaterialReturnDataApi = params => POST(`/sgzb-base/largeScreen/home/getMaterialReturnData`)
//当月报废分析
export const getScrapAnalysisByMonthApi = params => POST(`/sgzb-base/largeScreen/home/getScrapAnalysisByMonth?maType=${params.maType}`)
//新购验收入库分析
export const getAcceptanceStorageApi = params => POST(`/sgzb-base/largeScreen/home/getAcceptanceStorage?maType=${params.maType}`,)
//当月领料分析
export const getPickingAnalysisByMonthApi = params => POST(`/sgzb-base/largeScreen/home/getPickingAnalysisByMonth?maType=${params.maType}`,)
//当月退料分析
export const getMaterialReturnByMonthApi = params => POST(`/sgzb-base/largeScreen/home/getMaterialReturnByMonth?maType=${params.maType}`,)
//当月维修分析
export const getMaintenanceByMonthApi = params => POST(`/sgzb-base/largeScreen/home/getMaintenanceByMonth?maType=${params.maType}`,)
//设备分布图
export const getEquipmentDisByMapApi = params => POST(`/sgzb-base/largeScreen/home/getEquipmentDisByMap`,)
//施工机具/
export const getTotalOwnershipApi = params => POST(`/sgzb-base/largeScreen/home/getTotalOwnership`,)
// 当月使用车辆
export const getCarUseByMonthApi = params => POST(`/sgzb-base/largeScreen/home/getCarUseByMonth?maType=${params.maType}`,)
// 当月使用车辆
export const getMaintenanceWarningApi = params => POST(`/sgzb-base/largeScreen/home/getMaintenanceWarning`,)

9
src/api/userLogin.js Normal file
View File

@ -0,0 +1,9 @@
import { POST, GET } from './index'
// 获取短信验证码
export const getSendIphoneCodeApi = params => POST(`/system/sms/codeLogin?phone=${params.phone}`,)
// 账号密码登录
export const authLoginApi = params => POST(`/screen/auth/loginApp`, params)
// 手机号登录
export const loginCodeApi = params => POST(`/auth/loginCode`, params)
// export const getImageCode = params => GET(`/iot/gywlw/publishVersion/page`, params)
// export const getImageCode = params => GET(`/antelope-common/common/get/gray/screen/time`, params)

9
src/api/userLogin_1.js Normal file
View File

@ -0,0 +1,9 @@
import { POST, GET } from './index'
// 获取短信验证码
export const getSendIphoneCodeApi = params => POST(`/system/sms/codeLogin?phone=${params.phone}`,)
// 账号密码登录
export const authLoginApi = params => POST(`/sgzb-auth/login`, params)
// 手机号登录
export const loginCodeApi = params => POST(`/sgzb-auth/loginCode`, params)
// export const getImageCode = params => GET(`/iot/gywlw/publishVersion/page`, params)
// export const getImageCode = params => GET(`/antelope-common/common/get/gray/screen/time`, params)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

44
src/assets/css/global.css Normal file
View File

@ -0,0 +1,44 @@
html,
body,
#app {
height: 100%;
margin: 0;
padding: 0;
font-size: 14px;
}
ul, li {
padding: 0;
margin: 0;
}
li {
list-style-type: none;
}
/* h标题 */
h1,h2,h3,h4,h5,h6 {
margin: 0;
}
i {
font-style: normal;
}
.footerBox{
position: absolute;
bottom: 0; left: 50%;
width: 760px;
margin-left: -380px;
overflow: hidden;
}
.publicName{
background: url(../../assets/img/components/nameBg.png) no-repeat center;
background-size: 420px 48px;
height: 48px;
line-height: 48px;
text-align: center;
font-size: 20px;
color: #fff;
margin: 10px 0;
}

View File

@ -0,0 +1,23 @@
@font-face {
font-family: "iconfont"; /* Project id 3667287 */
src: url('iconfont.woff2?t=1676943999043') format('woff2'),
url('iconfont.woff?t=1676943999043') format('woff'),
url('iconfont.ttf?t=1676943999043') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-anquanzhongxin:before {
content: "\e895";
}
.icon-icon_shezhi:before {
content: "\eb8d";
}

View File

@ -0,0 +1 @@
window._iconfont_svg_string_3667287='<svg><symbol id="icon-anquanzhongxin" viewBox="0 0 1024 1024"><path d="M526.848 886.784c202.666667-81.066667 371.221333-327.530667 373.397333-545.92l0.853334-85.333333c0-1.408-2.090667-3.733333-3.52-3.861334l-6.656-0.64c-100.074667-9.770667-247.658667-58.517333-333.952-110.293333l-30.250667-18.133333c-5.418667-3.264-18.282667-2.602667-23.253333 1.130666-81.792 61.354667-226.581333 116.586667-328.362667 125.226667l-38.144 3.264c-1.664 0.149333-3.861333 2.517333-3.882667 4.138667l-0.853333 85.333333c-2.154667 218.197333 162.538667 464.128 364.928 545.066667l14.848 5.952 14.848-5.930667zM90.410667 255.936c0.234667-23.530667 19.264-44.202667 42.922666-46.229333l38.144-3.242667C265.28 198.485333 402.474667 146.154667 477.866667 89.6c18.858667-14.144 50.517333-15.786667 70.826666-3.605333l30.229334 18.154666c80.853333 48.512 222.336 95.253333 316.138666 104.405334l6.656 0.64c23.466667 2.282667 42.261333 23.232 42.026667 46.741333l-0.853333 85.333333c-2.346667 235.690667-181.461333 497.621333-400.213334 585.130667L512 938.666667l-30.677333-12.266667C262.613333 838.933333 87.232 577.109333 89.578667 341.290667l0.853333-85.354667z" fill="#3D3D3D" ></path><path d="M356.416 496.917333a21.333333 21.333333 0 0 0-30.165333 30.165334l149.333333 149.333333a21.333333 21.333333 0 0 0 31.850667-1.92l234.666666-298.666667a21.333333 21.333333 0 1 0-33.536-26.346666L488.746667 629.248l-132.330667-132.330667z" fill="#3D3D3D" ></path></symbol><symbol id="icon-icon_shezhi" viewBox="0 0 1024 1024"><path d="M482.88 112l-17.28 90.688-20.64 4.512a309.696 309.696 0 0 0-99.776 41.088l-18.688 11.84-73.28-55.04-44.64 44.64 51.904 76.416-11.392 17.76a310.016 310.016 0 0 0-41.568 99.584l-4.8 21.6-90.72 12.896v63.104l90.688 17.312 4.512 20.64a309.984 309.984 0 0 0 41.088 99.776l11.84 18.688-55.04 73.28 44.64 44.64 76.416-51.904 17.76 11.392a310.016 310.016 0 0 0 99.584 41.568l21.6 4.8 12.896 90.72h63.104l17.312-90.688 20.64-4.512a309.984 309.984 0 0 0 99.776-41.088l18.688-11.84 73.28 55.04 44.64-44.64-51.904-76.416 11.392-17.76a310.016 310.016 0 0 0 41.568-99.584l4.8-21.6 90.72-12.896V482.88l-90.688-17.312-4.512-20.64a309.984 309.984 0 0 0-41.088-99.776l-11.84-18.688 55.04-73.28-44.64-44.64-76.416 51.904-17.76-11.392a310.144 310.144 0 0 0-99.584-41.568l-21.6-4.8-12.896-90.72H482.88zM410.56 149.856l19.424-101.856h171.584l14.624 102.624c28 8.064 54.848 19.328 80.128 33.568l85.792-58.304 121.344 121.344-62.272 82.88c14.08 25.408 25.152 52.352 32.96 80.416l101.888 19.424v171.584l-102.624 14.624a373.92 373.92 0 0 1-33.568 80.128l58.304 85.792-121.344 121.344-82.88-62.272c-25.408 14.08-52.352 25.152-80.416 32.96l-19.424 101.888h-171.584l-14.624-102.624a373.92 373.92 0 0 1-80.128-33.568L241.92 898.112l-121.344-121.344 62.272-82.88a373.824 373.824 0 0 1-32.96-80.416L48 594.048v-171.584l102.624-14.624c8.064-27.968 19.328-54.848 33.568-80.128L125.888 241.92l121.344-121.344 82.88 62.272a373.856 373.856 0 0 1 80.416-32.96z" ></path><path d="M512 704a192 192 0 1 1 0-384 192 192 0 0 1 0 384z m0-64a128 128 0 1 0 0-256 128 128 0 0 0 0 256z" ></path></symbol></svg>',function(n){var t=(t=document.getElementsByTagName("script"))[t.length-1],e=t.getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var l,i,o,a,c,d=function(t,e){e.parentNode.insertBefore(t,e)};if(e&&!n.__iconfont__svg__cssinject__){n.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(t){console&&console.log(t)}}l=function(){var t,e=document.createElement("div");e.innerHTML=n._iconfont_svg_string_3667287,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?d(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),l()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=l,a=n.document,c=!1,r(),a.onreadystatechange=function(){"complete"==a.readyState&&(a.onreadystatechange=null,s())})}function s(){c||(c=!0,o())}function r(){try{a.documentElement.doScroll("left")}catch(t){return void setTimeout(r,50)}s()}}(window);

View File

@ -0,0 +1,23 @@
{
"id": "3667287",
"name": "门户网站",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "2076279",
"name": " 安全中心",
"font_class": "anquanzhongxin",
"unicode": "e895",
"unicode_decimal": 59541
},
{
"icon_id": "4347549",
"name": "icon_设置",
"font_class": "icon_shezhi",
"unicode": "eb8d",
"unicode_decimal": 60301
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
src/assets/img/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
src/assets/img/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 674 B

BIN
src/assets/img/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
src/assets/img/LOGO.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 973 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 KiB

BIN
src/assets/img/earth.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 KiB

BIN
src/assets/img/icon1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/img/icon1_on.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

BIN
src/assets/img/image26.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/img/inde_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/assets/img/inde_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
src/assets/img/indx_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/img/kuang.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

BIN
src/assets/img/logoBg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

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