This commit is contained in:
jiangyinzhi
2025-07-29 10:21:59 +08:00
parent 3523dcade7
commit 63dc3bcc89
35 changed files with 1017 additions and 443 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
ENV = 'development'
# 定义变量
VUE_APP_CITY_TYPE = 'xj'
VUE_APP_CITY_TYPE = ''
# 开发环境接口调用前缀
# VUE_APP_BASE_API = '/dev-api'
+1 -1
View File
@@ -6,7 +6,7 @@ NODE_ENV=production
# 测试0 生产1
VUE_APP_ENV = '1'
# 定义变量
VUE_APP_CITY_TYPE = ''
VUE_APP_CITY_TYPE = 'cq'
# base api
VUE_APP_BASE_API = ''
-47
View File
@@ -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",
-2
View File
@@ -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"
},
+1 -1
View File
@@ -18,7 +18,7 @@
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>
+16
View File
@@ -296,3 +296,19 @@ export function duplicateCheck(params) {
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
})
}
+2 -2
View File
@@ -13,8 +13,8 @@ if (process.env.NODE_ENV === 'development') {
// baseURL = '/proxy-ah' //安徽 打包以后的路径
// baseURL = '/proxy-nx' //宁夏 打包以后的路径
// baseURL = '/proxy-xj' //新疆 打包以后的路径
baseURL = '/proxy-sx' //山西 打包以后的路径
// baseURL = '/proxy-cq' //重庆 打包以后的路径
// baseURL = '/proxy-sx' //山西 打包以后的路径
baseURL = '/proxy-cq' //重庆 打包以后的路径
}
+1 -1
View File
@@ -29,7 +29,7 @@ const mixin = {
datePicker: false,
currentDate: new Date(),
maxDate: new Date(),
minDate: new Date('1900/1/1'),
minDate: new Date('1980/1/2'),
equipTypeOption: {
'01':[
{value: "0101", text: "螺杆式空压机"},
+1 -1
View File
@@ -40,7 +40,7 @@ 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', // 报告-二氧化碳系数
})
+12
View File
@@ -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'"
+4 -1
View File
@@ -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
+4 -1
View File
@@ -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">
@@ -83,6 +83,9 @@ export default {
};
},
computed:{
userName(){
return this.$store.getters.validate? '用户名称':'客户名称'
},
maxDate(){
const now = new Date()
return new Date(now.getFullYear(), 11, 31)
@@ -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,13 +706,13 @@ export default {
customerTypeSure() {},
//所属区域点击确认
provOrgSure() {},
}
},
}
</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;
@@ -489,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>
+10 -2
View File
@@ -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();
},
@@ -13,7 +13,7 @@
<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" />
@@ -607,6 +607,10 @@ export default {
},
computed: {
userCode(){
console.log(this.$store.getters.validate, 'this.$store.getters.validate')
return this.$store.getters.validate? '用户编号':'用电户号'
},
resulta() {
if (!this.result) {
return
@@ -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||{}
}
},
//获取当前页面信息
+12 -1
View File
@@ -217,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' },
@@ -248,6 +256,9 @@ export default {
}
},
computed: {
total(){
return this.$store.getters.validate? this.total0: this.total1
},
fomtList() {
this.list.forEach(v => {
this.typeList.forEach(ev => {
+116 -4
View File
@@ -18,7 +18,7 @@
v-model="page.consName"
@keydown.enter="onSearch"
type="text"
placeholder="请输入客户名称"
:placeholder="placeholder"
/>
</div>
</div>
@@ -173,13 +173,15 @@
<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 v-if="item.checkState" :type="item.checkState=='10'?'danger':item.checkState=='20'?'warning':'success'" round >
<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>
@@ -191,6 +193,13 @@
>
留言
</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;"
@@ -253,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'
@@ -271,6 +297,7 @@ export default {
data() {
return {
checkStateObj: {
'0': '审批驳回',
'10': '地市待审批',
'20': '省级待审批',
'90': '审批通过',
@@ -313,6 +340,10 @@ export default {
pageN: 1,
isList: false,
doDebounce: null,
cuibanList: [],
showCuiban: false,
isCuiban: false,
gridData: []
}
},
watch: {
@@ -330,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)
@@ -354,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
@@ -653,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;
@@ -879,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>
+14 -1
View File
@@ -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
}
+4
View File
@@ -405,6 +405,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
}
+10 -2
View File
@@ -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 = []
@@ -784,9 +785,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 +799,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
+4
View File
@@ -407,6 +407,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
}
+40 -1
View File
@@ -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>
@@ -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
},
/**
* 图片方法
*/
@@ -393,6 +428,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
}
+57 -10
View File
@@ -9,12 +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>
@@ -43,8 +44,11 @@
</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>
@@ -54,6 +58,7 @@
<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>
@@ -72,17 +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
@@ -104,6 +141,8 @@ export default {
};
},
activated() {
let inVoltage = sessionStorage.getItem('inVoltage')
this.inVoltage = this.getData(inVoltage)
this.id = '',
this.form = {
systemModel: "",
@@ -143,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
},
/**
* 电压等级
*/
@@ -160,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){
@@ -218,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=[]
@@ -230,6 +276,7 @@ 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
+4
View File
@@ -407,6 +407,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
}
+14 -11
View File
@@ -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) {
@@ -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="请输入" />
@@ -50,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')" />
@@ -178,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 ){
@@ -689,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)){
@@ -729,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
}
@@ -411,31 +411,31 @@ export default {
voltageLevelData:[
{
text:'10kV',name:'10kV',
value:'1',code:'1',
value:'01',code:'01',
},{
text:'380V',name:'380V',
value:'2',code:'2',
value:'02',code:'02',
},{
text:'6kV',name:'6kV',
value:'3',code:'3',
value:'03',code:'03',
},{
text:'35kV',name:'35kV',
value:'4',code:'4',
value:'04',code:'04',
},{
text:'110kV',name:'110kV',
value:'5',code:'5',
value:'05',code:'05',
},{
text:'220kV',name:'220kV',
value:'6',code:'6',
value:'06',code:'06',
},{
text:'20kV',name:'20kV',
value:'7',code:'7',
value:'07',code:'07',
},{
text:'200V',name:'200V',
value:'8',code:'8',
value:'08',code:'08',
},{
text:'66kV',name:'66kV',
value:'9',code:'9',
value:'09',code:'09',
},{
text:'330kV',name:'330kV',
value:'10',code:'10',
@@ -8,13 +8,13 @@
<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="非LED节能灯占比(%)" type="number" label-width="148" 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 />
@@ -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
}
@@ -9,6 +9,7 @@
<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>
@@ -158,6 +159,7 @@ export default {
},
eqid: '',
form: {
model: '',
modifyMode: '', //改造方式
conEquipModiy: '', //是否进行过设备改造
ratedPower: "",
+4 -1
View File
@@ -32,7 +32,7 @@
</div> -->
</div>
<div class="detail2-right-bottom">
用电户号: <div>{{ EnergyReportInfo.consNo }}</div>
{{userCode}}: <div>{{ EnergyReportInfo.consNo }}</div>
</div>
</div>
</div>
@@ -234,6 +234,9 @@ export default {
},
computed: {
userCode(){
return this.$store.getters.validate? '用户编号':'用电户号'
},
changeTime() {
return formatymd(this.EnergyReportInfo.changeTime)
},
+4 -1
View File
@@ -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
+23 -5
View File
@@ -127,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
},