| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462 | <template>	<view class="billall">		<u-cell-group class="toptemplate">			<u-cell :title="mytitle"  @click="floorchange">				<u-icon slot="icon" size="40" color="#fff" name="map"></u-icon>									<u-icon slot="right-icon" size="40" color="#fff" name="search"></u-icon>			</u-cell>		</u-cell-group>		<view class="topbill">			<view class="topbilledit" @click="xunjianchange">				<view class="changetime1">					{{xjlx}}				</view>				<view class="changetime2">					<u-icon name="arrow-down-fill" color="#666666" size="20"></u-icon>				</view>			</view>			<view class="topbilledit" @click="typechange">				<view class="changetime1">					{{xjry}}				</view>				<view class="changetime2">					<u-icon name="arrow-down-fill" color="#666666" size="20"></u-icon>				</view>			</view>		</view>		<!-- 列表 -->		<!-- <t-table>			<t-tr>				<t-th>序号</t-th>				<t-th>姓名</t-th>				<t-th>年龄</t-th>				<t-th>爱好</t-th>				<t-th>操作</t-th>			</t-tr>			<t-tr v-for="item in tableList" :key="item.id">				<t-td>{{ item.id + 1 }}</t-td>				<t-td>{{ item.name }}</t-td>				<t-td>{{ item.age }}</t-td>				<t-td>{{ item.hobby }}</t-td>				  <t-td align="left"> <u-button @click="edit(item)"  size="small" type="primary" :plain="true" text="编辑"></u-button></t-td>			</t-tr>		</t-table> -->		<view class="u-listdata">			<view style="padding:10rpx 0 0 30rpx">				共有 <span style="color: red">{{totalnumber}}</span>条记录			</view>			<u-list @scrolltolower="scrolltolower" :pagingEnabled='true'>				<u-list-item v-for="(item, index) in indexList" :key="index">					<view class="companylist" @click="seedetail(item)">						<view class="settled" v-if="item.status==1">							已结清						</view>						<view class="outstanding" v-if="item.status==0">							未结清						</view>						<h3>{{item.name}}</h3>						<view class="Currentamount">							本期金额: <span>¥{{item.feeTotal}}</span>						</view>						<view class="Currentamount">							欠费天数: {{item.elecAmount}}						</view>						<view class="Currentamount">							账户余额:¥{{item.balance}}						</view>						<view class="Currentamount">							联系电话: {{item.tel}}						</view>						<view class="Callfee" v-if="item.status==0" @click.stop="handleClick(item.id)">							催费						</view>					</view>				</u-list-item>			</u-list>		</view>		<u-picker :show="showtypexunjian" :columns="columnstypexunjian" keyName="dictLabel" @confirm="confirmxunjian"			@cancel='cancelxunjian'>		</u-picker>		<u-picker :show="showtype" :columns="columnstype" keyName="label" @confirm="confirmtype" @cancel='canceltype'>		</u-picker>		<u-picker :show="showfloor" ref="uPicker" :loading="loading" @confirm="confirmfloor" @cancel='cancelfloor'			:columns="columns" keyName="orgName" @change="changeHandler"></u-picker>		<u-notify ref="uNotify" :show="showdct" message="服务器请求失败"></u-notify>	</view></template><script>	// import tTable from '@/components/t-table/t-table.vue';	// import tTh from '@/components/t-table/t-th.vue';	// import tTr from '@/components/t-table/t-tr.vue';	// import tTd from '@/components/t-table/t-td.vue';	export default {		components: {			// tTable,			// tTh,			// tTr,			// tTd		},		data() {			const currentDate = this.getDate({				format: 'yyyy-mm'			})			return {				totalnumber: 0,				showtypexunjian: false,				setyesno: true,				// tableList: [{				// 		id: 0,				// 		name: '张三',				// 		age: '19',				// 		hobby: '游泳'				// 	},				// 	{				// 		id: 1,				// 		name: '李四',				// 		age: '21',				// 		hobby: '绘画'				// 	},				// ],				indexList: [],				xjlx: '巡检类型',				dataList: [],				dataForm: {					projectId: "",					buildingId: "",					storeyId: "",					cycle: "",					status: "",					page: 1,					limit: 10,				},				showtype: false,				showdct: false,				mytitle: '',				alldata: [],				showfloor: false,				loading: false,				columns: [],				columnData: [],				pd: true,				myday: '',				xjry: '巡检人员',				showPicker: false,				myday: currentDate,				columnstypexunjian: [],				columnstype: [					[{							label: '张三',							id: ''						}, {							label: '李四',							id: 0						},						{							label: '王五',							id: 1						}					]				],			}		},		//监听页面加载,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参		onLoad() {			let getDictDataList = uni.getStorageSync('getDictDataList');			for (let i = 0; i < getDictDataList.length; i++) {				if (getDictDataList[i].dictType == 'ReviewType') {					this.columnstypexunjian = [getDictDataList[i].dataList]				}			}			this.getfloor();			//	this.loadmore();		},		//监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发		onReady() {			// 微信小程序需要用此写法		},		//监听页面隐藏		onHide() {},		//监听窗口尺寸变化		onResize() {},		//监听页面卸载		onUnload() {},		//监听用户下拉动作,一般用于下拉刷新		onPullDownRefresh() {},		methods: {			seedetail(e) {				console.log('222', e)			},			handleClick(e) {				console.log('111111111111111111', e)			},			scrolltolower() {				if(this.pd){					this.getalldata();				}else{					 return				}			},			loadmore() {				// for (let i = 0; i < 30; i++) {				// 	this.indexList.push({				// 		url: this.urls[uni.$u.random(0, this.urls.length - 1)]				// 	})				// }			},			xunjianchange() {				this.showtypexunjian = true;			},			cancelxunjian() {				this.showtypexunjian = false;			},			confirmxunjian(e) {				this.xjlx = e.value[0].dictLabel;				// this.dataForm.cycle = e.value[0].id;				// this.dataForm.page = 1;				// this.getalldata();				this.showtypexunjian = false;			},			getalldata() {				this.$api.get('/circuitrecord/page', this.dataForm)					.then(res => {												this.totalnumber = res.data.data.total;						//  console.log('111111111111111111',res.data.data.list)						if (res.data.data.list.length != 0) {							this.indexList.push(...res.data.data.list);							this.dataForm.page = this.dataForm.page + 1;							this.pd = true;													} else {							uni.showToast({								title: '暂无更多数据了',								icon: 'none',								duration: 1500							})							this.pd = false;							//this.jfnodata=true						}					})			},			// edit(item) {			// 	console.log('111111111111111111', item)			// },			canceltype() {				this.showtype = false;			},			confirmtype(e) {				//	console.log('111111111111111111', e.value[0])				this.showtype = false;				this.xjry = e.value[0].label;				this.dataForm.cycle = e.value[0].id;				this.dataForm.page = 1;				this.getalldata();			},			typechange() {				this.showtype = true;			},			dateChange(e) {				this.myday = e.target.value;				this.dataForm.cycle = e.target.value;				this.dataForm.page = 1;				this.getalldata();			},			getDate(type) {				const date = new Date();				let year = date.getFullYear();				let month = date.getMonth() + 1;				if (type === 'start') {					year = year - 60;				} else if (type === 'end') {					year = year + 2;				}				month = month > 9 ? month : '0' + month;				// day = day > 9 ? day : '0' + day;				return `${year}-${month}`;			},			getfloor() {				this.$api.get('/control/getOrgStructureTree/', {})					.then(res => {						if (res.data.code == 0) {							this.dataForm.projectId = res.data.data[0].orgId;							this.mytitle = res.data.data[0].orgName;							this.alldata = res.data.data[0].childrenList;							//console.log('111111111111111111',  res.data.data[0].childrenList)							this.columns = [								res.data.data[0].childrenList,								res.data.data[0].childrenList[0].childrenList							]							let allfloor = [];							for (let i = 0; i < res.data.data[0].childrenList.length; i++) {								allfloor.push(res.data.data[0].childrenList[i].childrenList)							}							//  console.log('111111111111111111',allfloor)							this.columnData = allfloor;							this.dataForm.page = 1;							this.getalldata();						} else {							this.showdct = true						}					})			},			floorchange() {				this.showfloor = true;			},			changeHandler(e) {				const {					columnIndex,					index,					// 微信小程序无法将picker实例传出来,只能通过ref操作					picker = this.$refs.uPicker				} = e				if (columnIndex === 0) {					this.loading = true					picker.setColumnValues(1, this.columnData[index])					this.loading = false				}				this.getalldata();			},			confirmfloor(e) {				console.log('222222', e.value)				this.mytitle = e.value[0].orgName + e.value[1].orgName;				this.dataForm.buildingId = e.value[0].orgId;				this.dataForm.storeyId = e.value[1].orgId;				this.showfloor = false;				this.getalldata();			},			cancelfloor() {				this.showfloor = false;			},		}	}</script><style lang="scss">	.Currentamount {		padding-left: 30rpx;		height: 50rpx;		line-height: 50rpx;		color: #BCB3A7;		span {			color: #FA5555;			padding-left: 9rpx;		}	}	.Callfee {		width: 100rpx;		height: 45rpx;		text-align: center;		line-height: 45rpx;		color: #5C8FFF;		border: 1px solid #5C8FFF;		font-size: 22rpx;		position: absolute;		bottom: 10rpx;		right: 10px;		font-weight: bold;	}	.companylist {		margin: 20rpx 30rpx;		background: #fff;		height: 280rpx;		border-radius: 10px;		position: relative;		h3 {			height: 70rpx;			line-height: 70rpx;			padding-left: 30rpx;		}	}	.settled {		background-color: #09C700;		width: 100rpx;		height: 40rpx;		text-align: center;		line-height: 40rpx;		color: #fff;		font-size: 14rpx;		position: absolute;		top: 0px;		right: 0px;		border-top-right-radius: 10rpx;		border-bottom-left-radius: 10rpx;	}	.outstanding {		background-color: #FA5555;		width: 100rpx;		height: 40rpx;		text-align: center;		line-height: 40rpx;		color: #fff;		font-size: 14rpx;		position: absolute;		top: 0px;		right: 0px;		border-top-right-radius: 10rpx;		border-bottom-left-radius: 10rpx;	}	.billall {}	.topbill {		display: flex;		justify-content: space-around;		align-items: center;		height: 100rpx;		background-color: #e6e6e6;	}	.topbilledit {		display: flex;		justify-content: space-around;		align-items: center;	}	.changetime1 {		padding-right: 10rpx;	}</style>
 |