25 Commits

Author SHA1 Message Date
jiangyinzhi 95d50a991d 填报增加字段 2026-04-13 16:23:45 +08:00
jiangyinzhi 7c9827baee 增加区县公司 2026-04-01 17:26:44 +08:00
jiangyinzhi d883b51b0d 修改 2025-12-25 09:28:02 +08:00
jiangyinzhi 63dc3bcc89 xiugai 2025-07-29 10:21:59 +08:00
jiangyinzhi 3523dcade7 修改 2025-06-06 09:34:27 +08:00
jiangyinzhi 0a9ab6ea26 安徽去除留言 2025-05-27 17:13:13 +08:00
jiangyinzhi 2e5613a65c 计划完成时间控制在当年 2025-05-27 17:12:37 +08:00
jiangyinzhi c633e1edce 淘汰数量、二氧化碳系数 2025-05-26 16:11:23 +08:00
jiangyinzhi 91be51e568 设备生产日期可选最小值修改、任务列表增加审核状态 2025-05-20 09:12:17 +08:00
jiangyinzhi d8e4579003 修改 2025-04-29 10:44:41 +08:00
jiangyinzhi 1f689a1b89 2025修订内容更改 2025-04-25 14:25:40 +08:00
jiangyinzhi af0c479609 新疆加警示 2025-04-17 10:44:14 +08:00
jiangyinzhi 561624a90c 修改 2025-01-16 16:21:23 +08:00
jiangyinzhi 7f7ff91a5e 规则修改 2024-11-19 17:06:20 +08:00
jiangyinzhi 455c8b58da 优化 2024-11-14 11:27:16 +08:00
jiangyinzhi da36f860ca 修改 2024-09-24 23:10:36 +08:00
jiangyinzhi be8a167fd0 修改 2024-09-03 15:28:55 +08:00
jiangyinzhi 0095c6ecba 修改 2024-08-15 11:29:15 +08:00
jiangyinzhi 560f0e034c 图片上传组件修改 2024-08-13 14:48:20 +08:00
jiangyinzhi ee500763de 修改 2024-08-05 19:21:29 +08:00
jiangyinzhi ec2f27d196 修改 2024-07-26 10:33:01 +08:00
jiangyinzhi e19c6fa4ea 空调与采暖新增字段 2024-07-23 18:30:27 +08:00
jiangyinzhi 63e310ae04 新增打卡页面 2024-07-23 18:28:49 +08:00
jiangyinzhi 92a8e9c5e7 项目启动,启动报错修改 2024-07-12 14:47:01 +08:00
jiangyinzhi 04f0606430 能效诊断 2024-07-10 10:25:32 +08:00
266 changed files with 60632 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
+14
View File
@@ -0,0 +1,14 @@
# 开发环境配置
ENV = 'development'
# 定义变量
VUE_APP_CITY_TYPE = 'ah'
# 开发环境接口调用前缀
# VUE_APP_BASE_API = '/dev-api'
# base api
# VUE_APP_API_PREFIX = '/portal'
# VUE_APP_BASE_API = '/portal'
VUE_APP_BASE_API = 'http://172.29.69.38:19012'
# VUE_APP_GATEWAY = '/proxy-ah'
+19
View File
@@ -0,0 +1,19 @@
# 标识为生产环境
NODE_ENV=production
# 测试0 生产1
VUE_APP_ENV = '1'
# 定义变量
VUE_APP_CITY_TYPE = 'ah'
# base api
VUE_APP_BASE_API = ''
# VUE_APP_GATEWAY = '/ferry_service/ferryController/conveyor'
# 以下三个配置用于本地代码直接发到手机上离线测试, 把 NODE_ENV=production 注释掉就行
#NODE_ENV=development
#VUE_APP_BASE_API = 'http://10.134.200.200:17001'
#VUE_APP_ISENCRYPTION='no'
+4
View File
@@ -0,0 +1,4 @@
build/*.js
src/assets
public
dist
+25
View File
@@ -0,0 +1,25 @@
.DS_Store
node_modules
/dist
/1000114
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
dist.zip
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
+4
View File
@@ -0,0 +1,4 @@
{
"semi": false,
"singleQuote": true
}
+49 -1
View File
@@ -1 +1,49 @@
能效诊断app前端 # xtkb-app
## 测试环境加密修改
*'pwd-restclient' 库 timeformatter*
```js
export function encryptStr(dataSource) {
var seid = faultylabsMD5(Math.random() + '')
seid = seid.substring(11, 27).toLowerCase()
var sid = faultylabsMD5(seid)
var sm2Modulus = sid.substring(11, 27).toLowerCase()
//构建时间戳
// debugger
var timestamp = Date.parse(new Date()) + ''
//使用数据+时间戳充当摘要盐值;
var salt = '{' + dataSource + '}' + '{' + timestamp + '}'
//SM3摘要加密
var deg = SG_sm3encrypt(salt)
var ciphertext = SG_sm4encrypt(salt + '&&' + deg, '40jny6ut8i0sj3cz')
var retValue = ciphertext + 'xtkb' + seid
//console.log(retValue);
return retValue
}
export function decryptStr(dataSource) {
return SG_sm4decrypt(dataSource, '40jny6ut8i0sj3cz')
}
```
## Project setup
```
yarn install
```
### Compiles and hot-reloads for development
```
yarn serve
```
### Compiles and minifies for production
```
yarn build
```
### Lints and fixes files
```
yarn lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
+25
View File
@@ -0,0 +1,25 @@
const path = require('path')
module.exports = {
presets: [
[
'@babel/preset-env',{
// 可以entry或者usage
useBuiltIns: 'entry',
corejs: 3,
},
],
],
plugins: [
[
"@babel/plugin-transform-runtime",
{
corejs: false,
version: require('@babel/runtime-corejs3/package.json').version,
absoluteRuntime: path.dirname(
require.resolve('@babel/runtime-corejs3/package.json')
)
}
]
]
};
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=1"><link rel="icon" href="/favicon.ico"><title>app3</title><script defer="defer" src="/js/chunk-vendors.7b95a193.js"></script><script defer="defer" src="/js/app.40952fa1.js"></script><link href="/css/app.d14288cd.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but app3 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
+16450
View File
File diff suppressed because it is too large Load Diff
+102
View File
@@ -0,0 +1,102 @@
{
"name": "app",
"version": "1.0.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@babel/core": "^7.17.5",
"@babel/plugin-transform-runtime": "^7.17.0",
"@babel/polyfill": "^7.12.1",
"@babel/preset-env": "^7.16.11",
"@babel/runtime-corejs3": "^7.17.2",
"amfe-flexible": "^2.2.1",
"axios": "^0.21.1",
"babel-loader": "^8.2.3",
"babel-polyfill": "^6.26.0",
"canvg": "^4.0.1",
"compression-webpack-plugin": "^5.0.1",
"core-js": "^3.21.1",
"crypto-js": "^4.0.0",
"cube-ui": "~1.12.15",
"dsbridge": "^3.1.4",
"echarts": "^4.9.0",
"es6-promise": "^4.2.8",
"fflate": "^0.8.0",
"html2canvas": "^1.0.0-rc.4",
"js-md5": "^0.7.3",
"jspdf": "^2.5.1",
"lib-flexible": "^0.3.2",
"mammoth": "^1.4.18",
"pwd-restclient": "^1.7.4",
"swiper": "^6.7.5",
"vant": "^2.12.30",
"vue": "^2.7.14",
"vue-awesome-swiper": "^3.1.3",
"vue-echarts": "^5.0.0-beta.0",
"vue-resource": "^1.5.1",
"vue-router": "^3.6.5",
"vuex": "^3.0.1",
"wangeditor": "^3.1.1",
"yakuza1": "^2.6.13"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-unit-mocha": "^3.11.0",
"@vue/cli-service": "~4.5.0",
"@vue/eslint-config-standard": "^4.0.0",
"@vue/test-utils": "1.0.0-beta.29",
"babel-eslint": "^10.1.0",
"babel-plugin-import": "^1.13.3",
"babel-plugin-transform-remove-console": "^6.9.4",
"chai": "^4.1.2",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"postcss-px2rem": "^0.3.0",
"style-loader": "^3.2.1",
"stylus": "^0.54.5",
"stylus-loader": "^3.0.2",
"vue-cli-plugin-cube-ui": "^0.2.5",
"vue-template-compiler": "^2.7.14",
"webpack-bundle-analyzer": "^4.9.0"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {}
},
"postcss": {
"plugins": {
"autoprefixer": {},
"postcss-px2rem": {
"remUnit": 37.5
}
}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
],
"transformModules": {
"cube-ui": {
"transform": "cube-ui/src/modules/${member}",
"kebabCase": true
}
}
}
+5
View File
@@ -0,0 +1,5 @@
module.exports = {
plugins: {
autoprefixer: {}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

+41
View File
@@ -0,0 +1,41 @@
<!--
* @Author: your name
* @Date: 2021-10-25 11:15:59
* @LastEditTime: 2022-01-11 23:14:53
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \xtkb-app\public\index.html
-->
<!DOCTYPE html>
<html lang="">
<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,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<script src="static/lib/echarts.min.js"></script>
<script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.min.js"></script>
<!-- <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
<script>
var vConsole = new window.VConsole();
</script> -->
<!-- unpkg -->
<title>能效诊断</title>
</head>
<body>
<noscript>
<strong>必须启用 JavaScript 才能使用本系统.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
File diff suppressed because one or more lines are too long
+94
View File
@@ -0,0 +1,94 @@
<template>
<div id="app">
<keep-alive>
<router-view :key="key" v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view :key="key" v-if="!$route.meta.keepAlive"></router-view>
</div>
</template>
<script>
export default {
name: "app",
data() {
return {
ShowDark: false,
isFullScreen: false, // 是否全面屏,刘海屏
// devLogin:{
// show: true,
// usermane: 'zhujj01',
// },
ENV: process.env.NODE_ENV,
// toast: this.$createToast({
// time: 0,
// txt: '正在加载,请稍等',
// mask: true
// })
};
},
computed: {
key() {
return this.$route.path;
},
},
};
</script>
<style lang="less">
#app {
// -webkit-font-smoothing: antialiased;
// -moz-osx-font-smoothing: grayscale;
// // text-align: center;
// color: #101010;
// background: #f6f6f6;
// position: absolute;
// width: 100%;
// height: 100%;
// font-size: 14px;
// overflow: hidden;
height: 100%;
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
// text-align: center;
font-size: 14px;
color: #2c3e50;
}
// html,
// body {
// width: 100%;
// height: 100%;
// margin: 0;
// padding: 0;
// position: relative;
// /*background: white;*/
// }
// ::-webkit-scrollbar {
// display: none;
// }
// /deep/ .cube-textarea-active::after {
// border: none;
// }
// /deep/ .cube-textarea-active {
// border: none !important;
// }
// /deep/ input {
// border: 1px solid;
// font-family: "Microsoft YaHei",serif;
// }
// ::v-deep .van-tabs__line {
// background-color: rgba(58, 170, 255, 1);
// }
// .van-cell-group-title{
// .label{font-weight: bold;display: flex;align-items: center;}
// .label:before{
// content: " "; padding: 2px;
// background-color:rgb(58, 170, 255);
// width: 1px;
// height: 10px;
// border-radius: 5px;
// margin-right: 5px;
// display: inline-block;
// }
// }
</style>
+314
View File
@@ -0,0 +1,314 @@
import myAxios from './axios'
const sx = process.env.VUE_APP_CITY_TYPE == 'sx' ? '/ferry_service/ferryController/conveyor' : ''
// 查询客户基本信息分页列表
export function getUserInfo(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/list`,
method: 'POST',
data: params
})
}
// 发起预约提交
export function takeInitiate(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/taskNet/addTask`,
method: 'POST',
data: params
})
}
// 查询任务管理列表
export function taskList(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/taskNet/pageList`,
method: 'POST',
data: params
})
}
// 获取任务管理状态下拉
export function taskType(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=TASK_STATUS&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取客户任务进度跟踪
export function taskRecord(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/taskNet/getTaskRecordByTaskId`,
method: 'GET',
params: {
id
}
})
}
// 获取清洁能源下拉
export function qjny(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=used_nxzd_qjny&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取再生水类型
export function waterType(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=reclaimedWaterType&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取外墙结构
export function wqjg(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=nxzd_wqcl&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取门窗玻璃
export function mcbl(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=nxzd_mcbl&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取窗框材料
export function ckcl(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=nxzd_mclx&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取能源类型
export function nylx(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=diag_energy_code&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取分项计量类型
export function fxjlType(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=nxzd_fxjllx&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取平台功能类别
export function ptgnbh(params) {
return myAxios({
url: '/admin/dicdata/page?dict_type=nxzd_ptgnbh&status_code=0&current=1&size=10000',
method: 'GET',
data: params
})
}
// 获取建筑信息管理措施问询
export function buildAsk(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnquireNet/getEnquireInfoByModelType`,
method: 'GET',
params: data
})
}
// 新增保存建筑基本信息
export function buildAdd(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdBuildInfoNet/add`,
method: 'POST',
data: params
})
}
// 修改保存建筑基本信息
export function buildEdit(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdBuildInfoNet/edit`,
method: 'POST',
data: params
})
}
// 查询单个建筑基本信息
export function getInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdBuildInfoNet/getInfo`,
method: 'GET',
params: id
})
}
// 查询统计信息
export function getStatisticAPI(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/getStatistic`,
method: 'GET',
params
})
}
// 签名上传
export function uploadNoting(params) {
return myAxios({
url: '/portal/file/minio/upload',
method: 'POST',
params: params
})
}
//图片上传
export function uploadFile(params) {
// console.log(params);
// console.log(decrypt(params));
return myAxios({
url: '/file/minio/upload',
method: 'POST',
data: params
})
}
//图片读取
export function downloadFile(attach_id) {
return myAxios({
url: '/file/minio/download',
method: 'POST',
params: attach_id
})
}
// 生成诊断报告
export function genReport(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdReportTemplaNet/genReport`,
method: 'GET',
params: data
})
}
// 签名上传
export function uploadSign(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdReportTemplaNet/edit`,
method: 'POST',
data: params
})
}
//能源信息
export function getInfoAPI(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseInfoNet/getInfo`,
method: 'get',
params: data
})
}
// 修改能源管理信息
export function editInfoAPI(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseInfoNet/edit`,
method: 'POST',
data: params
})
}
// 新增能源管理信息
export function addInfoAPI(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseInfoNet/add`,
method: 'POST',
data: params
})
}
// 工业企业到能源管理页面查看是否新增,修改
export function getInfoByCustomerIdAPI(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseInfoNet/getInfo`,
// url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseInfoNet/getInfoByCustomerId`,
method: 'GET',
params: data
})
}
//提交更改状态
export function changeSaveStateAPI(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/taskNet/changeSaveState`,
method: 'get',
params: data
})
}
//提交保存
export function changeSubStateType(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdBuildInfoNet/changeSubStateType`,
method: 'GET',
params: data
})
}
//查询工业企业三个主表的id
export function getEnergyInfoByCustomerId(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseInfoNet/getEnergyInfoByCustomerId`,
method: 'GET',
params: data
})
}
//图文识别上传
export function fileController(params) {
console.log(params);
// console.log(decrypt(params));
return myAxios({
url: '/energy-effcicency-net-service/fileController/uploadFile',
method: 'POST',
data: params
})
}
// 新增打卡
export function insertPositionData(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/clock/insertPositionData`,
method: 'POST',
data: params
})
}
// 查询打卡
export function getPositionData(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/clock/getPositionData`,
method: 'POST',
data: params
})
}
// 获取配电信息
export function getNxzdPower(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUseEnergyEquipNet/getNxzdPower`,
// ?customerId=${params}
method: 'get',
params: { "customerId": params }
})
}
// 建筑面积查重
export function duplicateCheck(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdBuildInfoNet/duplicateCheck`,
method: 'POST',
data: params
})
}
// 催办详情查重
export function getList(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUrgingTaskNet/list`,
method: 'POST',
data: params
})
}
//复核记录
export const queryCheckList = (params) => {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdReportTemplaNet/queryCheckList`,
method: 'post',
data:params
})
}
+219
View File
@@ -0,0 +1,219 @@
import axios from 'axios';
import { Notify, Toast } from 'vant';
import { getTokenAUTH } from '@/utils/auth';
import { baseURLs } from './config.js'
import { getIsEncrypt } from '@/settings'
import {encrypt, decrypt} from '@/utils/cryptology'
import router from '../router'
const pendingMap = new Map();
axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
// const cityType = process.env.VUE_APP_CITY_TYPE
// const sxPath = '/ferry_service/ferryController/conveyor'
// const noAddpath = ['/admin', '/file', '/thirdpart']
/**
* 提示函数
* 禁止点击蒙层,显示1秒后关闭
*/
const tip = msg => {
Toast({
message: msg,
duration: 1000,
forbidClick: true
})
}
const LoadingInstance = {
_target: null,
_count: 0
};
function myAxios(axiosConfig, customOptions) {
const service = axios.create({
baseURL: axiosConfig.type ? '' : baseURLs, // 设置统一的请求前缀
timeout: 30000, // 设置统一的超时时长
});
// 自定义配置
let custom_options = Object.assign({
repeat_request_cancel: false, // 是否开启取消重复请求, 默认为 true
loading: false, // 是否开启loading层效果, 默认为false
reduct_data_format: true, // 是否开启简洁的数据结构响应, 默认为true
error_message_show: true, // 是否开启接口错误信息展示,默认为true
code_message_show: false, // 是否开启code不为0时的信息提示, 默认为false
}, customOptions);
// 请求拦截
service.interceptors.request.use(
config => {
removePending(config);
custom_options.repeat_request_cancel && addPending(config);
// 创建loading实例
if (custom_options.loading) {
LoadingInstance._count++;
if (LoadingInstance._count === 1) {
LoadingInstance._target = tip('加载中');
}
}
// 自动携带token
if (getTokenAUTH() && typeof window !== "undefined") {
config.headers.Authorization = 'Bearer ' + getTokenAUTH();
}
if (getIsEncrypt) {
let data = config.method == 'get' ? config.params : config.data
// console.log('加密前的请求参数', data)
// eslint-disable-next-line no-extra-boolean-cast
if(config.url.split('/fileController').length==2 ){
// data = encrypt(data, config)
// console.log(data,'pppp');
}else if (!!data && (config.url.split('/file/minio').length != 2 )) {
data = encrypt(data, config)
config.method == 'get' ? (config.params = data) : (config.data = data)
}
}
return config;
},
error => {
return Promise.reject(error);
}
);
// 响应拦截
service.interceptors.response.use(
response => {
let res = response.data
removePending(response.config);
custom_options.loading && closeLoading(custom_options); // 关闭loading
if (custom_options.code_message_show && response.data && response.data.code !== 0) {
Notify({ type: 'danger', message: response.data.message })
// ElMessage({
// type: 'error',
// message: response.data.message
// })
return Promise.reject(response.data); // code不等于0, 页面具体逻辑就不执行了
}
if (getIsEncrypt && !!res.encrypt_data) {
let data = decrypt(res.encrypt_data)
// console.log('解密后的返回值', data)
res = {
code: res.code,
data,
msg: res.msg,
}
}
return res
},
error => {
error.config && removePending(error.config);
custom_options.loading && closeLoading(custom_options); // 关闭loading
custom_options.error_message_show && httpErrorStatusHandle(error); // 处理错误状态码
return Promise.reject(error); // 错误继续返回给到具体页面
}
);
return service(axiosConfig)
}
export default myAxios
/**
* 处理异常
* @param {*} error
*/
function httpErrorStatusHandle(error) {
// 处理被取消的请求
if (axios.isCancel(error)) return console.error('请求的重复请求:' + error.message);
let message = '';
if (error && error.response) {
switch (error.response.status) {
case 302: message = '接口重定向了!'; break;
case 400: message = '参数不正确!'; break;
case 401: message = '您未登录,或者登录已经超时,请先登录!';
// console.log(router,'114');
// router.push('/login')
// eslint-disable-next-line no-case-declarations
// let pathName = sessionStorage.getItem('path')
// router.push(pathName)
break;
case 403: message = '您没有权限操作!'; break;
case 404: message = `请求地址出错: ${error.response.config.url}`; break; // 在正确域名下
case 408: message = '请求超时!'; break;
case 409: message = '系统已存在相同数据!'; break;
case 500: message = '服务器内部错误!'; break;
case 501: message = '服务未实现!'; break;
case 502: message = '网关错误!'; break;
case 503: message = '服务不可用!'; break;
case 504: message = '服务暂时无法访问,请稍后再试!'; break;
case 505: message = 'HTTP版本不受支持!'; break;
default: message = '异常问题,请联系管理员!'; break
}
}
if (error.message.includes('timeout')) message = '网络请求超时!';
if (error.message.includes('Network')) message = window.navigator.onLine ? '服务端异常!' : '您断网了!';
Notify({ type: 'danger', message: message })
// ElMessage({
// type: 'error',
// message
// })
}
/**
* 关闭Loading层实例
* @param {*} _options
*/
function closeLoading(_options) {
if (_options.loading && LoadingInstance._count > 0) LoadingInstance._count--;
if (LoadingInstance._count === 0) {
LoadingInstance._target && LoadingInstance._target.close();
LoadingInstance._target = null;
}
}
/**
* 储存每个请求的唯一cancel回调, 以此为标识
* @param {*} config
*/
function addPending(config) {
const pendingKey = getPendingKey(config);
config.cancelToken = config.cancelToken || new axios.CancelToken((cancel) => {
if (!pendingMap.has(pendingKey)) {
pendingMap.set(pendingKey, cancel);
}
});
}
/**
* 删除重复的请求
* @param {*} config
*/
function removePending(config) {
const pendingKey = getPendingKey(config);
if (pendingMap.has(pendingKey)) {
const cancelToken = pendingMap.get(pendingKey);
// 如你不明白此处为什么需要传递pendingKey可以看文章下方的补丁解释
cancelToken(pendingKey);
pendingMap.delete(pendingKey);
}
}
/**
* 生成唯一的每个请求的唯一key
* @param {*} config
* @returns
*/
function getPendingKey(config) {
let { url, method, params, data } = config;
if (typeof data === 'string') data = JSON.parse(data); // response里面返回的config.data是个字符串对象
return [url, method, JSON.stringify(params), JSON.stringify(data)].join('&');
}
+191
View File
@@ -0,0 +1,191 @@
import axios from 'axios';
import { Notify, Toast } from 'vant';
import { getTokenAUTH } from '@/utils/auth';
import { baseURLs } from './config.js'
import router from '../router'
const pendingMap = new Map();
axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
/**
* 提示函数
* 禁止点击蒙层,显示1秒后关闭
*/
const tip = msg => {
Toast({
message: msg,
duration: 1000,
forbidClick: true
})
}
const LoadingInstance = {
_target: null,
_count: 0
};
function myAxios2(axiosConfig, customOptions) {
const service = axios.create({
baseURL: axiosConfig.type ? '' : baseURLs, // 设置统一的请求前缀
timeout: 50000, // 设置统一的超时时长
});
// 自定义配置
let custom_options = Object.assign({
repeat_request_cancel: false, // 是否开启取消重复请求, 默认为 true
loading: false, // 是否开启loading层效果, 默认为false
reduct_data_format: true, // 是否开启简洁的数据结构响应, 默认为true
error_message_show: true, // 是否开启接口错误信息展示,默认为true
code_message_show: false, // 是否开启code不为0时的信息提示, 默认为false
}, customOptions);
// 请求拦截
service.interceptors.request.use(
config => {
removePending(config);
custom_options.repeat_request_cancel && addPending(config);
// 创建loading实例
if (custom_options.loading) {
LoadingInstance._count++;
if (LoadingInstance._count === 1) {
LoadingInstance._target = tip('加载中');
}
}
// 自动携带token
if (getTokenAUTH() && typeof window !== "undefined") {
config.headers.Authorization = 'Bearer ' + getTokenAUTH();
}
return config;
},
error => {
return Promise.reject(error);
}
);
// 响应拦截
service.interceptors.response.use(
response => {
removePending(response.config);
custom_options.loading && closeLoading(custom_options); // 关闭loading
if (custom_options.code_message_show && response.data && response.data.code !== 0) {
Notify({ type: 'danger', message: response.data.message })
// ElMessage({
// type: 'error',
// message: response.data.message
// })
return Promise.reject(response.data); // code不等于0, 页面具体逻辑就不执行了
}
return custom_options.reduct_data_format ? response.data : response;
},
error => {
error.config && removePending(error.config);
custom_options.loading && closeLoading(custom_options); // 关闭loading
custom_options.error_message_show && httpErrorStatusHandle(error); // 处理错误状态码
return Promise.reject(error); // 错误继续返回给到具体页面
}
);
return service(axiosConfig)
}
export default myAxios2
/**
* 处理异常
* @param {*} error
*/
function httpErrorStatusHandle(error) {
// 处理被取消的请求
if (axios.isCancel(error)) return console.error('请求的重复请求:' + error.message);
let message = '';
if (error && error.response) {
switch (error.response.status) {
case 302: message = '接口重定向了!'; break;
case 400: message = '参数不正确!'; break;
case 401: message = '您未登录,或者登录已经超时,请先登录!';
// console.log(router,'114');
// router.push('/login')
// eslint-disable-next-line no-case-declarations
let pathName = sessionStorage.getItem('path')
router.push(pathName)
break;
case 403: message = '您没有权限操作!'; break;
case 404: message = `请求地址出错: ${error.response.config.url}`; break; // 在正确域名下
case 408: message = '请求超时!'; break;
case 409: message = '系统已存在相同数据!'; break;
case 500: message = '服务器内部错误!'; break;
case 501: message = '服务未实现!'; break;
case 502: message = '网关错误!'; break;
case 503: message = '服务不可用!'; break;
case 504: message = '服务暂时无法访问,请稍后再试!'; break;
case 505: message = 'HTTP版本不受支持!'; break;
default: message = '异常问题,请联系管理员!'; break
}
}
if (error.message.includes('timeout')) message = '网络请求超时!';
if (error.message.includes('Network')) message = window.navigator.onLine ? '服务端异常!' : '您断网了!';
Notify({ type: 'danger', message: message })
// ElMessage({
// type: 'error',
// message
// })
}
/**
* 关闭Loading层实例
* @param {*} _options
*/
function closeLoading(_options) {
if (_options.loading && LoadingInstance._count > 0) LoadingInstance._count--;
if (LoadingInstance._count === 0) {
LoadingInstance._target.close();
LoadingInstance._target = null;
}
}
/**
* 储存每个请求的唯一cancel回调, 以此为标识
* @param {*} config
*/
function addPending(config) {
const pendingKey = getPendingKey(config);
config.cancelToken = config.cancelToken || new axios.CancelToken((cancel) => {
if (!pendingMap.has(pendingKey)) {
pendingMap.set(pendingKey, cancel);
}
});
}
/**
* 删除重复的请求
* @param {*} config
*/
function removePending(config) {
const pendingKey = getPendingKey(config);
if (pendingMap.has(pendingKey)) {
const cancelToken = pendingMap.get(pendingKey);
// 如你不明白此处为什么需要传递pendingKey可以看文章下方的补丁解释
cancelToken(pendingKey);
pendingMap.delete(pendingKey);
}
}
/**
* 生成唯一的每个请求的唯一key
* @param {*} config
* @returns
*/
function getPendingKey(config) {
let { url, method, params, data } = config;
if (typeof data === 'string') data = JSON.parse(data); // response里面返回的config.data是个字符串对象
return [url, method, JSON.stringify(params), JSON.stringify(data)].join('&');
}
+78
View File
@@ -0,0 +1,78 @@
//公共api
import myAxios from "./axios";
import myAxios2 from "./axios2";
const sx = process.env.VUE_APP_CITY_TYPE == 'sx'?'/ferry_service/ferryController/conveyor':''
const sxAdmin = (process.env.VUE_APP_CITY_TYPE == 'sx'||process.env.VUE_APP_CITY_TYPE == 'cq')?'/admin/grsg2':'/thirdpart/grsg'
/**
* 查询系统码表
* @param data 其中包括 codeSortId codeType 后端定义的枚举id及类型
*/
export function getCode(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdPCodeYcControllerNet/list`, //后端接口路由
method: 'post',
data
})
}
/**
* 查询系统码表 -- 地区
* @param data 暂时不用传其他数据,如果获取到客户/客户经理所在地需要传
*/
export function getOrgList() {
return myAxios({
url: `${sx}/energy-effcicency-net-service/area/queryAreaTree`, //后端接口路由
method: 'post',
data: {
id: '123'
}
})
}
// 地区公司
export function cityTree(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdPCodeYcControllerNet/cityTree`, //后端接口路由
method: 'post',
data
})
}
//获取用户信息
export function getUserInfo(params) {
return myAxios({
url: `/admin/user/info`, //后端接口路由
method: 'get',
params
})
}
//获取ai
export function getLoginInfoByGrsg(params) {
return myAxios({
url: `${sxAdmin}/loginGrsg`, //后端接口路由
method: 'post',
data: params
})
}
//后端获取ai返回到前端
export function getAi(params) {
return myAxios({
url:`${sx}/energy-effcicency-net-service/grsg/getAi`,
method: 'get',
params
})
}
//获取当前登录人是客户还是客户经理
export function getUserLevel() {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/getLoginRole`, //后端接口路由
method: 'get',
})
}
+23
View File
@@ -0,0 +1,23 @@
let baseURL = ''
// console.log(process.env.VUE_APP_CITY_TYPE);
if (process.env.NODE_ENV === 'development') {
// 测试环境
// baseURL = 'http://172.29.69.38:28083/' //后端ip和端口
// baseURL = 'http://192.168.1.116:28083/' //测试后端ip和端口
baseURL = 'http://172.29.106.250:19012/' //测试后端ip和端口
} else {
// 生产环境
// baseURL = '' // 本地 打包以后只需要空路径就行
baseURL = '/proxy-ah' //安徽 打包以后的路径
// baseURL = '/proxy-nx' //宁夏 打包以后的路径
// baseURL = '/proxy-xj' //新疆 打包以后的路径
// baseURL = '/proxy-sx' //山西 打包以后的路径
// baseURL = '/proxy-cq' //重庆 打包以后的路径
}
export const baseURLs = baseURL
+45
View File
@@ -0,0 +1,45 @@
import myAxios from "./axios";
const sx = process.env.VUE_APP_CITY_TYPE == 'sx'?'/ferry_service/ferryController/conveyor':''
/**
* 客户档案信息
* --修改--
* @param data
*/
export function customerEdit(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/edit`, //后端接口路由
method: 'post',
data
})
}
/**
* 查询单个客户信息
* @param id
*/
export function getSingleInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/getOneInfo`, //后端接口路由
method: 'get',
params: { id }
})
}
/**
* 查询单个客户信息 -- 任务管理
* @param id
*/
export function getSingleTaskInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/taskNet/getInfo`, //后端接口路由
method: 'get',
params: { id }
})
}
+27
View File
@@ -0,0 +1,27 @@
import myAxios from './axios'
const sx = process.env.VUE_APP_CITY_TYPE == 'sx'?'/ferry_service/ferryController/conveyor':''
//通过id获取到当前id的详细信息
export function getCurrentPersonInfoAPI(customerId) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/getOneInfo`, //后端接口路由
method: 'get',
params: { id: customerId }
})
}
// 查询单个客户统计信息
export function getCustomerStatisticAPI(id) {
return myAxios({
url:`${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/getCustomerStatistic`, //后端接口路由
method: 'get',
params: { id }
})
}
// 工业企业--通过id获取到当前id的详细信息
export function getInfoAPI(customerId) {
return myAxios({
url:`${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/getEnterpriseCustomerStatistic`, //后端接口路由
method: 'get',
params: { id: customerId }
})
}
+176
View File
@@ -0,0 +1,176 @@
import myAxios from "./axios";
const sx = process.env.VUE_APP_CITY_TYPE == 'sx'?'/ferry_service/ferryController/conveyor':''
//建筑能耗数据信息
/**
* 查询建筑能耗 -- 年
* @param {
* pageNum: 当前第几页,
* pageSize: 每页展示多少行
* }
*/
export function getYearList(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnergyDataYearNet/list`, //后端接口路由
method: 'post',
data,
})
}
/**
* 查询单个建筑能耗 -- 年
* @param id 获取所需编辑的id
*
*/
export function getSingleYearInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnergyDataYearNet/getInfo`, //后端接口路由
method: 'get',
params: { id }
})
}
/**
* 编辑能耗数据 -- 年
* @param data
*/
export function yearEdit(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnergyDataYearNet/edit`, //后端接口路由
method: 'post',
data,
})
}
/**
* 查询建筑耗能 -- 月
* @param {
* pageNum: 当前第几页,
* pageSize: 每页展示多少行,
* energyMonth: 展示某月
* }
*
*/
export function getMonthList(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnergyDataMonthNet/list`, //后端接口路由
method: 'post',
data,
})
}
/**
* 查询单个建筑能耗 -- 月
* @param id 获取所需编辑的id
*
*/
export function getSingleMonthInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnergyDataMonthNet/getInfo`, //后端接口路由
method: 'get',
params: { id }
})
}
/**
* 编辑能耗数据 -- 月
* @param data
*/
export function monthEdit(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnergyDataMonthNet/edit`, //后端接口路由
method: 'post',
data,
})
}
//用能信息
//获取此用户是否有用能信息
export function getCustomerInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUseEnergyEquipNet/getInfo`, //后端接口路由
method: 'get',
params: { customerId: id },
})
}
/**
* 新增空调制冷系统
* @param data
*
*/
export function addListRefrige(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdRefrigeSystemNet/addList`, //后端接口路由
method: 'post',
data,
})
}
/**
* 新增主要用能设备
* @param data
*/
export function addEnergyEquip(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUseEnergyEquipNet/addEnergyEquip`, //后端接口路由
method: 'post',
data,
})
}
/**
* 修改主要用能设备
* @param data
*/
export function editEnergyEquip(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUseEnergyEquipNet/edit`, //后端接口路由
method: 'post',
data,
})
}
/**
* 查询单个主要用能设备信息
* @param data
*/
export function getEnergyEquip(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUseEnergyEquipNet/getInfo`, //后端接口路由
method: 'GET',
params: id
})
}
/**
* 查询所有闻讯信息
* @param {
* pageNum: 1, 分页查询当前页码
* pageSize: 99999 分页查询当前页展示条数
* }
*/
export function getSearchList() {
const data = {
pageNum: 1,
pageSize: 99999
}
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnquireNet/list`, //后端接口路由
method: 'post',
data,
})
}
+105
View File
@@ -0,0 +1,105 @@
//公共api
import myAxios from './axios'
const sx = process.env.VUE_APP_CITY_TYPE == 'sx'?'/ferry_service/ferryController/conveyor':''
//通过id获取到当前id的详细信息
export function getEnergyReportInfoAPI(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdReportTemplaNet/getReport`, //后端接口路由
method: 'get',
params: data
})
}
//能耗算分
export function energyQuotaTaskCalc(data) {
return myAxios({
url:`${sx}/energy-effcicency-net-service/nxzdEnergyQuotaSetNet/energyQuotaTaskCalc`, //后端接口路由
method: 'get',
params: data
})
}
//获取登录客户信息
export function getLoginCustomerAPI() {
return myAxios({
url:`${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/getLoginCustomer`, //后端接口路由
method: 'get'
})
}
// 查询报告月份下拉数据
export function getReportTimeListAPI(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdReportTemplaNet/getReportTimeList`, //后端接口路由
method: 'get',
params: data
})
}
//可以通过日期获取当前报表数据
export function getReport(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdCustomerBasicInfoNet/getReport`, //后端接口路由
method: 'post',
data
})
}
// 查询企业用能列表
export function getQyListAPI(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseEnergyNet/list`, //后端接口路由
method: 'post',
data: data
})
}
// 新增保存企业用能信息
export function NewAddQyAPI(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseEnergyNet/add`, //后端接口路由
method: 'post',
data: data
})
}
// 删除企业用能信息
export function DeleteQyAPI(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseEnergyNet/remove`, //后端接口路由
method: 'get',
params: data
})
}
// 查询单个企业用能信息
export function getQyInfo(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseEnergyNet/getInfo`, //后端接口路由
method: 'get',
params: data
})
}
// 修改单个企业用能信息
export function EditQyInfo(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseEnergyNet/edit`, //后端接口路由
method: 'post',
data: data
})
}
// 根据年份获取用户外购电信息
export function getInfoByCustomerId(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnergyDataYearNet/getInfoByCustomerId`, //后端接口路由
method: 'GET',
params: data
})
}
// 通过年份与客户id查询报告
export function getReportByYear(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdReportTemplaNet/getReportByYear`, //后端接口路由
method: 'GET',
params: data
})
}
+21
View File
@@ -0,0 +1,21 @@
//公共api
import myAxios from './axios'
const sx = process.env.VUE_APP_CITY_TYPE == 'sx'?'/ferry_service/ferryController/conveyor':''
//查询评价列表
export function getCurrentUserEvaluate(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEvaluateNet/list`, //后端接口路由
method: 'post',
data
})
}
//保存评价回复
export function getCurrentUserEvaluateAdd(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEvaluateReplyNet/add`, //后端接口路由
method: 'post',
data
})
}
+266
View File
@@ -0,0 +1,266 @@
import myAxios from "./axios";
const sx = process.env.VUE_APP_CITY_TYPE == 'sx'?'/ferry_service/ferryController/conveyor':''
// 配电系统列表
export function distributeList(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisDistributeSystemNet/list`,
method: 'POST',
data: params
})
}
// 配电系统新增
export function distributeAdd(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisDistributeSystemNet/add`,
method: 'POST',
data: params
})
}
// 查询单个配电系统
export function distributeGetInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisDistributeSystemNet/getInfo`,
method: 'GET',
params: { id }
})
}
// 修改保存配电系统
export function distributeEdit(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisDistributeSystemNet/edit`,
method: 'POST',
data: params
})
}
// 删除配电系统
export function distributeRemove(ids) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisDistributeSystemNet/remove`,
method: 'GET',
params: { ids }
})
}
// 查询泵机系统分页列表
export function pumpList(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisPumpSystemNet/list`,
method: 'POST',
data: params
})
}
// 新增保存泵机系统
export function pumpAdd(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisPumpSystemNet/add`,
method: 'POST',
data: params
})
}
// 查询单个泵机系统
export function pumpGetInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisPumpSystemNet/getInfo`,
method: 'GET',
params: { id }
})
}
// 修改保存泵机系统
export function pumpEdit(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisPumpSystemNet/edit`,
method: 'POST',
data: params
})
}
// 删除泵机系统
export function pumpRemove(ids) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisPumpSystemNet/remove`,
method: 'GET',
params: { ids }
})
}
// 查询风机系统分页列表
export function fanList(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisFanSystemNet/list`,
method: 'POST',
data: params
})
}
// 新增保存风机系统
export function fanAdd(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisFanSystemNet/add`,
method: 'POST',
data: params
})
}
// 查询单个风机系统
export function fanGetInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisFanSystemNet/getInfo`,
method: 'GET',
params: { id }
})
}
// 修改保存风机系统
export function fanEdit(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisFanSystemNet/edit`,
method: 'POST',
data: params
})
}
// 删除风机系统
export function fanRemove(ids) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisFanSystemNet/remove`,
method: 'GET',
params: { ids }
})
}
// 查询空压机系统分页列表
export function airList(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisAirSystemNet/list`,
method: 'POST',
data: params
})
}
// 新增保存空压机系统
export function airAdd(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisAirSystemNet/add`,
method: 'POST',
data: params
})
}
// 查询单个空压机系统
export function airGetInfo(id) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisAirSystemNet/getInfo`,
method: 'GET',
params: { id }
})
}
// 修改保存空压机系统
export function airEdit(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisAirSystemNet/edit`,
method: 'POST',
data: params
})
}
// 删除空压机系统
export function airRemove(ids) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisAirSystemNet/remove`,
method: 'GET',
params: { ids }
})
}
// 查询单个企业基本信息与单个企业通用能源系统信息
export function getInfoByCustomerId(customerId) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisSystemInfoNet/getInfoByCustomerId`,
method: 'GET',
params: { customerId }
})
}
// 查询单个企业基本信息与单个企业通用能源系统信息
export function getInfoByEnterpris(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisSystemInfoNet/getInfo`,
method: 'GET',
params: params
})
}
// 根据客户id删除通用能源信息
export function systemInfoRemove(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisSystemInfoNet/remove`,
method: 'GET',
params: data
})
}
// 新增保存企业基本信息与能源管理调研改造信息
export function reformAdd(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseReformNet/add`,
method: 'POST',
data: params
})
}
// 查询企业基本信息与能源管理调研改造信息分页列表
export function reformList(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseReformNet/list`,
method: 'POST',
data: params
})
}
// 查询单个企业基本信息与能源管理调研改造信息
export function reformGetInfo(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseReformNet/getInfo`,
method: 'GET',
params: data
})
}
// 修改保存企业基本信息与能源管理调研改造信息
export function reformEdit(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseReformNet/edit`,
method: 'POST',
data: params
})
}
// 删除企业基本信息与能源管理调研改造信息
export function reformRemove(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterpriseReformNet/remove`,
method: 'GET',
params: data
})
}
// 查询单个企业基本信息与单个企业通用能源系统信息
export function enterprisGetInfo(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisSystemInfoNet/getInfoByCustomerId`,
method: 'GET',
params: data
})
}
// 新增保存企业通用能源系统信息主
export function enterprisAdd(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisSystemInfoNet/add`,
method: 'POST',
data: params
})
}
// 修改保存企业通用能源系统信息主
export function enterprisEdit(params) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisSystemInfoNet/edit`,
method: 'POST',
data: params
})
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

+75
View File
@@ -0,0 +1,75 @@
.d-flex {
display: flex;
}
.j-b {
justify-content: space-between;
}
.j-a {
justify-content: space-around;
}
.j-e {
justify-content: space-evenly;
}
.a-i {
align-items: center;
}
.f-wrap {
flex-wrap: wrap;
}
.mx-10 {
margin: 0 10px !important;
}
.my-10 {
margin: 10px 0 !important;
}
.mr-5 {
margin-right: 5px;
}
.ml-5 {
margin-left: 5px;
}
.mr-10 {
margin-right: 10px;
}
.ml-10 {
margin-left: 10px;
}
.mt-5 {
margin-top: 5px;
}
.mb-5 {
margin-bottom: 5px;
}
.py10 {
padding: 10px 0;
}
.px10 {
padding: 0 10px;
}
.b-bottom {
border-bottom: 1px solid #ccc;
}
.font12 {
font-size: 12px !important;
}
.font14 {
font-size: 14px !important;
}
.font16 {
font-size: 16px !important;
}
.font18 {
font-size: 18px !important;
}
.f-grow {
flex-grow: 1;
}
.f-nogrow {
flex-grow: 0;
}
.f-shrink {
flex-shrink: 1;
}
.f-noshrink {
flex-shrink: 0;
}
+99
View File
@@ -0,0 +1,99 @@
.d-flex {
display: flex;
}
.j-b {
justify-content: space-between;
}
.j-a {
justify-content: space-around;
}
.j-e {
justify-content: space-evenly;
}
.a-i {
align-items: center;
}
.f-wrap {
flex-wrap: wrap;
}
.mx-10 {
margin: 0 10px !important;
}
.my-10 {
margin: 10px 0 !important;
}
.mr-5 {
margin-right: 5px;
}
.ml-5 {
margin-left: 5px;
}
.mr-10 {
margin-right: 10px;
}
.ml-10 {
margin-left: 10px;
}
.mt-5 {
margin-top: 5px;
}
.mb-5 {
margin-bottom: 5px;
}
.py10 {
padding: 10px 0;
}
.px10 {
padding: 0 10px;
}
.b-bottom {
border-bottom: 1px solid #ccc;
}
.font12 {
font-size: 12px !important;
}
.font14 {
font-size: 14px !important;
}
.font16 {
font-size: 16px !important;
}
.font18 {
font-size: 18px !important;
}
.f-grow {
flex-grow: 1;
}
.f-nogrow {
flex-grow: 0;
}
.f-shrink {
flex-shrink: 1;
}
.f-noshrink {
flex-shrink: 0;
}
+28
View File
@@ -0,0 +1,28 @@
// 详情页 展示列表样式
.border-bottom {
border-bottom: 1px solid #ebecf0;
}
.detail-model {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
padding: 10px 0;
.item-label {
color: #808080;
width: 35%;
text-align: left;
}
.item-value {
color: #333333;
width: 65%;
text-align: right;
}
}
.pl5 {
padding-left: 5px;
}
.pl10 {
padding-left: 10px;
}
+304
View File
@@ -0,0 +1,304 @@
@charset "utf-8";
/* 禁用iPhone中Safari的字号自动调整 */
html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
/* 解决IOS默认滑动很卡的情况 */
-webkit-overflow-scrolling: touch;
height: 100%;
width: 100%;
}
body {
height: 100%;
width: 100%;
color: #686868;
background: #F6F6F6;
overflow-x: hidden;
}
/* 禁止缩放表单 */
input[type="submit"],
input[type="reset"],
input[type="button"],
input {
resize: none;
border: none;
}
/* 取消链接高亮 */
body,
div,
ul,
li,
ol,
h1,
h2,
h3,
h4,
h5,
h6,
input,
textarea,
select,
p,
dl,
dt,
dd,
a,
img,
button,
form,
table,
th,
tr,
td,
tbody,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/* 设置HTML5元素为块 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}
textarea {
outline: none;
}
/* 图片自适应 */
img {
width: 100%;
height: auto;
width: auto\9;
/* ie8 */
display: block;
-ms-interpolation-mode: bicubic;
/*为了照顾ie图片缩放失真*/
}
input,
select {
-webkit-appearance: none;
appearance: none;
}
select {
background: #fff;
color: #555;
/*background-image:url('../img/up.png');*/
background-repeat: no-repeat;
background-position: right center;
background-size: 0.5rem 100%;
/*background: url('../../img/up.png') no-repeat right center;*/
}
/* 初始化 */
body,
div,
ul,
li,
ol,
h1,
h2,
h3,
h4,
h5,
h6,
input,
textarea,
select,
p,
dl,
dt,
dd,
a,
img,
button,
form,
table,
th,
tr,
td,
tbody,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
margin: 0;
padding: 0;
}
/* body {
font-family:'Microsoft YaHei','宋体', Tahoma, Arial, sans-serif;
font-size: 20px;
color: #686868;
background:#F6F6F6;
} */
/* em, i {
font-style: normal;
} */
ul,
li {
list-style-type: none;
}
/* strong {
font-weight: normal;
} */
.clearfix:after {
content: "";
display: block;
visibility: hidden;
height: 0;
clear: both;
}
.clearfix {
zoom: 1;
}
a {
text-decoration: none;
color: #969696;
font-family: 'Microsoft YaHei', Tahoma, Arial, sans-serif;
}
a:hover {
text-decoration: none;
}
ul,
ol {
list-style: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: 100%;
font-family: 'Microsoft YaHei';
}
img {
border: none;
}
input {
font-family: 'Microsoft YaHei';
}
/*单行溢出*/
.one-txt-cut {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/*多行溢出 手机端使用*/
.txt-cut {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
/* -webkit-line-clamp: 2; */
-webkit-box-orient: vertical;
}
/* 移动端点击a链接出现蓝色背景问题解决 */
a:link,
a:active,
a:visited,
a:hover {
background: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;
}
.w50 {
width: 50%;
}
.w25 {
width: 25%;
}
.w20 {
width: 20%;
}
.w33 {
width: 33.333333%;
}
.fl {
float: left;
}
.fr {
float: right;
}
.db {
display: block !important;
}
.dn {
display: none;
}
.clear:after {
content: ".";
height: 0;
overflow: hidden;
visibility: hidden;
display: block;
clear: both;
}
.cursor {
cursor: pointer;
}
/*组件切换的动画*/
.fade-enter-active,
.fade-leave-active {
transition: opacity .5s
}
/* .fade-leave-active in <2.1.8 */
.fade-enter,
.fade-leave-to {
opacity: 0
}
+131
View File
@@ -0,0 +1,131 @@
.fun(@w, @h, @back) {
width: @w;
height: @h;
background: @back;
}
.just(@flex, @just, @items) {
display: @flex;
justify-content: @just;
align-items: @items;
}
.wrapPage {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
background: #fbfbfb;
header {
.fun(100%, 50px, #fa402d);
.just(flex, space-between, center);
>span {
&:nth-child(1) {
.fun(50px, 50px, rgba(0, 0, 0, 0));
.just(flex, center, center);
font-size: 24px;
font-weight: bolder;
position: absolute;
left: 0;
top: 0;
}
&:nth-child(2) {
flex: 1;
.just(flex, center, center);
font-size: 18px;
font-weight: bold;
}
&:nth-child(3) {
.fun(50px, 50px, rgba(0, 0, 0, 0));
.just(flex, center, center);
font-size: 24px;
font-weight: bolder;
}
}
.searchBlock {
.fun(100%, 50px, #fa402d);
display: flex;
justify-content: space-between;
align-items: center;
::v-deep .van-search {
background: transparent;
width: 100%;
height: 28px;
padding-right: 0;
padding-left: 0;
.van-search__content {
border-radius: 5px;
}
}
.msgTips {
display: block;
width: 22px;
height: 22px;
background: url('../../assets/img/digitalPartyBuilding/messageTips.png') no-repeat center;
background-size: 100%;
margin: 0 16px;
}
.cancelOut {
display: block;
width: 22px;
height: 22px;
background: url('../../assets/img/digitalPartyBuilding/cancelOut.png') no-repeat center;
background-size: 100%;
margin: 0 16px;
}
::v-deep .van-icon {
display: block;
font-size: 26px;
margin: 0 16px;
color: #fff;
}
}
}
section {
flex: 1;
// display: flex;
flex-direction: column;
overflow: auto;
padding-bottom: 10px;
}
.backGo {
font-size: 15px;
height: 35px;
line-height: 35px;
padding: 0 12px;
color: #fff;
background: #fa402d;
font-weight: bold;
position: relative;
border-bottom: 1px solid #c5c5c5;
.arrowLeft {
display: block;
position: absolute;
left: 5px;
.van-icon {
height: 35px;
width: 35px;
font-size: 20px;
line-height: 35px;
}
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

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