<template>
	<view class="page">
		<view :class="['custom-header', { 'is-back': isBack }, bgColor]">
			<view class="back-container" @click="handleBack">
				<view class="back-text">返回</view>
			</view>
			<view class="content-container">
				<view class="content-text">{{title}}</view>
			</view>
		</view>


		<view class="line-box">
			<view :style="[{top:CustomBar + 'px'}]">
				<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" :up="upOption"
					@up="upCallback">
					<view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''"
						v-for="(item, index) in dataList" :key="index" @touchstart="ListTouchStart"
						@touchmove="ListTouchMove" @touchend="ListTouchEnd" :data-target="'move-box-' + index">


						<view class="item-box">
							<view class="item-title">
								企业名称:{{item.qy.name}}
							</view>
							<view class="item-title">
								对接方式:{{item.method}}
							</view>
							<view class="item-title">
								沟通时间:{{item.contactDate.substring(0, 10)}}
							</view>
							<view class="item-title">
								挂钩干部:{{item.qy.des14}}
							</view>

						</view>
					</view>
				</mescroll-body>
			</view>
			
			<!-- <view style="height: 40rpx;"></view> -->
		</view>
		<view class="btn_add">
			<button type="primary" @click="add">新增服务</button>
		</view>

	</view>
</template>

<script>
	import * as $auth from "@/common/auth.js"
	import loginService from "@/api/auth/loginService";
	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
	import MescrollMoreItemMixin from "@/components/mescroll-uni/mixins/mescroll-more-item.js";
	import lyServiceService from '@/api/service/lyServiceService.js'
	export default {
		mixins: [MescrollMixin, MescrollMoreItemMixin], // 使用mixin (在main.js注册全局组件)
		data() {
			return {
				canAdd: false,
				userid: "",
				isLogin: "",
				pageInfo: {},
				loginid: "",
				title: "服务记录",
				isBack: true, // 是否显示返回按钮
				bgColor: 'bg-blue', // 背景颜色
				finish: true,
				curWord: "", //当前搜索关键词
				range: [{
						value: 999,
						text: "全部"
					},
					{
						value: 1,
						text: "反馈大走访"
					},
					{
						value: 2,
						text: "正在办理"
					},
					{
						value: 3,
						text: "难以化解"
					},
					{
						value: 4,
						text: "持续跟踪"
					},
					{
						value: 5,
						text: "提请会办"
					},
				],
				dataList: [], // 数据列表
				modalName: null,
				tablePage: {
					total: 0,
					currentPage: 1,
					pageSize: 10,
					orders: []
				},
				loading: false,
				parkId: '',
				parkList: [],
				parkList2: [],
				parkList3: [],
				parkList4: [],
				ddd1: "",
			};
		},
		onShow() {
			this.isLogin = this.$auth.checkisLogin();
		},

		created() {

			this.userid = $auth.getUserInfo().loginName;

		},
		methods: {
			/*获取数据列表 */
			upCallback(page) {
				this.loading = true
				lyServiceService.list({
					current: page.num,
					size: page.size,
					orders: [{
						column: 'a.create_date',
						asc: false
					}],
				}).then(({
					data
				}) => {
					let curPageData = data.records
					this.mescroll.endBySize(curPageData.length, data.total);
					//如果是第一页需手动制空列表
					if (page.num == 1)
						this.dataList = [];
					//追加新数据
					this.dataList = this.dataList.concat(curPageData);
				}).catch(e => {
					//联网失败, 结束加载
					this.mescroll.endErr();
				})
			},
			change(val) {
				this.dataList = []
				if (this.curWord == '') {
					this.curWord = 999
				}
				this.upCallback(this.tablePage)
			},

			updateCities(newCities) {
				this.cities = newCities;
			},

			// 搜索
			doSearch() {

				this.dataList = []; // 先清空列表,显示加载进度
				this.mescroll.resetUpScroll();
			},

			// ListTouch触摸开始
			ListTouchStart(e) {
				this.listTouchStart = e.touches[0].pageX
			},

			// ListTouch计算方向
			ListTouchMove(e) {
				this.listTouchDirection = e.touches[0].pageX - this.listTouchStart > -60 ? 'right' : 'left'
			},

			// ListTouch计算滚动
			ListTouchEnd(e) {
				if (this.listTouchDirection == 'left') {
					this.modalName = e.currentTarget.dataset.target
				} else {
					this.modalName = null
				}
				this.listTouchDirection = null
			},
			handleBack() {
				// 返回逻辑,比如跳转至上一页
				uni.redirectTo({
					url: '/pages/index/Dzfindex'
				})
			},

			add() {

				if (this.isLogin == null) {
					uni.showModal({
						title: '您还未登录,现在去登录?',
						showCancel: true,
						success: (res) => {
							if (res.confirm) {
								uni.showLoading()
								uni.reLaunch({
									url: '/pages/login/login'
								})
							}
						}
					});
				} else {
					uni.navigateTo({
						url: '/pages/service/addService'
					})
				}


			},
			switchTab(index) {
				this.activeTab = index;
				if (this.activeTab == 0) {
					this.searchForm.des1 = "";
				} else {
					this.searchForm.des1 = this.activeTab;
				}

				this.doSearch();

			}
		}
	}
</script>

<style>
	.page {
		height: 100vh;
	}

	.line-box {

		padding-left: 20rpx;
		padding-right: 20rpx;
		margin-top: 20rpx;
		height: 75vh;
		overflow: auto;
	}

	.mart-t {
		margin-top: 30rpx;
	}

	.center-box {
		margin-top: 20rpx;
		width: 100%;
		border-radius: 25rpx;
		border-radius: 25rpx;
		background: #fff;
		box-shadow: 0px 8px 16px 2px rgba(101, 101, 101, 0.2);
		padding-bottom: 30rpx;
		display: flex;
		flex-wrap: wrap;
	}

	.center-left-box {
		width: 100%;
		padding-bottom: 30rpx;
		display: flex;
		flex-wrap: wrap;
	}

	.btn-box-text {
		flex: 1;
		height: 20rpx;
		text-align: center;
		color: #000000;
		font-size: 14px;
		font-weight: 700;
	}

	.btn-box-1 {
		flex: 1;
		height: 30rpx;
		text-align: center;
		color: #36A7F3;
		font-size: x-large;
		font-weight: 700;
	}

	.btn-box-2 {
		flex: 1;
		height: 30rpx;
		text-align: center;
		color: #F3365A;
		font-size: x-large;
		font-weight: 700;
	}

	.btn-box-3 {
		flex: 1;
		height: 30rpx;
		text-align: center;
		color: #15D578;
		font-size: x-large;
		font-weight: 700;
	}

	.btn-box-4 {
		flex: 1;
		height: 30rpx;
		text-align: center;
		color: #F1A31B;
		font-size: x-large;
		font-weight: 700;
	}

	.btn-Imbox {
		flex: 1;
		height: 150rpx;
		padding-top: 8rpx;
		text-align: center;
		display: flex;
		flex-direction: column;
		justify-content: center;
		/* 子元素内部内容竖向居中 */
		align-items: center;
		/* 子元素内部内容水平居中 */
		text-align: center;
		/* 文字居中 */

	}

	.btn-Imbox p {
		font-size: 14px;
		/* 文字大小,可根据需要调整 */
		margin: 0;
		/* 去掉默认的外边距 */
		font-weight: 700;
	}

	.center-img {
		width: 90rpx;
		height: 90rpx;
		margin-bottom: 10rpx;
		text-align: center;
	}

	.center-img2 {
		width: 70rpx;
		height: 70rpx;
		margin-top: 10rpx;
		margin-bottom: 20rpx;
		text-align: center;
	}

	.kuai-text {
		color: #000000;
		font-weight: 900;
		font-size: 34rpx;
		padding-top: 20rpx;
		padding-left: 20rpx;
	}


	.h-200 {
		height: 200rpx;
	}

	.swiper {
		width: 750rpx;
		height: 310rpx;
	}

	.swiper-item {
		width: 750rpx;
		height: 310rpx;
		background-color: aliceblue;
	}

	.font-size-35 {
		font-size: 35px !important;
	}

	.img-size {
		width: 80rpx;
		height: 80rpx;
	}

	.content-box {
		width: 437rpx;
		height: 200rpx;
	}

	.my-app .padding-sm {
		padding: 6px;
	}

	.grid .padding-sm .bg-white {
		box-shadow: 0 1px 4px #f9f9f9, 1px 1px 40px rgba(0, 0, 0, .06);
	}

	.bg-blue {
		background: #fff;
		color: #0081ff !important;
	}

	.text-white,
	.line-white,
	.lines-white {
		color: #0081ff !important;
	}




	.cu-bar .search-form {
		background-color: white;
	}


	.item-box {
		width: 710rpx;
		background: #FFFFFF;
		box-shadow: 0px 1px 3px 0px rgba(9, 2, 4, 0.1);
		border-radius: 10px;
		padding-top: 12rpx;
		padding-left: 38rpx;
		padding-right: 10rpx;
		padding-bottom: 15rpx;
		margin-top: 20rpx;
	}

	.item-title {



		font-size: 30rpx;
		margin-top: 12rpx;
		color: #010101;
	}

	.item-line {
		display: flex;
		height: 48rpx;
		margin-top: 20rpx;

	}

	.item-line2 {

		height: 48rpx;
		margin-top: 20rpx;
	}

	.subtitle {
		color: #E5880E;
	}

	.item-name {
		margin-top: 5rpx;
		font-size: 29rpx;
		color: #666666;
	}

	.item-name2 {
		font-size: 29rpx;
		color: #676D99;
		height: 40rpx;
		/* 这里假设两行的高度是80rpx */
		overflow: hidden;
		/* 超出部分隐藏 */
		text-overflow: ellipsis;
		/* 超出部分显示省略号 */
		display: -webkit-box;
		/* 使用Webkit的行盒模型 */
		-webkit-line-clamp: 1;
		/* 限制最多显示2行 */
		-webkit-box-orient: vertical;
		/* 垂直排列 */

	}


	.item-name3 {
		display: flex;
		width: 100%;
		padding-right: 30rpx;
		flex: 1;
		justify-content: flex-end;
		font-size: 29rpx;
		color: #FF4500;
	}

	.item-name31 {
		display: flex;
		width: 100%;
		padding-right: 30rpx;
		flex: 1;
		justify-content: flex-end;
		font-size: 29rpx;
		color: #2E8B57;
	}

	.item-content {
		color: #1497EF;
		font-size: 30rpx;
	}

	.btn-box {
		display: flex;
	}

	.line-zs {
		width: 2rpx;
		height: 30rpx;
		background: #36A7F3;
	}

	.edit-botton {
		width: 100rpx;
		height: 48rpx;
		line-height: 48rpx;
		color: #fff;
		font-size: 28rpx;
		margin-right: 20rpx;
		border-radius: 10rpx;
		background: #5A9EE9;
		text-align: center;
	}

	.del-botton {
		width: 100rpx;
		height: 48rpx;
		line-height: 48rpx;
		color: #fff;
		font-size: 28rpx;
		margin-right: 20rpx;
		border-radius: 10rpx;
		background: #F27C85;
		text-align: center;
	}

	.color-white {
		color: #808080;
		font-size: 40rpx;
		line-height: 60rpx;
	}

	.search-box {

		padding-left: 20rpx;
		padding-right: 20rpx;
		padding-top: 20rpx;
		margin-top: 20rpx;
		width: 100%;
		border-radius: 25rpx;
		border-radius: 25rpx;
		background: #fff;
		box-shadow: 0px 8px 16px 2px rgba(101, 101, 101, 0.2);
		padding-bottom: 30rpx;
		display: flex;
		flex-wrap: wrap;
	}

	.search-box1 {
		display: flex;
	}



	.input-box {
		background: #fff;
		height: 65rpx;
		width: 640rpx;
		display: flex;
		align-items: center;
		border-radius: 30rpx;
		padding-left: 30rpx;
		margin-right: 20rpx;
	}

	.input-boxinput {
		height: 75rpx;
		font-size: 15rpx;
	}



	.choose-box {
		background: #fff;
		width: 325rpx;
		border-radius: 23rpx;
		height: 70rpx;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-right: 20rpx;
		border: 1rpx solid #808080;
	}

	.choose-box2 {
		background: #fff;
		width: 100%;
		border-radius: 23rpx;
		height: 70rpx;
		display: flex;
		padding-left: 29rpx;
		align-items: center;
		border: 1rpx solid #808080;
	}

	.choose-box3 {
		display: flex;
	}

	.choose-boxp {
		font-size: 32rpx;
		width: 80rpx;
	}

	.fixed-bottom-right {
		padding: 20rpx;
		position: fixed;
		bottom: 20px;
		/* 距离底部的距离 */
		right: 20px;
		/* 距离右侧的距离 */
	}

	.tabs {
		display: flex;
		justify-content: space-around;
		margin-bottom: 10px;
	}

	.tab-item {
		padding: 10px 10px;
		cursor: pointer;
		transition: all 0.3s;
	}

	.tab-item.active {
		color: #66b1ff;
		border-bottom: 2px solid #66b1ff;
	}

	.tab-content {
		padding: 20px;
	}

	.tab-item-content {
		display: none;
	}

	.tab-item-content.v-if {
		display: block;
	}


	.custom-header {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 10px;
		width: 100%;
	}

	.is-back {
		position: relative;
	}

	.back-container {
		position: absolute;
		left: 10px;
		cursor: pointer;
	}

	.back-text {
		color: white;
		/* 返回按钮文本颜色 */
	}

	/* 背景颜色 */
	.bg-blue {
		background-color: #4285f4;
		/* 假设这是一个蓝色背景 */
	}

	.content-container {
		flex: 1;
		text-align: center;
	}

	.content-text {
		color: white;
		/* 标题文本颜色 */
		font-weight: bold;
	}

</style>