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
@@ -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({
File diff suppressed because it is too large Load Diff
+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>