3 Commits

Author SHA1 Message Date
jiangyinzhi 95d50a991d 填报增加字段 2026-04-13 16:23:45 +08:00
jiangyinzhi 7c9827baee 增加区县公司 2026-04-01 17:26:44 +08:00
jiangyinzhi d883b51b0d 修改 2025-12-25 09:28:02 +08:00
41 changed files with 737 additions and 338 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
ENV = 'development' ENV = 'development'
# 定义变量 # 定义变量
VUE_APP_CITY_TYPE = '' VUE_APP_CITY_TYPE = 'ah'
# 开发环境接口调用前缀 # 开发环境接口调用前缀
# VUE_APP_BASE_API = '/dev-api' # VUE_APP_BASE_API = '/dev-api'
+1 -1
View File
@@ -6,7 +6,7 @@ NODE_ENV=production
# 测试0 生产1 # 测试0 生产1
VUE_APP_ENV = '1' VUE_APP_ENV = '1'
# 定义变量 # 定义变量
VUE_APP_CITY_TYPE = 'cq' VUE_APP_CITY_TYPE = 'ah'
# base api # base api
VUE_APP_BASE_API = '' VUE_APP_BASE_API = ''
+7 -12
View File
@@ -1,6 +1,5 @@
import myAxios from './axios' import myAxios from './axios'
const sx = '' const sx = process.env.VUE_APP_CITY_TYPE == 'sx' ? '/ferry_service/ferryController/conveyor' : ''
// const sx = process.env.VUE_APP_CITY_TYPE == 'sx' ? '/ferry_service/ferryController/conveyor' : ''
// 查询客户基本信息分页列表 // 查询客户基本信息分页列表
export function getUserInfo(params) { export function getUserInfo(params) {
@@ -151,31 +150,27 @@ export function getStatisticAPI(params) {
// 签名上传 // 签名上传
export function uploadNoting(params) { export function uploadNoting(params) {
return myAxios({ return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUserFileNet/upload`, url: '/portal/file/minio/upload',
method: 'POST', method: 'POST',
params: params, params: params
unEncrypted: true
}) })
} }
//图片上传 //图片上传
// 注意:不能手动设置 Content-Type,否则浏览器不会自动生成 multipart boundary;
// 需 unEncrypted 跳过请求拦截器加密,FormData 不能被 JSON.stringify+SM4 替换
export function uploadFile(params) { export function uploadFile(params) {
// console.log(params); // console.log(params);
// console.log(decrypt(params)); // console.log(decrypt(params));
return myAxios({ return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUserFileNet/upload`, url: '/file/minio/upload',
method: 'POST', method: 'POST',
data: params, data: params
unEncrypted: true
}) })
} }
//图片读取 //图片读取
export function downloadFile(attach_id) { export function downloadFile(attach_id) {
return myAxios({ return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdUserFileNet/download/${attach_id}`, url: '/file/minio/download',
method: 'POST', method: 'POST',
responseType: 'blob', params: attach_id
}) })
} }
// 生成诊断报告 // 生成诊断报告
+3 -3
View File
@@ -35,7 +35,7 @@ const LoadingInstance = {
function myAxios(axiosConfig, customOptions) { function myAxios(axiosConfig, customOptions) {
const service = axios.create({ const service = axios.create({
baseURL: axiosConfig.type ? '' : baseURLs, // 设置统一的请求前缀 baseURL: axiosConfig.type ? '' : baseURLs, // 设置统一的请求前缀
timeout: 20000, // 设置统一的超时时长 timeout: 30000, // 设置统一的超时时长
}); });
// 自定义配置 // 自定义配置
@@ -143,8 +143,8 @@ function httpErrorStatusHandle(error) {
// console.log(router,'114'); // console.log(router,'114');
// router.push('/login') // router.push('/login')
// eslint-disable-next-line no-case-declarations // eslint-disable-next-line no-case-declarations
let pathName = sessionStorage.getItem('path') // let pathName = sessionStorage.getItem('path')
router.push(pathName) // router.push(pathName)
break; break;
case 403: message = '您没有权限操作!'; break; case 403: message = '您没有权限操作!'; break;
case 404: message = `请求地址出错: ${error.response.config.url}`; break; // 在正确域名下 case 404: message = `请求地址出错: ${error.response.config.url}`; break; // 在正确域名下
+10
View File
@@ -29,6 +29,16 @@ export function getOrgList() {
}) })
} }
// 地区公司
export function cityTree(data) {
return myAxios({
url: `${sx}/energy-effcicency-net-service/nxzdPCodeYcControllerNet/cityTree`, //后端接口路由
method: 'post',
data
})
}
//获取用户信息 //获取用户信息
export function getUserInfo(params) { export function getUserInfo(params) {
return myAxios({ return myAxios({
+3 -3
View File
@@ -5,16 +5,16 @@ if (process.env.NODE_ENV === 'development') {
// 测试环境 // 测试环境
// baseURL = 'http://172.29.69.38:28083/' //后端ip和端口 // baseURL = 'http://172.29.69.38:28083/' //后端ip和端口
// baseURL = 'http://192.168.1.116:28083/' //测试后端ip和端口 // baseURL = 'http://192.168.1.116:28083/' //测试后端ip和端口
baseURL = 'http://172.29.69.38:19012/' //测试后端ip和端口 baseURL = 'http://172.29.106.250:19012/' //测试后端ip和端口
} else { } else {
// 生产环境 // 生产环境
// baseURL = '' // 本地 打包以后只需要空路径就行 // baseURL = '' // 本地 打包以后只需要空路径就行
// baseURL = '/proxy-ah' //安徽 打包以后的路径 baseURL = '/proxy-ah' //安徽 打包以后的路径
// baseURL = '/proxy-nx' //宁夏 打包以后的路径 // baseURL = '/proxy-nx' //宁夏 打包以后的路径
// baseURL = '/proxy-xj' //新疆 打包以后的路径 // baseURL = '/proxy-xj' //新疆 打包以后的路径
// baseURL = '/proxy-sx' //山西 打包以后的路径 // baseURL = '/proxy-sx' //山西 打包以后的路径
baseURL = '/proxy-cq' //重庆 打包以后的路径 // baseURL = '/proxy-cq' //重庆 打包以后的路径
} }
+2 -1
View File
@@ -10,7 +10,8 @@ module.exports = {
*/ */
sidebarLogo: true, sidebarLogo: true,
menuExclude: [], menuExclude: [],
downloadUrl: `${process.env.VUE_APP_BASE_API}/energy-effcicency-net-service/nxzdUserFileNet/download/`, downloadUrl: `${process.env.VUE_APP_BASE_API}/proxy-ah/file/minio/download/`,
uploadUrl: `${process.env.VUE_APP_BASE_API}/file/minio/upload/`,
statusCode: { statusCode: {
SUCCESS: 0 SUCCESS: 0
}, },
-43
View File
@@ -183,47 +183,4 @@ export function fileDown (downLoadUrl, fileName, id,data) {
// console.log("fileDownloadCallback 下载文件 回调 " + JSON.stringify(obj)); // 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 export default service
@@ -114,6 +114,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='energyReport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
// console.log(res.data.customerId); // console.log(res.data.customerId);
if (res.code == 0) { if (res.code == 0) {
+4
View File
@@ -626,6 +626,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='energyReport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
// console.log(res.data.customerId); // console.log(res.data.customerId);
if (res.code == 0) { if (res.code == 0) {
@@ -716,6 +716,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='energyReport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
// console.log(res.data.customerId); // console.log(res.data.customerId);
if (res.code == 0) { if (res.code == 0) {
+5 -1
View File
@@ -156,7 +156,7 @@
</div> </div>
</div> </div>
<div class="manage-start-text"> <div class="manage-start-text">
在建筑用能管理方面,贵单位{{ EnergyReportInfo.energyPlatform }}能源管控平台<span v-if="!(EnergyReportInfo.platformFeatures.split('')[0] == '未'||EnergyReportInfo.platformFeatures == '无')">,平台的功能包括具备{{ EnergyReportInfo.platformFeatures }}功能</span>。 在建筑用能管理方面,贵单位{{ EnergyReportInfo.energyPlatform }}能源管控平台<span v-if="!(EnergyReportInfo.platformFeatures&&(EnergyReportInfo.platformFeatures.split('')[0] == '未'||EnergyReportInfo.platformFeatures == '无'))">,平台的功能包括具备{{ EnergyReportInfo.platformFeatures }}功能</span>。
<span v-if="!(EnergyReportInfo.useEnergy == '无')"> <span v-if="!(EnergyReportInfo.useEnergy == '无')">
使用能源({{ EnergyReportInfo.useEnergy }})已经具备分项计量功能,用能单位能源计量器具配备{{ EnergyReportInfo.meterComplete }}。 使用能源({{ EnergyReportInfo.useEnergy }})已经具备分项计量功能,用能单位能源计量器具配备{{ EnergyReportInfo.meterComplete }}。
</span> </span>
@@ -264,6 +264,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='energyReport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
// console.log(res.data.customerId); // console.log(res.data.customerId);
if (res.code == 0) { if (res.code == 0) {
+14 -7
View File
@@ -26,9 +26,12 @@
<!-- <van-dropdown-menu class="timeSelect" v-if="timeSelectShow" > <!-- <van-dropdown-menu class="timeSelect" v-if="timeSelectShow" >
<van-dropdown-item v-model="yearVal" :options="yearList" @change="handelChangeTime" /> <van-dropdown-item v-model="yearVal" :options="yearList" @change="handelChangeTime" />
</van-dropdown-menu> --> </van-dropdown-menu> -->
<div class="detail2-right-top-reset" @click="generateReport" v-if="timeSelectShow"> <div class="detail2-right-top-reset" @click="generateReport(false)" v-if="timeSelectShow">
重新生成 重新生成
</div> </div>
<div class="detail2-right-top-reset" @click="generateReport(true)" v-if="timeSelectShow&&isCq">
刷新
</div>
</div> </div>
<div class="detail2-right-bottom"> <div class="detail2-right-bottom">
{{userCode}}: {{userCode}}:
@@ -212,6 +215,9 @@ export default {
res ='|' + this.EnergyReportInfo.buildType.split('/')[0] res ='|' + this.EnergyReportInfo.buildType.split('/')[0]
} }
return '公共机构'+res return '公共机构'+res
},
isCq(){
return process.env.VUE_APP_CITY_TYPE=='cq'
} }
}, },
@@ -224,8 +230,8 @@ export default {
created() { created() {
this.level = sessionStorage.getItem('level') this.level = sessionStorage.getItem('level')
this.getEnergyReportInfo() this.getEnergyReportInfo()
this.doDebounce = debounce(function () { this.doDebounce = debounce(function (flag) {
this.getGenerateReport() this.getGenerateReport(flag)
}, 5000, true) }, 5000, true)
}, },
methods: { methods: {
@@ -423,13 +429,14 @@ export default {
this.$router.push({path: '/energyReport'}) this.$router.push({path: '/energyReport'})
}, },
// 重新生成 // 重新生成
generateReport(){ generateReport(flag){
this.doDebounce() this.doDebounce(flag)
}, },
async getGenerateReport() { async getGenerateReport(flag) {
let data = { let data = {
customerId: this.energyData.customerId, customerId: this.energyData.customerId,
taskId: this.energyData.taskId taskId: this.energyData.taskId,
refresh: flag
} }
this.$toast.loading({ this.$toast.loading({
duration: 0, // 持续展示 toast duration: 0, // 持续展示 toast
+11 -13
View File
@@ -133,7 +133,7 @@
<script> <script>
// import reportHeader from './report-header.vue' // import reportHeader from './report-header.vue'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
import { mapState,mapMutations } from 'vuex' import { mapState,mapMutations } from 'vuex'
import { setTitle } from '@/utils/dsbridge.js' import { setTitle } from '@/utils/dsbridge.js'
import { Notify } from 'vant' import { Notify } from 'vant'
@@ -150,7 +150,6 @@ export default {
return { return {
signed: '', signed: '',
signFile: '', signFile: '',
imageUrlData: null,
flagModule:false, flagModule:false,
isState: false isState: false
// EnergyReportInfo: {} // EnergyReportInfo: {}
@@ -158,15 +157,6 @@ export default {
} }
}, },
// components: { reportHeader }, // components: { reportHeader },
watch: {
async '$store.getters.imageUrl'(val) {
if (val) {
this.imageUrlData = await getImageBlobUrl(val)
} else {
this.imageUrlData = null
}
}
},
created() { created() {
setTitle('节能改造措施') setTitle('节能改造措施')
this.getEnergyReportInfo() this.getEnergyReportInfo()
@@ -174,7 +164,7 @@ export default {
this.signed = sessionStorage.getItem('signed') this.signed = sessionStorage.getItem('signed')
const obj = JSON.parse(sessionStorage.getItem('tidCid')) const obj = JSON.parse(sessionStorage.getItem('tidCid'))
if(obj.item && obj.item.isState) { if(obj&&obj.item && obj.item.isState) {
this.isState = obj.item.isState this.isState = obj.item.isState
} }
@@ -191,13 +181,17 @@ export default {
computed: { computed: {
...mapState('report', ['EnergyReportInfo']), ...mapState('report', ['EnergyReportInfo']),
levelShow() { levelShow() {
// 客户经理 2
if(this.$store.getters.userLevel != 2) { if(this.$store.getters.userLevel != 2) {
return false return false
} }
return true return true
}, },
imageUrl() { imageUrl() {
return this.imageUrlData if(this.$store.getters.imageUrl) {
return `${downloadUrl}${this.$store.getters.imageUrl}`
}
return null
}, },
show() { show() {
return localStorage.getItem('show') === 'true' return localStorage.getItem('show') === 'true'
@@ -275,6 +269,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='energyReport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
// console.log(res.data.customerId); // console.log(res.data.customerId);
if (res.code == 0) { if (res.code == 0) {
+30 -2
View File
@@ -114,6 +114,7 @@ import {
editEnergyEquip, editEnergyEquip,
} from '@/api/energyConsumption' } from '@/api/energyConsumption'
import { dataMode } from '@/views/facilityManage/common.js' import { dataMode } from '@/views/facilityManage/common.js'
import { getYearList } from "@/api/energyConsumption.js";
export default { export default {
name: 'TaskFilling', name: 'TaskFilling',
components: { components: {
@@ -623,12 +624,39 @@ export default {
clearData() { clearData() {
this.item = {} this.item = {}
}, },
//获取能耗数据
async getDataInit() {
const id = JSON.parse(sessionStorage.getItem("tidCid")).customerId;
const data = {
customerId: id,
pageNum: 1,
pageSize: 10,
};
return new Promise((resolve, reject) => {
getYearList(data).then((res) => {
let {code, data} = res
if (code == 0) {
resolve(data.list)
}
})
})
},
//提交页面信息 //提交页面信息
saveAllInfo() { async saveAllInfo() {
const city = process.env.VUE_APP_CITY_TYPE=='cq' 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') 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') console.log(city, must ,this.iconList, 'lllllllllllllllllll')
let yearList = await this.getDataInit()
let noWaterList = yearList.filter(ele => {return !ele.useWater })
console.log(noWaterList, 'yearList')
if(city&&noWaterList.length>0){
this.$notify({
message: '能耗信息数据里的用水量必填',
duration: 1000,
type: 'warning'
})
return
}
if(!must&&city){ if(!must&&city){
this.$notify({ this.$notify({
message: '主要用能设备空调至少填一个、照明系统与配电系统必填', message: '主要用能设备空调至少填一个、照明系统与配电系统必填',
@@ -43,30 +43,29 @@
disabled disabled
/> />
<!-- 所属区域 --> <!-- 供电公司 -->
<van-field
v-model="powerCompanyName"
readonly
required
label="供电公司"
placeholder="请输入"
disabled
/>
<!-- 区县公司 -->
<van-field <van-field
v-model="provOrgName" v-model="provOrgName"
is-link is-link
readonly readonly
required required
label="所属区域" label="区县公司"
placeholder="请选择" placeholder="请选择"
@click="provOrgNoShow = true" @click="provOrgNoShow = true"
/> />
<!-- 供电公司 -->
<van-field
v-model="powerCompanyName"
is-link
readonly
required
label="供电公司"
placeholder="请选择"
@click="handelClickPowerCompany"
/>
<!-- 社会信用代码 --> <!-- 社会信用代码 -->
<van-field <van-field
@@ -195,12 +194,12 @@
@finish="onFinish" @finish="onFinish"
/> />
</van-popup> </van-popup>
<!-- 所属区域 --> <!-- 区县公司 -->
<van-popup v-model="provOrgNoShow" round position="bottom"> <van-popup v-model="provOrgNoShow" round position="bottom">
<van-cascader <van-cascader
:field-names="orgFieldNames" :field-names="orgFieldNames"
v-model="customer.provOrgNo" v-model="customer.provOrgNo"
title="请选择所属区域" title="请选择区县公司"
:options="provOrgList" :options="provOrgList"
:props="backList" :props="backList"
@close="provOrgNoShow = false" @close="provOrgNoShow = false"
@@ -209,7 +208,7 @@
/> />
</van-popup> </van-popup>
<!-- 供电公司 --> <!-- 供电公司 -->
<van-popup v-model="powerCompanyShow" round position="bottom"> <!-- <van-popup v-model="powerCompanyShow" round position="bottom">
<van-picker <van-picker
v-model="customer.powerCompany" v-model="customer.powerCompany"
show-toolbar show-toolbar
@@ -217,7 +216,7 @@
@cancel="powerCompanyShow = false" @cancel="powerCompanyShow = false"
@confirm="onConfirmPowerCompanyShow" @confirm="onConfirmPowerCompanyShow"
/> />
</van-popup> </van-popup> -->
<van-popup v-model="yearShow" round position="bottom"> <van-popup v-model="yearShow" round position="bottom">
<van-datetime-picker <van-datetime-picker
@@ -273,7 +272,7 @@
<script> <script>
// import Header from "@/components/headerNew"; // import Header from "@/components/headerNew";
import { Notify } from 'vant' import { Notify } from 'vant'
import { getCode, getOrgList } from '@/api/common.js' import { getCode, cityTree } from '@/api/common.js'
import { customerEdit, getSingleInfo } from '@/api/customer.js' import { customerEdit, getSingleInfo } from '@/api/customer.js'
import Loading from '@/components/loading' import Loading from '@/components/loading'
import VanPickerNew from '@/components/vanPickerNew' import VanPickerNew from '@/components/vanPickerNew'
@@ -386,7 +385,7 @@ export default {
value: 'code', value: 'code',
children: 'child', children: 'child',
}, },
//自定义所属区域字段名称 //自定义区县公司字段名称
orgFieldNames: { orgFieldNames: {
text: 'codeName', text: 'codeName',
pCode: 'pcodeValue', pCode: 'pcodeValue',
@@ -400,11 +399,11 @@ export default {
customerTypeShow: false, customerTypeShow: false,
//客户类型弹框数据 //客户类型弹框数据
customerTypeList: [], customerTypeList: [],
//所属区域中文展示 //区县公司中文展示
provOrgName: '', provOrgName: '',
//所属区域弹框展示 //区县公司弹框展示
provOrgNoShow: false, provOrgNoShow: false,
//所属区域弹框数据 //区县公司弹框数据
provOrgList: [], provOrgList: [],
//错误提示 //错误提示
errorMessage: '', errorMessage: '',
@@ -426,7 +425,7 @@ export default {
}, },
created() { created() {
this.getOrg() this.getOrg()
this.powerList() // this.powerList()
}, },
mounted() { mounted() {
this.getPersonData() this.getPersonData()
@@ -565,8 +564,8 @@ export default {
this.customer = res.data this.customer = res.data
this.customer.customerType = res.data.customerType this.customer.customerType = res.data.customerType
this.customer.consNo = res.data.consNo this.customer.consNo = res.data.consNo
this.customer.provOrgNo = res.data.orgNo this.customer.provOrgNo = res.data.consOrgNo
this.provOrgName = res.data.orgName this.provOrgName = res.data.consOrgName
this.customer.powerCompany = res.data.powerCompany this.customer.powerCompany = res.data.powerCompany
this.getCustomerType() this.getCustomerType()
this.powerList() this.powerList()
@@ -619,7 +618,7 @@ export default {
}, },
//查询地区 //查询地区
async getOrg() { async getOrg() {
const res = await getOrgList() const res = await cityTree()
if (res.code === 0) { if (res.code === 0) {
this.provOrgList = res.data this.provOrgList = res.data
this.backList = res.data this.backList = res.data
@@ -646,9 +645,11 @@ export default {
}, },
async onFinish1({ selectedOptions }) { async onFinish1({ selectedOptions }) {
const data = await this.getCheckboxInfo(selectedOptions) const data = await this.getCheckboxInfo(selectedOptions)
this.customer.orgNo = data.codeValue this.customer.consOrgNo = data.codeValue
this.customer.provOrgNo = data.codeValue this.customer.provOrgNo = data.codeValue
this.customer.provinceNo = selectedOptions[0].codeValue this.customer.provinceNo = selectedOptions[0].codeValue
this.customer.powerCompany = selectedOptions[0].codeValue
this.powerCompanyName = selectedOptions[0].codeName
this.provOrgName = data.codeName this.provOrgName = data.codeName
this.provOrgNoShow = false this.provOrgNoShow = false
}, },
@@ -704,7 +705,7 @@ export default {
}, },
//客户类型点击确认 //客户类型点击确认
customerTypeSure() {}, customerTypeSure() {},
//所属区域点击确认 //区县公司点击确认
provOrgSure() {}, provOrgSure() {},
}, },
} }
+26 -21
View File
@@ -104,7 +104,7 @@ import {
// chooseAlbumAndTakePhoto, // chooseAlbumAndTakePhoto,
} from '@/utils/dsbridge' } from '@/utils/dsbridge'
import { insertPositionData, getPositionData } from '@/api/api.js' import { insertPositionData, getPositionData } from '@/api/api.js'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
import {debounce} from '@/utils/common.js' import {debounce} from '@/utils/common.js'
export default { export default {
components: { components: {
@@ -143,28 +143,33 @@ export default {
}, },
methods: { methods: {
// 查询打卡记录 // 查询打卡记录
async getHistory(){ getHistory(){
this.text1 = [] this.text1 = []
const res = await getPositionData({taskId: this.taskId}) getPositionData({taskId: this.taskId}).then(res => {
console.log(res.code , res.data); console.log(res.code , res.data);
if(res.code == 0&&res.data){ if(res.code == 0&&res.data){
this.formData = res.data // for (const key in this.formData) {
if (res.data.fileId) { // if (Object.hasOwnProperty.call(this.formData, key)) {
const blobUrl = await getImageBlobUrl(res.data.fileId) // this.formData[key] = res.data[key]
this.$set(this.text1,0, { // }
fileName: res.data.fileName, // }
fileId: res.data.fileId, this.formData = res.data
url: blobUrl if (res.data.fileId) {
}) this.$set(this.text1,0, {
console.log(this.text1); fileName: res.data.fileName,
fileId: res.data.fileId,
url: `${downloadUrl}${res.data.fileId}`
})
console.log(this.text1);
}
this.$forceUpdate()
this.showSubmit = true
}else{
this.showSubmit = true
this.getLocation()
this.getAddress()
} }
this.$forceUpdate() })
this.showSubmit = true
}else{
this.showSubmit = true
this.getLocation()
this.getAddress()
}
}, },
// 获取当前位置 // 获取当前位置
getLocation() { getLocation() {
+30 -20
View File
@@ -301,7 +301,7 @@ import mixin from '@/mixins/mixin'
// import { Toast } from 'vant' // import { Toast } from 'vant'
import { getCode } from '@/api/common.js' import { getCode } from '@/api/common.js'
import { addEnergyEquip } from '@/api/energyConsumption' import { addEnergyEquip } from '@/api/energyConsumption'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
import { Notify } from 'vant'; import { Notify } from 'vant';
import { getLocationMessage, getPosition, chooseAlbumAndTakePhoto } from '@/utils/dsbridge' import { getLocationMessage, getPosition, chooseAlbumAndTakePhoto } from '@/utils/dsbridge'
import Loading from '@/components/loading' import Loading from '@/components/loading'
@@ -313,6 +313,7 @@ import {
getInfo, getInfo,
uploadFile, uploadFile,
changeSaveStateAPI, changeSaveStateAPI,
// downloadFile,
duplicateCheck, duplicateCheck,
} from '@/api/api.js' } from '@/api/api.js'
// import { debuglog } from 'util' // import { debuglog } from 'util'
@@ -840,18 +841,16 @@ export default {
return formData return formData
}, },
// 上传图片调用原生的方法 获取到绝对路径调用getImageFileFromUrl // 上传图片调用原生的方法 获取到绝对路径调用getImageFileFromUrl
async onUpload () { onUpload () {
chooseAlbumAndTakePhoto(async (data) => { chooseAlbumAndTakePhoto((data) => {
// this.saveGreenComeData(data) // this.saveGreenComeData(data)
let d = 'data:image/jpeg;base64,' + data let d = 'data:image/jpeg;base64,' + data
this.fileIamge = d this.fileIamge = d
let params = this.base64ToFile(d,new Date().getTime().toString()) let params = this.base64ToFile(d,new Date().getTime().toString())
uploadFile(params).then(async (res) => { uploadFile(params).then((res) => {
if (res.code === 0) { if (res.code === 0) {
const blobUrl = await getImageBlobUrl(res.data.attach_id)
this.fileList.push({ this.fileList.push({
url: blobUrl, url:`${downloadUrl}${res.data.attach_id}`
isImage: true,
}) })
this.fileIds.push(res.data.attach_id) this.fileIds.push(res.data.attach_id)
} }
@@ -999,6 +998,10 @@ export default {
// ele.disabled = false // ele.disabled = false
// } // }
// }) // })
}else{
this.showData.buildType1 = this.option[i].text
this.mainActiveIndex = i
} }
} }
@@ -1229,26 +1232,23 @@ export default {
// }) // })
// this.form.files.map(path => ({ url: `${downloadUrl}${path}` })) // this.form.files.map(path => ({ url: `${downloadUrl}${path}` }))
if (res.data.text1) { if (res.data.text1) {
const url1 = await getImageBlobUrl(res.data.text1) const url1 = `${downloadUrl}${res.data.text1}`
this.fileList.push({ this.fileList.push({
url: url1, url: url1,
isImage: true,
}) })
this.fileIds.push(res.data.text1) this.fileIds.push(res.data.text1)
} }
if (res.data.text2) { if (res.data.text2) {
const url2 = await getImageBlobUrl(res.data.text2) const url2 = `${downloadUrl}${res.data.text2}`
this.fileList.push({ this.fileList.push({
url: url2, url: url2,
isImage: true,
}) })
this.fileIds.push(res.data.text2) this.fileIds.push(res.data.text2)
} }
if (res.data.text3) { if (res.data.text3) {
const url3 = await getImageBlobUrl(res.data.text3) const url3 = `${downloadUrl}${res.data.text3}`
this.fileList.push({ this.fileList.push({
url: url3, url: url3,
isImage: true,
}) })
this.fileIds.push(res.data.text3) this.fileIds.push(res.data.text3)
} }
@@ -1277,27 +1277,34 @@ export default {
.then((res) => { .then((res) => {
if (res.code == 0) { if (res.code == 0) {
let arr = [] let arr = []
console.log(select, 'ss', res.data);
this.mainActiveIndex = 0 this.mainActiveIndex = 0
res.data.forEach((v, i) => { res.data.forEach((v, i) => {
if(v.code == select) this.mainActiveIndex = i if(v.code == select) this.mainActiveIndex = i
const list = v.child.map((ele) => { let list = []
if(v.child){
list = v.child.map((ele) => {
return { return {
text: ele.name, text: ele.name,
id: ele.code, id: ele.code,
pCode: ele.pCode pCode: ele.pCode
} }
}) })
}
arr.push({ arr.push({
text: v.name, text: v.name,
value: v.code, value: v.code,
children: list, children: list||[],
disabled: select!=5&&!(v.code == select) disabled: select!=6&&!(v.code == select)
}) })
}) })
console.log(arr, 'arrooo', this.option);
this.option = arr this.option = arr
} }
}) })
.catch(() => { .catch(() => {
console.log('shibai');
this.$toast('失败') this.$toast('失败')
}) })
}, },
@@ -1793,11 +1800,14 @@ export default {
return true return true
}, },
delImg(detail) { delImg(detail) {
const index = this.fileList.findIndex((ele)=> ele == detail) let url = ''
if (index > -1) { if(!detail.file) {
this.fileList.splice(index, 1) url = detail.url.split('download/')[1]
this.fileIds.splice(index, 1)
} }
const index = this.fileList.findIndex((ele)=> ele == detail)
const index2 = this.fileIds.findIndex((ele)=> ele == url)
this.fileList.splice(index, 1)
this.fileIds.splice(index2, 1)
// console.log(this.fileList) // console.log(this.fileList)
// console.log(this.fileIds) // console.log(this.fileIds)
// return new Promise((resolve, reject) => { // return new Promise((resolve, reject) => {
+42 -13
View File
@@ -287,6 +287,7 @@ import { getCurrentPersonInfoAPI } from "@/api/customerIformation.js";
import { getCode } from '@/api/common.js' import { getCode } from '@/api/common.js'
import Year from '@/views/facilityManage/common-vue/year.vue' import Year from '@/views/facilityManage/common-vue/year.vue'
import {debounce} from '@/utils/common.js' import {debounce} from '@/utils/common.js'
import { Dialog, Notify } from 'vant';
// import Loading from '@/components/loading' // import Loading from '@/components/loading'
export default { export default {
@@ -503,6 +504,32 @@ export default {
// 任务信息填报 // 任务信息填报
async filling(item) { async filling(item) {
this.setCurrentTidCidPersonInfo(item) this.setCurrentTidCidPersonInfo(item)
const that = this
const res = await getCurrentPersonInfoAPI(item.customerId)
if (res.code == 0) {
this.creditCode = res.data.creditCode
if(!res.data.creditCode||res.data.creditCode=='null'||!res.data.contactName||res.data.contactName=='null'||!res.data.contactPhone||res.data.contactPhone=='null'){
Dialog.confirm({
title: '提示',
message: '请前往配置信息页面,填写用户基本信息',
beforeClose: async (action, done) => {
if (action === 'confirm') {
that.archivalInformation();
done();
}else {
done();
}
}
})
return
}
} else {
this.$notify({
type: 'danger',
message: res.msg
})
}
if (item.type == '01') { if (item.type == '01') {
this.$router.push({ this.$router.push({
name: 'TaskFilling' name: 'TaskFilling'
@@ -520,19 +547,6 @@ export default {
}) })
} else { } else {
sessionStorage.removeItem('enterpriseId') sessionStorage.removeItem('enterpriseId')
try {
const res = await getCurrentPersonInfoAPI(item.customerId)
if (res.code == 0) {
this.creditCode = res.data.creditCode
} else {
this.$notify({
type: 'danger',
message: res.msg
})
}
} catch (error) {
console.log(error);
}
this.$router.push({ this.$router.push({
name: 'acquisition', name: 'acquisition',
params: { params: {
@@ -542,6 +556,21 @@ export default {
} }
} }
}, },
//获取当前页面信息
getPathInfo() {
let currentPath = {}
currentPath.path = this.$route.path
currentPath.name = '客户信息填报'
this.$store.commit('path/SET_PATH', currentPath)
sessionStorage.setItem('goPage', JSON.stringify(currentPath))
},
// 档案信息
archivalInformation() {
this.getPathInfo()
console.log('/archivalinformation');
this.$router.push('/archivalinformation')
},
// 能效诊断跳转 // 能效诊断跳转
nengxiaozd(item) { nengxiaozd(item) {
this.setCurrentTidCidPersonInfo(item) this.setCurrentTidCidPersonInfo(item)
+4 -4
View File
@@ -99,7 +99,7 @@
import { getCurrentUserEvaluate, getCurrentUserEvaluateAdd } from '@/api/evaluateAndReply' import { getCurrentUserEvaluate, getCurrentUserEvaluateAdd } from '@/api/evaluateAndReply'
import { Notify } from 'vant' import { Notify } from 'vant'
import Loading from '@/components/loading' import Loading from '@/components/loading'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
import {debounce} from '@/utils/common.js' import {debounce} from '@/utils/common.js'
export default { export default {
name: 'userEvaluate', name: 'userEvaluate',
@@ -142,7 +142,7 @@ export default {
try { try {
if (res.code == 0) { if (res.code == 0) {
if (res.data.list.length > 0) { if (res.data.list.length > 0) {
for (const v of res.data.list) { res.data.list.forEach((v) => {
if(v.nxzdEvaluateReplyDTOS && v.nxzdEvaluateReplyDTOS.length > 0) { if(v.nxzdEvaluateReplyDTOS && v.nxzdEvaluateReplyDTOS.length > 0) {
v.show = true v.show = true
v.showTextArea = false v.showTextArea = false
@@ -152,9 +152,9 @@ export default {
v.message = '' v.message = ''
} }
if(v.image) { if(v.image) {
v.image = await getImageBlobUrl(v.image) v.image = `${downloadUrl}${v.image}`
} }
} })
this.list = res.data.list this.list = res.data.list
this.reportLevel = res.data.list[0] this.reportLevel = res.data.list[0]
this.levelName(this.reportLevel.reportValue) this.levelName(this.reportLevel.reportValue)
+20 -12
View File
@@ -125,7 +125,7 @@ import { pumpList, pumpRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } f
import { Notify } from "vant"; import { Notify } from "vant";
import Uploader from '@/views/facilityManage/common-vue/uploader.vue' import Uploader from '@/views/facilityManage/common-vue/uploader.vue'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
// import Header from "@/components/headerNew"; // import Header from "@/components/headerNew";
import {debounce} from '@/utils/common.js' import {debounce} from '@/utils/common.js'
@@ -200,7 +200,7 @@ export default {
}, },
//安卓会调用的方法 //安卓会调用的方法
onUpload(data, type) { onUpload(data, type) {
this[type] = [data[0].fileId] this[type] = [data[0].url]
}, },
delImg(file, detail, type) { delImg(file, detail, type) {
@@ -242,15 +242,21 @@ export default {
} }
if(this.text1.length > 0 && this.text1[0] instanceof Object) { if(this.text1.length > 0 && this.text1[0] instanceof Object) {
this.text1 = [this.text1[0].fileId] 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]]
} }
if(this.text2.length > 0 && this.text2[0] instanceof Object) { if(this.text2.length > 0 && this.text2[0] instanceof Object) {
this.text2 = [this.text2[0].fileId] 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]]
} }
if(this.text3.length > 0 && this.text3[0] instanceof Object) { if(this.text3.length > 0 && this.text3[0] instanceof Object) {
this.text3 = [this.text3[0].fileId] 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]]
} }
const text = this.text1.concat(this.text2, this.text3) const text = this.text1.concat(this.text2, this.text3)
@@ -260,9 +266,14 @@ export default {
//判断是否为对象格式 //判断是否为对象格式
ifObj(imgList) { ifObj(imgList) {
console.log(imgList,'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)=>{ const list = imgList.map((ele)=>{
if(ele instanceof Object) { if(ele instanceof Object) {
return ele.fileId return ele.url
} }
return ele return ele
}) })
@@ -320,22 +331,19 @@ export default {
if(res.data.text2) { if(res.data.text2) {
if(res.data.text2.split(',')[0] != 0) { if(res.data.text2.split(',')[0] != 0) {
this.text1.push({ this.text1.push({
fileId: res.data.text2.split(',')[0], url:`${downloadUrl}${res.data.text2.split(',')[0]}`
url: await getImageBlobUrl(res.data.text2.split(',')[0])
}) })
} }
if(res.data.text2.split(',')[1] != 0) { if(res.data.text2.split(',')[1] != 0) {
this.text2.push({ this.text2.push({
fileId: res.data.text2.split(',')[1], url:`${downloadUrl}${res.data.text2.split(',')[1]}`
url: await getImageBlobUrl(res.data.text2.split(',')[1])
}) })
} }
if(res.data.text2.split(',')[2] != 0) { if(res.data.text2.split(',')[2] != 0) {
this.text3.push({ this.text3.push({
fileId: res.data.text2.split(',')[2], url:`${downloadUrl}${res.data.text2.split(',')[2]}`
url: await getImageBlobUrl(res.data.text2.split(',')[2])
}) })
} }
+2 -2
View File
@@ -17,8 +17,8 @@
}} }}
</div> </div>
<div class="list-item-div"> <div class="list-item-div">
<img src="@/assets/orgName.png" alt="" />所属区域: <img src="@/assets/orgName.png" alt="" />区县公司:
{{ personDetail.orgName }} {{ personDetail.consOrgName }}
</div> </div>
<div class="list-item-div list-item-display" style="overflow: unset;"> <div class="list-item-div list-item-display" style="overflow: unset;">
<img src="@/assets/contactName.png" alt="" /> 联系人: <img src="@/assets/contactName.png" alt="" /> 联系人:
+23 -19
View File
@@ -313,7 +313,7 @@ import { reformList, reformRemove } from '@/api/universalEnergy.js'
import { Notify } from 'vant' import { Notify } from 'vant'
import { formatymd } from '@/utils/timeUtil.js' import { formatymd } from '@/utils/timeUtil.js'
import { getLocationMessage, chooseAlbumAndTakePhoto } from '@/utils/dsbridge' import { getLocationMessage, chooseAlbumAndTakePhoto } from '@/utils/dsbridge'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
import {debounce} from '@/utils/common.js' import {debounce} from '@/utils/common.js'
export default { export default {
components: { components: {
@@ -387,6 +387,7 @@ export default {
newVal.forEach(v => { newVal.forEach(v => {
if (v) { if (v) {
this.listValue.push(v.value) this.listValue.push(v.value)
this.listValue = [...new Set(this.listValue)]
} }
}) })
} }
@@ -488,20 +489,18 @@ export default {
return true return true
}, },
// 上传图片调用原生的方法 获取到绝对路径调用getImageFileFromUrl // 上传图片调用原生的方法 获取到绝对路径调用getImageFileFromUrl
async onUpload () { onUpload () {
console.log('进入chooseAlbumAndTakePhoto方法') console.log('进入chooseAlbumAndTakePhoto方法')
chooseAlbumAndTakePhoto(async (data) => { chooseAlbumAndTakePhoto((data) => {
// this.saveGreenComeData(data) // this.saveGreenComeData(data)
let d = 'data:image/jpeg;base64,' + data let d = 'data:image/jpeg;base64,' + data
console.log('data', d); console.log('data', d);
this.fileIamge = d this.fileIamge = d
let params = this.base64ToFile(d,new Date().getTime().toString()) let params = this.base64ToFile(d,new Date().getTime().toString())
uploadFile(params).then(async (res) => { uploadFile(params).then((res) => {
if (res.code === 0) { if (res.code === 0) {
const blobUrl = await getImageBlobUrl(res.data.attach_id)
this.fileList.push({ this.fileList.push({
url: blobUrl, url:`${downloadUrl}${res.data.attach_id}`
isImage: true,
}) })
this.fileIds.push(res.data.attach_id) this.fileIds.push(res.data.attach_id)
} }
@@ -510,11 +509,14 @@ export default {
}) })
}, },
delImg(detail) { delImg(detail) {
const index = this.fileList.findIndex((ele)=> ele == detail) let url = ''
if (index > -1) { if(!detail.file) {
this.fileList.splice(index, 1) url = detail.url.split('download/')[1]
this.fileIds.splice(index, 1)
} }
const index = this.fileList.findIndex((ele)=> ele == detail)
const index2 = this.fileIds.findIndex((ele)=> ele == url)
this.fileList.splice(index, 1)
this.fileIds.splice(index2, 1)
}, },
updateUserStatus() { updateUserStatus() {
const params = { const params = {
@@ -660,26 +662,23 @@ export default {
} }
this.address = res.data.address this.address = res.data.address
if (res.data.text1) { if (res.data.text1) {
const url1 = await getImageBlobUrl(res.data.text1) const url1 = `${downloadUrl}${res.data.text1}`
this.fileList.push({ this.fileList.push({
url: url1, url: url1,
isImage: true,
}) })
this.fileIds.push(res.data.text1) this.fileIds.push(res.data.text1)
} }
if (res.data.text2) { if (res.data.text2) {
const url2 = await getImageBlobUrl(res.data.text2) const url2 = `${downloadUrl}${res.data.text2}`
this.fileList.push({ this.fileList.push({
url: url2, url: url2,
isImage: true,
}) })
this.fileIds.push(res.data.text2) this.fileIds.push(res.data.text2)
} }
if (res.data.text3) { if (res.data.text3) {
const url3 = await getImageBlobUrl(res.data.text3) const url3 = `${downloadUrl}${res.data.text3}`
this.fileList.push({ this.fileList.push({
url: url3, url: url3,
isImage: true,
}) })
this.fileIds.push(res.data.text3) this.fileIds.push(res.data.text3)
} }
@@ -693,6 +692,7 @@ export default {
let aaa = commonEnergySystemArr[i].replace('0', '') - 1; let aaa = commonEnergySystemArr[i].replace('0', '') - 1;
this.result.push(this.list[aaa]) this.result.push(this.list[aaa])
} }
this.result = [...new Set(this.result)]
} }
//能源计量见着数据处理 //能源计量见着数据处理
if(res.data.primaryEnergyMeterType.indexOf('0')>-1){ if(res.data.primaryEnergyMeterType.indexOf('0')>-1){
@@ -790,6 +790,11 @@ export default {
this.list.push({ name: v.name, value: v.value }) this.list.push({ name: v.name, value: v.value })
}) })
if(this.ifEnterpriseId === ''){
this.result=[]
this.result.push(this.list[0])
}
} }
}, },
@@ -805,8 +810,7 @@ export default {
this.$toast('通用能源系统必须有配电系统') this.$toast('通用能源系统必须有配电系统')
return return
} }
console.log(this.listValue2, 'this.listValue2', this.list); console.log(this.listValue2, 'this.listValue2', this.listValue);
return
if( this.listValue2.indexOf("01") === -1){ if( this.listValue2.indexOf("01") === -1){
this.$toast('一级计量必须有勾选电') this.$toast('一级计量必须有勾选电')
return return
+20 -12
View File
@@ -119,7 +119,7 @@ import { fanList, fanRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } fro
import { Notify } from "vant"; import { Notify } from "vant";
import Uploader from '@/views/facilityManage/common-vue/uploader.vue' import Uploader from '@/views/facilityManage/common-vue/uploader.vue'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
import {debounce} from '@/utils/common.js' import {debounce} from '@/utils/common.js'
// import Header from "@/components/headerNew"; // import Header from "@/components/headerNew";
@@ -201,7 +201,7 @@ export default {
}, },
//安卓会调用的方法 //安卓会调用的方法
onUpload(data, type) { onUpload(data, type) {
this[type] = [data[0].fileId] this[type] = [data[0].url]
}, },
delImg(file, detail, type) { delImg(file, detail, type) {
@@ -243,15 +243,21 @@ export default {
} }
if(this.text1.length > 0 && this.text1[0] instanceof Object) { if(this.text1.length > 0 && this.text1[0] instanceof Object) {
this.text1 = [this.text1[0].fileId] 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]]
} }
if(this.text2.length > 0 && this.text2[0] instanceof Object) { if(this.text2.length > 0 && this.text2[0] instanceof Object) {
this.text2 = [this.text2[0].fileId] 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]]
} }
if(this.text3.length > 0 && this.text3[0] instanceof Object) { if(this.text3.length > 0 && this.text3[0] instanceof Object) {
this.text3 = [this.text3[0].fileId] 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]]
} }
const text = this.text1.concat(this.text2, this.text3) const text = this.text1.concat(this.text2, this.text3)
@@ -260,9 +266,14 @@ export default {
//判断是否为对象格式 //判断是否为对象格式
ifObj(imgList) { 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)=>{ const list = imgList.map((ele)=>{
if(ele instanceof Object) { if(ele instanceof Object) {
return ele.fileId return ele.url
} }
return ele return ele
}) })
@@ -323,22 +334,19 @@ export default {
if(res.data.text3) { if(res.data.text3) {
if(res.data.text3.split(',')[0] != 0) { if(res.data.text3.split(',')[0] != 0) {
this.text1.push({ this.text1.push({
fileId: res.data.text3.split(',')[0], url:`${downloadUrl}${res.data.text3.split(',')[0]}`
url: await getImageBlobUrl(res.data.text3.split(',')[0])
}) })
} }
if(res.data.text3.split(',')[1] != 0) { if(res.data.text3.split(',')[1] != 0) {
this.text2.push({ this.text2.push({
fileId: res.data.text3.split(',')[1], url:`${downloadUrl}${res.data.text3.split(',')[1]}`
url: await getImageBlobUrl(res.data.text3.split(',')[1])
}) })
} }
if(res.data.text3.split(',')[2] != 0) { if(res.data.text3.split(',')[2] != 0) {
this.text3.push({ this.text3.push({
fileId: res.data.text3.split(',')[2], url:`${downloadUrl}${res.data.text3.split(',')[2]}`
url: await getImageBlobUrl(res.data.text3.split(',')[2])
}) })
} }
if(res.data.text1) { if(res.data.text1) {
+20 -12
View File
@@ -125,7 +125,7 @@ import {
import { distributeList, distributeRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } from "@/api/universalEnergy.js"; import { distributeList, distributeRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } from "@/api/universalEnergy.js";
import { Notify } from "vant"; import { Notify } from "vant";
import Uploader from '@/views/facilityManage/common-vue/uploader.vue' import Uploader from '@/views/facilityManage/common-vue/uploader.vue'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
// import Header from "@/components/headerNew"; // import Header from "@/components/headerNew";
import {debounce} from '@/utils/common.js' import {debounce} from '@/utils/common.js'
@@ -242,7 +242,7 @@ export default {
}, },
//安卓会调用的方法 //安卓会调用的方法
onUpload(data, type) { onUpload(data, type) {
this[type] = [data[0].fileId] this[type] = [data[0].url]
}, },
delImg(file, detail, type) { delImg(file, detail, type) {
@@ -285,15 +285,21 @@ export default {
if(this.text1.length > 0 && this.text1[0] instanceof Object) { if(this.text1.length > 0 && this.text1[0] instanceof Object) {
this.text1 = [this.text1[0].fileId] 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]]
} }
if(this.text2.length > 0 && this.text2[0] instanceof Object) { if(this.text2.length > 0 && this.text2[0] instanceof Object) {
this.text2 = [this.text2[0].fileId] 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]]
} }
if(this.text3.length > 0 && this.text3[0] instanceof Object) { if(this.text3.length > 0 && this.text3[0] instanceof Object) {
this.text3 = [this.text3[0].fileId] 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]]
} }
@@ -302,9 +308,14 @@ export default {
}, },
//判断是否为对象格式 //判断是否为对象格式
ifObj(imgList) { 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)=>{ const list = imgList.map((ele)=>{
if(ele instanceof Object) { if(ele instanceof Object) {
return ele.fileId return ele.url
} }
return ele return ele
}) })
@@ -360,22 +371,19 @@ export default {
if(res.data.text1) { if(res.data.text1) {
if(res.data.text1.split(',')[0] != 0) { if(res.data.text1.split(',')[0] != 0) {
this.text1.push({ this.text1.push({
fileId: res.data.text1.split(',')[0], url:`${downloadUrl}${res.data.text1.split(',')[0]}`
url: await getImageBlobUrl(res.data.text1.split(',')[0])
}) })
} }
if(res.data.text1.split(',')[1] != 0) { if(res.data.text1.split(',')[1] != 0) {
this.text2.push({ this.text2.push({
fileId: res.data.text1.split(',')[1], url:`${downloadUrl}${res.data.text1.split(',')[1]}`
url: await getImageBlobUrl(res.data.text1.split(',')[1])
}) })
} }
if(res.data.text1.split(',')[2] != 0) { if(res.data.text1.split(',')[2] != 0) {
this.text3.push({ this.text3.push({
fileId: res.data.text1.split(',')[2], url:`${downloadUrl}${res.data.text1.split(',')[2]}`
url: await getImageBlobUrl(res.data.text1.split(',')[2])
}) })
} }
if(res.data.text2) { if(res.data.text2) {
+21 -12
View File
@@ -122,7 +122,7 @@ import { airList, airRemove, enterprisGetInfo, enterprisEdit, enterprisAdd } fro
import { Notify } from "vant"; import { Notify } from "vant";
import Uploader from '@/views/facilityManage/common-vue/uploader.vue' import Uploader from '@/views/facilityManage/common-vue/uploader.vue'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
// import Header from "@/components/headerNew" // import Header from "@/components/headerNew"
import {debounce} from '@/utils/common.js' import {debounce} from '@/utils/common.js'
export default { export default {
@@ -203,7 +203,8 @@ export default {
}, },
//安卓会调用的方法 //安卓会调用的方法
onUpload(data, type) { onUpload(data, type) {
this[type] = [data[0].fileId] this[type] = [data[0].url]
}, },
delImg(file, detail, type) { delImg(file, detail, type) {
@@ -245,15 +246,21 @@ export default {
} }
if(this.text1.length > 0 && this.text1[0] instanceof Object) { if(this.text1.length > 0 && this.text1[0] instanceof Object) {
this.text1 = [this.text1[0].fileId] 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]]
} }
if(this.text2.length > 0 && this.text2[0] instanceof Object) { if(this.text2.length > 0 && this.text2[0] instanceof Object) {
this.text2 = [this.text2[0].fileId] 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]]
} }
if(this.text3.length > 0 && this.text3[0] instanceof Object) { if(this.text3.length > 0 && this.text3[0] instanceof Object) {
this.text3 = [this.text3[0].fileId] 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]]
} }
const text = this.text1.concat(this.text2, this.text3) const text = this.text1.concat(this.text2, this.text3)
@@ -262,9 +269,14 @@ export default {
//判断是否为对象格式 //判断是否为对象格式
ifObj(imgList) { 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)=>{ const list = imgList.map((ele)=>{
if(ele instanceof Object) { if(ele instanceof Object) {
return ele.fileId return ele.url
} }
return ele return ele
}) })
@@ -322,22 +334,19 @@ export default {
if(res.data.text4) { if(res.data.text4) {
if(res.data.text4.split(',')[0] != 0) { if(res.data.text4.split(',')[0] != 0) {
this.text1.push({ this.text1.push({
fileId: res.data.text4.split(',')[0], url:`${downloadUrl}${res.data.text4.split(',')[0]}`
url: await getImageBlobUrl(res.data.text4.split(',')[0])
}) })
} }
if(res.data.text4.split(',')[1] != 0) { if(res.data.text4.split(',')[1] != 0) {
this.text2.push({ this.text2.push({
fileId: res.data.text4.split(',')[1], url:`${downloadUrl}${res.data.text4.split(',')[1]}`
url: await getImageBlobUrl(res.data.text4.split(',')[1])
}) })
} }
if(res.data.text4.split(',')[2] != 0) { if(res.data.text4.split(',')[2] != 0) {
this.text3.push({ this.text3.push({
fileId: res.data.text4.split(',')[2], url:`${downloadUrl}${res.data.text4.split(',')[2]}`
url: await getImageBlobUrl(res.data.text4.split(',')[2])
}) })
} }
@@ -1,9 +1,9 @@
<template> <template>
<div class="list"> <div class="list">
<van-form ref="detailForm" @submit="handelClickSave"> <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" /> <btn-uploader type="filePic" :value="filePic" @afterRead="afterRead" @delImg="delImg" @onUpload="onUpload" />
</div> --> </div>
<div class="container" v-if="type == 1"> <div class="container" v-if="type == 1">
<div class="inputStyle"> <div class="inputStyle">
<van-cell-group> <van-cell-group>
@@ -28,7 +28,11 @@
<van-field label="设备生产日期" v-model="form.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" /> <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.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-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-field v-input.float v-model="form.saveElectricity" type="number" label="预期年节电量(千瓦时)" placeholder="请输入" label-width="220" input-align="right"/>
<van-field v-input.float v-model="form.carbonEmissionFactor" type="number" label="区域碳排放因子" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form.carbonReduction" type="number" label="预期减碳量(TCO₂)" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form.centralAirConditionerCop" type="number" label="集中式空调机组平均COP" placeholder="请输入" label-width="200" input-align="right"/>
</van-cell-group>
<van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/> <van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/>
<Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" /> <Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" />
<div class="tips tipImage" v-if="$store.getters.cityType&&form.exteriorImage.length<1">请上传设备外观照片</div> <div class="tips tipImage" v-if="$store.getters.cityType&&form.exteriorImage.length<1">请上传设备外观照片</div>
@@ -51,7 +55,7 @@
<!-- 设备类型选择 --> <!-- 设备类型选择 -->
<div class="inputStyle"> <div class="inputStyle">
<van-cell-group> <van-cell-group>
<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-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-cell title="设备类型" is-link :value="form.refrigeTypeName" @click="showPicker = true" 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="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="自动计算" /> <van-field v-model="refrigeNum" v-input.numNo0 label="数量(台)" readonly type="number" required :rules="[{ required: true }]" input-align="right" placeholder="自动计算" />
@@ -104,6 +108,9 @@
<van-field label="设备生产日期" v-model="form1.produceDate" required :rules="[{ required: true }]" placeholder="请选择设备生产日期" input-align="right" is-link readonly @click="datePicker = true" /> <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.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-field v-input.num v-model="form1.dieoutNum" type="number" label="淘汰设备数量" placeholder="请输入" required :rules="[{ required: true }]" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form1.saveElectricity" type="number" label="预期年节电量(千瓦时)" placeholder="请输入" label-width="220" input-align="right"/>
<van-field v-input.float v-model="form1.carbonEmissionFactor" type="number" label="区域碳排放因子" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form1.carbonReduction" type="number" label="预期减碳量(TCO₂)" placeholder="请输入" label-width="200" input-align="right"/>
</van-cell-group> </van-cell-group>
<van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/> <van-cell class="img-box box1" title="设备外观" :required="$store.getters.cityType"/>
<Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" /> <Uploader type="exteriorImage1" :value="exteriorImage1" @afterRead="afterRead1" @delImg="delImg1" @onUpload="onUpload1" />
@@ -144,7 +151,7 @@ import { pureDigital } from '../pattern'
import VanPickerNew from "@/components/vanPickerNew"; import VanPickerNew from "@/components/vanPickerNew";
import Year from "../common-vue/year.vue"; import Year from "../common-vue/year.vue";
import mixin from "@/mixins/mixin"; import mixin from "@/mixins/mixin";
import { getImageBlobUrl } from "@/utils/index"; import { downloadUrl } from "@/settings";
import Uploader from "../common-vue/uploader.vue"; import Uploader from "../common-vue/uploader.vue";
import btnUploader from "../common-vue/btnUploader.vue"; import btnUploader from "../common-vue/btnUploader.vue";
@@ -240,7 +247,11 @@ export default {
equipEfficiency: '', equipEfficiency: '',
produceDate:'', produceDate:'',
cumulativeRunHours: '', cumulativeRunHours: '',
dieoutNum: '' dieoutNum: '',
saveElectricity: '',
carbonEmissionFactor:'',
carbonReduction:'',
centralAirConditionerCop:'',
}, },
form1: { form1: {
equipId:'', equipId:'',
@@ -264,7 +275,11 @@ export default {
equipEfficiency: '', equipEfficiency: '',
produceDate:'', produceDate:'',
cumulativeRunHours: '', cumulativeRunHours: '',
dieoutNum: '' dieoutNum: '',
saveElectricity: '',
carbonEmissionFactor:'',
carbonReduction:'',
}, },
formColumns: { formColumns: {
refrigeType: "", refrigeType: "",
@@ -642,19 +657,19 @@ export default {
} }
}, },
//图片回显展示 //图片回显展示
async picShow(formList, name) { picShow(formList, name) {
console.log(formList,name); console.log(formList,name);
const picList = await Promise.all(formList.map(async (ele) => { const picList = formList.map((ele) => {
if (ele.startsWith('blob:')) { if (ele.split(`${downloadUrl}`).length > 1) {
return { return {
url: ele, url: ele,
}; };
} }
const blobUrl = await getImageBlobUrl(ele); ele = `${downloadUrl}${ele}`;
return { return {
url: blobUrl, url: ele,
}; };
})); });
switch (name) { switch (name) {
case "ktExter": case "ktExter":
@@ -826,7 +841,7 @@ export default {
if (this.exteriorImage1.length > 0) { if (this.exteriorImage1.length > 0) {
this.form1.exteriorImage = this.exteriorImage1.map((ele) => { this.form1.exteriorImage = this.exteriorImage1.map((ele) => {
if (ele.url) { if (ele.url) {
return ele.fileId || ele return ele = ele.url.split('download/')[1]
} else { } else {
return ele return ele
} }
@@ -835,7 +850,7 @@ export default {
if (this.tagImage1.length > 0) { if (this.tagImage1.length > 0) {
this.form1.tagImage = this.tagImage1.map((ele) => { this.form1.tagImage = this.tagImage1.map((ele) => {
if (ele.url) { if (ele.url) {
return ele.fileId || ele return ele = ele.url.split('download/')[1]
} else { } else {
return ele return ele
} }
@@ -844,7 +859,7 @@ export default {
if (this.markImage1.length > 0) { if (this.markImage1.length > 0) {
this.form1.markImage = this.markImage1.map((ele) => { this.form1.markImage = this.markImage1.map((ele) => {
if (ele.url) { if (ele.url) {
return ele.fileId || ele return ele = ele.url.split('download/')[1]
} else { } else {
return ele return ele
} }
@@ -868,6 +883,18 @@ export default {
exteriorImage: "", //设备外观 exteriorImage: "", //设备外观
tagImage: "", //设备铭牌 tagImage: "", //设备铭牌
markImage: "", //设备能效标识 markImage: "", //设备能效标识
loadFactor: '',
runHours:'',
runDays: '',
coldPerArea: '',
equipEfficiency: '',
produceDate:'',
cumulativeRunHours: '',
dieoutNum: '',
saveElectricity: '',
carbonEmissionFactor:'',
carbonReduction:'',
centralAirConditionerCop:'',
}; };
this.form1 = { this.form1 = {
equipId:'', equipId:'',
@@ -882,6 +909,18 @@ export default {
exteriorImage: "", //设备外观 exteriorImage: "", //设备外观
tagImage: "", //设备铭牌 tagImage: "", //设备铭牌
markImage: "", //设备能效标识 markImage: "", //设备能效标识
loadFactor: '',
runHours:'',
runDays: '',
heatPerArea: '',
equipEfficiency: '',
produceDate:'',
cumulativeRunHours: '',
dieoutNum: '',
saveElectricity: '',
carbonEmissionFactor:'',
carbonReduction:'',
}; };
this.formColumns = { this.formColumns = {
refrigeType: "", refrigeType: "",
@@ -0,0 +1,215 @@
<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> <script>
import { uploadFile } from '@/api/api.js' import { uploadFile } from '@/api/api.js'
import { chooseAlbumAndTakePhoto } from '@/utils/dsbridge' import { chooseAlbumAndTakePhoto } from '@/utils/dsbridge'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
export default { export default {
props: { props: {
type: { type: {
@@ -41,23 +41,17 @@ export default {
data() { data() {
return { return {
disableImg: false, disableImg: false,
fileList: [], fileList: this.value,
activTimer: null,
} }
}, },
watch: { mounted() {
// 父组件异步回填(如历史记录 getHistory 晚于 mounted)时同步列表; this.activTimer = setTimeout(() => {
// 上传后父组件把 value 改写为 [url字符串] 时不覆盖本地回显 this.fileList = this.value
value: { }, 200)
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() { beforeDestroy() {
clearTimeout(this.activTimer)
this.fileList = [] this.fileList = []
}, },
methods: { methods: {
@@ -89,14 +83,10 @@ export default {
const res = await uploadFile(params) const res = await uploadFile(params)
console.log('--------res---', res) console.log('--------res---', res)
if (res.code == 0) { if (res.code == 0) {
const blobUrl = await getImageBlobUrl(res.data.attach_id)
console.log('--------回显 blobUrl---', blobUrl)
if (!blobUrl) return
this.fileList.push({ this.fileList.push({
fileName: res.data.original_name, fileName: res.data.original_name,
fileId: res.data.attach_id, fileId: res.data.attach_id,
url: blobUrl, url: `${downloadUrl}${res.data.attach_id}`,
isImage: true,
}) })
this.$emit('onUpload', this.fileList, this.type) this.$emit('onUpload', this.fileList, this.type)
} }
@@ -28,6 +28,9 @@
<van-field v-input.float v-model="form.maxNeed" required :rules="[{ required: true}]" label="最大需量(kW)" type="number" input-align="right" placeholder="请输入" @input="changeTips" /> <van-field v-input.float v-model="form.maxNeed" required :rules="[{ required: true}]" label="最大需量(kW)" type="number" input-align="right" placeholder="请输入" @input="changeTips" />
<div class="tips" v-if="tips0">最大需量≤总额定容量</div> <div class="tips" v-if="tips0">最大需量≤总额定容量</div>
<van-field v-input.allFloat v-model="form.penaltyAmount" required :rules="[{ required: true}]" label="上一年累计度力调电费的惩罚金额(元)" type="number" label-width="220" input-align="right" placeholder="请输入" /> <van-field v-input.allFloat v-model="form.penaltyAmount" required :rules="[{ required: true}]" label="上一年累计度力调电费的惩罚金额(元)" type="number" label-width="220" input-align="right" placeholder="请输入" />
<van-field v-input.float v-model="form.saveElectricity" type="number" label="预期年节电量(千瓦时)" placeholder="请输入" label-width="220" input-align="right"/>
<van-field v-input.float v-model="form.carbonEmissionFactor" type="number" label="区域碳排放因子" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form.carbonReduction" type="number" label="预期减碳量(TCO₂)" placeholder="请输入" label-width="200" input-align="right"/>
<Whether :value="formColumns.chargingName" feildName="charging" title="是否安装新能源充电桩" @onConfirmTrueFalse="onConfirmTrueFalse" /> <Whether :value="formColumns.chargingName" feildName="charging" title="是否安装新能源充电桩" @onConfirmTrueFalse="onConfirmTrueFalse" />
@@ -259,6 +262,9 @@ export default {
produceDate:'', produceDate:'',
equipEfficiency: '', equipEfficiency: '',
dieoutNum: '', dieoutNum: '',
saveElectricity: '',
carbonEmissionFactor:'',
carbonReduction:'',
}, },
//页面展示的中文名称 //页面展示的中文名称
formColumns: { formColumns: {
@@ -9,7 +9,10 @@
<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.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-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-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-field v-input.float v-model="form.saveElectricity" type="number" label="预期年节电量(千瓦时)" placeholder="请输入" label-width="220" input-align="right"/>
<van-field v-input.float v-model="form.carbonEmissionFactor" type="number" label="区域碳排放因子" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form.carbonReduction" type="number" label="预期减碳量(TCO₂)" placeholder="请输入" label-width="200" input-align="right"/>
</van-cell-group>
</div> </div>
<!-- <div class="bottom"><van-button type="primary" block>保存</van-button></div> --> <!-- <div class="bottom"><van-button type="primary" block>保存</van-button></div> -->
</div> </div>
@@ -29,7 +32,10 @@ export default {
runHours:'', runHours:'',
runDays: '', runDays: '',
coldPerArea: '', coldPerArea: '',
dieoutNum: '' dieoutNum: '',
saveElectricity: '',
carbonEmissionFactor:'',
carbonReduction:'',
}, },
eqid: '', eqid: '',
@@ -1,11 +1,11 @@
<template> <template>
<div class="multipleAir"> <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" <btnUploader type="filePic" :value="filePic"
@afterRead="afterRead1" @afterRead="afterRead1"
@delImg="delImg1" @delImg="delImg1"
@onUpload="onUpload1" /> @onUpload="onUpload1" />
</div> --> </div>
<div class="focusItem"> <div class="focusItem">
<div class="inputStyle"> <div class="inputStyle">
<van-cell-group> <van-cell-group>
@@ -43,6 +43,10 @@
<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.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.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-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.float v-model="form.saveElectricity" type="number" label="预期年节电量(千瓦时)" placeholder="请输入" label-width="220" input-align="right"/>
<van-field v-input.float v-model="form.carbonEmissionFactor" type="number" label="区域碳排放因子" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form.carbonReduction" type="number" label="预期减碳量(TCO₂)" placeholder="请输入" label-width="200" input-align="right"/>
<van-field v-input.float v-model="form.multiAirConditionerCop" type="number" label="多联式空调机组平均COP" placeholder="请输入" label-width="200" input-align="right"/>
</van-cell-group> </van-cell-group>
<div v-if="form.refrigeNum"> <div v-if="form.refrigeNum">
<van-cell class="img-box box1" style="padding:10px 15px;" title="设备外观" :required="$store.getters.cityType"/> <van-cell class="img-box box1" style="padding:10px 15px;" title="设备外观" :required="$store.getters.cityType"/>
@@ -130,7 +134,7 @@ import mixin from '@/mixins/mixin'
import Uploader from '../common-vue/uploader.vue' import Uploader from '../common-vue/uploader.vue'
import Radio from '../common-vue/radio.vue' import Radio from '../common-vue/radio.vue'
import { dataMode } from '../common' import { dataMode } from '../common'
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
import { pureDigital } from '../pattern' import { pureDigital } from '../pattern'
import btnUploader from "../common-vue/btnUploader.vue"; import btnUploader from "../common-vue/btnUploader.vue";
@@ -181,7 +185,11 @@ export default {
equipEfficiency: '', equipEfficiency: '',
cumulativeRunHours: '', cumulativeRunHours: '',
produceDate:'', produceDate:'',
dieoutNum: '' dieoutNum: '',
saveElectricity: '',
carbonEmissionFactor:'',
carbonReduction:'',
multiAirConditionerCop:''
}, },
/** /**
@@ -330,29 +338,29 @@ export default {
console.log(this.edgl, this.hyl); console.log(this.edgl, this.hyl);
if (this.form.exteriorImage) { if (this.form.exteriorImage) {
const list = this.form.exteriorImage.split(',') const list = this.form.exteriorImage.split(',')
this.exteriorImage = await Promise.all(list.map(async (ele) => { this.exteriorImage = list.map((ele) => {
return { return {
url: await getImageBlobUrl(ele), url: `${downloadUrl}${ele}`,
} }
})) })
console.log(this.exteriorImage,'123') console.log(this.exteriorImage,'123')
} }
if (this.form.tagImage) { if (this.form.tagImage) {
const list = this.form.tagImage.split(',') const list = this.form.tagImage.split(',')
this.tagImage = await Promise.all(list.map(async (ele) => { this.tagImage = list.map((ele) => {
return { return {
url: await getImageBlobUrl(ele), url: `${downloadUrl}${ele}`,
} }
})) })
console.log(this.tagImage) console.log(this.tagImage)
} }
if (this.form.markImage) { if (this.form.markImage) {
const list = this.form.markImage.split(',') const list = this.form.markImage.split(',')
this.markImage = await Promise.all(list.map(async (ele) => { this.markImage = list.map((ele) => {
return { return {
url: await getImageBlobUrl(ele), url: `${downloadUrl}${ele}`,
} }
})) })
console.log(this.markImage) console.log(this.markImage)
} }
} else { } else {
@@ -537,9 +545,14 @@ export default {
}, },
//判断是否为对象格式 //判断是否为对象格式
ifObj(imgList) { 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)=>{ const list = imgList.map((ele)=>{
if(ele instanceof Object) { if(ele instanceof Object) {
return ele.fileId || ele.url return ele.url
} }
return ele return ele
}) })
+36 -8
View File
@@ -592,19 +592,28 @@ export default {
if(this.commonForm.nxzdRefrigeSystemDTO.length > 0) { if(this.commonForm.nxzdRefrigeSystemDTO.length > 0) {
this.commonForm.nxzdRefrigeSystemDTO.forEach((v) => { this.commonForm.nxzdRefrigeSystemDTO.forEach((v) => {
if (v.exteriorImage && v.exteriorImage instanceof Array) { 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) => { const list = v.exteriorImage.map((ele) => {
if (ele instanceof Object) { if (ele instanceof Object) {
return ele.fileId || ele.url return ele.url
} }
return ele return ele
}) })
v.exteriorImage = list.join(',') v.exteriorImage = list.join(',')
} }
if (v.tagImage && v.tagImage instanceof Array) { 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) => { const list1 = v.tagImage.map((ele) => {
if (ele instanceof Object) { if (ele instanceof Object) {
return ele.fileId || ele.url return ele.url
} }
return ele return ele
}) })
@@ -612,9 +621,14 @@ export default {
} }
if (v.markImage && v.markImage instanceof Array) { 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) => { const list2 = v.markImage.map((ele) => {
if (ele instanceof Object) { if (ele instanceof Object) {
return ele.fileId || ele.url return ele.url
} }
return ele return ele
}) })
@@ -627,19 +641,28 @@ export default {
if(this.commonForm.nxzdHeatSystemDTO.length > 0) { if(this.commonForm.nxzdHeatSystemDTO.length > 0) {
this.commonForm.nxzdHeatSystemDTO.forEach((v)=> { this.commonForm.nxzdHeatSystemDTO.forEach((v)=> {
if (v.exteriorImage && v.exteriorImage instanceof Array) { 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) => { const list = v.exteriorImage.map((ele) => {
if (ele instanceof Object) { if (ele instanceof Object) {
return ele.fileId || ele.url return ele.url
} }
return ele return ele
}) })
v.exteriorImage = list.join(',') v.exteriorImage = list.join(',')
} }
if (v.tagImage && v.tagImage instanceof Array) { 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) => { const list1 = v.tagImage.map((ele) => {
if (ele instanceof Object) { if (ele instanceof Object) {
return ele.fileId || ele.url return ele.url
} }
return ele return ele
}) })
@@ -647,9 +670,14 @@ export default {
} }
if (v.markImage && v.markImage instanceof Array) { 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) => { const list2 = v.markImage.map((ele) => {
if (ele instanceof Object) { if (ele instanceof Object) {
return ele.fileId || ele.url return ele.url
} }
return ele return ele
}) })
@@ -150,6 +150,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='fullreport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
if (res.code == 0) { if (res.code == 0) {
localStorage.setItem('reportCustomerId', res.data.customerId) localStorage.setItem('reportCustomerId', res.data.customerId)
@@ -146,6 +146,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='fullreport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
if (res.code == 0) { if (res.code == 0) {
localStorage.setItem('reportCustomerId', res.data.customerId) localStorage.setItem('reportCustomerId', res.data.customerId)
@@ -74,6 +74,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='fullreport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
if (res.code == 0) { if (res.code == 0) {
localStorage.setItem('reportCustomerId', res.data.customerId) localStorage.setItem('reportCustomerId', res.data.customerId)
@@ -165,6 +165,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='fullreport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
if (res.code == 0) { if (res.code == 0) {
localStorage.setItem('reportCustomerId', res.data.customerId) localStorage.setItem('reportCustomerId', res.data.customerId)
@@ -184,6 +184,10 @@ export default {
async getLoginCustomer() { async getLoginCustomer() {
this.loading2 = true this.loading2 = true
try { try {
let reportCustomerId = localStorage.getItem('reportCustomerId')
if(reportCustomerId&&this.$route.name=='fullreport'){
return
}
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
if (res.code == 0) { if (res.code == 0) {
localStorage.setItem('reportCustomerId', res.data.customerId) localStorage.setItem('reportCustomerId', res.data.customerId)
+7 -26
View File
@@ -169,7 +169,7 @@
</template> </template>
<script> <script>
import { getImageBlobUrl } from '@/utils/index' import { downloadUrl } from '@/settings'
import commonTitle from './components/commonTitle.vue' import commonTitle from './components/commonTitle.vue'
import electro from './components/electro.vue' import electro from './components/electro.vue'
import refrom from './components/refrom.vue' import refrom from './components/refrom.vue'
@@ -197,7 +197,6 @@ export default {
data() { data() {
return { return {
signFile: '', signFile: '',
imageUrlData: null,
signedtwo: '', signedtwo: '',
value1: '', value1: '',
loading2: false, loading2: false,
@@ -229,15 +228,6 @@ export default {
Loading Loading
}, },
watch: {
async signFile(val) {
if (val) {
this.imageUrlData = await getImageBlobUrl(val)
} else {
this.imageUrlData = null
}
}
},
mounted() { mounted() {
window.outputPdf = this.outputPdf window.outputPdf = this.outputPdf
this.userLevel() this.userLevel()
@@ -257,7 +247,11 @@ export default {
return true return true
}, },
imageUrl() { imageUrl() {
return this.imageUrlData console.log(this.signFile);
if(this.signFile) {
return `${downloadUrl}${this.signFile}`
}
return null
}, },
reportYear() { reportYear() {
if (this.EnergyReportInfo.reportYear) { if (this.EnergyReportInfo.reportYear) {
@@ -306,6 +300,7 @@ export default {
const res = await getLoginCustomerAPI() const res = await getLoginCustomerAPI()
// console.log(res.data.customerId); // console.log(res.data.customerId);
if (res.code == 0) { if (res.code == 0) {
localStorage.setItem('reportCustomerId', res.data.customerId)
const data = { const data = {
customerId: res.data.customerId, customerId: res.data.customerId,
ai: sessionStorage.getItem('saikey') ai: sessionStorage.getItem('saikey')
@@ -330,20 +325,6 @@ export default {
sessionStorage.setItem('signIdtwo', res.data.id) sessionStorage.setItem('signIdtwo', res.data.id)
this.EnergyReportInfo = res.data this.EnergyReportInfo = res.data
this.setEnergyReportInfo(res.data) this.setEnergyReportInfo(res.data)
if (res.data.energySituationRadar) {
this.radarOption.radar.indicator = JSON.parse(
res.data.energySituationRadar
)['indicator']
this.radarOption.series[0].data = []
this.radarOption.series[0].data.push(
JSON.parse(res.data.energySituationRadar)['seriesData'][0].dataList
)
this.createRadarChart()
} else {
this.radarOption.radar.indicator = []
this.radarOption.series[0].data = []
this.createRadarChart()
}
} else { } else {
Notify({ type: 'danger', message: res.msg }) Notify({ type: 'danger', message: res.msg })
} }
+14 -7
View File
@@ -31,9 +31,12 @@
<van-dropdown-item v-model="value1" :options="option1" /> <van-dropdown-item v-model="value1" :options="option1" />
</van-dropdown-menu> --> </van-dropdown-menu> -->
<div class="detail2-right-top-reset" @click="generateReport" v-if="isLevel"> <div class="detail2-right-top-reset" @click="generateReport(false)" v-if="isLevel">
重新生成 重新生成
</div> </div>
<div class="detail2-right-top-reset" @click="generateReport(true)" v-if="isLevel&&isCq">
刷新
</div>
</div> </div>
<div class="detail2-right-bottom"> <div class="detail2-right-bottom">
{{userCode}}: <div>{{ EnergyReportInfo.consNo }}</div> {{userCode}}: <div>{{ EnergyReportInfo.consNo }}</div>
@@ -237,6 +240,9 @@ export default {
taskType() { taskType() {
return this.$route.params.item? this.$route.params.item.taskType: 0 return this.$route.params.item? this.$route.params.item.taskType: 0
},
isCq(){
return process.env.VUE_APP_CITY_TYPE=='cq'
} }
}, },
beforeRouteEnter(to, from, next) { beforeRouteEnter(to, from, next) {
@@ -252,8 +258,8 @@ export default {
// }, // },
created() { created() {
this.userLevel() this.userLevel()
this.doDebounce = debounce(function () { this.doDebounce = debounce(function (flag) {
this.getGenerateReport() this.getGenerateReport(flag)
}, 5000, true) }, 5000, true)
}, },
mounted() { mounted() {
@@ -436,14 +442,15 @@ export default {
this.option1 = arr this.option1 = arr
}, },
// 重新生成 // 重新生成
generateReport(){ generateReport(flag){
this.doDebounce() this.doDebounce(flag)
}, },
async getGenerateReport() { async getGenerateReport(flag) {
let data = { let data = {
customerId: customerId:
this.$route.params.customerId || JSON.parse(sessionStorage.getItem('tidCid')).customerId, this.$route.params.customerId || JSON.parse(sessionStorage.getItem('tidCid')).customerId,
taskId: this.$route.params.taskId|| JSON.parse(sessionStorage.getItem('tidCid')).taskId taskId: this.$route.params.taskId|| JSON.parse(sessionStorage.getItem('tidCid')).taskId,
refresh: flag
} }
// this.$toast('正在重新生成,请稍后...') // this.$toast('正在重新生成,请稍后...')
this.$toast.loading({ this.$toast.loading({
+2 -2
View File
@@ -133,14 +133,14 @@ module.exports = {
"/admin": { "/admin": {
// target: "http://121.28.84.19:9004", // target: "http://121.28.84.19:9004",
target: "http://172.29.69.38:19012", target: "http://172.29.106.250:19012",
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
"^/admin": "", "^/admin": "",
}, },
}, "/energy-effcicency-net-service": { }, "/energy-effcicency-net-service": {
// target: "http://121.28.84.19:9004", // target: "http://121.28.84.19:9004",
target: "http://172.29.69.38:19012", target: "http://172.29.106.250:19012",
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
"^/energy-effcicency-net-service": "", "^/energy-effcicency-net-service": "",