Compare commits
12 Commits
7f7ff91a5e
..
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 178f422dc5 | |||
| f0da970904 | |||
| 63dc3bcc89 | |||
| 3523dcade7 | |||
| 0a9ab6ea26 | |||
| 2e5613a65c | |||
| c633e1edce | |||
| 91be51e568 | |||
| d8e4579003 | |||
| 1f689a1b89 | |||
| af0c479609 | |||
| 561624a90c |
+1
-1
@@ -6,7 +6,7 @@ NODE_ENV=production
|
||||
# 测试0 生产1
|
||||
VUE_APP_ENV = '1'
|
||||
# 定义变量
|
||||
VUE_APP_CITY_TYPE = 'xj'
|
||||
VUE_APP_CITY_TYPE = 'cq'
|
||||
|
||||
# base api
|
||||
VUE_APP_BASE_API = ''
|
||||
|
||||
Generated
-47
@@ -5633,11 +5633,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"dompurify": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.0.3.tgz",
|
||||
"integrity": "sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ=="
|
||||
},
|
||||
"domutils": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
|
||||
@@ -15099,48 +15094,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-pdf": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-pdf/-/vue-pdf-4.3.0.tgz",
|
||||
"integrity": "sha512-zd3lJj6CbtrawgaaDDciTDjkJMUKiLWtbEmBg5CvFn9Noe9oAO/GNy/fc5c59qGuFCJ14ibIV1baw4S07e5bSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-syntax-dynamic-import": "^6.18.0",
|
||||
"loader-utils": "^1.4.0",
|
||||
"pdfjs-dist": "2.6.347",
|
||||
"raw-loader": "^4.0.2",
|
||||
"vue-resize-sensor": "^2.0.0",
|
||||
"worker-loader": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"emojis-list": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
|
||||
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
|
||||
"integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-resize-sensor": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz",
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
"core-js": "^3.21.1",
|
||||
"crypto-js": "^4.0.0",
|
||||
"cube-ui": "~1.12.15",
|
||||
"dompurify": "^3.0.3",
|
||||
"dsbridge": "^3.1.4",
|
||||
"echarts": "^4.9.0",
|
||||
"es6-promise": "^4.2.8",
|
||||
@@ -64,7 +63,6 @@
|
||||
"stylus": "^0.54.5",
|
||||
"stylus-loader": "^3.0.2",
|
||||
"vue-cli-plugin-cube-ui": "^0.2.5",
|
||||
"vue-pdf": "^4.3.0",
|
||||
"vue-template-compiler": "^2.7.14",
|
||||
"webpack-bundle-analyzer": "^4.9.0"
|
||||
},
|
||||
|
||||
+2
-2
@@ -18,9 +18,9 @@
|
||||
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://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 src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
|
||||
<script>
|
||||
var vConsole = new window.VConsole();
|
||||
</script> -->
|
||||
|
||||
+39
-8
@@ -1,5 +1,6 @@
|
||||
import myAxios from './axios'
|
||||
const sx = process.env.VUE_APP_CITY_TYPE == 'sx' ? '/ferry_service/ferryController/conveyor' : ''
|
||||
const sx = ''
|
||||
// const sx = process.env.VUE_APP_CITY_TYPE == 'sx' ? '/ferry_service/ferryController/conveyor' : ''
|
||||
|
||||
// 查询客户基本信息分页列表
|
||||
export function getUserInfo(params) {
|
||||
@@ -150,27 +151,31 @@ export function getStatisticAPI(params) {
|
||||
// 签名上传
|
||||
export function uploadNoting(params) {
|
||||
return myAxios({
|
||||
url: '/portal/file/minio/upload',
|
||||
url: `${sx}/energy-effcicency-net-service/nxzdUserFileNet/upload`,
|
||||
method: 'POST',
|
||||
params: params
|
||||
params: params,
|
||||
unEncrypted: true
|
||||
})
|
||||
}
|
||||
//图片上传
|
||||
// 注意:不能手动设置 Content-Type,否则浏览器不会自动生成 multipart boundary;
|
||||
// 需 unEncrypted 跳过请求拦截器加密,FormData 不能被 JSON.stringify+SM4 替换
|
||||
export function uploadFile(params) {
|
||||
// console.log(params);
|
||||
// console.log(decrypt(params));
|
||||
return myAxios({
|
||||
url: '/file/minio/upload',
|
||||
url: `${sx}/energy-effcicency-net-service/nxzdUserFileNet/upload`,
|
||||
method: 'POST',
|
||||
data: params
|
||||
data: params,
|
||||
unEncrypted: true
|
||||
})
|
||||
}
|
||||
//图片读取
|
||||
export function downloadFile(attach_id) {
|
||||
return myAxios({
|
||||
url: '/file/minio/download',
|
||||
url: `${sx}/energy-effcicency-net-service/nxzdUserFileNet/download/${attach_id}`,
|
||||
method: 'POST',
|
||||
params: attach_id
|
||||
responseType: 'blob',
|
||||
})
|
||||
}
|
||||
// 生成诊断报告
|
||||
@@ -282,7 +287,33 @@ export function getPositionData(params) {
|
||||
// 获取配电信息
|
||||
export function getNxzdPower(params) {
|
||||
return myAxios({
|
||||
url: `${sx}/energy-effcicency-net-service/nxzdUseEnergyEquipNet/getNxzdPower?customerId=${params}`,
|
||||
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
|
||||
})
|
||||
}
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ const LoadingInstance = {
|
||||
function myAxios(axiosConfig, customOptions) {
|
||||
const service = axios.create({
|
||||
baseURL: axiosConfig.type ? '' : baseURLs, // 设置统一的请求前缀
|
||||
timeout: 10000, // 设置统一的超时时长
|
||||
timeout: 20000, // 设置统一的超时时长
|
||||
});
|
||||
|
||||
// 自定义配置
|
||||
|
||||
+2
-17
@@ -2,6 +2,7 @@
|
||||
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'
|
||||
|
||||
/**
|
||||
* 查询系统码表
|
||||
@@ -39,7 +40,7 @@ export function getUserInfo(params) {
|
||||
//获取ai
|
||||
export function getLoginInfoByGrsg(params) {
|
||||
return myAxios({
|
||||
url: `/thirdpart/grsg/loginGrsg`, //后端接口路由
|
||||
url: `${sxAdmin}/loginGrsg`, //后端接口路由
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
@@ -63,21 +64,5 @@ export function getUserLevel() {
|
||||
|
||||
}
|
||||
|
||||
//获取返回base64
|
||||
export function downReportTime(data) {
|
||||
return myAxios2({
|
||||
url: `${sx}/energy-effcicency-net-service/nxzdReportTemplaNet/downReportTime`, //后端接口路由
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 保存日志
|
||||
export function saveLog(data) {
|
||||
return myAxios({
|
||||
url: `${sx}/energy-effcicency-net-service/log/saveLog`, //后端接口路由
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
+4
-9
@@ -4,22 +4,17 @@ let baseURL = ''
|
||||
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.69.38:19012/' //南京国网测试后端ip和端口
|
||||
// baseURL = 'https://portal.xt.nfjbill.ren:30004/proxy-ah/' //后端ip和端口
|
||||
|
||||
// baseURL = 'https://www.greensgcc.com/proxy-ah/effcicency/' //安徽本地测试
|
||||
// baseURL = 'https://www.greensgcc.com/proxy-nx/' //宁夏本地测试
|
||||
// baseURL = 'https://www.greensgcc.com/proxy-xj/' //新疆本地测试
|
||||
// baseURL = 'https://www.greensgcc.com/proxy-sx/' //山西本地测试
|
||||
// baseURL = 'http://192.168.1.116:28083/' //测试后端ip和端口
|
||||
baseURL = 'http://172.29.69.38:19012/' //测试后端ip和端口
|
||||
|
||||
} else {
|
||||
// 生产环境
|
||||
// baseURL = '' // 本地 打包以后只需要空路径就行
|
||||
// baseURL = '/proxy-ah' //安徽 打包以后的路径
|
||||
// baseURL = '/proxy-nx' //宁夏 打包以后的路径
|
||||
baseURL = '/proxy-xj' //新疆 打包以后的路径
|
||||
// baseURL = '/proxy-xj' //新疆 打包以后的路径
|
||||
// baseURL = '/proxy-sx' //山西 打包以后的路径
|
||||
baseURL = '/proxy-cq' //重庆 打包以后的路径
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -43,15 +43,3 @@ export function getSingleTaskInfo(id) {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询客户用电户号列表
|
||||
* @param data
|
||||
*/
|
||||
// nxzdCustomerBasicInfoNet
|
||||
export function getUseele(data) {
|
||||
return myAxios({
|
||||
url: `${sx}/energy-effcicency-net-service/nxzdCConsNet/list`, //后端接口路由
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
@@ -264,19 +264,3 @@ export function enterprisEdit(params) {
|
||||
data: params
|
||||
})
|
||||
}
|
||||
// 新增保存企业通用能源系统信息主
|
||||
export function systemInfoAdd(params) {
|
||||
return myAxios({
|
||||
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisSystemInfoNet/add`,
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
// 修改保存企业通用能源系统信息主
|
||||
export function systemInfoEdit(params) {
|
||||
return myAxios({
|
||||
url: `${sx}/energy-effcicency-net-service/nxzdEnterprisSystemInfoNet/edit`,
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
@@ -1,38 +0,0 @@
|
||||
// 在运行和打包前根据不同的环境切换对应地址和缓存的地址
|
||||
// picBaseUrl 为接口请求图片的地址前缀 picCachingUrl 为缓存图片的地址前缀 打包前请两者都对应修改
|
||||
// 民防环境
|
||||
// const picBaseUrl = 'https://mam1.ft-power.com.cn:10001/fzSP/fileAction.do?method=execute&'
|
||||
// const picBaseUrl = 'http://mam6.ft-power.com.cn:10030/fzSP/fileAction.do?method=execute&'
|
||||
|
||||
// 策划部环境
|
||||
// const picBaseUrl = 'https://mam2.ft-power.com.cn:19092/fzSP/fileAction.do?method=execute&'
|
||||
// const picBaseUrl = 'https://mam4.ft-power.com.cn:9001/fzSP/fileAction.do?method=execute&'
|
||||
// const picBaseUrl = 'http://10.20.32.134:7002/fzSP/fileAction.do?method=execute&'
|
||||
// const picBaseUrl = 'http://10.20.32.36:7001/fzSP/fileAction.do?method=execute&'
|
||||
// const picBaseUrl = 'http://10.20.32.128:10010/fzSP/fileAction.do?method=execute&'
|
||||
// 公司本地环境地址
|
||||
// const picBaseUrl = 'http://10.30.15.7:7009/fzSP/fileAction.do?method=execute&'
|
||||
// const picBaseUrl = "http://webapp.hoperun.com:9002/fzSP/fileAction.do?method=execute&"
|
||||
// 生产地址IP和端口
|
||||
// const picBaseUrl = 'http://10.20.32.161:7007/fzSP/fileAction.do?method=execute&'
|
||||
const picBaseUrl = 'https://mam.sgcc.com.cn:443/fzSP/fileAction.do?method=execute&'
|
||||
// const picBaseUrl = 'http://127.0.0.1:10086/fzSP/fileAction.do?method=execute&'
|
||||
|
||||
// 缓存图片地址 使用tempFile
|
||||
const picCachingUrl = 'https://mam.sgcc.com.cn:443/fzSP/tempFile/'
|
||||
// const picCachingUrl = 'https://mam1.ft-power.com.cn:10001/fzSP/tempFile/'
|
||||
// const picCachingUrl = 'http://mam6.ft-power.com.cn:10030/fzSP/tempFile/'
|
||||
// const picCachingUrl = 'https://mam2.ft-power.com.cn:19092/fzSP/tempFile/'
|
||||
// const picCachingUrl = 'http://10.20.32.134:7002/fzSP/tempFile/'
|
||||
// const picCachingUrl = 'http://10.30.15.7:7009/fzSP/tempFile/'
|
||||
// const picCachingUrl = "http://webapp.hoperun.com:9002/fzSP/tempFile/"
|
||||
|
||||
// const picCachingUrl = 'http://10.20.32.161:7007/fzSP/tempFile/'
|
||||
|
||||
// const picCachingUrl = 'http://10.20.32.36:7001/fzSP/tempFile/'
|
||||
// const picCachingUrl = 'http://10.20.32.128:10010/fzSP/tempFile/'
|
||||
// 暂时无用的地址
|
||||
// http://10.20.32.36:7001/fzSP/
|
||||
// const picCachingUrl = 'http://10.30.15.7:7009/fzSP/fileAction.do?method=execute&'
|
||||
// const picCachingUrl = 'http://10.20.32.134:7002/fzSP/fileAction.do?method=execute&'
|
||||
export { picBaseUrl, picCachingUrl }
|
||||
@@ -24,8 +24,6 @@ Vue.use(inputDirective);
|
||||
Vue.use(Vant);
|
||||
Vue.prototype.Regexp = Regexp
|
||||
Vue.prototype.$store = store
|
||||
// Vue.prototype.$picBaseUrl = picBaseUrl
|
||||
// Vue.prototype.$picCachingUrl = picCachingUrl
|
||||
const bus = new Vue()
|
||||
Vue.prototype.$bus = bus
|
||||
|
||||
|
||||
+81
-1
@@ -3,6 +3,7 @@ import { getCodeCommon } from '../views/facilityManage/common'
|
||||
const mixin = {
|
||||
data() {
|
||||
return {
|
||||
showOption: false,
|
||||
/**
|
||||
* 字典表数据
|
||||
*/
|
||||
@@ -23,10 +24,70 @@ const mixin = {
|
||||
* vuex方法
|
||||
*/
|
||||
vuexFunc: '',
|
||||
vuexChangeFun: ''
|
||||
vuexChangeFun: '',
|
||||
|
||||
datePicker: false,
|
||||
currentDate: new Date(),
|
||||
maxDate: new Date(),
|
||||
minDate: new Date('1980/1/2'),
|
||||
equipTypeOption: {
|
||||
'01':[
|
||||
{value: "0101", text: "螺杆式空压机"},
|
||||
{value: "0102", text: "活塞式空压机"},
|
||||
{value: "0103", text: "离心式空压机"},
|
||||
{value: "0104", text: "涡旋式空压机"},
|
||||
{value: "0105", text: "滑片式空压机"},
|
||||
{value: "0106", text: "无油空压机"},
|
||||
],
|
||||
'02':[
|
||||
{value: "0201", text: "离心泵"},
|
||||
{value: "0202", text: "轴流泵"},
|
||||
{value: "0203", text: "混流泵"},
|
||||
{value: "0204", text: "往复泵"},
|
||||
{value: "0205", text: "旋转泵"},
|
||||
{value: "0206", text: "喷射泵"},
|
||||
{value: "0207", text: "空气提升泵"},
|
||||
],
|
||||
'03':[
|
||||
{value: "0301", text: "离心式风机"},
|
||||
{value: "0302", text: "轴流式风机"},
|
||||
{value: "0303", text: "混流式(斜流式)风机"},
|
||||
{value: "0304", text: "横流式(贯流式)风机"},
|
||||
{value: "0305", text: "罗茨风机(容积式)"},
|
||||
]
|
||||
},
|
||||
equipEfficiencyOption: [
|
||||
{ value: '01', text: '一级能效'},
|
||||
{ value: '02', text: '二级能效'},
|
||||
{ value: '03', text: '三级能效'},
|
||||
{ value: '04', text: '四级能效'},
|
||||
{ value: '05', text: '五级能效'},
|
||||
],
|
||||
element: '',
|
||||
columnsList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 企业公用弹窗
|
||||
handelClickOptionShow(name, key){
|
||||
this.element = name
|
||||
if(key){
|
||||
this.columnsList = this[name+'Option'][key]
|
||||
}else{
|
||||
this.columnsList = this[name+'Option']
|
||||
}
|
||||
this.showOption = true
|
||||
},
|
||||
onConfirmOption(data){
|
||||
if(this.$route.params&&this.$route.params.type=='3'){
|
||||
this.$set(this.form1, this.element, data.value)
|
||||
this.form1[this.element+'Name'] = data.text
|
||||
}else{
|
||||
this.form[this.element] = data.value
|
||||
this.form[this.element+'Name'] = data.text
|
||||
}
|
||||
this.showOption = false
|
||||
},
|
||||
//通用的弹框获取数据
|
||||
async handelClickHeatingShow(type, id, feildName, feild, title) {
|
||||
this.show = !this.showForm
|
||||
@@ -153,7 +214,26 @@ const mixin = {
|
||||
//控制年份取消
|
||||
onCancelYear() {
|
||||
this.yearShow = false
|
||||
},
|
||||
|
||||
// 日期选择赋值
|
||||
onConfirmDate(val) {
|
||||
var date2 = new Date(val);
|
||||
var y = date2.getFullYear();
|
||||
var m = date2.getMonth() + 1;
|
||||
m = m < 10 ? "0" + m : m;
|
||||
var d = date2.getDate();
|
||||
d = d < 10 ? "0" + d : d;
|
||||
this.form.produceDate = y + "-" + m + "-" + d;
|
||||
console.log(this.form.produceDate);
|
||||
if(this.$route.query&&this.$route.query.id=='heating'){
|
||||
this.$store.commit('search/SET_HEAT_YEAR', this.form)
|
||||
}
|
||||
if(this.$route.params&&this.$route.params.type=='3'){
|
||||
this.form1.produceDate = y + "-" + m + "-" + d;
|
||||
}
|
||||
this.datePicker = false;
|
||||
},
|
||||
// change(data) {
|
||||
// console.log(data);
|
||||
// }
|
||||
|
||||
+1
-10
@@ -303,16 +303,7 @@ export default [
|
||||
component: () => import('@/views/enterprise/customer.vue')
|
||||
},
|
||||
|
||||
// 工业企业-用电户号
|
||||
{
|
||||
path: '/useele',
|
||||
name: 'useele',
|
||||
meta: {
|
||||
title: '用电户号',
|
||||
keepAlive: true
|
||||
},
|
||||
component: () => import('@/views/enterprise/useEle.vue')
|
||||
},
|
||||
|
||||
// 工业企业-部分报告
|
||||
{
|
||||
path: '/partialreport',
|
||||
|
||||
+1
-6
@@ -10,12 +10,7 @@ module.exports = {
|
||||
*/
|
||||
sidebarLogo: true,
|
||||
menuExclude: [],
|
||||
// ${process.env.VUE_APP_BASE_API}
|
||||
// https://portal.xt.nfjbill.ren:30004
|
||||
downloadUrl: `${process.env.VUE_APP_BASE_API}/file/minio/download/`,
|
||||
// downloadUrl: `https://www.greensgcc.com/proxy-xj/file/minio/download/`,
|
||||
// downloadUrl: `http://172.29.69.38:19012/proxy-sx/file/minio/download/`,
|
||||
uploadUrl: `${process.env.VUE_APP_BASE_API}/file/minio/upload/`,
|
||||
downloadUrl: `${process.env.VUE_APP_BASE_API}/energy-effcicency-net-service/nxzdUserFileNet/download/`,
|
||||
statusCode: {
|
||||
SUCCESS: 0
|
||||
},
|
||||
|
||||
@@ -28,6 +28,7 @@ export default {
|
||||
cityIsNx: state => state.user.cityIsNx,
|
||||
imageRecognition: state => state.user.imageRecognition,
|
||||
validate: state => state.user.validate,
|
||||
cityisXj: state => state.user.cityisXj,
|
||||
/**
|
||||
* 询问的数据
|
||||
*/
|
||||
@@ -57,6 +58,7 @@ export default {
|
||||
heatMode: state => state.search.heatMode, //采暖方式
|
||||
pumpYear: state => state.search.pumpYear, //输送泵组设备年份
|
||||
pumpNum: state => state.search.pumpNum, //输送泵组台数
|
||||
produceDate: state => state.search.produceDate, //输送泵组台数
|
||||
/**
|
||||
* 集中式空调
|
||||
*/
|
||||
|
||||
@@ -30,6 +30,7 @@ const getDefaultState = () => ({
|
||||
pumpNum: '',
|
||||
pumpTotalPower: '',
|
||||
pumpYear: '',
|
||||
produceDate: '',
|
||||
/**
|
||||
* 集中式空调
|
||||
*/
|
||||
@@ -104,7 +105,9 @@ const mutations = {
|
||||
state.heatIntellectModifyYear = data.heatIntellectModifyYear
|
||||
state.heatModifyYear = data.heatModifyYear
|
||||
state.pumpYear = data.pumpYear
|
||||
state.produceDate = data.produceDate
|
||||
},
|
||||
|
||||
/**
|
||||
* 集中式空调
|
||||
*/
|
||||
|
||||
@@ -6,7 +6,9 @@ const tokenKey = 'stk',
|
||||
uidKey = 'suid',
|
||||
userTypeKey = 'sut',
|
||||
duidKey = 'sduid',
|
||||
sak = 'saikey'
|
||||
sak = 'saikey',
|
||||
useridKey= 'userId',
|
||||
username= 'username'
|
||||
const getValueByKey = key => {
|
||||
return sessionStorage.getItem(key) ? sessionStorage.getItem(key) : ''
|
||||
}
|
||||
@@ -15,8 +17,8 @@ const getDefaultState = () => ({
|
||||
token: getValueByKey(tokenKey),
|
||||
ai: getValueByKey(sak),
|
||||
platform: getValueByKey(platformKey),
|
||||
userid: '',
|
||||
username: '',
|
||||
userid: getValueByKey(useridKey),
|
||||
username: getValueByKey(username),
|
||||
realname: '',
|
||||
mobile: '',
|
||||
uno: '', //0500024691
|
||||
@@ -38,7 +40,8 @@ const getDefaultState = () => ({
|
||||
cityType: true, //外观图片必填
|
||||
cityIsNx: process.env.VUE_APP_CITY_TYPE=='nx', //宁夏特供-公共机构配电获取
|
||||
imageRecognition: process.env.VUE_APP_CITY_TYPE=='ah', // 图像识别
|
||||
validate: process.env.VUE_APP_CITY_TYPE=='ah', // 大区间校验
|
||||
validate: process.env.VUE_APP_CITY_TYPE=='ah', // 大区间校验 任务列表 用户客户标识
|
||||
cityisXj: process.env.VUE_APP_CITY_TYPE=='xj', // 报告-二氧化碳系数
|
||||
})
|
||||
|
||||
const state = getDefaultState()
|
||||
@@ -85,6 +88,7 @@ const mutations = {
|
||||
},
|
||||
SET_USER_NAME: (state, username) => {
|
||||
state.username = username
|
||||
sessionStorage.setItem('username', username)
|
||||
},
|
||||
SET_REALNAME: (state, realname) => {
|
||||
state.realname = realname
|
||||
@@ -152,7 +156,7 @@ const actions = {
|
||||
getUserInfo({ commit }) {
|
||||
console.log(this);
|
||||
return new Promise((resolve) => {
|
||||
getUserInfo().then(res => {
|
||||
getUserInfo({t: new Date().getTime()}).then(res => {
|
||||
// if (res.code == vm.$StatusCode.SUCCESS) {
|
||||
if(res.code == 0) {
|
||||
console.log(res);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import html2Canvas from 'html2canvas'
|
||||
import JsPDF from 'jspdf'
|
||||
import { buildPDF } from '@/utils/dsbridge.js'
|
||||
// import { downReportTime } from '@/api/common.js'
|
||||
|
||||
//前端不作不分页
|
||||
var getPdf = async function(title, date) {
|
||||
@@ -47,10 +46,6 @@ export default getPdf
|
||||
|
||||
|
||||
|
||||
// // var getBase64 = async function (data) {
|
||||
// // const res = await downReportTime(data)
|
||||
|
||||
// // }
|
||||
|
||||
//前端作分页
|
||||
// var getPdf = async function(title, id) {
|
||||
@@ -175,10 +170,5 @@ export default getPdf
|
||||
// let formData = new FormData()
|
||||
// let fileOfBlob = new File([u8Arr], fileName + '.jpg', options) //返回文件流
|
||||
// formData.append('file', fileOfBlob)
|
||||
// const res = await downReportTime(formData)
|
||||
// if(res.code == 0) {
|
||||
// const ba64 = `filename=${fileName}.pdf;base64,` + res.data
|
||||
// buildPDF(ba64)
|
||||
// }
|
||||
|
||||
// }
|
||||
+43
-60
@@ -154,8 +154,6 @@ export function callApi(funName, params) {
|
||||
export function fileDown (downLoadUrl, fileName, id,data) {
|
||||
// 测试app
|
||||
|
||||
// let url = `https://mam.zeus2.top:10030/xtkb-web/file/fileDownload?id=${downLoadUrl}`
|
||||
// const url = `https://mamjs.sgcc.com.cn:10443/xtkb-web/file/fileDownload?id=${downLoadUrl}`
|
||||
//正式app
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
let url = `/xtkb-web/file/fileDownload?id=${downLoadUrl}`
|
||||
@@ -163,64 +161,6 @@ export function fileDown (downLoadUrl, fileName, id,data) {
|
||||
}else{
|
||||
|
||||
}
|
||||
// // let url = `https://mamjs.sgcc.com.cn:10443/xtkb-web/file/fileDownload?id=${downLoadUrl}`
|
||||
// function success (result) {
|
||||
// let type = result.data.event
|
||||
// switch (type) {
|
||||
// case 'fail':
|
||||
// Toast.$create({
|
||||
// txt: '下载失败',
|
||||
// type: 'error'
|
||||
// }).show();
|
||||
// break;
|
||||
// case 'progress':
|
||||
// Toast.$create({
|
||||
// txt: '正在下载',
|
||||
// type: 'warn'
|
||||
// }).show();
|
||||
// break;
|
||||
// case 'success':
|
||||
// Toast.$create({
|
||||
// txt: '下载成功',
|
||||
// type: 'success'
|
||||
// }).show();
|
||||
// // let urlData = result.fileUrl.split('/serverfile')
|
||||
// // let newUrl
|
||||
// // if (urlData.length === 2) {
|
||||
// // newUrl = urlData[0] + '/serverfile/' + fileName
|
||||
// // } else {
|
||||
// // newUrl = result.fileUrl
|
||||
// // }
|
||||
// // let dataUrl = data.split('data:')
|
||||
// mam.navigator.appfilemanage.openFile(url,fileName);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// // JSINTXTKB
|
||||
// Dialog.$create({
|
||||
// type: 'confirm',
|
||||
// icon: 'cubeic-alert',
|
||||
// title: '文件',
|
||||
// content: '是否下载文件',
|
||||
// confirmBtn: {
|
||||
// text: '确定下载',
|
||||
// active: true,
|
||||
// disabled: false,
|
||||
// href: 'javascript:;'
|
||||
// },
|
||||
// cancelBtn: {
|
||||
// text: '取消下载',
|
||||
// active: false,
|
||||
// disabled: false,
|
||||
// href: 'javascript:;'
|
||||
// },
|
||||
// onConfirm: () => {
|
||||
// // JSINTXTWZS
|
||||
// mam.navigator.appfilemanage.fileDownload2(success, 'JSINTXTWZS', '', url, '/serverfile', fileName, id, { id: id })
|
||||
// },
|
||||
// onCancel: () => {
|
||||
// }
|
||||
// }).show()
|
||||
}
|
||||
// function diyDownload()
|
||||
// {
|
||||
@@ -243,4 +183,47 @@ export function fileDown (downLoadUrl, fileName, id,data) {
|
||||
// console.log("fileDownloadCallback 下载文件 回调 " + JSON.stringify(obj));
|
||||
// }
|
||||
|
||||
/**
|
||||
* 通过 POST 接口下载图片并返回 blob URL
|
||||
* @param {string} attach_id 文件ID
|
||||
* @returns {Promise<string>} blob URL
|
||||
*/
|
||||
export async function getImageBlobUrl(attach_id) {
|
||||
try {
|
||||
const { downloadFile } = await import('@/api/api')
|
||||
const blob = await downloadFile(attach_id)
|
||||
if (blob instanceof Blob && blob.size > 0) {
|
||||
const type = blob.type && blob.type.startsWith('image/') ? blob.type : 'image/jpeg'
|
||||
const imgBlob = new Blob([blob], { type })
|
||||
const url = URL.createObjectURL(imgBlob)
|
||||
console.log('getImageBlobUrl ok: id=', attach_id, 'type=', blob.type, 'size=', blob.size, 'url=', url)
|
||||
return url
|
||||
}
|
||||
console.error('getImageBlobUrl 无效响应: id=', attach_id, 'isBlob=', blob instanceof Blob, 'size=', blob && blob.size, 'type=', blob && blob.type)
|
||||
return ''
|
||||
} catch (e) {
|
||||
console.error('getImageBlobUrl 请求失败: id=', attach_id, e)
|
||||
return ''
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 通过 POST 接口下载文件并触发浏览器保存
|
||||
* 注意:后端返回的是文件流(Blob),浏览器不会自动下载,需手动触发
|
||||
* @param {string} attachId 文件ID
|
||||
* @param {string} [fileName] 保存的文件名(带后缀),缺省为 'download'
|
||||
*/
|
||||
export async function downloadFileById(attachId, fileName) {
|
||||
const { downloadFile } = await import('@/api/api')
|
||||
const blob = await downloadFile(attachId)
|
||||
if (!(blob instanceof Blob)) return
|
||||
const url = URL.createObjectURL(blob)
|
||||
const a = document.createElement('a')
|
||||
a.href = url
|
||||
a.download = fileName || 'download'
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
a.remove()
|
||||
URL.revokeObjectURL(url)
|
||||
}
|
||||
|
||||
export default service
|
||||
|
||||
@@ -40,6 +40,18 @@
|
||||
{{ EnergyReportInfo.refrigeType }}
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="device-table"
|
||||
v-if="EnergyReportInfo.existSplitting == 'true'"
|
||||
>
|
||||
<div class="device-table-header">分体式空调</div>
|
||||
<div class="device-table-main con">
|
||||
合计{{ EnergyReportInfo.splittingNum }}台,<span>负载系数为{{ EnergyReportInfo.splittingLoadFactor }},每日运行{{
|
||||
EnergyReportInfo.splittingRunHours
|
||||
}}小时,</span>年平均运行时间为{{ EnergyReportInfo.splittingRunDays }}天,单位面积冷量为{{ EnergyReportInfo.splittingColdPerArea
|
||||
}}千瓦/平方米,淘汰设备数量{{EnergyReportInfo.splittingDieoutNum}}台。
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="device-table"
|
||||
v-if="EnergyReportInfo.existCentralize == 'true'"
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
<p v-else>贵单位无相关节能改造措施,评定不得分。</p>
|
||||
<!-- <p v-else>{{ EnergyReportInfo.conservationScoreNull }}</p> -->
|
||||
<br>
|
||||
<p>注:各个维度满分为5分。</p>
|
||||
<p>注:各个维度满分为100分。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="summarize-btn" style="display:none">
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail2-right-bottom">
|
||||
用电户号:
|
||||
{{userCode}}:
|
||||
<div>{{ EnergyReportInfo.consNo }}</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -191,6 +191,9 @@ export default {
|
||||
localStorage.removeItem('firstEnter')
|
||||
},
|
||||
computed: {
|
||||
userCode(){
|
||||
return this.$store.getters.validate? '用户编号':'用电户号'
|
||||
},
|
||||
timeSelectShow() {
|
||||
if(sessionStorage.getItem('level') == 2 && this.taskType != 5 && this.energyData.taskId && !this.EnergyReportInfo.handState && this.EnergyReportInfo.grsgState == '2') {
|
||||
return true
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
|
||||
<script>
|
||||
// import reportHeader from './report-header.vue'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
import { mapState,mapMutations } from 'vuex'
|
||||
import { setTitle } from '@/utils/dsbridge.js'
|
||||
import { Notify } from 'vant'
|
||||
@@ -150,6 +150,7 @@ export default {
|
||||
return {
|
||||
signed: '',
|
||||
signFile: '',
|
||||
imageUrlData: null,
|
||||
flagModule:false,
|
||||
isState: false
|
||||
// EnergyReportInfo: {}
|
||||
@@ -157,6 +158,15 @@ export default {
|
||||
}
|
||||
},
|
||||
// components: { reportHeader },
|
||||
watch: {
|
||||
async '$store.getters.imageUrl'(val) {
|
||||
if (val) {
|
||||
this.imageUrlData = await getImageBlobUrl(val)
|
||||
} else {
|
||||
this.imageUrlData = null
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
setTitle('节能改造措施')
|
||||
this.getEnergyReportInfo()
|
||||
@@ -187,10 +197,7 @@ export default {
|
||||
return true
|
||||
},
|
||||
imageUrl() {
|
||||
if(this.$store.getters.imageUrl) {
|
||||
return `${downloadUrl}${this.$store.getters.imageUrl}`
|
||||
}
|
||||
return null
|
||||
return this.imageUrlData
|
||||
},
|
||||
show() {
|
||||
return localStorage.getItem('show') === 'true'
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="detail2-right-bottom">
|
||||
用电户号:{{ EnergyReportInfo.consNo }}
|
||||
{{userCode}}:{{ EnergyReportInfo.consNo }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -416,6 +416,9 @@ export default {
|
||||
})
|
||||
},
|
||||
computed: {
|
||||
userCode(){
|
||||
return this.$store.getters.validate? '用户编号':'用电户号'
|
||||
},
|
||||
getName(){
|
||||
let res = ''
|
||||
if(this.EnergyReportInfo.buildType&&this.EnergyReportInfo.buildType.indexOf('/')>0){
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
<van-cell-group>
|
||||
|
||||
<van-cell required title="客户名称" is-link :value="customerName" @click="clientSelect" />
|
||||
<van-cell required :title="userName" is-link :value="customerName" @click="clientSelect" />
|
||||
|
||||
<van-field v-model="address" label="地址" placeholder="请输入" input-align="right">
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" @confirm="onConfirm" @cancel="datePicker = false" />
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirm" @cancel="datePicker = false" />
|
||||
|
||||
</van-popup>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
<van-popup v-model="datePicker2" position="bottom">
|
||||
|
||||
<van-datetime-picker v-model="currentDate2" type="date" :min-date="minDate" @confirm="onConfirm2" @cancel="datePicker2 = false" />
|
||||
<van-datetime-picker v-model="currentDate2" type="date" :min-date="minDate2" :max-date="maxDate" @confirm="onConfirm2" @cancel="datePicker2 = false" />
|
||||
|
||||
</van-popup>
|
||||
|
||||
@@ -82,6 +82,19 @@ export default {
|
||||
computedTime: "请选择"
|
||||
};
|
||||
},
|
||||
computed:{
|
||||
userName(){
|
||||
return this.$store.getters.validate? '用户名称':'客户名称'
|
||||
},
|
||||
maxDate(){
|
||||
const now = new Date()
|
||||
return new Date(now.getFullYear(), 11, 31)
|
||||
},
|
||||
minDate2(){
|
||||
return new Date(this.currentDate)
|
||||
},
|
||||
|
||||
},
|
||||
created() {
|
||||
let customer = sessionStorage.getItem("customer");
|
||||
let customerMsg = JSON.parse(customer)
|
||||
@@ -109,6 +122,10 @@ export default {
|
||||
d = d < 10 ? "0" + d : d;
|
||||
this.dateTime = y + "-" + m + "-" + d;
|
||||
this.datePicker = false;
|
||||
if (this.computedTime&&!(Date.parse(this.computedTime) > Date.parse(this.dateTime))) {
|
||||
console.log('true');
|
||||
this.computedTime = '请选择'
|
||||
}
|
||||
},
|
||||
// 日期选择赋值
|
||||
onConfirm2(val) {
|
||||
|
||||
@@ -625,6 +625,18 @@ export default {
|
||||
},
|
||||
//提交页面信息
|
||||
saveAllInfo() {
|
||||
const city = process.env.VUE_APP_CITY_TYPE=='cq'
|
||||
const must = this.iconList&&this.iconList.some(ele => ele.typeId == '1'||ele.typeId=='8'||ele.typeId=='9')&&this.iconList.some(ele => ele.typeId=='3')&&this.iconList.some(ele => ele.typeId=='4')
|
||||
// )&&ele.typeId=='3'&&ele.typeId=='4'}
|
||||
console.log(city, must ,this.iconList, 'lllllllllllllllllll')
|
||||
if(!must&&city){
|
||||
this.$notify({
|
||||
message: '主要用能设备空调至少填一个、照明系统与配电系统必填',
|
||||
duration: 1000,
|
||||
type: 'warning'
|
||||
})
|
||||
return
|
||||
}
|
||||
let item = JSON.parse(sessionStorage.getItem('tidCid')).item
|
||||
if(!item.isPosition){
|
||||
this.$notify({
|
||||
|
||||
@@ -3,76 +3,177 @@
|
||||
<Loading :loading="loading" />
|
||||
|
||||
<div class="list">
|
||||
|
||||
<div class="container">
|
||||
<van-form ref="form" @submit="handelClickSave">
|
||||
<div class="part">
|
||||
|
||||
<div class="nengyuan">
|
||||
|
||||
<van-cell-group>
|
||||
|
||||
<!--客户名称 -->
|
||||
|
||||
<van-field v-model="customer.customerName" label="客户名称" placeholder="请输入" required :rules="[{ required: true }]" input-align="right" disabled />
|
||||
<van-field
|
||||
v-model="customer.customerName"
|
||||
:label="userName"
|
||||
placeholder="请输入"
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
input-align="right"
|
||||
disabled
|
||||
/>
|
||||
|
||||
<!-- 客户类型 -->
|
||||
<van-field v-model="customerTypeName" is-link readonly required label="客户类型" placeholder="请选择" disabled />
|
||||
<van-field
|
||||
v-model="customerTypeName"
|
||||
is-link
|
||||
readonly
|
||||
required
|
||||
label="客户类型"
|
||||
placeholder="请选择"
|
||||
disabled
|
||||
/>
|
||||
|
||||
<!-- 用电户号 -->
|
||||
|
||||
<van-field v-model="customer.consNo" is-link readonly required label="用电户号" placeholder="" disabled />
|
||||
<van-field
|
||||
v-model="customer.consNo"
|
||||
is-link
|
||||
readonly
|
||||
required
|
||||
:label="userCode"
|
||||
placeholder=""
|
||||
disabled
|
||||
/>
|
||||
|
||||
<!-- 所属区域 -->
|
||||
|
||||
<van-field v-model="provOrgName" is-link readonly required label="所属区域" placeholder="请选择" @click="provOrgNoShow = true" />
|
||||
<van-field
|
||||
v-model="provOrgName"
|
||||
is-link
|
||||
readonly
|
||||
required
|
||||
label="所属区域"
|
||||
placeholder="请选择"
|
||||
@click="provOrgNoShow = true"
|
||||
/>
|
||||
|
||||
<!-- 供电公司 -->
|
||||
|
||||
<van-field v-model="powerCompanyName" is-link readonly required label="供电公司" placeholder="请选择" @click="handelClickPowerCompany"/>
|
||||
<van-field
|
||||
v-model="powerCompanyName"
|
||||
is-link
|
||||
readonly
|
||||
required
|
||||
label="供电公司"
|
||||
placeholder="请选择"
|
||||
@click="handelClickPowerCompany"
|
||||
/>
|
||||
|
||||
<!-- 社会信用代码 -->
|
||||
|
||||
<van-field v-model="customer.creditCode" label="社会信用代码" placeholder="请输入" input-align="right">
|
||||
|
||||
<van-field
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
v-model="customer.creditCode"
|
||||
label="社会信用代码"
|
||||
placeholder="请输入"
|
||||
input-align="right"
|
||||
>
|
||||
</van-field>
|
||||
<div class="tips" v-if="tip1">社会信用代码长度为18位</div>
|
||||
|
||||
<!-- 联系人 -->
|
||||
|
||||
<van-field v-model="customer.contactName" label="联系人" placeholder="请输入" input-align="right">
|
||||
|
||||
<van-field
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
v-model="customer.contactName"
|
||||
label="联系人"
|
||||
placeholder="请输入"
|
||||
input-align="right"
|
||||
>
|
||||
</van-field>
|
||||
<div class="tips" v-if="tip2">2≤字符串长度≤10</div>
|
||||
|
||||
<!--联系电话 -->
|
||||
|
||||
<van-field v-input.num v-model="customer.contactPhone" label="联系电话" maxlength="11" placeholder="请输入" input-align="right">
|
||||
|
||||
<van-field
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
v-input.num
|
||||
v-model="customer.contactPhone"
|
||||
label="联系电话"
|
||||
maxlength="11"
|
||||
placeholder="请输入"
|
||||
input-align="right"
|
||||
>
|
||||
</van-field>
|
||||
|
||||
<!--详细地址 -->
|
||||
|
||||
<van-field v-model="customer.detailAddress" label="详细地址" placeholder="请输入" input-align="right">
|
||||
|
||||
<van-field
|
||||
v-model="customer.detailAddress"
|
||||
label="详细地址"
|
||||
placeholder="请输入"
|
||||
input-align="right"
|
||||
>
|
||||
</van-field>
|
||||
<div class="tips" v-if="tip3">
|
||||
4≤字符串长度≤100
|
||||
</div>
|
||||
|
||||
<!-- 立户时间 -->
|
||||
|
||||
<van-field v-if="show" v-model="customer.registerTime" is-link readonly required :rules="[{ required: true }]" label="立户时间" placeholder="请选择" @click="handelClickYearShow"/>
|
||||
<van-field
|
||||
v-if="show"
|
||||
v-model="customer.registerTime"
|
||||
is-link
|
||||
readonly
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
label="立户时间"
|
||||
placeholder="请选择"
|
||||
@click="handelClickYearShow"
|
||||
/>
|
||||
|
||||
<!-- 接入电压(V) -->
|
||||
|
||||
<van-field v-if="show" v-model="customer.inVoltage" label="接入电压(V)" placeholder="请输入" required :rules="[{ required: true }]" input-align="right" />
|
||||
<van-field
|
||||
v-if="show"
|
||||
v-model="customer.inVoltageText"
|
||||
label="接入电压(kV)"
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
input-align="right"
|
||||
is-link
|
||||
placeholder="请选择"
|
||||
readonly
|
||||
@click="levelShow = true"
|
||||
/>
|
||||
|
||||
<!-- 产品类型 -->
|
||||
|
||||
<van-field v-if="show" v-model="customer.productType" label="产品类型" placeholder="请输入" required :rules="[{ required: true }]" input-align="right" />
|
||||
<van-field
|
||||
v-if="show"
|
||||
v-model="customer.productType"
|
||||
label="产品类型"
|
||||
placeholder="请输入"
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
input-align="right"
|
||||
/>
|
||||
|
||||
<!-- 产品单耗 -->
|
||||
|
||||
<van-field v-if="show" required :rules="[{ required: true }]" v-model="customer.productUnitConsume" v-input.float label="产品单耗(kgce/t)" placeholder="请输入" input-align="right" />
|
||||
|
||||
<van-field
|
||||
v-if="show"
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
v-model="customer.productUnitConsume"
|
||||
v-input.float
|
||||
label="产品单耗(kgce/t)"
|
||||
placeholder="请输入"
|
||||
input-align="right"
|
||||
/>
|
||||
</van-cell-group>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="btn">
|
||||
@@ -85,11 +186,27 @@
|
||||
</div>
|
||||
<!-- 客户类型 -->
|
||||
<van-popup disabled v-model="customerTypeShow" round position="bottom">
|
||||
<van-cascader :field-names="fieldNames" v-model="customer.customerType" title="请选择客户类型" :options="customerTypeList" @close="customerTypeShow = false" @finish="onFinish" />
|
||||
<van-cascader
|
||||
:field-names="fieldNames"
|
||||
v-model="customer.customerType"
|
||||
title="请选择客户类型"
|
||||
:options="customerTypeList"
|
||||
@close="customerTypeShow = false"
|
||||
@finish="onFinish"
|
||||
/>
|
||||
</van-popup>
|
||||
<!-- 所属区域 -->
|
||||
<van-popup v-model="provOrgNoShow" round position="bottom">
|
||||
<van-cascader :field-names="orgFieldNames" v-model="customer.provOrgNo" title="请选择所属区域" :options="provOrgList" :props="backList" @close="provOrgNoShow = false" @finish="onFinish1" @change="changeProv" />
|
||||
<van-cascader
|
||||
:field-names="orgFieldNames"
|
||||
v-model="customer.provOrgNo"
|
||||
title="请选择所属区域"
|
||||
:options="provOrgList"
|
||||
:props="backList"
|
||||
@close="provOrgNoShow = false"
|
||||
@finish="onFinish1"
|
||||
@change="changeProv"
|
||||
/>
|
||||
</van-popup>
|
||||
<!-- 供电公司 -->
|
||||
<van-popup v-model="powerCompanyShow" round position="bottom">
|
||||
@@ -123,10 +240,34 @@
|
||||
@cancel="onCancelYear"
|
||||
/>
|
||||
</van-popup> -->
|
||||
<!-- 电压等级 -->
|
||||
<VanPickerNew :show="levelShow">
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<div @click="onCancelLe">取消</div>
|
||||
<div @click="onConfirmLe">确认</div>
|
||||
</div>
|
||||
<div class="content-main">
|
||||
<van-cell
|
||||
v-for="item in levelList"
|
||||
:key="item.value"
|
||||
clickable
|
||||
style="font-weight: 400 !important; font-size: 15px !important"
|
||||
>
|
||||
<van-checkbox
|
||||
:name="item"
|
||||
checked-color="#009999"
|
||||
v-model="item.checked"
|
||||
@click="clickCheckbox(item)"
|
||||
>
|
||||
{{ item.name }}
|
||||
</van-checkbox>
|
||||
</van-cell>
|
||||
</div>
|
||||
</div>
|
||||
</VanPickerNew>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -135,22 +276,78 @@ import { Notify } from 'vant'
|
||||
import { getCode, getOrgList } from '@/api/common.js'
|
||||
import { customerEdit, getSingleInfo } from '@/api/customer.js'
|
||||
import Loading from '@/components/loading'
|
||||
import VanPickerNew from '@/components/vanPickerNew'
|
||||
|
||||
export default {
|
||||
name: 'burstingList',
|
||||
components: {
|
||||
Loading,
|
||||
VanPickerNew,
|
||||
},
|
||||
computed: {
|
||||
userCode(){
|
||||
return this.$store.getters.validate? '用户编号':'用电户号'
|
||||
},
|
||||
userName(){
|
||||
return this.$store.getters.validate? '用户名称':'客户名称'
|
||||
},
|
||||
show() {
|
||||
if (sessionStorage.getItem('customerType') == 2) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
},
|
||||
tip1() {
|
||||
return this.customer.creditCode.length != 18
|
||||
},
|
||||
tip2() {
|
||||
let flag = this.handelChange('contactName', 2, 10)
|
||||
return flag
|
||||
},
|
||||
tip3() {
|
||||
let flag = this.handelChange('detailAddress', 4, 100)
|
||||
return flag
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
levelList: [
|
||||
{
|
||||
name: '10',
|
||||
value: '01',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
name: '35',
|
||||
value: '04',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
name: '110',
|
||||
value: '05',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
name: '220',
|
||||
value: '06',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
name: '20',
|
||||
value: '07',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
name: '66',
|
||||
value: '09',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
name: '330',
|
||||
value: '10',
|
||||
checked: false,
|
||||
},
|
||||
],
|
||||
currentDate: new Date(),
|
||||
yearShow: false,
|
||||
value5: '', //产品单耗
|
||||
@@ -179,6 +376,7 @@ export default {
|
||||
consNo: '',
|
||||
registerTime: '',
|
||||
inVoltage: '',
|
||||
inVoltageText: '',
|
||||
productType: '',
|
||||
productUnitConsume: '',
|
||||
},
|
||||
@@ -186,14 +384,14 @@ export default {
|
||||
fieldNames: {
|
||||
text: 'name',
|
||||
value: 'code',
|
||||
children: 'child'
|
||||
children: 'child',
|
||||
},
|
||||
//自定义所属区域字段名称
|
||||
orgFieldNames: {
|
||||
text: 'codeName',
|
||||
pCode: 'pcodeValue',
|
||||
value: 'codeValue',
|
||||
children: 'children'
|
||||
children: 'children',
|
||||
},
|
||||
backList: [],
|
||||
//客户类型中文展示
|
||||
@@ -210,13 +408,18 @@ export default {
|
||||
provOrgList: [],
|
||||
//错误提示
|
||||
errorMessage: '',
|
||||
takPath: this.$store.getters.takPath.path ? this.$store.getters.takPath.path : JSON.parse(sessionStorage.getItem('goPage')).path
|
||||
takPath: this.$store.getters.takPath.path
|
||||
? this.$store.getters.takPath.path
|
||||
: JSON.parse(sessionStorage.getItem('goPage')).path,
|
||||
levelShow: false,
|
||||
//电压等级选中的数据
|
||||
resultCheckboxLevel: [],
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
provOrgList: function (newVal) {
|
||||
this.getOrgData(newVal, this.customer.orgNo)
|
||||
}
|
||||
},
|
||||
},
|
||||
beforeDestroy() {
|
||||
sessionStorage.removeItem('numArr')
|
||||
@@ -229,10 +432,55 @@ export default {
|
||||
this.getPersonData()
|
||||
},
|
||||
methods: {
|
||||
handelChange(params, min, max) {
|
||||
console.log(this.customer[params].length > min, 'this.customer[params]')
|
||||
if (
|
||||
(this.customer[params] && this.customer[params].length < min) ||
|
||||
this.customer[params].length > max
|
||||
) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
getData(value) {
|
||||
let res = this.levelList.filter((ele) => {
|
||||
return ele.value == value
|
||||
})
|
||||
return res && res[0] && res[0].name
|
||||
},
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
onCancelLe() {
|
||||
this.levelList.forEach((v) => {
|
||||
this.resultCheckboxLevel.forEach((rv) => {
|
||||
if (v.value == rv.value) {
|
||||
v.checked = true
|
||||
}
|
||||
})
|
||||
})
|
||||
this.levelShow = false
|
||||
},
|
||||
onConfirmLe() {
|
||||
const leName = this.levelList.filter((ele) => ele.checked)
|
||||
this.resultCheckboxLevel = leName
|
||||
this.customer.inVoltage = leName.map((ele) => ele.value).join(',')
|
||||
this.customer.inVoltageText = leName.map((ele) => ele.name).join(',')
|
||||
this.levelShow = false
|
||||
},
|
||||
clickCheckbox(item) {
|
||||
this.levelList.forEach((v) => {
|
||||
v.checked = false
|
||||
if (v.value == item.value) {
|
||||
v.checked = true
|
||||
}
|
||||
})
|
||||
},
|
||||
async powerList() {
|
||||
const data = {
|
||||
codeSortId: "80000001100",
|
||||
codeType: "gdgs"
|
||||
codeSortId: '80000001100',
|
||||
codeType: 'gdgs',
|
||||
}
|
||||
const res = await getCode(data)
|
||||
if (res.code == 0) {
|
||||
@@ -244,16 +492,15 @@ export default {
|
||||
}
|
||||
})
|
||||
this.powerColumns = list
|
||||
this.powerColumns.forEach(element => {
|
||||
this.powerColumns.forEach((element) => {
|
||||
if (element.code == this.customer.powerCompany && element.text) {
|
||||
this.powerCompanyName = element.text
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
async handelClickPowerCompany() {
|
||||
this.powerCompanyShow = true
|
||||
|
||||
},
|
||||
onConfirmPowerCompanyShow(val) {
|
||||
this.powerCompanyName = val.text
|
||||
@@ -262,15 +509,15 @@ export default {
|
||||
},
|
||||
formatter(type, val) {
|
||||
if (type === 'year') {
|
||||
return val + '年';
|
||||
return val + '年'
|
||||
}
|
||||
if (type === 'month') {
|
||||
return val + '月';
|
||||
return val + '月'
|
||||
}
|
||||
if (type === 'day') {
|
||||
return val + '日';
|
||||
return val + '日'
|
||||
}
|
||||
return val;
|
||||
return val
|
||||
},
|
||||
handelClickYearShow() {
|
||||
this.yearShow = true
|
||||
@@ -292,11 +539,11 @@ export default {
|
||||
},
|
||||
|
||||
getOrgData(list, code) {
|
||||
list.forEach(v => {
|
||||
list.forEach((v) => {
|
||||
if (!v.children) {
|
||||
return
|
||||
}
|
||||
v.children.forEach(ev => {
|
||||
v.children.forEach((ev) => {
|
||||
if (ev.codeValue == code) {
|
||||
this.provOrgName = ev.codeName
|
||||
}
|
||||
@@ -325,17 +572,35 @@ export default {
|
||||
this.powerList()
|
||||
if (numArr) {
|
||||
this.customer.consNos = JSON.parse(numArr)
|
||||
this.customer.consNo = JSON.parse(numArr).map((ele)=> ele.consNo).join('/')
|
||||
this.customer.consNo = JSON.parse(numArr)
|
||||
.map((ele) => ele.consNo)
|
||||
.join('/')
|
||||
return
|
||||
}
|
||||
const data = {
|
||||
name: res.data.customerName,
|
||||
list: res.data.consNos
|
||||
list: res.data.consNos,
|
||||
}
|
||||
if (this.customer.inVoltage) {
|
||||
this.resultCheckboxLevel = []
|
||||
this.levelList.forEach((ele) => {
|
||||
ele.checked = false
|
||||
if (ele.value == this.customer.inVoltage) {
|
||||
ele.checked = true
|
||||
this.resultCheckboxLevel.push(ele)
|
||||
}
|
||||
})
|
||||
|
||||
this.customer.inVoltage = this.resultCheckboxLevel
|
||||
.map((ele) => ele.value)
|
||||
.join(',')
|
||||
this.customer.inVoltageText = this.resultCheckboxLevel
|
||||
.map((ele) => ele.name)
|
||||
.join(',')
|
||||
}
|
||||
sessionStorage.setItem('customer', JSON.stringify(data))
|
||||
}
|
||||
}
|
||||
finally {
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
@@ -343,7 +608,7 @@ export default {
|
||||
async getCustomerType() {
|
||||
const data = {
|
||||
codeSortId: '80000001004',
|
||||
codeType: 'khlx'
|
||||
codeType: 'khlx',
|
||||
}
|
||||
const res = await getCode(data)
|
||||
if (res.code === 0) {
|
||||
@@ -362,11 +627,11 @@ export default {
|
||||
},
|
||||
//递归获取客户数据
|
||||
getData(data, type) {
|
||||
data.forEach(ele => {
|
||||
data.forEach((ele) => {
|
||||
if (!(ele.child && ele.child.length)) {
|
||||
return
|
||||
}
|
||||
ele.child.forEach(v => {
|
||||
ele.child.forEach((v) => {
|
||||
if (v.code == type && v.name) {
|
||||
this.customerTypeName = v.name
|
||||
}
|
||||
@@ -389,7 +654,7 @@ export default {
|
||||
},
|
||||
//递归获取多选数据
|
||||
getCheckboxInfo(list, code) {
|
||||
const data = list.find(v => {
|
||||
const data = list.find((v) => {
|
||||
if (!v.children) {
|
||||
return v
|
||||
}
|
||||
@@ -417,7 +682,10 @@ export default {
|
||||
},
|
||||
//点击确认提交
|
||||
async handelClickSave() {
|
||||
this.$refs.form.validate();
|
||||
this.$refs.form.validate()
|
||||
if(this.tip1||this.tip2||this.tip3){
|
||||
return
|
||||
}
|
||||
// eslint-disable-next-line no-empty-pattern, no-unused-vars
|
||||
for (const _key in this.customer) {
|
||||
delete this.customer['changeTime']
|
||||
@@ -438,16 +706,13 @@ export default {
|
||||
customerTypeSure() {},
|
||||
//所属区域点击确认
|
||||
provOrgSure() {},
|
||||
//用电户号点击操作
|
||||
// goUseele() {
|
||||
// this.$router.push('/useele')
|
||||
// }
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '../facilityManage/common-vue/common.less';
|
||||
@import '../facilityManage/common-vue/checkbox.less';
|
||||
/deep/ .van-field__control,
|
||||
/deep/.van-field__error-message {
|
||||
text-align: right;
|
||||
@@ -492,4 +757,11 @@ export default {
|
||||
color: #63cbb6;
|
||||
font-weight: 500;
|
||||
}
|
||||
.tips {
|
||||
padding: 0 16px;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
color: #ee0a24;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="list">
|
||||
<!-- <Header :title="title" @onClickLeft="onClickLeft" /> -->
|
||||
<van-search
|
||||
placeholder="请输入客户名称/联系人/联系电话/地址"
|
||||
:placeholder="placeholder"
|
||||
v-model="value"
|
||||
@search="search"
|
||||
/>
|
||||
@@ -22,7 +22,7 @@
|
||||
@click="clickRadio(item, index)"
|
||||
>
|
||||
<p>{{item.customerName}}</p>
|
||||
用电户号:{{ item.consNo }}
|
||||
{{userCode}}:{{ item.consNo }}
|
||||
<!-- <van-radio :name="index" /> -->
|
||||
</van-cell>
|
||||
</van-list>
|
||||
@@ -62,6 +62,14 @@ export default {
|
||||
pages: 1, // 页数
|
||||
};
|
||||
},
|
||||
computed:{
|
||||
placeholder(){
|
||||
return this.$store.getters.validate? '请输入用户名称/联系人/联系电话/地址':'请输入客户名称/联系人/联系电话/地址'
|
||||
},
|
||||
userCode(){
|
||||
return this.$store.getters.validate? '用户编号':'用电户号'
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getData();
|
||||
},
|
||||
|
||||
@@ -104,7 +104,7 @@ import {
|
||||
// chooseAlbumAndTakePhoto,
|
||||
} from '@/utils/dsbridge'
|
||||
import { insertPositionData, getPositionData } from '@/api/api.js'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
import {debounce} from '@/utils/common.js'
|
||||
export default {
|
||||
components: {
|
||||
@@ -143,32 +143,28 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
// 查询打卡记录
|
||||
getHistory(){
|
||||
async getHistory(){
|
||||
this.text1 = []
|
||||
getPositionData({taskId: this.taskId}).then(res => {
|
||||
const res = await getPositionData({taskId: this.taskId})
|
||||
console.log(res.code , res.data);
|
||||
if(res.code == 0&&res.data){
|
||||
for (const key in this.formData) {
|
||||
if (Object.hasOwnProperty.call(this.formData, key)) {
|
||||
this.formData[key] = res.data[key]
|
||||
}
|
||||
}
|
||||
this.formData = res.data
|
||||
if (res.data.fileId) {
|
||||
const blobUrl = await getImageBlobUrl(res.data.fileId)
|
||||
this.$set(this.text1,0, {
|
||||
fileName: res.data.fileName,
|
||||
fileId: res.data.fileId,
|
||||
url: `${downloadUrl}${res.data.fileId}`
|
||||
url: blobUrl
|
||||
})
|
||||
console.log(this.text1);
|
||||
}
|
||||
this.$forceUpdate()
|
||||
this.showSubmit = false
|
||||
this.showSubmit = true
|
||||
}else{
|
||||
this.showSubmit = true
|
||||
this.getLocation()
|
||||
this.getAddress()
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取当前位置
|
||||
getLocation() {
|
||||
|
||||
@@ -13,13 +13,15 @@
|
||||
<van-field v-model="formData.buildName" label="建筑名称" required :rules="[{ required: true, message: '请填写建筑名称' }]" placeholder="请输入" input-align="right">
|
||||
</van-field>
|
||||
<van-cell title="建筑类型" is-link :value="showData.buildType1" required @click="showPicker = !showForm"/>
|
||||
<van-cell title="用电户名称" :value="formData.consNo" />
|
||||
<van-cell :title="userCode" :value="formData.consNo" />
|
||||
<van-cell title="统一社会识别编码" :value="formData.creditCode" />
|
||||
<van-cell title="联系人" :value="formData.contactName" />
|
||||
<van-cell title="联系人手机号" :value="formData.contactPhone" />
|
||||
<van-cell title="详细地址" :value="formData.detailAddress" />
|
||||
<van-field v-model="formData.totalArea" v-input.float label="总建筑面积(㎡)" placeholder="请输入" @input="showTips" type="number" required :rules="[{ required: true }]" input-align="right">
|
||||
<van-field v-model="formData.totalArea" v-input.float label="总建筑面积(㎡)" placeholder="请输入" @input="showTips" @blur="checkArea" type="number" required :rules="[{ required: true }]" input-align="right">
|
||||
</van-field>
|
||||
<div class="tips" v-if="checkAreaTip">同一社会信用代码下建筑面积和用能人数重复</div>
|
||||
<div class="tips" v-if="!checkAreaTip&&formData.totalArea>50000">总建筑面积>5万平方米,请确认是否属实</div>
|
||||
<div class="tips" v-if="tips0 == true">0<总建筑面积<{{validateData}}万平方米</div>
|
||||
<div class="tips" v-if="tips1 == true">要大于可利用屋面面积或者地下车库面积</div>
|
||||
<van-field v-model="formData.availableArea" v-input.float label="可利用屋面面积(㎡)" placeholder="请输入" required :rules="[{ required: true}]" @input="showTips1" type="number" input-align="right">
|
||||
@@ -39,8 +41,9 @@
|
||||
<div class="tips" v-if="tips7 == true">数据机房面积≤0.5*总建筑面积</div>
|
||||
<van-cell title="建筑投运年份(年)" is-link required :rules="[{ required: true, message: '请选择建筑投运年份年份' }]" :value="formData.operationYear" @click="handelOpen" />
|
||||
<!-- <van-field v-model="formData.operationYear" label="建筑投运年份(年)" label-width="140" input-align="right" is-link placeholder="请选择" readonly @click="handelClickYear('operationYear', 'SET_HEAT_YEAR')" /> -->
|
||||
<van-field v-model="formData.peopleNum" v-input.numNo0 required :rules="[{required: true, message: `请先选择建筑类型再填写` }]" :label="peopleShow" placeholder="" type="number" input-align="right">
|
||||
<van-field v-model="formData.peopleNum" v-input.numNo0 required @blur="checkArea" :rules="[{required: true, message: `请先选择建筑类型再填写` }]" :label="peopleShow" placeholder="" type="number" input-align="right">
|
||||
</van-field>
|
||||
<div class="tips" v-if="checkAreaTip">同一社会信用代码下建筑面积和用能人数重复</div>
|
||||
<van-cell title="建筑外观照片" :required="$store.getters.cityType" :rules="[{ required: $store.getters.cityType}] "/>
|
||||
<van-uploader v-model="fileList" :max-count="3" :after-read="afterRead" :before-delete="delImg" @click-upload="onUpload" preview-size="100px" class="uploader" ref="file" />
|
||||
<div class="tips tipImage" v-if="$store.getters.cityType&&fileList.length<1">请上传建筑外观照片</div>
|
||||
@@ -57,9 +60,9 @@
|
||||
<van-cell title="是否享受峰谷平电价" required is-link :value="showData.valleyElectricityPrices1" @click="showPicker3 = !showForm" />
|
||||
<van-cell title="是否使用绿电交易" required is-link :value="showData.greenElectricityTrading1" @click="showPickerLd = !showForm" />
|
||||
<van-cell title="已使用清洁能源" required is-link :value="result1" @click="showPicker4 = !showForm" />
|
||||
<van-field v-model="formData.photovoltaicArea" required :rules="[{ required: gfShow == 1 }]" label="光伏总建设面积(㎡)" placeholder="请输入" type="number" input-align="right" v-if="gfShow == 1">
|
||||
<van-field v-model="formData.photovoltaicArea" required :rules="[{ required: gfShow == 1 }]" label="光伏已建设面积(㎡)" placeholder="请输入" type="number" input-align="right" v-if="gfShow == 1">
|
||||
</van-field>
|
||||
<div class="tips" v-if="tips8 == true&&gfShow == 1">光伏总建设面积+可利用屋面面积<总建筑面积</div>
|
||||
<div class="tips" v-if="tips8 == true&&gfShow == 1">光伏已建设面积+可利用屋面面积<总建筑面积</div>
|
||||
<van-field v-model="formData.photovoltaicPhotovoltaic" required :rules="[{ required: gfShow == 1 }]" label="光伏总装机容量(kW)" placeholder="请输入" type="number" input-align="right" v-if="gfShow == 1">
|
||||
</van-field>
|
||||
<div class="tips" v-if="tips9 == true&&gfShow == 1">50×光伏已建设面积/1000<光伏总装机容量<200×光伏已建设面积/1000</div>
|
||||
@@ -296,10 +299,9 @@
|
||||
import Year from '@/views/facilityManage/common-vue/year.vue'
|
||||
import mixin from '@/mixins/mixin'
|
||||
// import { Toast } from 'vant'
|
||||
// saveLog
|
||||
import { getCode } from '@/api/common.js'
|
||||
import { addEnergyEquip } from '@/api/energyConsumption'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
import { Notify } from 'vant';
|
||||
import { getLocationMessage, getPosition, chooseAlbumAndTakePhoto } from '@/utils/dsbridge'
|
||||
import Loading from '@/components/loading'
|
||||
@@ -311,7 +313,7 @@ import {
|
||||
getInfo,
|
||||
uploadFile,
|
||||
changeSaveStateAPI,
|
||||
// downloadFile,
|
||||
duplicateCheck,
|
||||
} from '@/api/api.js'
|
||||
// import { debuglog } from 'util'
|
||||
import {debounce} from '@/utils/common.js'
|
||||
@@ -500,7 +502,7 @@ export default {
|
||||
purchasePower: '1', // 购电方式
|
||||
basicCharge: '1', // 基本电费
|
||||
valleyElectricityPrices: '2', // 是否享受峰谷平电价
|
||||
photovoltaicArea: '0', // 光伏总建设面积
|
||||
photovoltaicArea: '0', // 光伏已建设面积
|
||||
photovoltaicPhotovoltaic: '0', // 光伏总装机容量
|
||||
reclaimedWater: '2', // 是否采用再生水
|
||||
reclaimedWaterType: '', // 再生水类型
|
||||
@@ -597,12 +599,17 @@ export default {
|
||||
],
|
||||
validateData: '',
|
||||
doDebounce: null,
|
||||
checkAreaTip: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
||||
},
|
||||
computed: {
|
||||
userCode(){
|
||||
console.log(this.$store.getters.validate, 'this.$store.getters.validate')
|
||||
return this.$store.getters.validate? '用户编号':'用电户号'
|
||||
},
|
||||
resulta() {
|
||||
if (!this.result) {
|
||||
return
|
||||
@@ -722,6 +729,19 @@ export default {
|
||||
},
|
||||
|
||||
methods: {
|
||||
async checkArea(){
|
||||
if(this.formData.totalArea>50000&&this.formData.peopleNum){
|
||||
let params = {
|
||||
totalArea: this.formData.totalArea,
|
||||
customerId: this.formData.customerId,
|
||||
peopleNum: this.formData.peopleNum,
|
||||
year: this.tidCid.item&&this.tidCid.item.year
|
||||
}
|
||||
let res = await duplicateCheck(params)
|
||||
this.checkAreaTip = res.data
|
||||
}
|
||||
|
||||
},
|
||||
showTips() {
|
||||
if (Number(this.formData.totalArea)>0&&Number(this.formData.totalArea)<this.validateData*10000) {
|
||||
this.tips0 = false
|
||||
@@ -820,16 +840,18 @@ export default {
|
||||
return formData
|
||||
},
|
||||
// 上传图片调用原生的方法 获取到绝对路径调用getImageFileFromUrl
|
||||
onUpload () {
|
||||
chooseAlbumAndTakePhoto((data) => {
|
||||
async onUpload () {
|
||||
chooseAlbumAndTakePhoto(async (data) => {
|
||||
// this.saveGreenComeData(data)
|
||||
let d = 'data:image/jpeg;base64,' + data
|
||||
this.fileIamge = d
|
||||
let params = this.base64ToFile(d,new Date().getTime().toString())
|
||||
uploadFile(params).then((res) => {
|
||||
uploadFile(params).then(async (res) => {
|
||||
if (res.code === 0) {
|
||||
const blobUrl = await getImageBlobUrl(res.data.attach_id)
|
||||
this.fileList.push({
|
||||
url:`${downloadUrl}${res.data.attach_id}`
|
||||
url: blobUrl,
|
||||
isImage: true,
|
||||
})
|
||||
this.fileIds.push(res.data.attach_id)
|
||||
}
|
||||
@@ -837,18 +859,6 @@ export default {
|
||||
|
||||
})
|
||||
},
|
||||
//保存绿网传来的数据
|
||||
// async saveGreenComeData(content) {
|
||||
// const tidCid = JSON.parse(sessionStorage.getItem('tidCid'))
|
||||
// console.log(tidCid);
|
||||
// const data = {
|
||||
// businessKey: "buildBusinessKey",
|
||||
// content: content,
|
||||
// customerId: tidCid.customerId
|
||||
// }
|
||||
// const res = await saveLog(data)
|
||||
// console.log(res);
|
||||
// },
|
||||
|
||||
//点击选择日期时只展示年份
|
||||
handelOpen() {
|
||||
@@ -1219,23 +1229,26 @@ export default {
|
||||
// })
|
||||
// this.form.files.map(path => ({ url: `${downloadUrl}${path}` }))
|
||||
if (res.data.text1) {
|
||||
const url1 = `${downloadUrl}${res.data.text1}`
|
||||
const url1 = await getImageBlobUrl(res.data.text1)
|
||||
this.fileList.push({
|
||||
url: url1,
|
||||
isImage: true,
|
||||
})
|
||||
this.fileIds.push(res.data.text1)
|
||||
}
|
||||
if (res.data.text2) {
|
||||
const url2 = `${downloadUrl}${res.data.text2}`
|
||||
const url2 = await getImageBlobUrl(res.data.text2)
|
||||
this.fileList.push({
|
||||
url: url2,
|
||||
isImage: true,
|
||||
})
|
||||
this.fileIds.push(res.data.text2)
|
||||
}
|
||||
if (res.data.text3) {
|
||||
const url3 = `${downloadUrl}${res.data.text3}`
|
||||
const url3 = await getImageBlobUrl(res.data.text3)
|
||||
this.fileList.push({
|
||||
url: url3,
|
||||
isImage: true,
|
||||
})
|
||||
this.fileIds.push(res.data.text3)
|
||||
}
|
||||
@@ -1780,14 +1793,11 @@ export default {
|
||||
return true
|
||||
},
|
||||
delImg(detail) {
|
||||
let url = ''
|
||||
if(!detail.file) {
|
||||
url = detail.url.split('download/')[1]
|
||||
}
|
||||
const index = this.fileList.findIndex((ele)=> ele == detail)
|
||||
const index2 = this.fileIds.findIndex((ele)=> ele == url)
|
||||
if (index > -1) {
|
||||
this.fileList.splice(index, 1)
|
||||
this.fileIds.splice(index2, 1)
|
||||
this.fileIds.splice(index, 1)
|
||||
}
|
||||
// console.log(this.fileList)
|
||||
// console.log(this.fileIds)
|
||||
// return new Promise((resolve, reject) => {
|
||||
@@ -1864,7 +1874,7 @@ export default {
|
||||
// this.formData.enquireIds = this.aarr1.concat(this.aarr)
|
||||
// }
|
||||
// this.tips6 == true ||
|
||||
if(this.tips0 == true || this.tips1 == true || this.tips2 == true || this.tips3 == true || this.tips4 == true || this.tips6 == true || this.tips7){
|
||||
if(this.checkAreaTip|| this.tips0 == true || this.tips1 == true || this.tips2 == true || this.tips3 == true || this.tips4 == true || this.tips6 == true || this.tips7){
|
||||
return;
|
||||
}
|
||||
if(this.gfShow == 1&&(this.tips8||this.tips9)){
|
||||
@@ -2021,7 +2031,7 @@ export default {
|
||||
purchasePower: '1', // 购电方式
|
||||
basicCharge: '1', // 基本电费
|
||||
valleyElectricityPrices: '2', // 是否享受峰谷平电价
|
||||
photovoltaicArea: '', // 光伏总建设面积
|
||||
photovoltaicArea: '', // 光伏已建设面积
|
||||
photovoltaicPhotovoltaic: '', // 光伏总装机容量
|
||||
reclaimedWater: '2', // 是否采用再生水
|
||||
reclaimedWaterType: '', // 再生水类型
|
||||
|
||||
@@ -287,7 +287,7 @@ export default {
|
||||
const id = JSON.parse(sessionStorage.getItem('tidCid')).customerId
|
||||
const res = await getCustomerStatisticAPI(id)
|
||||
if (res.code == 0) {
|
||||
this.customerStatistic = res.data
|
||||
this.customerStatistic = res.data||{}
|
||||
}
|
||||
},
|
||||
//获取当前页面信息
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<template>
|
||||
<div class="energyindex">
|
||||
<!-- <Header :title="title" @onClickLeft="onClickLeft" /> -->
|
||||
<img v-if="warningShow" src="@/assets/warning.jpg" alt="" />
|
||||
|
||||
<!-- 原本的回退存放地 -->
|
||||
<van-nav-bar class="energyindex-header" />
|
||||
<div class="all">
|
||||
@@ -215,7 +217,15 @@ export default {
|
||||
return {
|
||||
ai: '',
|
||||
title: '能效管理',
|
||||
total: [
|
||||
total0: [
|
||||
{ name: '已完成用户数', num: '', color: '#00ad9f' },
|
||||
{ name: '已完成公共机构', num: '', color: '#ffae00' },
|
||||
{ name: '已完成工业企业', num: '', color: '#0078ff' },
|
||||
{ name: '用户总数', num: '', color: '#00ad9f' },
|
||||
{ name: '公共机构', num: '', color: '#ffae00' },
|
||||
{ name: '工业企业', num: '', color: '#0078ff' }
|
||||
],
|
||||
total1: [
|
||||
{ name: '已完成客户数', num: '', color: '#00ad9f' },
|
||||
{ name: '已完成公共机构', num: '', color: '#ffae00' },
|
||||
{ name: '已完成工业企业', num: '', color: '#0078ff' },
|
||||
@@ -241,10 +251,14 @@ export default {
|
||||
searchValue: '', //搜索的内容
|
||||
searchRespon: {}, //搜索结果
|
||||
searchFaly: false, //展示搜索结果
|
||||
type: '' //01公共建筑02工业企业
|
||||
type: '', //01公共建筑02工业企业
|
||||
warningShow: false,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
total(){
|
||||
return this.$store.getters.validate? this.total0: this.total1
|
||||
},
|
||||
fomtList() {
|
||||
this.list.forEach(v => {
|
||||
this.typeList.forEach(ev => {
|
||||
@@ -273,9 +287,10 @@ export default {
|
||||
this.getStatistic()
|
||||
this.getCustomerType()
|
||||
// this.init()
|
||||
this.warningShow= process.env.VUE_APP_CITY_TYPE=='xj'
|
||||
},
|
||||
mounted() {
|
||||
this.getAi()
|
||||
// this.getAi()
|
||||
if(this.$route.query.type == 2) {
|
||||
this.handleSelect('2')
|
||||
} else {
|
||||
@@ -283,30 +298,30 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//获取到ai
|
||||
async getAi() {
|
||||
const params = sessionStorage.getItem('saikey')
|
||||
const res = await getAi({ai: params})
|
||||
if(res.code == 0 && !res.data) {
|
||||
return
|
||||
}
|
||||
this.ai = res.data
|
||||
// Dialog.confirm({
|
||||
// title: '标题',
|
||||
// message: `${res.data}`,
|
||||
//}).then(() => {
|
||||
// var cInput = document.createElement("input");
|
||||
// cInput.value = res.data;
|
||||
// document.body.appendChild(cInput);
|
||||
// cInput.select(); // 选取文本框内容
|
||||
// // 执行浏览器复制命令
|
||||
// // 复制命令会将当前选中的内容复制到剪切板中(这里就是创建的input标签)
|
||||
// // Input要在正常的编辑状态下原生复制方法才会生效
|
||||
// document.execCommand("copy");
|
||||
// document.body.removeChild(cInput);
|
||||
// // on confirm
|
||||
//})
|
||||
},
|
||||
// //获取到ai
|
||||
// async getAi() {
|
||||
// const params = sessionStorage.getItem('saikey')
|
||||
// const res = await getAi({ai: params})
|
||||
// if(res.code == 0 && !res.data) {
|
||||
// return
|
||||
// }
|
||||
// this.ai = res.data
|
||||
// // Dialog.confirm({
|
||||
// // title: '标题',
|
||||
// // message: `${res.data}`,
|
||||
// //}).then(() => {
|
||||
// // var cInput = document.createElement("input");
|
||||
// // cInput.value = res.data;
|
||||
// // document.body.appendChild(cInput);
|
||||
// // cInput.select(); // 选取文本框内容
|
||||
// // // 执行浏览器复制命令
|
||||
// // // 复制命令会将当前选中的内容复制到剪切板中(这里就是创建的input标签)
|
||||
// // // Input要在正常的编辑状态下原生复制方法才会生效
|
||||
// // document.execCommand("copy");
|
||||
// // document.body.removeChild(cInput);
|
||||
// // // on confirm
|
||||
// //})
|
||||
// },
|
||||
// 搜索
|
||||
async searchEveryItem() {
|
||||
if (!this.searchValue) {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
v-model="page.consName"
|
||||
@keydown.enter="onSearch"
|
||||
type="text"
|
||||
placeholder="请输入客户名称"
|
||||
:placeholder="placeholder"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -173,18 +173,33 @@
|
||||
<div class="location">
|
||||
<img src="@/assets/gyqy/three.png" alt="" />
|
||||
</div>
|
||||
<div class="address">用电户号: {{ item.consNo }}</div>
|
||||
<div class="address">{{userCode}}: {{ item.consNo }}</div>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
|
||||
<div class="list-bot">
|
||||
<div >
|
||||
<van-tag
|
||||
@click="stateShow(item)"
|
||||
v-if="item.checkState" :type="item.checkState=='0'?'danger':item.checkState=='10'?'warning':item.checkState=='20'?'warning':'success'" round >
|
||||
{{checkStateObj[item.checkState]}}
|
||||
</van-tag>
|
||||
</div>
|
||||
<div>
|
||||
<button
|
||||
@click="show=true"
|
||||
style="margin-left: 10px;"
|
||||
v-if="!$store.getters.validate"
|
||||
>
|
||||
留言
|
||||
</button>
|
||||
<button
|
||||
v-if="item.urgingStatus =='1'&&!$store.getters.validate"
|
||||
@click="cuiban(item)"
|
||||
style="margin-left: 10px;"
|
||||
>
|
||||
催办详情
|
||||
</button>
|
||||
<button
|
||||
@click="goClockIn(item)"
|
||||
style="margin-left: 10px;"
|
||||
@@ -204,7 +219,7 @@
|
||||
@click="goUserEvaluatePage(item)"
|
||||
style="margin-left: 10px;"
|
||||
>
|
||||
用户评价
|
||||
查看评价
|
||||
</button>
|
||||
|
||||
<button
|
||||
@@ -247,10 +262,27 @@
|
||||
</van-field>
|
||||
|
||||
</van-dialog>
|
||||
<van-dialog class="cuiban" v-model="showCuiban" :title="isCuiban?'催办详情':'驳回详情'" show-confirm-button :show-cancel-button="false" :lazy-render="false" @confirm="showCuiban=false" >
|
||||
<div class="item-user-time" v-for="(item, index) in cuibanList" :key="index">
|
||||
<div class="user-time">
|
||||
<div class="item-user">
|
||||
<span class="label">{{isCuiban?'催办人':item.stateName+'人'}}:</span>
|
||||
<span>{{item.urgingUser}}</span>
|
||||
</div>
|
||||
<div class="item-time">
|
||||
<span>{{item.urgingTime}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cuiban-content">
|
||||
<span class="label">{{isCuiban?'催办内容':item.stateName+'意见'}}:</span>
|
||||
{{ item.text }}
|
||||
</div>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { taskList, genReport } from '@/api/api.js'
|
||||
import { taskList, genReport, getList, queryCheckList } from '@/api/api.js'
|
||||
import { getCurrentPersonInfoAPI } from "@/api/customerIformation.js";
|
||||
import { getCode } from '@/api/common.js'
|
||||
import Year from '@/views/facilityManage/common-vue/year.vue'
|
||||
@@ -264,6 +296,12 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
checkStateObj: {
|
||||
'0': '审批驳回',
|
||||
'10': '地市待审批',
|
||||
'20': '省级待审批',
|
||||
'90': '审批通过',
|
||||
},
|
||||
show: false,
|
||||
message: '',
|
||||
statusPopup: false,
|
||||
@@ -302,6 +340,10 @@ export default {
|
||||
pageN: 1,
|
||||
isList: false,
|
||||
doDebounce: null,
|
||||
cuibanList: [],
|
||||
showCuiban: false,
|
||||
isCuiban: false,
|
||||
gridData: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -319,6 +361,14 @@ export default {
|
||||
beforeDestroy() {
|
||||
// sessionStorage.removeItem('tidCid')
|
||||
},
|
||||
computed:{
|
||||
placeholder(){
|
||||
return this.$store.getters.validate? '请输入用户名称':'请输入客户名称'
|
||||
},
|
||||
userCode(){
|
||||
return this.$store.getters.validate? '用户编号':'用电户号'
|
||||
},
|
||||
},
|
||||
async mounted() {
|
||||
this.doDebounce = debounce(function (item) {
|
||||
this.getReport(item)
|
||||
@@ -343,6 +393,44 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async stateShow(item){
|
||||
if(item.checkState == '0'){
|
||||
|
||||
let obj = {
|
||||
templaId: item.templaId,
|
||||
}
|
||||
let res = await queryCheckList(obj)
|
||||
let {code, data} = res
|
||||
if (code === 0) {
|
||||
data.forEach((item) => {
|
||||
item.urgingUser = item.checkUserName
|
||||
item.urgingTime = item.createTime
|
||||
item.text = item.checkDesc
|
||||
if (item.state == '1') {
|
||||
item.stateName = '通过'
|
||||
}
|
||||
if (item.state == '2') {
|
||||
item.stateName = '驳回'
|
||||
}
|
||||
})
|
||||
|
||||
this.cuibanList = data
|
||||
this.isCuiban = false
|
||||
this.showCuiban = true
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
async cuiban(data){
|
||||
let params = {taskId: data.id}
|
||||
let res = await getList(params)
|
||||
if(res.code == 0 ){
|
||||
this.cuibanList = res.data&&res.data.records||[]
|
||||
}
|
||||
|
||||
this.isCuiban = true
|
||||
this.showCuiban = true
|
||||
},
|
||||
onRefresh() {
|
||||
// 清空列表数据
|
||||
this.finished = false
|
||||
@@ -476,7 +564,7 @@ export default {
|
||||
Initiateappointment() {
|
||||
this.$router.push('/Initiateappointment')
|
||||
},
|
||||
// 用户评价
|
||||
// 查看评价
|
||||
goUserEvaluatePage(item) {
|
||||
this.setCurrentTidCidPersonInfo(item)
|
||||
this.$router.push({
|
||||
@@ -642,7 +730,11 @@ export default {
|
||||
height: 100vh;
|
||||
overflow-y: auto;
|
||||
}
|
||||
/deep/.van-dialog__content{
|
||||
max-height: 250px;
|
||||
overflow-y: auto;
|
||||
|
||||
}
|
||||
.select-box {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
@@ -734,7 +826,12 @@ export default {
|
||||
.list-bot {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.van-tag{
|
||||
padding: 4px 8px!important;
|
||||
word-break: keep-all;
|
||||
}
|
||||
div {
|
||||
color: #a1a1a1;
|
||||
margin-top: 3px;
|
||||
@@ -863,5 +960,36 @@ export default {
|
||||
::v-deep .van-picker__confirm {
|
||||
color: #34baae;
|
||||
}
|
||||
|
||||
.item-user-time {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-size: 12px;
|
||||
align-items: center;
|
||||
color: #646566;;
|
||||
justify-content: space-around;
|
||||
.label{
|
||||
width: 60px;
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
}
|
||||
.user-time {
|
||||
justify-content: space-between;
|
||||
width: 85%;
|
||||
height: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.item-user{
|
||||
margin-right: 10px;
|
||||
}
|
||||
.cuiban-content {
|
||||
margin: 5px 0 20px;
|
||||
text-align: left;
|
||||
width: 85%;
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
import { getCurrentUserEvaluate, getCurrentUserEvaluateAdd } from '@/api/evaluateAndReply'
|
||||
import { Notify } from 'vant'
|
||||
import Loading from '@/components/loading'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
import {debounce} from '@/utils/common.js'
|
||||
export default {
|
||||
name: 'userEvaluate',
|
||||
@@ -142,7 +142,7 @@ export default {
|
||||
try {
|
||||
if (res.code == 0) {
|
||||
if (res.data.list.length > 0) {
|
||||
res.data.list.forEach((v) => {
|
||||
for (const v of res.data.list) {
|
||||
if(v.nxzdEvaluateReplyDTOS && v.nxzdEvaluateReplyDTOS.length > 0) {
|
||||
v.show = true
|
||||
v.showTextArea = false
|
||||
@@ -152,9 +152,9 @@ export default {
|
||||
v.message = ''
|
||||
}
|
||||
if(v.image) {
|
||||
v.image = `${downloadUrl}${v.image}`
|
||||
v.image = await getImageBlobUrl(v.image)
|
||||
}
|
||||
}
|
||||
})
|
||||
this.list = res.data.list
|
||||
this.reportLevel = res.data.list[0]
|
||||
this.levelName(this.reportLevel.reportValue)
|
||||
|
||||
@@ -250,7 +250,19 @@ export default {
|
||||
}
|
||||
},
|
||||
enterpriseenergy() {
|
||||
taskList({ consNo: this.info.consNo }).then((res) => {
|
||||
this.records = res.data.list[0]
|
||||
if (!this.records.enterpriseId) {
|
||||
this.$notify({
|
||||
message: '请填写能源管理信息',
|
||||
duration: 1000,
|
||||
// background: '#34baae',
|
||||
type: 'danger'
|
||||
})
|
||||
return false
|
||||
}
|
||||
this.$router.push('./enterpriseenergy')
|
||||
})
|
||||
},
|
||||
// 返回
|
||||
onClickLeft() {
|
||||
@@ -302,13 +314,14 @@ export default {
|
||||
if (res.code === 0) {
|
||||
this.info = res.data
|
||||
// const data = {
|
||||
console.log(res.data, 'pppp')
|
||||
// customerId: JSON.parse(sessionStorage.getItem('tidCid')).customerId,
|
||||
// taskId: JSON.parse(sessionStorage.getItem('tidCid')).taskId,
|
||||
// taskType: JSON.parse(sessionStorage.getItem('tidCid')).taskType,
|
||||
// enterpriseSystemId: JSON.parse(sessionStorage.getItem('tidCid')).enterpriseSystemId,
|
||||
// item: res.data
|
||||
// }
|
||||
// sessionStorage.setItem('tidCid', JSON.stringify(data))
|
||||
sessionStorage.setItem('inVoltage', this.info.inVoltage)
|
||||
}else{
|
||||
this.info = JSON.parse(sessionStorage.getItem('tidCid')).item
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ import { pumpList, pumpRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } f
|
||||
import { Notify } from "vant";
|
||||
|
||||
import Uploader from '@/views/facilityManage/common-vue/uploader.vue'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
|
||||
// import Header from "@/components/headerNew";
|
||||
import {debounce} from '@/utils/common.js'
|
||||
@@ -200,7 +200,7 @@ export default {
|
||||
},
|
||||
//安卓会调用的方法
|
||||
onUpload(data, type) {
|
||||
this[type] = [data[0].url]
|
||||
this[type] = [data[0].fileId]
|
||||
},
|
||||
|
||||
delImg(file, detail, type) {
|
||||
@@ -242,21 +242,15 @@ export default {
|
||||
}
|
||||
|
||||
if(this.text1.length > 0 && this.text1[0] instanceof Object) {
|
||||
this.text1 = [this.text1[0].url.split('download/')[1]]
|
||||
} else if(this.text1.length > 0 && this.text1[0].split('download/').length > 1) {
|
||||
this.text1 = [this.text1[0].split('download/')[1]]
|
||||
this.text1 = [this.text1[0].fileId]
|
||||
}
|
||||
|
||||
if(this.text2.length > 0 && this.text2[0] instanceof Object) {
|
||||
this.text2 = [this.text2[0].url.split('download/')[1]]
|
||||
} else if(this.text2.length > 0 && this.text2[0].split('download/').length > 1) {
|
||||
this.text2 = [this.text2[0].split('download/')[1]]
|
||||
this.text2 = [this.text2[0].fileId]
|
||||
}
|
||||
|
||||
if(this.text3.length > 0 && this.text3[0] instanceof Object) {
|
||||
this.text3 = [this.text3[0].url.split('download/')[1]]
|
||||
} else if(this.text3.length > 0 && this.text3[0].split('download/').length > 1) {
|
||||
this.text3 = [this.text3[0].split('download/')[1]]
|
||||
this.text3 = [this.text3[0].fileId]
|
||||
}
|
||||
|
||||
const text = this.text1.concat(this.text2, this.text3)
|
||||
@@ -266,14 +260,9 @@ export default {
|
||||
//判断是否为对象格式
|
||||
ifObj(imgList) {
|
||||
console.log(imgList,'imgList');
|
||||
imgList.forEach((v) => {
|
||||
if(v instanceof Object && v.url.split('download/').length > 1) {
|
||||
v.url = v.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list = imgList.map((ele)=>{
|
||||
if(ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId
|
||||
}
|
||||
return ele
|
||||
})
|
||||
@@ -331,19 +320,22 @@ export default {
|
||||
if(res.data.text2) {
|
||||
if(res.data.text2.split(',')[0] != 0) {
|
||||
this.text1.push({
|
||||
url:`${downloadUrl}${res.data.text2.split(',')[0]}`
|
||||
fileId: res.data.text2.split(',')[0],
|
||||
url: await getImageBlobUrl(res.data.text2.split(',')[0])
|
||||
})
|
||||
}
|
||||
|
||||
if(res.data.text2.split(',')[1] != 0) {
|
||||
this.text2.push({
|
||||
url:`${downloadUrl}${res.data.text2.split(',')[1]}`
|
||||
fileId: res.data.text2.split(',')[1],
|
||||
url: await getImageBlobUrl(res.data.text2.split(',')[1])
|
||||
})
|
||||
}
|
||||
|
||||
if(res.data.text2.split(',')[2] != 0) {
|
||||
this.text3.push({
|
||||
url:`${downloadUrl}${res.data.text2.split(',')[2]}`
|
||||
fileId: res.data.text2.split(',')[2],
|
||||
url: await getImageBlobUrl(res.data.text2.split(',')[2])
|
||||
})
|
||||
}
|
||||
|
||||
@@ -405,6 +397,10 @@ export default {
|
||||
},
|
||||
|
||||
save() {
|
||||
if(!(this.list&&this.list.length>0)){
|
||||
this.$toast('请输入泵机系统信息')
|
||||
return
|
||||
}
|
||||
if(this.showForm||(this.$store.getters.cityType&&(this.text1.length<1||this.text2.length<1||this.text3.length<1))) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
<van-cell-group>
|
||||
<van-field v-model="form.systemModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" maxlength="20" label="泵机型号" placeholder="请输入泵机型号"/>
|
||||
<van-field v-model="form.motorModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" maxlength="20" label="电机型号" placeholder="请输入电机型号"/>
|
||||
<van-field label="设备类型" v-model="form.equipTypeName" required :rules="[{ required: true }]" placeholder="请选择设备类型" is-link readonly @click="handelClickOptionShow('equipType','02')" />
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<van-field v-input.numNo0 v-model="form.systemNum" type="number" required :rules="[{ required: true }]" label="台数(台)" placeholder="请输入台数" />
|
||||
<van-field v-input.floatNo0 v-model="form.ratedPowerValue" type="number" required :rules="[{ required: true }]" label="单台额定功率(kW)" placeholder="请输入" @blur="handelChange"/>
|
||||
<van-field v-input.float v-model="form.frequencyPerValue" type="number" required :rules="[{ required: true }]" label="变频占比(%)" placeholder="请输入" @input="handelChangeNumber('frequencyPerValue','变频占比')" />
|
||||
@@ -15,6 +17,8 @@
|
||||
<van-field v-input.num v-model="form.absoleteNum" type="number" label="淘汰泵机数量" placeholder="请输入" />
|
||||
<van-field v-input.floatNo0 v-model="form.efficiency" type="number" label="泵机效率(%)" placeholder="请输入" @input="handelChangeNumber('efficiency','泵机效率')" />
|
||||
<van-field v-input.num v-model="form.userYear" type="number" label="投入年份" placeholder="请选择投入年份" is-link readonly @click="handelClickYear('userYear', 'SET_CON_YEAR')" />
|
||||
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" is-link readonly @click="datePicker = true" />
|
||||
<van-field v-input.num v-model="form.runHours" type="number" label="累计运行小时数" required :rules="[{ required: true }]" placeholder="请输入" />
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
@@ -33,10 +37,16 @@
|
||||
</div>
|
||||
</van-overlay>
|
||||
<Year :show="yearShow" :num="1" @onConfirmYear="onConfirmYear" @onCancelYear="onCancelYear" />
|
||||
<!-- 年份选择 -->
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
|
||||
</van-popup>
|
||||
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VanPickerNew from '@/components/vanPickerNew'
|
||||
import { pumpAdd, pumpGetInfo, pumpEdit } from "@/api/universalEnergy.js"
|
||||
import { Notify } from "vant";
|
||||
import mixin from '@/mixins/mixin'
|
||||
@@ -45,6 +55,7 @@ import {debounce} from '@/utils/common.js'
|
||||
export default {
|
||||
components: {
|
||||
// Header,
|
||||
VanPickerNew,
|
||||
Year
|
||||
},
|
||||
mixins: [mixin],
|
||||
@@ -64,6 +75,10 @@ export default {
|
||||
absoleteNum: '',
|
||||
efficiency: '',
|
||||
userYear: '',
|
||||
produceDate: '',
|
||||
equipType: '',
|
||||
equipEfficiency: '',
|
||||
runHours: '',
|
||||
},
|
||||
show: false,
|
||||
doDebounce: null,
|
||||
@@ -81,6 +96,10 @@ export default {
|
||||
absoleteNum: '',
|
||||
efficiency: '',
|
||||
userYear: '',
|
||||
produceDate: '',
|
||||
equipType: '',
|
||||
equipEfficiency: '',
|
||||
runHours: '',
|
||||
};
|
||||
let msg = JSON.parse(sessionStorage.getItem('tidCid'));
|
||||
this.userMsg = msg
|
||||
@@ -164,6 +183,10 @@ export default {
|
||||
const res = await pumpGetInfo(this.id);
|
||||
if(res.code == 0) {
|
||||
this.form = res.data
|
||||
let Efficiency = res.data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == res.data.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
let equipType = res.data.equipType&&this.equipTypeOption['02'].find(item => item.value == res.data.equipType)
|
||||
this.form.equipTypeName = equipType&&equipType.text
|
||||
this.show = false
|
||||
}else {
|
||||
this.show = false
|
||||
|
||||
@@ -313,7 +313,7 @@ import { reformList, reformRemove } from '@/api/universalEnergy.js'
|
||||
import { Notify } from 'vant'
|
||||
import { formatymd } from '@/utils/timeUtil.js'
|
||||
import { getLocationMessage, chooseAlbumAndTakePhoto } from '@/utils/dsbridge'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
import {debounce} from '@/utils/common.js'
|
||||
export default {
|
||||
components: {
|
||||
@@ -330,7 +330,7 @@ export default {
|
||||
dataDetail: {},
|
||||
active: 0,
|
||||
list: [], // 企业具有的通用能源系统
|
||||
listValue: [], //企业具有的通用能源系统value值
|
||||
listValue: ['01'], //企业具有的通用能源系统value值
|
||||
list2: [], // 一级计量(进出用能企业)
|
||||
listValue2: ['01'],
|
||||
listValue3: [],
|
||||
@@ -380,6 +380,7 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
result: function(newVal, oldVal) {
|
||||
console.log(newVal,'12344');
|
||||
if (oldVal != newVal) {
|
||||
if (this.listValue != []) {
|
||||
this.listValue = []
|
||||
@@ -487,18 +488,20 @@ export default {
|
||||
return true
|
||||
},
|
||||
// 上传图片调用原生的方法 获取到绝对路径调用getImageFileFromUrl
|
||||
onUpload () {
|
||||
async onUpload () {
|
||||
console.log('进入chooseAlbumAndTakePhoto方法')
|
||||
chooseAlbumAndTakePhoto((data) => {
|
||||
chooseAlbumAndTakePhoto(async (data) => {
|
||||
// this.saveGreenComeData(data)
|
||||
let d = 'data:image/jpeg;base64,' + data
|
||||
console.log('data', d);
|
||||
this.fileIamge = d
|
||||
let params = this.base64ToFile(d,new Date().getTime().toString())
|
||||
uploadFile(params).then((res) => {
|
||||
uploadFile(params).then(async (res) => {
|
||||
if (res.code === 0) {
|
||||
const blobUrl = await getImageBlobUrl(res.data.attach_id)
|
||||
this.fileList.push({
|
||||
url:`${downloadUrl}${res.data.attach_id}`
|
||||
url: blobUrl,
|
||||
isImage: true,
|
||||
})
|
||||
this.fileIds.push(res.data.attach_id)
|
||||
}
|
||||
@@ -507,14 +510,11 @@ export default {
|
||||
})
|
||||
},
|
||||
delImg(detail) {
|
||||
let url = ''
|
||||
if(!detail.file) {
|
||||
url = detail.url.split('download/')[1]
|
||||
}
|
||||
const index = this.fileList.findIndex((ele)=> ele == detail)
|
||||
const index2 = this.fileIds.findIndex((ele)=> ele == url)
|
||||
if (index > -1) {
|
||||
this.fileList.splice(index, 1)
|
||||
this.fileIds.splice(index2, 1)
|
||||
this.fileIds.splice(index, 1)
|
||||
}
|
||||
},
|
||||
updateUserStatus() {
|
||||
const params = {
|
||||
@@ -660,23 +660,26 @@ export default {
|
||||
}
|
||||
this.address = res.data.address
|
||||
if (res.data.text1) {
|
||||
const url1 = `${downloadUrl}${res.data.text1}`
|
||||
const url1 = await getImageBlobUrl(res.data.text1)
|
||||
this.fileList.push({
|
||||
url: url1,
|
||||
isImage: true,
|
||||
})
|
||||
this.fileIds.push(res.data.text1)
|
||||
}
|
||||
if (res.data.text2) {
|
||||
const url2 = `${downloadUrl}${res.data.text2}`
|
||||
const url2 = await getImageBlobUrl(res.data.text2)
|
||||
this.fileList.push({
|
||||
url: url2,
|
||||
isImage: true,
|
||||
})
|
||||
this.fileIds.push(res.data.text2)
|
||||
}
|
||||
if (res.data.text3) {
|
||||
const url3 = `${downloadUrl}${res.data.text3}`
|
||||
const url3 = await getImageBlobUrl(res.data.text3)
|
||||
this.fileList.push({
|
||||
url: url3,
|
||||
isImage: true,
|
||||
})
|
||||
this.fileIds.push(res.data.text3)
|
||||
}
|
||||
@@ -784,9 +787,11 @@ export default {
|
||||
let res1 = await getCode(info1)
|
||||
if (res1.code === 0) {
|
||||
res1.data.forEach(v => {
|
||||
|
||||
this.list.push({ name: v.name, value: v.value })
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
handleClick(){
|
||||
this.doDebounce()
|
||||
@@ -796,7 +801,12 @@ export default {
|
||||
if(this.showForm) {
|
||||
return
|
||||
}
|
||||
console.log(this.listValue2, 'this.listValue2');
|
||||
if( this.listValue.indexOf("01") === -1){
|
||||
this.$toast('通用能源系统必须有配电系统')
|
||||
return
|
||||
}
|
||||
console.log(this.listValue2, 'this.listValue2', this.list);
|
||||
return
|
||||
if( this.listValue2.indexOf("01") === -1){
|
||||
this.$toast('一级计量必须有勾选电')
|
||||
return
|
||||
|
||||
@@ -119,7 +119,7 @@ import { fanList, fanRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } fro
|
||||
import { Notify } from "vant";
|
||||
|
||||
import Uploader from '@/views/facilityManage/common-vue/uploader.vue'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
import {debounce} from '@/utils/common.js'
|
||||
|
||||
// import Header from "@/components/headerNew";
|
||||
@@ -201,7 +201,7 @@ export default {
|
||||
},
|
||||
//安卓会调用的方法
|
||||
onUpload(data, type) {
|
||||
this[type] = [data[0].url]
|
||||
this[type] = [data[0].fileId]
|
||||
},
|
||||
|
||||
delImg(file, detail, type) {
|
||||
@@ -243,21 +243,15 @@ export default {
|
||||
}
|
||||
|
||||
if(this.text1.length > 0 && this.text1[0] instanceof Object) {
|
||||
this.text1 = [this.text1[0].url.split('download/')[1]]
|
||||
} else if(this.text1.length > 0 && this.text1[0].split('download/').length > 1) {
|
||||
this.text1 = [this.text1[0].split('download/')[1]]
|
||||
this.text1 = [this.text1[0].fileId]
|
||||
}
|
||||
|
||||
if(this.text2.length > 0 && this.text2[0] instanceof Object) {
|
||||
this.text2 = [this.text2[0].url.split('download/')[1]]
|
||||
} else if(this.text2.length > 0 && this.text2[0].split('download/').length > 1) {
|
||||
this.text2 = [this.text2[0].split('download/')[1]]
|
||||
this.text2 = [this.text2[0].fileId]
|
||||
}
|
||||
|
||||
if(this.text3.length > 0 && this.text3[0] instanceof Object) {
|
||||
this.text3 = [this.text3[0].url.split('download/')[1]]
|
||||
} else if(this.text3.length > 0 && this.text3[0].split('download/').length > 1) {
|
||||
this.text3 = [this.text3[0].split('download/')[1]]
|
||||
this.text3 = [this.text3[0].fileId]
|
||||
}
|
||||
|
||||
const text = this.text1.concat(this.text2, this.text3)
|
||||
@@ -266,14 +260,9 @@ export default {
|
||||
|
||||
//判断是否为对象格式
|
||||
ifObj(imgList) {
|
||||
imgList.forEach((v) => {
|
||||
if(v instanceof Object && v.url.split('download/').length > 1) {
|
||||
v.url = v.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list = imgList.map((ele)=>{
|
||||
if(ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId
|
||||
}
|
||||
return ele
|
||||
})
|
||||
@@ -334,19 +323,22 @@ export default {
|
||||
if(res.data.text3) {
|
||||
if(res.data.text3.split(',')[0] != 0) {
|
||||
this.text1.push({
|
||||
url:`${downloadUrl}${res.data.text3.split(',')[0]}`
|
||||
fileId: res.data.text3.split(',')[0],
|
||||
url: await getImageBlobUrl(res.data.text3.split(',')[0])
|
||||
})
|
||||
}
|
||||
|
||||
if(res.data.text3.split(',')[1] != 0) {
|
||||
this.text2.push({
|
||||
url:`${downloadUrl}${res.data.text3.split(',')[1]}`
|
||||
fileId: res.data.text3.split(',')[1],
|
||||
url: await getImageBlobUrl(res.data.text3.split(',')[1])
|
||||
})
|
||||
}
|
||||
|
||||
if(res.data.text3.split(',')[2] != 0) {
|
||||
this.text3.push({
|
||||
url:`${downloadUrl}${res.data.text3.split(',')[2]}`
|
||||
fileId: res.data.text3.split(',')[2],
|
||||
url: await getImageBlobUrl(res.data.text3.split(',')[2])
|
||||
})
|
||||
}
|
||||
if(res.data.text1) {
|
||||
@@ -407,6 +399,10 @@ export default {
|
||||
this.doDebounce()
|
||||
},
|
||||
save() {
|
||||
if(!(this.list&&this.list.length>0)){
|
||||
this.$toast('请输入风机系统信息')
|
||||
return
|
||||
}
|
||||
if(this.showForm||(this.$store.getters.cityType&&(this.text1.length<1||this.text2.length<1||this.text3.length<1))) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
<van-cell-group>
|
||||
<van-field v-model="form.systemModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" label="风机型号" placeholder="请输入风机型号" maxlength="20" />
|
||||
<van-field v-model="form.motorModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" label="电机型号" placeholder="请输入电机型号" maxlength="20"/>
|
||||
<van-field label="设备类型" v-model="form.equipTypeName" required :rules="[{ required: true }]" placeholder="请选择设备类型" is-link readonly @click="handelClickOptionShow('equipType','03')" />
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<van-field v-input.numNo0 v-model="form.systemNum" required :rules="[{ required: true }]" type="number" label="台数(台)" placeholder="请输入台数" />
|
||||
<van-field v-input.floatNo0 v-model="form.ratedPowerValue" required :rules="[{ required: true }]" type="number" label="单台额定功率(kW)" placeholder="请输入" @blur="handelChange('ratedPowerValue',20,'单台额定功率')"/>
|
||||
<van-field v-input.float v-model="form.frequencyPerValue" required :rules="[{ required: true }]" type="number" label="变频占比(%)" placeholder="请输入" @input="handelChangeNumber('frequencyPerValue','变频占比')" />
|
||||
@@ -15,6 +17,8 @@
|
||||
<van-field v-input.num v-model="form.absoleteNum" type="number" label="淘汰风机数量" placeholder="请输入" />
|
||||
<van-field v-input.floatNo0 v-model="form.efficiency" type="number" label="风机效率(%)" placeholder="请输入" @input="handelChangeNumber('efficiency','风机效率')" />
|
||||
<van-field v-input.num v-model="form.userYear" type="number" label="投入年份" placeholder="请选择投入年份" is-link readonly @click="handelClickYear('userYear', 'SET_CON_YEAR')" />
|
||||
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" is-link readonly @click="datePicker = true" />
|
||||
<van-field v-input.num v-model="form.runHours" type="number" label="累计运行小时数" required :rules="[{ required: true }]" placeholder="请输入" />
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
@@ -33,10 +37,16 @@
|
||||
</div>
|
||||
</van-overlay>
|
||||
<Year :show="yearShow" :num="1" @onConfirmYear="onConfirmYear" @onCancelYear="onCancelYear" />
|
||||
<!-- 年份选择 -->
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
|
||||
</van-popup>
|
||||
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VanPickerNew from '@/components/vanPickerNew'
|
||||
import { fanAdd, fanGetInfo, fanEdit } from "@/api/universalEnergy.js"
|
||||
import { Notify } from "vant";
|
||||
// import Header from "@/components/headerNew";
|
||||
@@ -46,6 +56,7 @@ import {debounce} from '@/utils/common.js'
|
||||
export default {
|
||||
components: {
|
||||
// Header,
|
||||
VanPickerNew,
|
||||
Year
|
||||
},
|
||||
mixins: [mixin],
|
||||
@@ -64,6 +75,10 @@ export default {
|
||||
absoleteNum: '',
|
||||
efficiency: '',
|
||||
userYear: '',
|
||||
produceDate: '',
|
||||
equipType: '',
|
||||
equipEfficiency: '',
|
||||
runHours: '',
|
||||
},
|
||||
show: false,
|
||||
doDebounce: null,
|
||||
@@ -81,6 +96,10 @@ export default {
|
||||
absoleteNum: '',
|
||||
efficiency: '',
|
||||
userYear: '',
|
||||
produceDate: '',
|
||||
equipType: '',
|
||||
equipEfficiency: '',
|
||||
runHours: '',
|
||||
};
|
||||
let msg = JSON.parse(sessionStorage.getItem('tidCid'));
|
||||
this.userMsg = msg
|
||||
@@ -164,6 +183,10 @@ export default {
|
||||
const res = await fanGetInfo(this.id);
|
||||
if(res.code == 0) {
|
||||
this.form = res.data
|
||||
let Efficiency = res.data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == res.data.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
let equipType = res.data.equipType&&this.equipTypeOption['03'].find(item => item.value == res.data.equipType)
|
||||
this.form.equipTypeName = equipType&&equipType.text
|
||||
this.show = false
|
||||
}else {
|
||||
this.show = false
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<span>型号 {{ item.systemModel }} </span><span><van-icon name="arrow" color="#fff" /></span>
|
||||
</div>
|
||||
<div class="space-between" style="margin-top: 10px;font-size: 12px;">
|
||||
<span>单台额定容量:{{ item.ratedCapacityValue }} kVA</span><span>额定一次电压:{{ item.ratedVoltageValue }} kV</span>
|
||||
<span>单台额定容量:{{ item.ratedCapacityValue }} kVA</span><span>额定一次电压:{{ getData(item.ratedVoltageValue) }} </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -125,7 +125,7 @@ import {
|
||||
import { distributeList, distributeRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } from "@/api/universalEnergy.js";
|
||||
import { Notify } from "vant";
|
||||
import Uploader from '@/views/facilityManage/common-vue/uploader.vue'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
|
||||
// import Header from "@/components/headerNew";
|
||||
import {debounce} from '@/utils/common.js'
|
||||
@@ -136,6 +136,37 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
voltageLevelData:[{
|
||||
name:'10kV',
|
||||
value:"01",
|
||||
// },{
|
||||
// name:'380V',
|
||||
// value:"02",
|
||||
// },{
|
||||
// name:'6kV',
|
||||
// value:"03",
|
||||
},{
|
||||
name:'35kV',
|
||||
value:"04",
|
||||
},{
|
||||
name:'110kV',
|
||||
value:"05",
|
||||
},{
|
||||
name:'220kV',
|
||||
value:"06",
|
||||
},{
|
||||
name:'20kV',
|
||||
value:"07",
|
||||
// },{
|
||||
// name:'220V',
|
||||
// value:"08",
|
||||
},{
|
||||
name:'66kV',
|
||||
value:"09",
|
||||
},{
|
||||
name:'330kV',
|
||||
value:"10",
|
||||
}],
|
||||
newAnswer: [], // 问答题存
|
||||
title: '配电系统',
|
||||
userMsg: {}, // 任务列表单条数据
|
||||
@@ -198,6 +229,10 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
getData(value){
|
||||
let res = this.voltageLevelData.filter(ele => {return ele.value == value})
|
||||
return res&&res[0]&&res[0].name
|
||||
},
|
||||
/**
|
||||
* 图片方法
|
||||
*/
|
||||
@@ -207,7 +242,7 @@ export default {
|
||||
},
|
||||
//安卓会调用的方法
|
||||
onUpload(data, type) {
|
||||
this[type] = [data[0].url]
|
||||
this[type] = [data[0].fileId]
|
||||
},
|
||||
|
||||
delImg(file, detail, type) {
|
||||
@@ -250,21 +285,15 @@ export default {
|
||||
|
||||
|
||||
if(this.text1.length > 0 && this.text1[0] instanceof Object) {
|
||||
this.text1 = [this.text1[0].url.split('download/')[1]]
|
||||
} else if(this.text1.length > 0 && this.text1[0].split('download/').length > 1) {
|
||||
this.text1 = [this.text1[0].split('download/')[1]]
|
||||
this.text1 = [this.text1[0].fileId]
|
||||
}
|
||||
|
||||
if(this.text2.length > 0 && this.text2[0] instanceof Object) {
|
||||
this.text2 = [this.text2[0].url.split('download/')[1]]
|
||||
} else if(this.text2.length > 0 && this.text2[0].split('download/').length > 1) {
|
||||
this.text2 = [this.text2[0].split('download/')[1]]
|
||||
this.text2 = [this.text2[0].fileId]
|
||||
}
|
||||
|
||||
if(this.text3.length > 0 && this.text3[0] instanceof Object) {
|
||||
this.text3 = [this.text3[0].url.split('download/')[1]]
|
||||
} else if(this.text3.length > 0 && this.text3[0].split('download/').length > 1) {
|
||||
this.text3 = [this.text3[0].split('download/')[1]]
|
||||
this.text3 = [this.text3[0].fileId]
|
||||
}
|
||||
|
||||
|
||||
@@ -273,14 +302,9 @@ export default {
|
||||
},
|
||||
//判断是否为对象格式
|
||||
ifObj(imgList) {
|
||||
imgList.forEach((v) => {
|
||||
if(v instanceof Object && v.url.split('download/').length > 1) {
|
||||
v.url = v.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list = imgList.map((ele)=>{
|
||||
if(ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId
|
||||
}
|
||||
return ele
|
||||
})
|
||||
@@ -336,19 +360,22 @@ export default {
|
||||
if(res.data.text1) {
|
||||
if(res.data.text1.split(',')[0] != 0) {
|
||||
this.text1.push({
|
||||
url:`${downloadUrl}${res.data.text1.split(',')[0]}`
|
||||
fileId: res.data.text1.split(',')[0],
|
||||
url: await getImageBlobUrl(res.data.text1.split(',')[0])
|
||||
})
|
||||
}
|
||||
|
||||
if(res.data.text1.split(',')[1] != 0) {
|
||||
this.text2.push({
|
||||
url:`${downloadUrl}${res.data.text1.split(',')[1]}`
|
||||
fileId: res.data.text1.split(',')[1],
|
||||
url: await getImageBlobUrl(res.data.text1.split(',')[1])
|
||||
})
|
||||
}
|
||||
|
||||
if(res.data.text1.split(',')[2] != 0) {
|
||||
this.text3.push({
|
||||
url:`${downloadUrl}${res.data.text1.split(',')[2]}`
|
||||
fileId: res.data.text1.split(',')[2],
|
||||
url: await getImageBlobUrl(res.data.text1.split(',')[2])
|
||||
})
|
||||
}
|
||||
if(res.data.text2) {
|
||||
@@ -393,6 +420,10 @@ export default {
|
||||
},
|
||||
// 保存
|
||||
save() {
|
||||
if(!(this.list&&this.list.length>0)){
|
||||
this.$toast('请输入配电系统信息')
|
||||
return
|
||||
}
|
||||
if(this.showForm||(this.$store.getters.cityType&&(this.text1.length<1||this.text2.length<1||this.text3.length<1))) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -9,11 +9,13 @@
|
||||
<van-field v-model="form.systemModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" label="型号" maxlength="20" placeholder="请输入型号"/>
|
||||
<van-field v-input.numNo0 v-model="form.systemNum" type="number" required :rules="[{ required: true }]" label="台数(台)" placeholder="请输入台数" />
|
||||
<van-field v-input.numNo0 v-model="form.ratedCapacityValue" required :rules="[{ required: true }]" ltype="number" label="单台额定容量(kVA)" placeholder="请输入" @blur="handelChange('ratedCapacityValue',50,'单台额定容量')"/>
|
||||
<van-field v-input.floatNo0 v-model="form.ratedVoltageValue" required :rules="[{ required: true }]" type="number" label="额定一次电压(kV)" input-align="right" is-link placeholder="请选择" readonly @click="levelShow = true"/>
|
||||
<van-field v-input.floatNo0 v-model="form.ratedVoltageValueText" required :rules="[{ required: true }]" type="number" label="额定一次电压(kV)" input-align="right" is-link placeholder="请选择" readonly @click="levelShow = true"/>
|
||||
<van-field v-input.num v-model="form.absoleteElecNum" type="number" label="淘汰电机数量" placeholder="请输入" />
|
||||
<van-field v-input.num v-model="form.absoleteNum" type="number" label="淘汰变压器数量" placeholder="请输入" />
|
||||
<van-field v-input.floatNo0 v-model="form.loadRate" required :rules="[{ required: true }]" type="number" label="负载率(%)" placeholder="请输入" @input="handelChangeNumber('loadRate','负载率')" />
|
||||
<van-field v-input.num v-model="form.userYear" required :rules="[{ required: true }]" type="number" label="投入年份" placeholder="请选择投入年份" is-link readonly @click="handelClickYear('userYear', 'SET_CON_YEAR')" />
|
||||
<van-cell title="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" type="number" placeholder="请选择设备生产日期" is-link readonly @click="datePicker = true" />
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
@@ -42,13 +44,21 @@
|
||||
</div>
|
||||
<div class="content-main">
|
||||
<van-cell v-for="item in levelList" :key="item.value" clickable style="font-weight: 400 !important; font-size: 15px !important">
|
||||
<van-checkbox :name="item" checked-color="#009999" v-model="item.checked" @click="clickCheckbox(item)">
|
||||
{{ item.value }}kV
|
||||
<van-checkbox :name="item" checked-color="#009999" v-model="item.checked" @click="clickCheckbox(item)"
|
||||
:disabled="parseFloat(inVoltage)<parseFloat(item.name)"
|
||||
|
||||
>
|
||||
{{ item.name }}
|
||||
</van-checkbox>
|
||||
</van-cell>
|
||||
</div>
|
||||
</div>
|
||||
</VanPickerNew>
|
||||
<!-- 年份选择 -->
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
|
||||
</van-popup>
|
||||
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -67,14 +77,49 @@ export default {
|
||||
mixins: [mixin],
|
||||
data() {
|
||||
return {
|
||||
inVoltage: '',
|
||||
datePicker: false,
|
||||
currentDate: new Date(),
|
||||
maxDate: new Date(),
|
||||
levelShow: false,
|
||||
levelList:[
|
||||
{value:'10', checked: false},
|
||||
{value:'35', checked: false},
|
||||
{value:'110', checked: false},
|
||||
{value:'220', checked: false},
|
||||
{value:'330', checked: false},
|
||||
],
|
||||
levelList:[{
|
||||
name:'10',
|
||||
value:"01",
|
||||
checked: false
|
||||
},{
|
||||
name:'35',
|
||||
value:"04",
|
||||
checked: false
|
||||
},{
|
||||
name:'110',
|
||||
value:"05",
|
||||
checked: false
|
||||
},{
|
||||
name:'220',
|
||||
value:"06",
|
||||
checked: false
|
||||
},{
|
||||
name:'20',
|
||||
value:"07",
|
||||
checked: false
|
||||
},{
|
||||
name:'66',
|
||||
value:"09",
|
||||
checked: false
|
||||
},{
|
||||
name:'330',
|
||||
value:"10",
|
||||
checked: false
|
||||
}],
|
||||
// [
|
||||
// {value:'10', checked: false},
|
||||
// {value:'20', checked: false},
|
||||
// {value:'35', checked: false},
|
||||
// {value:'66', checked: false},
|
||||
// {value:'110', checked: false},
|
||||
// {value:'220', checked: false},
|
||||
// {value:'330', checked: false},
|
||||
// ],
|
||||
//电压等级选中的数据
|
||||
resultCheckboxLevel: [],
|
||||
addeditId: '', // 新增修改提交id
|
||||
@@ -90,11 +135,14 @@ export default {
|
||||
absoleteNum: "",
|
||||
loadRate: '',
|
||||
userYear: '',
|
||||
produceDate: ''
|
||||
},
|
||||
show: false
|
||||
};
|
||||
},
|
||||
activated() {
|
||||
let inVoltage = sessionStorage.getItem('inVoltage')
|
||||
this.inVoltage = this.getData(inVoltage)
|
||||
this.id = '',
|
||||
this.form = {
|
||||
systemModel: "",
|
||||
@@ -105,6 +153,7 @@ export default {
|
||||
absoleteNum: "",
|
||||
loadRate: '',
|
||||
userYear: '',
|
||||
produceDate: ''
|
||||
};
|
||||
let msg = JSON.parse(sessionStorage.getItem('tidCid'));
|
||||
// let msg2 = localStorage.getItem('customerItem');
|
||||
@@ -133,6 +182,10 @@ export default {
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getData(value){
|
||||
let res = this.levelList.filter(ele => {return ele.value == value})
|
||||
return res&&res[0]&&res[0].name
|
||||
},
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@@ -150,6 +203,7 @@ export default {
|
||||
const leName = this.levelList.filter((ele) => ele.checked)
|
||||
this.resultCheckboxLevel = leName
|
||||
this.form.ratedVoltageValue = leName.map((ele)=> ele.value).join(',')
|
||||
this.form.ratedVoltageValueText = leName.map((ele)=> ele.name).join(',')
|
||||
this.levelShow = false
|
||||
},
|
||||
clickCheckbox(item){
|
||||
@@ -208,6 +262,8 @@ export default {
|
||||
const res = await distributeGetInfo(this.id);
|
||||
if(res.code == 0) {
|
||||
this.form = res.data
|
||||
let Efficiency = res.data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == res.data.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
this.show = false
|
||||
if (this.form.ratedVoltageValue) {
|
||||
this.resultCheckboxLevel=[]
|
||||
@@ -220,11 +276,12 @@ export default {
|
||||
})
|
||||
|
||||
this.form.ratedVoltageValue = this.resultCheckboxLevel.map((ele) => ele.value).join(',')
|
||||
this.form.ratedVoltageValueText = this.resultCheckboxLevel.map((ele) => ele.name).join(',')
|
||||
}
|
||||
}else {
|
||||
this.show = false
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -122,7 +122,7 @@ import { airList, airRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } fro
|
||||
import { Notify } from "vant";
|
||||
|
||||
import Uploader from '@/views/facilityManage/common-vue/uploader.vue'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
// import Header from "@/components/headerNew"
|
||||
import {debounce} from '@/utils/common.js'
|
||||
export default {
|
||||
@@ -203,8 +203,7 @@ export default {
|
||||
},
|
||||
//安卓会调用的方法
|
||||
onUpload(data, type) {
|
||||
this[type] = [data[0].url]
|
||||
|
||||
this[type] = [data[0].fileId]
|
||||
},
|
||||
|
||||
delImg(file, detail, type) {
|
||||
@@ -246,21 +245,15 @@ export default {
|
||||
}
|
||||
|
||||
if(this.text1.length > 0 && this.text1[0] instanceof Object) {
|
||||
this.text1 = [this.text1[0].url.split('download/')[1]]
|
||||
} else if(this.text1.length > 0 && this.text1[0].split('download/').length > 1) {
|
||||
this.text1 = [this.text1[0].split('download/')[1]]
|
||||
this.text1 = [this.text1[0].fileId]
|
||||
}
|
||||
|
||||
if(this.text2.length > 0 && this.text2[0] instanceof Object) {
|
||||
this.text2 = [this.text2[0].url.split('download/')[1]]
|
||||
} else if(this.text2.length > 0 && this.text2[0].split('download/').length > 1) {
|
||||
this.text2 = [this.text2[0].split('download/')[1]]
|
||||
this.text2 = [this.text2[0].fileId]
|
||||
}
|
||||
|
||||
if(this.text3.length > 0 && this.text3[0] instanceof Object) {
|
||||
this.text3 = [this.text3[0].url.split('download/')[1]]
|
||||
} else if(this.text3.length > 0 && this.text3[0].split('download/').length > 1) {
|
||||
this.text3 = [this.text3[0].split('download/')[1]]
|
||||
this.text3 = [this.text3[0].fileId]
|
||||
}
|
||||
|
||||
const text = this.text1.concat(this.text2, this.text3)
|
||||
@@ -269,14 +262,9 @@ export default {
|
||||
|
||||
//判断是否为对象格式
|
||||
ifObj(imgList) {
|
||||
imgList.forEach((v) => {
|
||||
if(v instanceof Object && v.url.split('download/').length > 1) {
|
||||
v.url = v.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list = imgList.map((ele)=>{
|
||||
if(ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId
|
||||
}
|
||||
return ele
|
||||
})
|
||||
@@ -334,19 +322,22 @@ export default {
|
||||
if(res.data.text4) {
|
||||
if(res.data.text4.split(',')[0] != 0) {
|
||||
this.text1.push({
|
||||
url:`${downloadUrl}${res.data.text4.split(',')[0]}`
|
||||
fileId: res.data.text4.split(',')[0],
|
||||
url: await getImageBlobUrl(res.data.text4.split(',')[0])
|
||||
})
|
||||
}
|
||||
|
||||
if(res.data.text4.split(',')[1] != 0) {
|
||||
this.text2.push({
|
||||
url:`${downloadUrl}${res.data.text4.split(',')[1]}`
|
||||
fileId: res.data.text4.split(',')[1],
|
||||
url: await getImageBlobUrl(res.data.text4.split(',')[1])
|
||||
})
|
||||
}
|
||||
|
||||
if(res.data.text4.split(',')[2] != 0) {
|
||||
this.text3.push({
|
||||
url:`${downloadUrl}${res.data.text4.split(',')[2]}`
|
||||
fileId: res.data.text4.split(',')[2],
|
||||
url: await getImageBlobUrl(res.data.text4.split(',')[2])
|
||||
})
|
||||
}
|
||||
|
||||
@@ -407,6 +398,10 @@ export default {
|
||||
this.doDebounce()
|
||||
},
|
||||
save() {
|
||||
if(!(this.list&&this.list.length>0)){
|
||||
this.$toast('请输入空压机系统信息')
|
||||
return
|
||||
}
|
||||
if(this.showForm||(this.$store.getters.cityType&&(this.text1.length<1||this.text2.length<1||this.text3.length<1))) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
<van-cell-group>
|
||||
<van-field v-model="form.systemModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" label="空压机型号" placeholder="请输入空压机型号" maxlength="20" />
|
||||
<van-field v-model="form.motorModel" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" label="电机型号" placeholder="请输入电机型号" maxlength="20" />
|
||||
<van-field label="设备类型" v-model="form.equipTypeName" required :rules="[{ required: true }]" placeholder="请选择设备类型" is-link readonly @click="handelClickOptionShow('equipType','01')" />
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<van-field v-input.numNo0 v-model="form.systemNum" type="number" required :rules="[{ required: true }]" label="台数(台)" placeholder="请输入台数" />
|
||||
<van-field v-input.floatNo0 v-model="form.ratedPowerValue" required :rules="[{ required: true }]" type="number" label="单台额定功率(kW)" placeholder="请输入" @blur="handelChange('ratedPowerValue',5,'单台额定功率')"/>
|
||||
<van-field v-input.float v-model="form.frequencyPerValue" required :rules="[{ required: true }]" type="number" label="变频占比(%)" placeholder="请输入" @input="handelChangeNumber('frequencyPerValue','变频占比')" />
|
||||
@@ -15,6 +17,8 @@
|
||||
<van-field v-input.num v-model="form.absoleteNum" type="number" label="淘汰空压机数量" placeholder="请输入" />
|
||||
<van-field v-input.floatNo0 v-model="form.efficiency" type="number" label="空压机效率(%)" placeholder="请输入" @input="handelChangeNumber('efficiency','空压机效率')" />
|
||||
<van-field v-input.num v-model="form.userYear" type="number" label="投入年份" placeholder="请选择投入年份" is-link readonly @click="handelClickYear('userYear', 'SET_CON_YEAR')" />
|
||||
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" is-link readonly @click="datePicker = true" />
|
||||
<van-field v-input.num v-model="form.runHours" type="number" label="累计运行小时数" required :rules="[{ required: true }]" placeholder="请输入" />
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
@@ -33,10 +37,16 @@
|
||||
</div>
|
||||
</van-overlay>
|
||||
<Year :show="yearShow" :num="1" @onConfirmYear="onConfirmYear" @onCancelYear="onCancelYear" />
|
||||
<!-- 年份选择 -->
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
|
||||
</van-popup>
|
||||
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VanPickerNew from '@/components/vanPickerNew'
|
||||
import { airAdd, airGetInfo, airEdit } from "@/api/universalEnergy.js"
|
||||
import { Notify } from "vant";
|
||||
import mixin from '@/mixins/mixin'
|
||||
@@ -46,6 +56,7 @@ import {debounce} from '@/utils/common.js'
|
||||
export default {
|
||||
components: {
|
||||
// Header,
|
||||
VanPickerNew,
|
||||
Year
|
||||
},
|
||||
mixins: [mixin],
|
||||
@@ -64,6 +75,10 @@ export default {
|
||||
absoleteNum: '',
|
||||
efficiency: '',
|
||||
userYear: '',
|
||||
produceDate: '',
|
||||
equipType: '',
|
||||
equipEfficiency: '',
|
||||
runHours: '',
|
||||
},
|
||||
show: false,
|
||||
doDebounce: null,
|
||||
@@ -81,6 +96,10 @@ export default {
|
||||
absoleteNum: '',
|
||||
efficiency: '',
|
||||
userYear: '',
|
||||
produceDate: '',
|
||||
equipType: '',
|
||||
equipEfficiency: '',
|
||||
runHours: '',
|
||||
};
|
||||
let msg = JSON.parse(sessionStorage.getItem('tidCid'));
|
||||
// let msg2 = localStorage.getItem('customerItem');
|
||||
@@ -163,6 +182,10 @@ export default {
|
||||
const res = await airGetInfo(this.id);
|
||||
if(res.code == 0) {
|
||||
this.form = res.data
|
||||
let Efficiency = res.data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == res.data.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
let equipType = res.data.equipType&&this.equipTypeOption['01'].find(item => item.value == res.data.equipType)
|
||||
this.form.equipTypeName = equipType&&equipType.text
|
||||
this.show = false
|
||||
}else {
|
||||
this.show = false
|
||||
|
||||
@@ -1,237 +0,0 @@
|
||||
<template>
|
||||
<div class="list">
|
||||
<!-- 搜索框 -->
|
||||
<!-- <div class="search">
|
||||
<img src="@/assets/search.png" alt="" />
|
||||
<input
|
||||
type="text"
|
||||
placeholder="请输入搜索文字"
|
||||
@keydown.enter="searchEveryItem"
|
||||
v-model="searchValue"
|
||||
/>
|
||||
</div> -->
|
||||
<div class="container">
|
||||
<van-radio-group v-model="radio">
|
||||
<van-cell
|
||||
v-for="(item, index) in client"
|
||||
:title="item.consName +' '+ item.consNo"
|
||||
:key="index"
|
||||
clickable
|
||||
@click="clickRadio(item, index)"
|
||||
:style="item.checked ? 'background: #e5f6f3; ' : ''"
|
||||
>
|
||||
<!-- <van-radio :name="index" /> -->
|
||||
</van-cell>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
<div class="btn">
|
||||
<van-button size="large" class="faqi" @click="sureEle">
|
||||
确认
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import Header from "@/components/headerNew";
|
||||
import { getUseele } from '@/api/customer'
|
||||
import { Notify } from 'vant'
|
||||
|
||||
export default {
|
||||
name: '',
|
||||
components: {
|
||||
// Header,
|
||||
},
|
||||
beforeRouteEnter(to, from, next) {
|
||||
next(vm => {
|
||||
vm.title = to.meta.title
|
||||
})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 标题
|
||||
title: '客户选择',
|
||||
// 单选框
|
||||
radio: '',
|
||||
searchValue:'',
|
||||
client: [],
|
||||
loading: false, //加载
|
||||
finished: false, //完成
|
||||
pageNum: 1, //当前页数
|
||||
pageSize: 10, //每页多少条
|
||||
allPage: 0, //总共多少条
|
||||
numArr: [],
|
||||
currentItem: {}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// this.getData();
|
||||
},
|
||||
created() {
|
||||
// this.getUseele()
|
||||
this.getUseele()
|
||||
},
|
||||
methods: {
|
||||
//反显数据
|
||||
editData(data) {
|
||||
const arr = sessionStorage.getItem('customer')
|
||||
if(arr) {
|
||||
this.numArr = JSON.parse(arr).list
|
||||
data.forEach((ele)=> {
|
||||
this.numArr.forEach((v)=>{
|
||||
if(ele.consId == v.consId) {
|
||||
ele.checked = true
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
//获取列表数据
|
||||
async getUseele() {
|
||||
const customer = sessionStorage.getItem('customer')
|
||||
const data = {
|
||||
pageNum: this.pageNum,
|
||||
pagesize: this.pageSize,
|
||||
}
|
||||
if(customer) {
|
||||
data.consName = JSON.parse(customer).name
|
||||
} else {
|
||||
data.consName = ''
|
||||
}
|
||||
|
||||
const res = await getUseele(data)
|
||||
if(res.code == 0) {
|
||||
res.data.records.forEach((v) => {
|
||||
v.checked = false
|
||||
})
|
||||
this.client = res.data.records
|
||||
this.editData(res.data.records)
|
||||
} else {
|
||||
Notify({ type: 'danger', message: res.msg })
|
||||
|
||||
}
|
||||
},
|
||||
// 滑动加载
|
||||
// onLoad() {
|
||||
// // 异步更新数据
|
||||
// setTimeout(async () => {
|
||||
// this.pageNum++
|
||||
// const data = {
|
||||
// pageNum: this.pageNum,
|
||||
// pagesize: this.pageSize,
|
||||
// }
|
||||
// // 加载状态结束
|
||||
// this.loading = false
|
||||
|
||||
// const res = await getUseele(data)
|
||||
// if(res.code == 0) {
|
||||
// res.data.records.forEach((v) => {
|
||||
// v.checked = false
|
||||
// })
|
||||
// // this.client = res.data.records
|
||||
// this.client.push(...res.data.records)
|
||||
// this.editData(res.data.records)
|
||||
// // 数据全部加载完成
|
||||
// if (this.client.length == res.data.total) {
|
||||
// this.finished = true
|
||||
// return
|
||||
// }
|
||||
// } else {
|
||||
// this.finished = true
|
||||
// }
|
||||
// }, 1000)
|
||||
// },
|
||||
// 选择客户数据处理
|
||||
clickRadio(item, index) {
|
||||
item.checked = !item.checked
|
||||
if(item.checked == true) {
|
||||
this.numArr.push(item)
|
||||
} else {
|
||||
this.numArr.splice(index, 1)
|
||||
}
|
||||
console.log(this.numArr);
|
||||
},
|
||||
// 点击确认
|
||||
sureEle() {
|
||||
if (this.numArr.length == 0 ) {
|
||||
Notify({ type: 'danger', message: '请至少选择一条' })
|
||||
return
|
||||
}
|
||||
sessionStorage.setItem('numArr', JSON.stringify(this.numArr))
|
||||
this.$router.go(-1)
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.list {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.container {
|
||||
height: calc(100vh - 60px);
|
||||
overflow-y: auto;
|
||||
.van-cell {
|
||||
padding: 20px;
|
||||
font-size: 17px;
|
||||
opacity: 0.9;
|
||||
}
|
||||
.item {
|
||||
background: #fff;
|
||||
padding: 30px;
|
||||
box-sizing: border-box;
|
||||
font-size: 18px;
|
||||
color: #797b7b;
|
||||
border-bottom: 1px solid #e9e9e9;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .van-radio__icon {
|
||||
-webkit-box-flex: 0;
|
||||
-webkit-flex: none;
|
||||
flex: none;
|
||||
height: 1em;
|
||||
font-size: 0.533333rem;
|
||||
line-height: 1em;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0px;
|
||||
}
|
||||
.btn {
|
||||
padding: 0 20px;
|
||||
}
|
||||
.faqi {
|
||||
background-color: #63cbb6;
|
||||
color: #fff;
|
||||
border-radius: 8px;
|
||||
margin-top: -20px;
|
||||
}
|
||||
/deep/ .van-radio-group{
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
}
|
||||
.search {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
// border: 1px solid #f2f2f2;
|
||||
// opacity: 0.5;
|
||||
border-radius: 6px;
|
||||
padding: 5px 10px;
|
||||
box-sizing: border-box;
|
||||
align-items: center;
|
||||
background: #fff;
|
||||
margin-bottom: 10px;
|
||||
img {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -106,7 +106,7 @@
|
||||
/>
|
||||
<van-field
|
||||
v-input.reset
|
||||
v-input.floatNo0
|
||||
v-input.float
|
||||
:disabled="showForm"
|
||||
type="number"
|
||||
@blur="checkData"
|
||||
@@ -518,13 +518,13 @@ export default {
|
||||
readOnly(){
|
||||
return this.yearForm.energyUnutilizedVO&&this.yearForm.energyUnutilizedVO.notUsedResidueEnergyType!='01'
|
||||
},
|
||||
tips2(){
|
||||
let rate = Number(this.yearForm.actualPowerValue)/Number(this.yearForm.installedCapacityValue)
|
||||
if(0 < rate && 2000 > rate){
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
// tips2(){
|
||||
// let rate = Number(this.yearForm.actualPowerValue)/Number(this.yearForm.installedCapacityValue)
|
||||
// if(0 < rate && 2000 > rate){
|
||||
// return false
|
||||
// }
|
||||
// return true
|
||||
// }
|
||||
},
|
||||
mounted() {
|
||||
this.doDebounce=debounce(async function () {
|
||||
@@ -756,6 +756,9 @@ export default {
|
||||
Notify({ type: 'danger', duration: 500, message: '请选择年份' })
|
||||
return
|
||||
}
|
||||
if(this.tabName == 'a'){
|
||||
this.checkData()
|
||||
}
|
||||
if(this.tabName == 'b') {
|
||||
if(this.heatDemandOtherName) {
|
||||
this.yearForm.energyUnutilizedVO.heatDemandOther = this.heatDemandOtherName
|
||||
@@ -771,9 +774,9 @@ export default {
|
||||
if(this.tabName == 'c'&&this.tips0){
|
||||
return
|
||||
}
|
||||
if(this.yearForm.isPvInstallCondition == '1'&&this.tips2){
|
||||
return
|
||||
}
|
||||
// if(this.yearForm.isPvInstallCondition == '1'&&this.tips2){
|
||||
// return
|
||||
// }
|
||||
let params = Object.assign(this.customerInfo, this.yearForm)
|
||||
params.taskId = this.tidCid.taskId
|
||||
if(this.$route.query.id) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="list">
|
||||
<van-form ref="detailForm" @submit="handelClickSave">
|
||||
<div class="list-upload" v-if="(type == 1||type == 2) && $store.getters.imageRecognition">
|
||||
<!-- <div class="list-upload" v-if="(type == 1||type == 2) && $store.getters.imageRecognition">
|
||||
<btn-uploader type="filePic" :value="filePic" @afterRead="afterRead" @delImg="delImg" @onUpload="onUpload" />
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="container" v-if="type == 1">
|
||||
<div class="inputStyle">
|
||||
<van-cell-group>
|
||||
@@ -12,6 +12,7 @@
|
||||
<van-field v-model="refrigeNum" v-input.numNo0 label="数量(台)" readonly type="number" required :rules="[{ required: true }]" input-align="right" placeholder="自动计算" />
|
||||
<div class="tips" v-if="refrigeNum+''=='0'">数量>0</div>
|
||||
<van-field v-model="edgl" v-input.floatNo0 label="额定功率(kW)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
||||
<div class="tips" v-if="ratio1">0<额定功率<1000</div>
|
||||
<div class="tips" v-if="ratio">{{ refrigeTypeData[form.refrigeType][0]}} ≤额定制冷量/额定功率≤ {{refrigeTypeData[form.refrigeType][1]}}</div>
|
||||
<van-field v-model="hyl" v-input.float label="耗用量(t或m3)" type="number" label-width="100" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.coolCapacity" v-input.floatNo0 label="额定制冷量(kW)" required :rules="[{ required: true }]" type="number" input-align="right" placeholder="请输入" />
|
||||
@@ -23,6 +24,10 @@
|
||||
<van-field v-model="form.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.runDays" v-input.maxYearDay label="年平均运行时间(天)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.coldPerArea" v-input.float label="单位面积冷量(kw/平方米)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" />
|
||||
<van-field v-input.num v-model="form.cumulativeRunHours" required :rules="[{ required: true }]" type="number" label="累计运行小时数" placeholder="请输入" label-width="200" input-align="right"/>
|
||||
<van-field v-input.num v-model="form.dieoutNum" type="number" label="淘汰设备数量" placeholder="请输入" required :rules="[{ required: true }]" label-width="200" input-align="right"/>
|
||||
</van-cell-group>
|
||||
<van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/>
|
||||
<Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" />
|
||||
@@ -46,12 +51,13 @@
|
||||
<!-- 设备类型选择 -->
|
||||
<div class="inputStyle">
|
||||
<van-cell-group>
|
||||
<van-field v-model="formColumns.refrigeTypeName" label="设备类型" required :rules="[{ required: true }]" input-align="right" is-link placeholder="请选择" @click="handelClickHeatingShow('jzlx', 80000001016,'refrigeTypeName','refrigeType','lqt' )" readonly />
|
||||
<van-field v-model="formColumns.refrigeTypeName" label="设备类型1" required :rules="[{ required: true }]" input-align="right" is-link placeholder="请选择" @click="handelClickHeatingShow('jzlx', 80000001016,'refrigeTypeName','refrigeType','lqt' )" readonly />
|
||||
<!-- <van-cell title="设备类型" is-link :value="form.refrigeTypeName" @click="showPicker = true" readonly /> -->
|
||||
<van-field v-model="form.model" label="设备型号" required :rules="[{ required: true },{pattern:/^.{2,30}$/, message:'2≤型号长度≤30'}]" input-align="right" maxlength="30" placeholder="请输入设备型号"/>
|
||||
<van-field v-model="refrigeNum" v-input.numNo0 label="数量(台)" readonly type="number" required :rules="[{ required: true }]" input-align="right" placeholder="自动计算" />
|
||||
<div class="tips" v-if="refrigeNum+''=='0'">数量>0</div>
|
||||
<van-field v-model="form.ratedPower" v-input.floatNo0 label="额定功率(kW)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
||||
<div class="tips" v-if="ratio2">0<额定功率<500</div>
|
||||
<van-field v-model="form.useExpl" v-input.num label="在用台数(台)" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.backupExpl" v-input.num label="备用台数(台)" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.useYear" label="设备投用年份" label-width="140" required :rules="[{ required: true }]" input-align="right" is-link placeholder="请选择" readonly @click="handelClickYear('useYear')" />
|
||||
@@ -59,6 +65,10 @@
|
||||
<van-field v-model="form.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.runDays" v-input.maxYearDay label="年平均运行时间(天)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.coldPerArea" v-input.float label="单位面积冷量(kw/平方米)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" />
|
||||
<van-field v-input.num v-model="form.cumulativeRunHours" required :rules="[{ required: true }]" type="number" label="累计运行小时数" placeholder="请输入" label-width="200" input-align="right"/>
|
||||
<van-field v-input.num v-model="form.dieoutNum" type="number" label="淘汰设备数量" placeholder="请输入" required :rules="[{ required: true }]" label-width="200" input-align="right"/>
|
||||
</van-cell-group>
|
||||
<van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/>
|
||||
<Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" />
|
||||
@@ -90,6 +100,10 @@
|
||||
<van-field v-model="form1.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form1.runDays" v-input.maxYearDay label="年平均运行时间(天)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form1.heatPerArea" v-input.float label="单位面积热量(kw/平方米)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field label="设备能效等级" v-model="form1.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<van-field label="设备生产日期" v-model="form1.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" />
|
||||
<van-field v-input.num v-model="form1.cumulativeRunHours" required :rules="[{ required: true }]" type="number" label="累计运行小时数" placeholder="请输入" label-width="200" input-align="right"/>
|
||||
<van-field v-input.num v-model="form1.dieoutNum" type="number" label="淘汰设备数量" placeholder="请输入" required :rules="[{ required: true }]" label-width="200" input-align="right"/>
|
||||
</van-cell-group>
|
||||
<van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/>
|
||||
<Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" />
|
||||
@@ -112,6 +126,12 @@
|
||||
</van-form>
|
||||
|
||||
|
||||
<!-- 年份选择 -->
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
|
||||
</van-popup>
|
||||
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
@@ -124,7 +144,7 @@ import { pureDigital } from '../pattern'
|
||||
import VanPickerNew from "@/components/vanPickerNew";
|
||||
import Year from "../common-vue/year.vue";
|
||||
import mixin from "@/mixins/mixin";
|
||||
import { downloadUrl } from "@/settings";
|
||||
import { getImageBlobUrl } from "@/utils/index";
|
||||
import Uploader from "../common-vue/uploader.vue";
|
||||
import btnUploader from "../common-vue/btnUploader.vue";
|
||||
|
||||
@@ -160,6 +180,12 @@ export default {
|
||||
return !data
|
||||
}
|
||||
},
|
||||
ratio1(){
|
||||
return this.edgl==0 || this.edgl>1000
|
||||
},
|
||||
ratio2(){
|
||||
return this.form.ratedPower==0 || this.form.ratedPower>500
|
||||
},
|
||||
heatNum: {
|
||||
get(){
|
||||
if( this.form1.useExpl && this.form1.backupExpl ){
|
||||
@@ -210,7 +236,11 @@ export default {
|
||||
loadFactor: '',
|
||||
runHours:'',
|
||||
runDays: '',
|
||||
coldPerArea: ''
|
||||
coldPerArea: '',
|
||||
equipEfficiency: '',
|
||||
produceDate:'',
|
||||
cumulativeRunHours: '',
|
||||
dieoutNum: ''
|
||||
},
|
||||
form1: {
|
||||
equipId:'',
|
||||
@@ -230,7 +260,11 @@ export default {
|
||||
loadFactor: '',
|
||||
runHours:'',
|
||||
runDays: '',
|
||||
heatPerArea: ''
|
||||
heatPerArea: '',
|
||||
equipEfficiency: '',
|
||||
produceDate:'',
|
||||
cumulativeRunHours: '',
|
||||
dieoutNum: ''
|
||||
},
|
||||
formColumns: {
|
||||
refrigeType: "",
|
||||
@@ -429,6 +463,9 @@ export default {
|
||||
for (const key in this.form) {
|
||||
this.form[key] = data[key]
|
||||
}
|
||||
|
||||
let Efficiency = data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == data.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
if(data.refrigeTypeName) {
|
||||
this.formColumns.refrigeTypeName = data.refrigeTypeName
|
||||
}
|
||||
@@ -483,6 +520,9 @@ export default {
|
||||
for (const key in this.form) {
|
||||
this.form[key] = data[key]
|
||||
}
|
||||
|
||||
let Efficiency = data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == data.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
if(data.refrigeTypeName) {
|
||||
this.formColumns.refrigeTypeName = data.refrigeTypeName
|
||||
}
|
||||
@@ -547,6 +587,9 @@ export default {
|
||||
for (const key in this.form1) {
|
||||
this.form1[key] = data[key]
|
||||
}
|
||||
|
||||
let Efficiency = data.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == data.equipEfficiency)
|
||||
this.form1.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
if(heatCnLx && data) {
|
||||
heatCnLx.forEach((v)=> {
|
||||
if (data.unitType == v.code) {
|
||||
@@ -599,19 +642,19 @@ export default {
|
||||
}
|
||||
},
|
||||
//图片回显展示
|
||||
picShow(formList, name) {
|
||||
async picShow(formList, name) {
|
||||
console.log(formList,name);
|
||||
const picList = formList.map((ele) => {
|
||||
if (ele.split(`${downloadUrl}`).length > 1) {
|
||||
const picList = await Promise.all(formList.map(async (ele) => {
|
||||
if (ele.startsWith('blob:')) {
|
||||
return {
|
||||
url: ele,
|
||||
};
|
||||
}
|
||||
ele = `${downloadUrl}${ele}`;
|
||||
const blobUrl = await getImageBlobUrl(ele);
|
||||
return {
|
||||
url: ele,
|
||||
url: blobUrl,
|
||||
};
|
||||
});
|
||||
}));
|
||||
|
||||
switch (name) {
|
||||
case "ktExter":
|
||||
@@ -654,7 +697,7 @@ export default {
|
||||
const item = this.$route.params.item
|
||||
console.log(this.type, this.exteriorImage1.length);
|
||||
if (this.type == 1) {
|
||||
if(this.form.refrigeNum<1 || this.ratio){
|
||||
if(this.form.refrigeNum<1 || this.ratio||this.ratio1){
|
||||
return
|
||||
}
|
||||
if(this.$store.getters.cityType&&(this.form.exteriorImage.length<1||this.form.tagImage.length<1||this.form.markImage.length<1)){
|
||||
@@ -694,6 +737,9 @@ export default {
|
||||
})
|
||||
}
|
||||
} else if (this.type == 2) {
|
||||
if(this.ratio2){
|
||||
return
|
||||
}
|
||||
if(this.$store.getters.cityType&&(this.form.exteriorImage.length<1||this.form.tagImage.length<1||this.form.markImage.length<1)){
|
||||
return
|
||||
}
|
||||
@@ -742,6 +788,7 @@ export default {
|
||||
ele.ratedPower = this.edgl + "," + this.hyl
|
||||
// ele.unitType = this.form.refrigeType
|
||||
ele.unitType = this.form1.unitType
|
||||
ele.dieoutNum = this.form1.dieoutNum
|
||||
ele.unitTypeName = this.formColumns.refrigeTypeName
|
||||
return ele
|
||||
}
|
||||
@@ -761,7 +808,6 @@ export default {
|
||||
this.form1.unitType = this.formColumns.refrigeType
|
||||
this.form1.unitTypeName = this.formColumns.refrigeTypeName
|
||||
this.heatPicArrtoStr()
|
||||
console.log(this.form1.unitType, 'this.form1.unitType');
|
||||
this.$store.getters.heatingUnitList.push(this.form1)
|
||||
this.clearPage()
|
||||
this.$router.push({
|
||||
@@ -780,7 +826,7 @@ export default {
|
||||
if (this.exteriorImage1.length > 0) {
|
||||
this.form1.exteriorImage = this.exteriorImage1.map((ele) => {
|
||||
if (ele.url) {
|
||||
return ele = ele.url.split('download/')[1]
|
||||
return ele.fileId || ele
|
||||
} else {
|
||||
return ele
|
||||
}
|
||||
@@ -789,7 +835,7 @@ export default {
|
||||
if (this.tagImage1.length > 0) {
|
||||
this.form1.tagImage = this.tagImage1.map((ele) => {
|
||||
if (ele.url) {
|
||||
return ele = ele.url.split('download/')[1]
|
||||
return ele.fileId || ele
|
||||
} else {
|
||||
return ele
|
||||
}
|
||||
@@ -798,7 +844,7 @@ export default {
|
||||
if (this.markImage1.length > 0) {
|
||||
this.form1.markImage = this.markImage1.map((ele) => {
|
||||
if (ele.url) {
|
||||
return ele = ele.url.split('download/')[1]
|
||||
return ele.fileId || ele
|
||||
} else {
|
||||
return ele
|
||||
}
|
||||
|
||||
@@ -1,215 +0,0 @@
|
||||
<template>
|
||||
<!-- :after-read="afterRead" -->
|
||||
<!-- :after-read="afterRead" -->
|
||||
<van-uploader
|
||||
v-model="fileList"
|
||||
:disabled="disableImg"
|
||||
multiple
|
||||
:deletable="deletable"
|
||||
:max-count="1"
|
||||
:before-read="beforeRead"
|
||||
:afterRead="afterRead"
|
||||
:before-delete="delImg"
|
||||
@click-upload="onUpload"
|
||||
accept="image/*"
|
||||
>
|
||||
<div class="uploader" >
|
||||
<van-icon name="plus" class="uploader-icon" />
|
||||
</div>
|
||||
</van-uploader>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { uploadFile } from '@/api/api.js'
|
||||
import { chooseAlbumAndTakePhoto } from '@/utils/dsbridge'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { addWaterMarker } from '@/utils/marker'
|
||||
import { Base64ToFile } from '@/utils/base64'
|
||||
export default {
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
value: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
deletable: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
disableImg: false,
|
||||
fileList: this.value,
|
||||
activTimer: null,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.activTimer = setTimeout(() => {
|
||||
this.fileList = this.value
|
||||
}, 200)
|
||||
},
|
||||
beforeDestroy() {
|
||||
clearTimeout(this.activTimer)
|
||||
this.fileList = []
|
||||
},
|
||||
methods: {
|
||||
base64ToFile(data, fileName) {
|
||||
const dataArr = data.split(',')
|
||||
const byteString = window.atob(dataArr[1])
|
||||
const options = {
|
||||
type: 'image/jpeg',
|
||||
endings: 'native',
|
||||
}
|
||||
const u8Arr = new Uint8Array(byteString.length)
|
||||
for (let i = 0; i < byteString.length; i++) {
|
||||
u8Arr[i] = byteString.charCodeAt(i)
|
||||
}
|
||||
let formData = new FormData()
|
||||
let fileOfBlob = new File([u8Arr], fileName + '.jpg', options) //返回文件流
|
||||
formData.append('file', fileOfBlob)
|
||||
return formData
|
||||
},
|
||||
// 上传图片调用原生的方法 获取到绝对路径调用getImageFileFromUrl
|
||||
onUpload() {
|
||||
this.fileList= []
|
||||
console.log('--------chooseAlbumAndTakePhoto---', 'onUpload')
|
||||
chooseAlbumAndTakePhoto(async (data) => {
|
||||
console.log('--------onUpload---', data)
|
||||
let d = 'data:image/jpeg;base64,' + data
|
||||
this.fileIamge = d
|
||||
// let params = this.base64ToFile(d, new Date().getTime().toString())
|
||||
// console.log('--------params---', params)
|
||||
let img = Base64ToFile(d,'image/jpeg',new Date().getTime().toString() + ".jpg")
|
||||
console.log('-------------------------onUpload---', img);
|
||||
let blob = await addWaterMarker(img, 'image')
|
||||
console.log('-------------------------blob---', blob);
|
||||
let params = new FormData()
|
||||
let file = new File([blob], img.name)
|
||||
params.append('file', file)
|
||||
console.log('-------------------------file---', file);
|
||||
const res = await uploadFile(params)
|
||||
console.log('--------res---', res)
|
||||
if (res.code == 0) {
|
||||
this.fileList.push({
|
||||
fileName: res.data.original_name,
|
||||
fileId: res.data.attach_id,
|
||||
url: `${downloadUrl}${res.data.attach_id}`,
|
||||
})
|
||||
this.$emit('onUpload', this.fileList, this.type)
|
||||
}
|
||||
})
|
||||
},
|
||||
async afterRead(file) {
|
||||
this.fileList= []
|
||||
this.disableImg = true
|
||||
let params = new FormData()
|
||||
params.append('file', file.file)
|
||||
console.log(file.file)
|
||||
console.log(params)
|
||||
// console.log(decryptParseToJSON(a),77777777);
|
||||
const res = await uploadFile(params)
|
||||
if (res.code == 0) {
|
||||
this.disableImg = false
|
||||
this.fileList.push({
|
||||
fileName: res.data.original_name,
|
||||
fileId: res.data.attach_id,
|
||||
url: `${downloadUrl}${res.data.attach_id}`,
|
||||
})
|
||||
this.$emit('onUpload', this.fileList, this.type)
|
||||
// this.$emit('afterRead', res.data, this.type)
|
||||
}else{
|
||||
this.disableImg = false
|
||||
}
|
||||
return true
|
||||
},
|
||||
beforeRead(img) {
|
||||
if(!img){
|
||||
return
|
||||
}
|
||||
return new Promise(async(resolve, reject) => {
|
||||
let blob = await addWaterMarker(img, 'blob')
|
||||
blob.name = img.name
|
||||
let file = new File([blob], img.name)
|
||||
resolve(file)
|
||||
})
|
||||
}, //压缩图片
|
||||
compressFiles(fileObj) {
|
||||
let type = fileObj.type
|
||||
return new Promise((resolve, reject) => {
|
||||
let reader = new FileReader()
|
||||
reader.readAsDataURL(fileObj)
|
||||
reader.onload = function (e) {
|
||||
let image = new Image() //新建一个img标签(不嵌入DOM节点,仅做canvas操作)
|
||||
image.src = e.target.result //让该标签加载base64格式的原图
|
||||
image.onload = function () {
|
||||
//图片加载完毕后再通过canvas压缩图片,否则图片还没加载完就压缩,结果图片是全黑的
|
||||
let canvas = document.createElement('canvas'), //创建一个canvas元素
|
||||
context = canvas.getContext('2d'), //context相当于画笔,里面有各种可以进行绘图的API
|
||||
imageWidth = image.width / 2, //压缩后图片的宽度,这里设置为缩小一半
|
||||
imageHeight = image.height / 2, //压缩后图片的高度,这里设置为缩小一半
|
||||
data = '' //存储压缩后的图片
|
||||
canvas.width = imageWidth //设置绘图的宽度
|
||||
canvas.height = imageHeight //设置绘图的高度
|
||||
|
||||
//使用drawImage重新设置img标签中的图片大小,实现压缩。drawImage方法的参数可以自行查阅W3C
|
||||
context.drawImage(image, 0, 0, imageWidth, imageHeight)
|
||||
//使用toDataURL将canvas上的图片转换为base64格式
|
||||
data = canvas.toDataURL(type)
|
||||
canvas.toBlob(function (blob) {
|
||||
const f = new File([blob], fileObj.name, { type })
|
||||
resolve(f)
|
||||
}, type)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
delImg(file, detail) {
|
||||
this.fileList.splice(detail.index, 1)
|
||||
this.$emit('delImg', file, detail, this.type)
|
||||
},
|
||||
|
||||
checkImgisUpload(list) {
|
||||
if (this.fileList && list && this.fileList.length == list.length) {
|
||||
return false
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang='less' scoped>
|
||||
/deep/ .van-uploader__preview-image {
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
background: #fff;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
border-radius: 10px;
|
||||
margin-left: 20px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
/deep/ .van-uploader__preview-delete {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.uploader {
|
||||
width: 2.133333rem;
|
||||
height: 2.133333rem;
|
||||
background: #f7f7f7;
|
||||
border-radius: 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin: 10px 0 10px 20px;
|
||||
.uploader-icon {
|
||||
font-size: 30px;
|
||||
color: #ababab;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -21,7 +21,7 @@
|
||||
<script>
|
||||
import { uploadFile } from '@/api/api.js'
|
||||
import { chooseAlbumAndTakePhoto } from '@/utils/dsbridge'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
export default {
|
||||
props: {
|
||||
type: {
|
||||
@@ -41,17 +41,23 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
disableImg: false,
|
||||
fileList: this.value,
|
||||
activTimer: null,
|
||||
fileList: [],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.activTimer = setTimeout(() => {
|
||||
this.fileList = this.value
|
||||
}, 200)
|
||||
watch: {
|
||||
// 父组件异步回填(如历史记录 getHistory 晚于 mounted)时同步列表;
|
||||
// 上传后父组件把 value 改写为 [url字符串] 时不覆盖本地回显
|
||||
value: {
|
||||
handler(val) {
|
||||
if (val && val.length && val.every(item => typeof item === 'object')) {
|
||||
this.fileList = val.map(item => ({ ...item, isImage: true }))
|
||||
}
|
||||
},
|
||||
immediate: true,
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
beforeDestroy() {
|
||||
clearTimeout(this.activTimer)
|
||||
this.fileList = []
|
||||
},
|
||||
methods: {
|
||||
@@ -83,10 +89,14 @@ export default {
|
||||
const res = await uploadFile(params)
|
||||
console.log('--------res---', res)
|
||||
if (res.code == 0) {
|
||||
const blobUrl = await getImageBlobUrl(res.data.attach_id)
|
||||
console.log('--------回显 blobUrl---', blobUrl)
|
||||
if (!blobUrl) return
|
||||
this.fileList.push({
|
||||
fileName: res.data.original_name,
|
||||
fileId: res.data.attach_id,
|
||||
url: `${downloadUrl}${res.data.attach_id}`,
|
||||
url: blobUrl,
|
||||
isImage: true,
|
||||
})
|
||||
this.$emit('onUpload', this.fileList, this.type)
|
||||
}
|
||||
|
||||
@@ -8,13 +8,20 @@
|
||||
|
||||
<van-field v-model="trName" label="变压器类型" name="trName" required :rules="[{ required: true, message:'请至少选择一个变压器类型' }]" is-link input-align="right" placeholder="请选择" readonly @click="handelClcikTrShow = !showForm" />
|
||||
|
||||
<van-field v-input.numNo0 v-show="s15show" v-model="form.s15AboveNum" label="变压器S15及以上台数" type="number" required :rules="[{ required: s15show, message:'请输入变压器S15及以上台数' }]" label-width="180" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="s14show" v-model="form.s14Num" label="变压器S14台数" type="number" required :rules="[{ required: s14show, message:'请输入变压器S14台数' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="s13show" v-model="form.s13Num" label="变压器S13台数" type="number" required :rules="[{ required: s13show, message:'请输入变压器S13台数' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="s12show" v-model="form.s12Num" label="变压器S12台数" type="number" required :rules="[{ required: s12show, message:'请输入变压器S12台数' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="s11show" v-model="form.s11Num" label="变压器S11台数" type="number" required :rules="[{ required: s11show, message:'请输入变压器S11台数' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="s10show" v-model="form.s10Num" label="变压器S10台数量" type="number" required :rules="[{ required: s10show, message:'请输入变压器S10台数量' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="s9show" v-model="form.s9Num" label="变压器S9台数" type="number" required :rules="[{ required: s9show, message:'请输入变压器S9台数' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="otherShow" v-model="form.otherNum" label="其他变压器数量" type="number" required :rules="[{ required: otherShow, message:'请输入其他变压器数量' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="s8show" v-model="form.s8Num" label="变压器S8台数" type="number" required :rules="[{ required: s8show, message:'请输入变压器S8台数' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="s7show" v-model="form.s7BelowNum" label="变压器S7及以下台数" type="number" required :rules="[{ required: s7show, message:'请输入变压器S7及以下台数' }]" label-width="180" input-align="right" placeholder="请输入" />
|
||||
<van-field v-input.numNo0 v-show="othershow" v-model="form.otherNum" label="其他变压器数量" type="number" required :rules="[{ required: othershow, message:'请输入其他变压器数量' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.useYear" required :rules="[{ required: true, message:'请选择变压器最早投运年限' }]" label="变压器最早投运年限(年)" label-width="140" input-align="right" placeholder="请输入" is-link readonly @click="handelClickYear('useYear')" />
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" input-align="right" label-width="140" placeholder="请选择设备能效等级" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<van-field label="变压器生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择变压器生产日期" label-width="140" input-align="right" is-link readonly @click="datePicker = true" />
|
||||
<van-field v-input.num v-model="form.dieoutNum" type="number" label="淘汰设备数量" placeholder="请输入" required :rules="[{ required: true }]" label-width="200" input-align="right"/>
|
||||
|
||||
<van-field v-input.numNo0 v-model="form.distributeCapacity" label="总额定容量(kVA)" type="number" name="distributeCapacity" required :rules="[{ required: true, message:'请填写总额定容量' }]" label-width="100" input-align="right" placeholder="请输入" />
|
||||
|
||||
@@ -175,6 +182,11 @@
|
||||
|
||||
</VanPickerNew>
|
||||
|
||||
<!-- 年份选择 -->
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
|
||||
</van-popup>
|
||||
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
@@ -231,15 +243,22 @@ export default {
|
||||
distributeModiy: '', //是否进行过设备改造
|
||||
modifyMode: '', //改造方式
|
||||
modifyYear: '', //台区新增扩容改造年份
|
||||
s15AboveNum: '',
|
||||
s14Num: '',
|
||||
s13Num: '',
|
||||
s12Num: '',
|
||||
s11Num: '',
|
||||
s10Num: '',
|
||||
s9Num: '',
|
||||
s8Num: '',
|
||||
s7BelowNum: '',
|
||||
otherNum: '',
|
||||
useYear:'',
|
||||
makeModifyYear:'',
|
||||
addModifyYear:'',
|
||||
produceDate:'',
|
||||
equipEfficiency: '',
|
||||
dieoutNum: '',
|
||||
},
|
||||
//页面展示的中文名称
|
||||
formColumns: {
|
||||
@@ -257,15 +276,31 @@ export default {
|
||||
*/
|
||||
handelClcikTrShow: false,
|
||||
trName: '',
|
||||
s15show: false,
|
||||
s14show: false,
|
||||
s13show: false,
|
||||
s12show: false,
|
||||
s11show: false,
|
||||
s10show: false,
|
||||
s9show: false,
|
||||
otherShow: false,
|
||||
s8show: false,
|
||||
s7show: false,
|
||||
othershow: false,
|
||||
|
||||
//变压器类型数组
|
||||
trTypeList: [{
|
||||
// trTypeList: [],
|
||||
trTypeList: [
|
||||
{
|
||||
text: 's15',
|
||||
title:'s15AboveNum',
|
||||
value: '9',
|
||||
checked: false,
|
||||
},{
|
||||
text: 's14',
|
||||
title:'s14Num',
|
||||
value: '10',
|
||||
checked: false,
|
||||
},{
|
||||
text: 's13',
|
||||
title:'s13Num',
|
||||
value: '1',
|
||||
@@ -295,6 +330,18 @@ export default {
|
||||
value: '5',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
text: 's8',
|
||||
title:'s8Num',
|
||||
value: '8',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
text: 's7',
|
||||
title:'s7BelowNum',
|
||||
value: '7',
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
text: '其他',
|
||||
title:'otherNum',
|
||||
@@ -360,7 +407,40 @@ export default {
|
||||
//定时器
|
||||
edSet: null,
|
||||
modifyTimer:null,
|
||||
required: false
|
||||
required: false,
|
||||
voltageLevelData:[
|
||||
{
|
||||
text:'10kV',name:'10kV',
|
||||
value:'01',code:'01',
|
||||
},{
|
||||
text:'380V',name:'380V',
|
||||
value:'02',code:'02',
|
||||
},{
|
||||
text:'6kV',name:'6kV',
|
||||
value:'03',code:'03',
|
||||
},{
|
||||
text:'35kV',name:'35kV',
|
||||
value:'04',code:'04',
|
||||
},{
|
||||
text:'110kV',name:'110kV',
|
||||
value:'05',code:'05',
|
||||
},{
|
||||
text:'220kV',name:'220kV',
|
||||
value:'06',code:'06',
|
||||
},{
|
||||
text:'20kV',name:'20kV',
|
||||
value:'07',code:'07',
|
||||
},{
|
||||
text:'200V',name:'200V',
|
||||
value:'08',code:'08',
|
||||
},{
|
||||
text:'66kV',name:'66kV',
|
||||
value:'09',code:'09',
|
||||
},{
|
||||
text:'330kV',name:'330kV',
|
||||
value:'10',code:'10',
|
||||
},
|
||||
],
|
||||
// notData: {
|
||||
// charging: {
|
||||
// formColumnsField: ['deviceTypeName', 'computeName'],
|
||||
@@ -462,11 +542,12 @@ export default {
|
||||
//获取系统码表返回值数据
|
||||
//电压等级
|
||||
async getList() {
|
||||
const dydj = {
|
||||
id: 80000001022,
|
||||
type: 'dydj',
|
||||
}
|
||||
const level = await getCodeCommon(dydj)
|
||||
// const dydj = {
|
||||
// id: 80000001022,
|
||||
// type: 'dydj',
|
||||
// }
|
||||
// const level = await getCodeCommon(dydj)
|
||||
const level = this.voltageLevelData
|
||||
console.log(level,335);
|
||||
level.forEach((v) => {
|
||||
v.checked = false
|
||||
@@ -525,12 +606,16 @@ export default {
|
||||
this.handelClcikTrShow = false
|
||||
this.deviceTypeShow = false
|
||||
this.trName = ''
|
||||
this.s15show = false
|
||||
this.s14show = false
|
||||
this.s13show = false
|
||||
this.s12show = false
|
||||
this.s11show = false
|
||||
this.s10show = false
|
||||
this.s9show = false
|
||||
this.otherShow = false
|
||||
this.s8show = false
|
||||
this.s7show = false
|
||||
this.othershow = false
|
||||
this.v2Show = false
|
||||
this.resultTrList = []
|
||||
this.resultTrSpliceList = []
|
||||
@@ -612,6 +697,8 @@ export default {
|
||||
//问询
|
||||
this.editDataSearch(data)
|
||||
|
||||
let Efficiency = this.form.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == this.form.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
// this.getList2()
|
||||
} else {
|
||||
for (const key in this.form) {
|
||||
@@ -634,125 +721,24 @@ export default {
|
||||
* editData变压器
|
||||
*/
|
||||
editDataTrName() {
|
||||
if (this.form.s13Num) {
|
||||
this.s13show = true
|
||||
this.resultTrList.push({
|
||||
text: 's13',
|
||||
title:'s13Num',
|
||||
value: '1',
|
||||
this.trTypeList.map(item => {
|
||||
console.log(item, 'item');
|
||||
let key = item.value=='6'?'other':item.text
|
||||
console.log(key, this.form[key]);
|
||||
if(this.form[item.title]){
|
||||
this[key+'show'] = true
|
||||
this.resultTrList.push({...item,
|
||||
checked: true,
|
||||
})
|
||||
}
|
||||
|
||||
if (this.form.s12Num) {
|
||||
this.s12show = true
|
||||
this.resultTrList.push({
|
||||
text: 's12',
|
||||
title:'s12Num',
|
||||
value: '2',
|
||||
checked: true,
|
||||
})
|
||||
}
|
||||
|
||||
if (this.form.s11Num) {
|
||||
this.s11show = true
|
||||
this.resultTrList.push({
|
||||
text: 's11',
|
||||
title:'s11Num',
|
||||
value: '3',
|
||||
checked: true,
|
||||
})
|
||||
}
|
||||
|
||||
if (this.form.s10Num) {
|
||||
this.s10show = true
|
||||
this.resultTrList.push({
|
||||
text: 's10',
|
||||
title:'s10Num',
|
||||
value: '4',
|
||||
checked: true,
|
||||
})
|
||||
}
|
||||
|
||||
if (this.form.s9Num) {
|
||||
this.s9show = true
|
||||
this.resultTrList.push({
|
||||
text: 's9',
|
||||
title:'s9Num',
|
||||
value: '5',
|
||||
checked: true,
|
||||
})
|
||||
}
|
||||
|
||||
if (this.form.otherNum) {
|
||||
this.otherShow = true
|
||||
this.resultTrList.push({
|
||||
text: '其他',
|
||||
title:'otherNum',
|
||||
value: '6',
|
||||
checked: true,
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.form.s13Num) {
|
||||
this.s13show = false
|
||||
this.resultTrSpliceList.push({
|
||||
text: 's13',
|
||||
title:'s13Num',
|
||||
value: '1',
|
||||
}else {
|
||||
this[key+'show'] = false
|
||||
this.resultTrSpliceList.push({...item,
|
||||
checked: false,
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.form.s12Num) {
|
||||
this.s12show = false
|
||||
this.resultTrSpliceList.push({
|
||||
text: 's12',
|
||||
title:'s12Num',
|
||||
value: '2',
|
||||
checked: false,
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.form.s11Num) {
|
||||
this.s11show = false
|
||||
this.resultTrSpliceList.push({
|
||||
text: 's11',
|
||||
title:'s11Num',
|
||||
value: '3',
|
||||
checked: false,
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.form.s10Num) {
|
||||
this.s10show = false
|
||||
this.resultTrSpliceList.push({
|
||||
text: 's10',
|
||||
title:'s10Num',
|
||||
value: '4',
|
||||
checked: false,
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.form.s9Num) {
|
||||
this.s9show = false
|
||||
this.resultTrSpliceList.push({
|
||||
text: 's9',
|
||||
title:'s9Num',
|
||||
value: '5',
|
||||
checked: false,
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.form.otherNum) {
|
||||
this.otherShow = false
|
||||
this.resultTrSpliceList.push({
|
||||
text: '其他',
|
||||
title:'otherNum',
|
||||
value: '6',
|
||||
checked: false,
|
||||
})
|
||||
}
|
||||
console.log(this.resultTrSpliceList, this.resultTrList, 'pppppppppppp');
|
||||
|
||||
this.trName = this.resultTrList.map((ele) => ele.text).join(',')
|
||||
this.form.transformerType = this.resultTrList.map((ele) => ele.value).join(',')
|
||||
@@ -970,52 +956,25 @@ export default {
|
||||
this.trName = trName.map((ele)=> ele.text).join(',')
|
||||
this.form.transformerType = trName.map((ele)=> ele.value).join(',')
|
||||
this.resultTrList.forEach((v) => {
|
||||
if (v.text == 's13' && v.checked) {
|
||||
this.s13show = true
|
||||
}
|
||||
if (v.text == 's12' && v.checked) {
|
||||
this.s12show = true
|
||||
}
|
||||
if (v.text == 's11' && v.checked) {
|
||||
this.s11show = true
|
||||
}
|
||||
if (v.text == 's10' && v.checked) {
|
||||
this.s10show = true
|
||||
}
|
||||
if (v.text == 's9' && v.checked) {
|
||||
this.s9show = true
|
||||
}
|
||||
if (v.text == '其他' && v.checked) {
|
||||
this.otherShow = true
|
||||
this.trTypeList.map(ele => {
|
||||
let key = ele.value=='6'?'other':ele.text
|
||||
if(v.text == ele.text&&v.checked){
|
||||
this[key+'show']=true
|
||||
}
|
||||
})
|
||||
})
|
||||
this.resultTrSpliceList.forEach((v) => {
|
||||
if (v.text == 's13' && !v.checked) {
|
||||
this.s13show = false
|
||||
this.form.s13Num = ''
|
||||
}
|
||||
if (v.text == 's12' && !v.checked) {
|
||||
this.s12show = false
|
||||
this.form.s12Num = ''
|
||||
}
|
||||
if (v.text == 's11' && !v.checked) {
|
||||
this.s11show = false
|
||||
this.form.s11Num = ''
|
||||
}
|
||||
if (v.text == 's10' && !v.checked) {
|
||||
this.s10show = false
|
||||
this.form.s10Num = ''
|
||||
}
|
||||
if (v.text == 's9' && !v.checked) {
|
||||
this.s9show = false
|
||||
this.form.s9Num = ''
|
||||
}
|
||||
if (v.text == '其他' && !v.checked) {
|
||||
this.otherShow = false
|
||||
this.form.otherNum = ''
|
||||
|
||||
this.trTypeList.map(ele => {
|
||||
let key = ele.value=='6'?'other':ele.text
|
||||
if(v.text == ele.text&&!v.checked){
|
||||
this[key+'show']=false
|
||||
this.form[ele.title]=''
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
this.handelClcikTrShow = false
|
||||
},
|
||||
clickCheckbox(item){
|
||||
@@ -1222,4 +1181,8 @@ export default {
|
||||
color: #ee0a24;
|
||||
font-size: 12px;
|
||||
}
|
||||
.content-main{
|
||||
height: calc(100% - 40px);
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
@@ -3,10 +3,12 @@
|
||||
<div class="fissionItem">
|
||||
<van-cell-group>
|
||||
<van-field v-model="form.refrigeNum" v-input.numNo0 label="空调数量" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.dieoutNum" v-input.num label="淘汰设备数量" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.loadFactor" v-input.float label="负载系数" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.runDays" v-input.maxYearDay label="年平均运行时间(天)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.coldPerArea" v-input.float label="单位面积冷量(kw/平方米)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<!-- <van-field v-input.num v-model="form.dieoutNum" type="number" label="淘汰设备数量" placeholder="请输入" required :rules="[{ required: true }]" label-width="200" input-align="right"/> -->
|
||||
</van-cell-group>
|
||||
</div>
|
||||
<!-- <div class="bottom"><van-button type="primary" block>保存</van-button></div> -->
|
||||
@@ -26,7 +28,8 @@ export default {
|
||||
loadFactor: '',
|
||||
runHours:'',
|
||||
runDays: '',
|
||||
coldPerArea: ''
|
||||
coldPerArea: '',
|
||||
dieoutNum: ''
|
||||
},
|
||||
eqid: '',
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
validator:validateisData}]" label="输送泵组总功率(kW)" type="number" label-width="140" input-align="right" placeholder="请输入" @input="handelInput('pumpTotalPower', form.pumpTotalPower)" />
|
||||
|
||||
<van-field v-model="form.pumpYear" :required="form.heatMode!='1'" :rules="[{ required: form.heatMode!='1'}]" label="输送泵组设备年份" label-width="140" input-align="right" placeholder="请选择" is-link readonly @click="handelClickYear('pumpYear', 'SET_HEAT_YEAR')" />
|
||||
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" />
|
||||
|
||||
<!-- 是否进行过设备改造 -->
|
||||
|
||||
@@ -152,6 +153,10 @@
|
||||
|
||||
</VanPickerNew>
|
||||
|
||||
<!-- 年份选择 -->
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
|
||||
</van-popup>
|
||||
</div>
|
||||
</van-form>
|
||||
</template>
|
||||
@@ -222,6 +227,8 @@ export default {
|
||||
modifyMode: '', //改造方式
|
||||
heatIntellectModifyYear: '', //增加主机智能化集中控制系统年份
|
||||
heatModifyYear: '', //更换高能效设备年份
|
||||
produceDate: '',
|
||||
|
||||
},
|
||||
//展示名称
|
||||
formColumns: {
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<div class="tips" v-if="tips0 == true">35℃ ≤设定水温≤100℃</div>
|
||||
<!-- <van-field v-model="form.useYear" label="变压器投运年限(年)" label-width="140" input-align="right" placeholder="请输入" is-link readonly @click="handelClickYear('useYear')" /> -->
|
||||
<van-field v-model="formColumns.deviceTypeName" label="热水设备类型" required :rules="[{ required: true, message:'请选择热水设备类型' }]" input-align="right" placeholder="请选择" readonly is-link @click="deviceTypeShow = !showForm" />
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<!-- 是否进行过设备改造 -->
|
||||
<Whether required :rules="[{ required: true, message:'请选择设备改造' }]" :value="formColumns.waterModiyName" @onConfirmTrueFalse="onConfirmTrueFalse" feildName="waterModiy" special="1" />
|
||||
<!-- 改造方式 -->
|
||||
@@ -85,8 +86,8 @@
|
||||
</div>
|
||||
</VanPickerNew>
|
||||
</div>
|
||||
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
||||
</van-form>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -131,7 +132,8 @@ export default {
|
||||
modifyMode: '', //改造方式
|
||||
modifyYear: '', //增加主机智能化集中控制系统年份
|
||||
useYear: '',
|
||||
intellectModifyYear:''
|
||||
intellectModifyYear:'',
|
||||
equipEfficiency: '',
|
||||
},
|
||||
//页面展示的中文名称
|
||||
formColumns: {
|
||||
@@ -286,6 +288,7 @@ export default {
|
||||
this.edSet = setTimeout(async () => {
|
||||
//前页面存起来的数据
|
||||
const data = this.$store.getters.editData
|
||||
console.log(data, 'data=============');
|
||||
//问询问题
|
||||
const searchInfo = this.$store.getters.searchInfo
|
||||
if (searchInfo) {
|
||||
@@ -321,14 +324,14 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
let Efficiency = this.form.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == this.form.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
if(this.form.modifyYear) {
|
||||
this.modifyYearShow = true
|
||||
}
|
||||
if(this.form.intellectModifyYear) {
|
||||
this.intellectModifyYearShow = true
|
||||
}
|
||||
|
||||
|
||||
//判断是否
|
||||
this.editIsTrue()
|
||||
//消耗能源类型
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
|
||||
<van-field v-model="radioName" label="主要灯具类型" input-align="right" is-link placeholder="请选择" required :rules="[{ required: true, message:'请至少选择一个灯具类型' }]" readonly @click="handelClickRadioName" />
|
||||
|
||||
<van-field v-input.float v-show="ledRatioShow" required :rules="[{ required: ledRatioShow, message: '请填写占比' }]" v-model="form.ledRatio" label="LED灯占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" @input="handelChangeNumber('ledRatio')" />
|
||||
<van-field v-input.floatNo0 v-show="ledRatioShow" required :rules="[{ required: ledRatioShow}]" v-model="form.ledRatio" label="LED灯占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" @input="handelChangeNumber('ledRatio')" />
|
||||
|
||||
<van-field v-input.float v-show="fluorescentRadioShow" required :rules="[{ required: fluorescentRadioShow, message:'请填写占比' }]" v-model="form.fluorescentRadio" label="普通荧光灯占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" @input="handelChangeNumber('fluorescentRadio')" />
|
||||
<van-field v-input.float v-show="fluorescentRadioShow" required :rules="[{ required: fluorescentRadioShow}]" v-model="form.fluorescentRadio" label="普通荧光灯占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" @input="handelChangeNumber('fluorescentRadio')" />
|
||||
|
||||
<van-field v-input.float v-show="incandescentRadioShow" required :rules="[{ required: incandescentRadioShow, message:'请填写占比' }]" v-model="form.incandescentRadio" label="白炽灯占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" @input="handelChangeNumber('incandescentRadio')" />
|
||||
<van-field v-input.float v-show="incandescentRadioShow" required :rules="[{ required: incandescentRadioShow}]" v-model="form.incandescentRadio" label="白炽灯占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" @input="handelChangeNumber('incandescentRadio')" />
|
||||
|
||||
<van-field v-input.float v-show="energySaviRatioShow" required :rules="[{ required: energySaviRatioShow, message:'请填写占比' }]" v-model="form.energySaviRatio" label="节能灯占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" @input="handelChangeNumber('energySaviRatio')" />
|
||||
<van-field v-input.float v-show="energySaviRatioShow" required :rules="[{ required: energySaviRatioShow}]" v-model="form.energySaviRatio" label="非LED节能灯占比(%)" type="number" label-width="148" input-align="right" placeholder="请输入" @input="handelChangeNumber('energySaviRatio')" />
|
||||
|
||||
<van-field v-input.float v-show="showOther" required v-model="form.otherRatio" label="其它占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" readonly />
|
||||
<van-field v-input.float v-show="showOther" required v-model="form.otherRatio" label="其它灯具占比(%)" type="number" label-width="140" input-align="right" placeholder="请输入" readonly />
|
||||
|
||||
<van-field v-input.numNo0 v-model="form.totalNum" label="合计数量约(盏)" type="number" required :rules="[{ required: true, message: '请填写合计数量' }]" label-width="140" input-align="right" placeholder="请输入" />
|
||||
|
||||
@@ -133,7 +133,7 @@ export default {
|
||||
ledRatio: '', //LED灯具占比(%)
|
||||
fluorescentRadio: '', //普通荧光灯(%)
|
||||
incandescentRadio: '', //白炽灯占比(%)
|
||||
energySaviRatio: '', //节能灯占比(%)
|
||||
energySaviRatio: '', //非LED节能灯占比(%)
|
||||
totalNum: '', // 合计数量约
|
||||
equipModiy: '', // 是否进行过照明系统改造
|
||||
modifyMode: '', //改造方式
|
||||
@@ -165,7 +165,7 @@ export default {
|
||||
checked: false,
|
||||
},
|
||||
{
|
||||
text: '节能灯',
|
||||
text: '非LED节能灯',
|
||||
value: '4',
|
||||
field: 'energySaviRatio',
|
||||
checked: false,
|
||||
@@ -177,7 +177,7 @@ export default {
|
||||
ledRatioShow: false,
|
||||
//普通灯是否展示
|
||||
fluorescentRadioShow: false,
|
||||
//节能灯是否展示
|
||||
//非LED节能灯是否展示
|
||||
incandescentRadioShow: false,
|
||||
//白炽灯是否展示
|
||||
energySaviRatioShow: false,
|
||||
@@ -417,7 +417,7 @@ export default {
|
||||
if (this.form.energySaviRatio) {
|
||||
this.energySaviRatioShow = true
|
||||
this.resultCheckbox.push({
|
||||
text: '节能灯',
|
||||
text: '非LED节能灯',
|
||||
value: this.form.energySaviRatio,
|
||||
field: 'energySaviRatio',
|
||||
checked: true,
|
||||
@@ -454,7 +454,7 @@ export default {
|
||||
if (!this.form.energySaviRatio) {
|
||||
this.energySaviRatioShow = false
|
||||
this.spliceBox.push({
|
||||
text: '节能灯',
|
||||
text: '非LED节能灯',
|
||||
value: this.form.energySaviRatio,
|
||||
field: 'energySaviRatio',
|
||||
checked: false,
|
||||
@@ -594,7 +594,7 @@ export default {
|
||||
if (v.text == '白炽灯' && v.checked) {
|
||||
this.incandescentRadioShow = true
|
||||
}
|
||||
if (v.text == '节能灯' && v.checked) {
|
||||
if (v.text == '非LED节能灯' && v.checked) {
|
||||
this.energySaviRatioShow = true
|
||||
}
|
||||
})
|
||||
@@ -611,7 +611,7 @@ export default {
|
||||
this.incandescentRadioShow = false
|
||||
this.form.incandescentRadio = ''
|
||||
}
|
||||
if (v.text == '节能灯' && !v.checked) {
|
||||
if (v.text == '非LED节能灯' && !v.checked) {
|
||||
this.energySaviRatioShow = false
|
||||
this.form.energySaviRatio = ''
|
||||
}
|
||||
@@ -636,14 +636,19 @@ export default {
|
||||
if(!this.form.energySaviRatio) {
|
||||
this.form.energySaviRatio = 0
|
||||
}
|
||||
console.log(this.resultCheckbox, 'this.resultCheckbox')
|
||||
if(this.resultCheckbox.length > 0) {
|
||||
let num = 0
|
||||
let num = null
|
||||
this.resultCheckbox.forEach((v)=> {
|
||||
this.form[v.field] = this.form[v.field] || ''
|
||||
num += Number(this.form[v.field])
|
||||
})
|
||||
if(this.form[title] == 0){
|
||||
this.form[title] = null
|
||||
}
|
||||
if(num > 100) {
|
||||
Notify({ type: "danger", message: '不可超过100%' });
|
||||
this.form[title] = 0
|
||||
this.form[title] = null
|
||||
}else{
|
||||
this.form.otherRatio = 100 - num
|
||||
}
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
<template>
|
||||
<div class="multipleAir">
|
||||
<div class="list-upload" v-if="$store.getters.imageRecognition">
|
||||
<!-- <div class="list-upload" v-if="$store.getters.imageRecognition">
|
||||
<btnUploader type="filePic" :value="filePic"
|
||||
@afterRead="afterRead1"
|
||||
@delImg="delImg1"
|
||||
@onUpload="onUpload1" />
|
||||
<!-- <Uploader type="exteriorImage" :value="exteriorImage"
|
||||
@afterRead="afterRead"
|
||||
@delImg="delImg"
|
||||
@onUpload="onUpload" /> -->
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="focusItem">
|
||||
<div class="inputStyle">
|
||||
<van-cell-group>
|
||||
<van-field v-model="form.model" required :rules="[{ required: true },{pattern:/^.{2,20}$/, message:'2≤型号长度≤20'}]" maxlength="20" label="型号" label-width="120" input-align="right" placeholder="请输入型号"/>
|
||||
<van-field v-model="form.refrigeNum" v-input.numNo0 label="空调数量" type="number" required :rules="[{ required: true}]" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="edgl" v-input.floatNo0 label="总额定功率(kW)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入" />
|
||||
<div class="tips" v-if="ratio">{{validateData[0]}}≤额定制冷量/额定功率≤{{validateData[1]}}</div>
|
||||
@@ -40,6 +37,12 @@
|
||||
<van-field v-model="form.runHours" v-input.maxDayHour label="每日运行时间(小时)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.runDays" v-input.maxYearDay label="年平均运行时间(天)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field v-model="form.coldPerArea" v-input.float label="单位面积冷量(kw/平方米)" type="number" required :rules="[{ required: true }]" label-width="220" input-align="right" placeholder="请输入" />
|
||||
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" label-width="140" input-align="right" is-link readonly @click="datePicker = true" />
|
||||
<van-field v-model="form.useExpl" v-input.num label="在用台数(台)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入"/>
|
||||
<van-field v-model="form.backupExpl" v-input.num label="备用台数(台)" type="number" required :rules="[{ required: true }]" input-align="right" placeholder="请输入"/>
|
||||
<van-field label="设备能效等级" v-model="form.equipEfficiencyName" required :rules="[{ required: true }]" placeholder="请选择设备能效等级" input-align="right" is-link readonly @click="handelClickOptionShow('equipEfficiency')" />
|
||||
<van-field v-input.num v-model="form.cumulativeRunHours" required :rules="[{ required: true }]" type="number" label="累计运行小时数" placeholder="请输入" label-width="200" input-align="right"/>
|
||||
<van-field v-input.num v-model="form.dieoutNum" type="number" label="淘汰设备数量" placeholder="请输入" required :rules="[{ required: true }]" label-width="200" input-align="right"/>
|
||||
</van-cell-group>
|
||||
<div v-if="form.refrigeNum">
|
||||
<van-cell class="img-box box1" style="padding:10px 15px;" title="设备外观" :required="$store.getters.cityType"/>
|
||||
@@ -109,6 +112,12 @@
|
||||
<!-- <div class="bottom"><van-button type="primary" block>保存</van-button></div> -->
|
||||
<VanPickerNew :show="show" :columns="list" :loading="loading" @onConfirm="onConfirm" @onCancel="onCancel" />
|
||||
<Year :show="yearShow" :num="1" @onConfirmYear="onConfirmYear" @onCancelYear="onCancelYear" />
|
||||
<VanPickerNew :show="showOption" :columns="columnsList" :loading="loading" @onConfirm="onConfirmOption" @onCancel="showOption=false" />
|
||||
|
||||
<!-- 年份选择 -->
|
||||
<van-popup v-model="datePicker" position="bottom">
|
||||
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmDate" @cancel="datePicker = false" />
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -121,7 +130,7 @@ import mixin from '@/mixins/mixin'
|
||||
import Uploader from '../common-vue/uploader.vue'
|
||||
import Radio from '../common-vue/radio.vue'
|
||||
import { dataMode } from '../common'
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
import { pureDigital } from '../pattern'
|
||||
import btnUploader from "../common-vue/btnUploader.vue";
|
||||
|
||||
@@ -150,6 +159,7 @@ export default {
|
||||
},
|
||||
eqid: '',
|
||||
form: {
|
||||
model: '',
|
||||
modifyMode: '', //改造方式
|
||||
conEquipModiy: '', //是否进行过设备改造
|
||||
ratedPower: "",
|
||||
@@ -165,7 +175,13 @@ export default {
|
||||
loadFactor: '',
|
||||
runHours:'',
|
||||
runDays: '',
|
||||
coldPerArea: ''
|
||||
coldPerArea: '',
|
||||
useExpl: '',
|
||||
backupExpl: '',
|
||||
equipEfficiency: '',
|
||||
cumulativeRunHours: '',
|
||||
produceDate:'',
|
||||
dieoutNum: ''
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -314,29 +330,29 @@ export default {
|
||||
console.log(this.edgl, this.hyl);
|
||||
if (this.form.exteriorImage) {
|
||||
const list = this.form.exteriorImage.split(',')
|
||||
this.exteriorImage = list.map((ele) => {
|
||||
this.exteriorImage = await Promise.all(list.map(async (ele) => {
|
||||
return {
|
||||
url: `${downloadUrl}${ele}`,
|
||||
url: await getImageBlobUrl(ele),
|
||||
}
|
||||
})
|
||||
}))
|
||||
console.log(this.exteriorImage,'123')
|
||||
}
|
||||
if (this.form.tagImage) {
|
||||
const list = this.form.tagImage.split(',')
|
||||
this.tagImage = list.map((ele) => {
|
||||
this.tagImage = await Promise.all(list.map(async (ele) => {
|
||||
return {
|
||||
url: `${downloadUrl}${ele}`,
|
||||
url: await getImageBlobUrl(ele),
|
||||
}
|
||||
})
|
||||
}))
|
||||
console.log(this.tagImage)
|
||||
}
|
||||
if (this.form.markImage) {
|
||||
const list = this.form.markImage.split(',')
|
||||
this.markImage = list.map((ele) => {
|
||||
this.markImage = await Promise.all(list.map(async (ele) => {
|
||||
return {
|
||||
url: `${downloadUrl}${ele}`,
|
||||
url: await getImageBlobUrl(ele),
|
||||
}
|
||||
})
|
||||
}))
|
||||
console.log(this.markImage)
|
||||
}
|
||||
} else {
|
||||
@@ -351,7 +367,9 @@ export default {
|
||||
|
||||
this.form.conEquipModiy = data.info.conEquipModiy
|
||||
this.formColumns.conEquipModiyName = data.info.conEquipModiy == 1 ? '是' : '否'
|
||||
|
||||
console.log(this.form.equipEfficiency, 'data.equipEfficiency');
|
||||
let Efficiency = this.form.equipEfficiency&&this.equipEfficiencyOption.find(item => item.value == this.form.equipEfficiency)
|
||||
this.form.equipEfficiencyName = Efficiency&&Efficiency.text
|
||||
if (data.info.conIntellectModifyYear) {
|
||||
this.form.conIntellectModifyYear = data.info.conIntellectModifyYear
|
||||
this.resultList.push({
|
||||
@@ -519,14 +537,9 @@ export default {
|
||||
},
|
||||
//判断是否为对象格式
|
||||
ifObj(imgList) {
|
||||
imgList.forEach((v) => {
|
||||
if(v instanceof Object && v.url.split('download/').length > 1) {
|
||||
v.url = v.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list = imgList.map((ele)=>{
|
||||
if(ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId || ele.url
|
||||
}
|
||||
return ele
|
||||
})
|
||||
|
||||
@@ -202,6 +202,7 @@ export default {
|
||||
if (res.data.nxzdHeatSystemDTO && this.parentPath.split('/facilityManage').length < 2) {
|
||||
this.$store.dispatch('saveList/getHea', res.data.nxzdHeatSystemDTO)
|
||||
}
|
||||
console.log(res.data, 'res.data==================');
|
||||
const data = {
|
||||
info: res.data,
|
||||
pageKey: this.pageKey,
|
||||
@@ -318,6 +319,7 @@ export default {
|
||||
pumpNum: '', // 输送泵组台数
|
||||
pumpTotalPower: '', //输送泵组总功率
|
||||
pumpYear: '', // 输送泵组设备年份
|
||||
produceDate: ''
|
||||
}
|
||||
this.commonForm.operDetailCode = '' // 用能设备明细类型编号用逗号隔开
|
||||
},
|
||||
@@ -378,7 +380,7 @@ export default {
|
||||
// console.log(cn);
|
||||
// eslint-disable-next-line no-case-declarations
|
||||
const heatObj = this.$refs.component
|
||||
|
||||
console.log(heatObj, 'heatObj===============');
|
||||
// eslint-disable-next-line no-case-declarations
|
||||
const heatRes = await this.flagNo(heatObj.$refs.heat)
|
||||
flag = heatRes
|
||||
@@ -475,6 +477,7 @@ export default {
|
||||
this.commonForm.nxzdUseEnergyEquipDTO.heatType = store.heatType
|
||||
|
||||
this.commonForm.nxzdUseEnergyEquipDTO.heatMode = store.heatMode
|
||||
this.commonForm.nxzdUseEnergyEquipDTO.produceDate = store.produceDate
|
||||
|
||||
this.commonForm.nxzdUseEnergyEquipDTO.pumpTotalPower = store.pumpTotalPower||0
|
||||
|
||||
@@ -589,28 +592,19 @@ export default {
|
||||
if(this.commonForm.nxzdRefrigeSystemDTO.length > 0) {
|
||||
this.commonForm.nxzdRefrigeSystemDTO.forEach((v) => {
|
||||
if (v.exteriorImage && v.exteriorImage instanceof Array) {
|
||||
v.exteriorImage.forEach((ev) => {
|
||||
if (ev.url && ev.url.split('download/').length > 1) {
|
||||
ev.url = ev.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list = v.exteriorImage.map((ele) => {
|
||||
if (ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId || ele.url
|
||||
}
|
||||
return ele
|
||||
})
|
||||
v.exteriorImage = list.join(',')
|
||||
}
|
||||
if (v.tagImage && v.tagImage instanceof Array) {
|
||||
v.tagImage.forEach((ev) => {
|
||||
if (ev.url && ev.url.split('download/').length > 1) {
|
||||
ev.url = ev.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
|
||||
const list1 = v.tagImage.map((ele) => {
|
||||
if (ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId || ele.url
|
||||
}
|
||||
return ele
|
||||
})
|
||||
@@ -618,14 +612,9 @@ export default {
|
||||
|
||||
}
|
||||
if (v.markImage && v.markImage instanceof Array) {
|
||||
v.markImage.forEach((ev) => {
|
||||
if (ev.url && ev.url.split('download/').length > 1) {
|
||||
ev.url = ev.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list2 = v.markImage.map((ele) => {
|
||||
if (ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId || ele.url
|
||||
}
|
||||
return ele
|
||||
})
|
||||
@@ -638,28 +627,19 @@ export default {
|
||||
if(this.commonForm.nxzdHeatSystemDTO.length > 0) {
|
||||
this.commonForm.nxzdHeatSystemDTO.forEach((v)=> {
|
||||
if (v.exteriorImage && v.exteriorImage instanceof Array) {
|
||||
v.exteriorImage.forEach((ev) => {
|
||||
if (ev.url && ev.url.split('download/').length > 1) {
|
||||
ev.url = ev.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list = v.exteriorImage.map((ele) => {
|
||||
if (ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId || ele.url
|
||||
}
|
||||
return ele
|
||||
})
|
||||
v.exteriorImage = list.join(',')
|
||||
}
|
||||
if (v.tagImage && v.tagImage instanceof Array) {
|
||||
v.tagImage.forEach((ev) => {
|
||||
if (ev.url && ev.url.split('download/').length > 1) {
|
||||
ev.url = ev.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
|
||||
const list1 = v.tagImage.map((ele) => {
|
||||
if (ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId || ele.url
|
||||
}
|
||||
return ele
|
||||
})
|
||||
@@ -667,14 +647,9 @@ export default {
|
||||
|
||||
}
|
||||
if (v.markImage && v.markImage instanceof Array) {
|
||||
v.markImage.forEach((ev) => {
|
||||
if (ev.url && ev.url.split('download/').length > 1) {
|
||||
ev.url = ev.url.split('download/')[1]
|
||||
}
|
||||
})
|
||||
const list2 = v.markImage.map((ele) => {
|
||||
if (ele instanceof Object) {
|
||||
return ele.url
|
||||
return ele.fileId || ele.url
|
||||
}
|
||||
return ele
|
||||
})
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
<th>名称</th>
|
||||
<th>实物量</th>
|
||||
<th>折标量(吨折煤)</th>
|
||||
<th v-if="cityisXj">二氧化碳系数(千克)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -31,48 +32,56 @@
|
||||
<td>外购电</td>
|
||||
<td>{{ enterpriseEnergy81['电'].val }}(千瓦时)</td>
|
||||
<td>{{ enterpriseEnergy81['电'].standardVal }}</td>
|
||||
<td v-if="cityisXj"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>天然气</td>
|
||||
<td>{{ enterpriseEnergy81['天然气'].val }}(立方米)</td>
|
||||
<td>{{ enterpriseEnergy81['天然气'].standardVal }}</td>
|
||||
<td v-if="cityisXj">{{ enterpriseEnergy81['天然气'].co2 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>外购低压蒸汽</td>
|
||||
<td>{{ enterpriseEnergy81['低压蒸汽'].val }}(吨)</td>
|
||||
<td>{{ enterpriseEnergy81['低压蒸汽'].standardVal }}</td>
|
||||
<td v-if="cityisXj"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>外购中压蒸汽</td>
|
||||
<td>{{ enterpriseEnergy81['中压蒸汽'].val }}(吨)</td>
|
||||
<td>{{ enterpriseEnergy81['中压蒸汽'].standardVal }}</td>
|
||||
<td v-if="cityisXj"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5</td>
|
||||
<td>外购高压蒸汽</td>
|
||||
<td>{{ enterpriseEnergy81['高压蒸汽'].val }}(吨)</td>
|
||||
<td>{{ enterpriseEnergy81['高压蒸汽'].standardVal }}</td>
|
||||
<td v-if="cityisXj"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6</td>
|
||||
<td>煤</td>
|
||||
<td>{{ enterpriseEnergy81['煤'].val }}(吨)</td>
|
||||
<td>{{ enterpriseEnergy81['煤'].standardVal }}</td>
|
||||
<td v-if="cityisXj">{{ enterpriseEnergy81['煤'].co2 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>7</td>
|
||||
<td>汽油</td>
|
||||
<td>{{ enterpriseEnergy81['汽油'].val }}(吨)</td>
|
||||
<td>{{ enterpriseEnergy81['汽油'].standardVal }}</td>
|
||||
<td v-if="cityisXj">{{ enterpriseEnergy81['汽油'].co2 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8</td>
|
||||
<td>柴油</td>
|
||||
<td>{{ enterpriseEnergy81['柴油'].val }}(吨)</td>
|
||||
<td>{{ enterpriseEnergy81['柴油'].standardVal }}</td>
|
||||
<td v-if="cityisXj">{{ enterpriseEnergy81['柴油'].co2 }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -150,7 +159,7 @@
|
||||
|
||||
<script>
|
||||
import commonTitle from './commonTitle.vue'
|
||||
import { mapState } from 'vuex'
|
||||
import { mapState, mapGetters } from 'vuex'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -198,11 +207,12 @@ export default {
|
||||
}
|
||||
]
|
||||
},
|
||||
improveList:[]
|
||||
improveList:[],
|
||||
}
|
||||
},
|
||||
components: { commonTitle },
|
||||
computed: {
|
||||
...mapGetters(['cityisXj']),
|
||||
...mapState('report', ['EnergyReportInfo']),
|
||||
enterpriseEnergy81() {
|
||||
if (this.EnergyReportInfo.enterpriseEnergy81) {
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="detail2-right-bottom">
|
||||
用电户号: <div>{{ EnergyReportInfo.consNo }}</div>
|
||||
{{userCode}}: <div>{{ EnergyReportInfo.consNo }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -169,7 +169,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { downloadUrl } from '@/settings'
|
||||
import { getImageBlobUrl } from '@/utils/index'
|
||||
import commonTitle from './components/commonTitle.vue'
|
||||
import electro from './components/electro.vue'
|
||||
import refrom from './components/refrom.vue'
|
||||
@@ -197,6 +197,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
signFile: '',
|
||||
imageUrlData: null,
|
||||
signedtwo: '',
|
||||
value1: '',
|
||||
loading2: false,
|
||||
@@ -228,12 +229,24 @@ export default {
|
||||
Loading
|
||||
|
||||
},
|
||||
watch: {
|
||||
async signFile(val) {
|
||||
if (val) {
|
||||
this.imageUrlData = await getImageBlobUrl(val)
|
||||
} else {
|
||||
this.imageUrlData = null
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
window.outputPdf = this.outputPdf
|
||||
this.userLevel()
|
||||
},
|
||||
|
||||
computed: {
|
||||
userCode(){
|
||||
return this.$store.getters.validate? '用户编号':'用电户号'
|
||||
},
|
||||
changeTime() {
|
||||
return formatymd(this.EnergyReportInfo.changeTime)
|
||||
},
|
||||
@@ -244,11 +257,7 @@ export default {
|
||||
return true
|
||||
},
|
||||
imageUrl() {
|
||||
console.log(this.signFile);
|
||||
if(this.signFile) {
|
||||
return `${downloadUrl}${this.signFile}`
|
||||
}
|
||||
return null
|
||||
return this.imageUrlData
|
||||
},
|
||||
reportYear() {
|
||||
if (this.EnergyReportInfo.reportYear) {
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail2-right-bottom">
|
||||
用电户号: <div>{{ EnergyReportInfo.consNo }}</div>
|
||||
{{userCode}}: <div>{{ EnergyReportInfo.consNo }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -213,6 +213,9 @@ export default {
|
||||
// this.getTime()
|
||||
},
|
||||
computed: {
|
||||
userCode(){
|
||||
return this.$store.getters.validate? '用户编号':'用电户号'
|
||||
},
|
||||
reportYear() {
|
||||
if (this.EnergyReportInfo.reportYear) {
|
||||
return this.EnergyReportInfo.reportYear
|
||||
|
||||
+24
-5
@@ -22,6 +22,7 @@ module.exports = {
|
||||
// outputDir: ('1006028-' + pkgInfo.version), //生产包
|
||||
outputDir: 'dist', //测试环境
|
||||
lintOnSave: false,
|
||||
parallel: false,
|
||||
publicPath: '',
|
||||
chainWebpack: config => {
|
||||
// config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin),
|
||||
@@ -126,15 +127,33 @@ module.exports = {
|
||||
devServer: {
|
||||
host: '0.0.0.0',
|
||||
port: port,
|
||||
hot: true,
|
||||
open: true,
|
||||
proxy: {
|
||||
[process.env.VUE_APP_BASE_API]: {
|
||||
target: `http://172.29.69.38:28083`,
|
||||
|
||||
"/admin": {
|
||||
// target: "http://121.28.84.19:9004",
|
||||
target: "http://172.29.69.38:19012",
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
['^' + process.env.VUE_APP_BASE_API]: ''
|
||||
}
|
||||
}
|
||||
"^/admin": "",
|
||||
},
|
||||
}, "/energy-effcicency-net-service": {
|
||||
// target: "http://121.28.84.19:9004",
|
||||
target: "http://172.29.69.38:19012",
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
"^/energy-effcicency-net-service": "",
|
||||
},
|
||||
},
|
||||
// [process.env.VUE_APP_BASE_API]: {
|
||||
// target: process.env.VUE_APP_SERVER_Url,
|
||||
// changeOrigin: true,
|
||||
// secure: false,
|
||||
// pathRewrite: {
|
||||
// [`^${process.env.VUE_APP_BASE_API}`]: '',
|
||||
// },
|
||||
// },
|
||||
},
|
||||
disableHostCheck: true
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user