Browse Source

订单部分

chubiao 1 year ago
parent
commit
2ef777f6a7

+ 11 - 0
api/order.js

@@ -0,0 +1,11 @@
+import request from '@/common/request.js'
+
+
+// 订单列表
+export function List(data) {
+	return request({
+		url: '/system/ddjy/list',
+		method: 'get',
+		data: data
+	})
+}

+ 1 - 0
common/request.js

@@ -41,6 +41,7 @@ const request = config => {
 							msg
 							msg
 						} = response.data
 						} = response.data
 						if (data && data.openId) {
 						if (data && data.openId) {
+							console.log("openid:",data.openId)
 							setToken(data.token.access_token)
 							setToken(data.token.access_token)
 							config.header['Authorization'] = 'Bearer ' + getToken()
 							config.header['Authorization'] = 'Bearer ' + getToken()
 
 

+ 20 - 1
pages.json

@@ -4,12 +4,19 @@
 		"selectedColor": "#3cc51f",
 		"selectedColor": "#3cc51f",
 		"borderStyle": "black",
 		"borderStyle": "black",
 		"backgroundColor": "#ffffff",
 		"backgroundColor": "#ffffff",
-		"list": [{
+		"list": [
+			{
 				"pagePath": "pages/index/index",
 				"pagePath": "pages/index/index",
 				"iconPath": "static/image/index.png",
 				"iconPath": "static/image/index.png",
 				"selectedIconPath": "static/image/index-s.png",
 				"selectedIconPath": "static/image/index-s.png",
 				"text": "首页"
 				"text": "首页"
 			},
 			},
+			{
+				"pagePath": "pages/order/index",
+				"iconPath": "static/image/order.png",
+				"selectedIconPath": "static/image/order-s.png",
+				"text": "订单"
+			},
 			{
 			{
 				"pagePath": "pages/my/index",
 				"pagePath": "pages/my/index",
 				"iconPath": "static/image/my.png",
 				"iconPath": "static/image/my.png",
@@ -34,6 +41,18 @@
 				"navigationBarTitleText": "登录"
 				"navigationBarTitleText": "登录"
 			}
 			}
 		},
 		},
+		{
+			"path": "pages/order/index",
+			"style": {
+				"navigationBarTitleText": "新增订单"
+			}
+		},
+		{
+			"path": "pages/order/add",
+			"style": {
+				"navigationBarTitleText": "订单信息"
+			}
+		},
 		{
 		{
 			"path": "pages/my/index",
 			"path": "pages/my/index",
 			"style": {
 			"style": {

+ 5 - 3
pages/lr/index.vue

@@ -711,9 +711,11 @@
 
 
 		},
 		},
 		onLoad(option) {
 		onLoad(option) {
-			this.baseFormData = JSON.parse(option.item)
-			if (this.baseFormData.xm) {
-				this.bsFormatTo()
+			if (option) {
+				this.baseFormData = JSON.parse(option.item)
+				if (this.baseFormData.xm) {
+					this.bsFormatTo()
+				}
 			}
 			}
 			this.myAmapFunT = new amapFile.AMapWX({
 			this.myAmapFunT = new amapFile.AMapWX({
 				key: config.gaodeKey
 				key: config.gaodeKey

+ 8 - 0
pages/order/add.vue

@@ -0,0 +1,8 @@
+<template>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 119 - 0
pages/order/index.vue

@@ -0,0 +1,119 @@
+<template>
+	<view>
+		<view style="width: 90%;margin-left: 5%;">
+			<uni-easyinput type="text" trim="all" prefixIcon="search" v-model="form.xm" placeholder="请输入产品名称搜索"
+				confirmType="search" @blur="getList(true)"></uni-easyinput>
+		</view>
+		<view style="margin-top: 10rpx;">
+			<uni-list :border="true">
+				<uni-list-item :title="item.cpName" :note="item.shxm" v-for="(item,index) in dataList" :key="index"
+					link="navigateTo" :to="`/pages/order/add?item=`+JSON.stringify(item)">
+
+					<template v-slot:footer>
+						<view>
+							<view>
+								{{item.ddztStr}}
+							</view>
+							<view>
+								{{item.je}}元
+							</view>
+						</view>
+					</template>
+				</uni-list-item>
+			</uni-list>
+		</view>
+		<view>
+			<uni-load-more :status="status" :content-text="contentText" @clickLoadMore="clickLoadMore" />
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		List
+	} from '@/api/order.js'
+	import config from '@/config.js'
+	import {
+		decryptRowData_ECB
+	} from '@/common/sm4.js'
+	export default {
+		data() {
+			return {
+				status: 'more',
+				contentText: {
+					contentdown: '查看更多',
+					contentrefresh: '加载中',
+					contentnomore: '没有更多'
+				},
+				form: {
+					pageNum: 1,
+					pageSize: 10,
+				},
+				total: 0,
+				dataList: [],
+				ddztData: [{
+					value: '1',
+					text: '待接单',
+				}, {
+					value: '2',
+					text: '待派单',
+				}, {
+					value: '3',
+					text: '订单进行中',
+				}, {
+					value: '4',
+					text: '订单完成',
+				}, {
+					value: '5',
+					text: '申请售后',
+				}, {
+					value: '6',
+					text: '售后结束',
+				}, ]
+			}
+		},
+		onLoad() {
+
+		},
+		mounted() {
+			this.getList()
+		},
+		onReachBottom() {
+
+		},
+		onPullDownRefresh() {
+			this.getList(true)
+		},
+		methods: {
+
+			getList(isClear) {
+				isClear ? this.dataList = [] : ''
+				List(this.form).then(res => {
+				
+				
+					let list = res.rows
+					list.forEach(e=>{
+						e.ddztStr = this.ddztData[parseInt(e.ddzt)-1]
+					})
+					this.dataList.push(...list)
+					this.total = res.total
+					this.total > this.dataList.length ? this.status = 'more' : this.status = 'noMore'
+				})
+				setTimeout(function() {
+					uni.stopPullDownRefresh();
+				}, 1000);
+			},
+			clickLoadMore(e) {
+				if (this.total > this.dataList.length) {
+					this.status = 'loading'
+					this.form.pageNum += 1
+					this.getList()
+				}
+
+			}
+		}
+	}
+</script>
+
+<style>
+</style>

BIN
static/1.gif


BIN
static/image/order-s.png


BIN
static/image/order.png


+ 0 - 24
uni_modules/next-indexed-xlist/changelog.md

@@ -1,24 +0,0 @@
-## 1.1.1(2023-10-26)
-更新说明
-## 1.1.0(2023-09-18)
-修复异步复赋值属性dataList的bug
-## 1.0.9(2023-09-14)
-增加说明
-## 1.0.8(2023-09-14)
-增加支持双向联动
-## 1.0.7(2023-06-30)
-默认开启双向联动功能
-## 1.0.6(2023-06-30)
-增加双向联动功能
-## 1.0.5(2023-06-10)
-更新说明
-## 1.0.4(2023-06-10)
-增加插件依赖说明
-## 1.0.3(2023-06-06)
-修改说明文件
-## 1.0.2(2023-06-05)
-更新说明文件
-## 1.0.1(2023-06-03)
-更新说明
-## 1.0.0(2023-06-03)
-初始化项目

+ 0 - 21
uni_modules/next-indexed-xlist/components/next-indexed-xlist/js-pinyin/LICENSE

@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2017 
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

File diff suppressed because it is too large
+ 0 - 952
uni_modules/next-indexed-xlist/components/next-indexed-xlist/js-pinyin/dist/pinyin.js


+ 0 - 409
uni_modules/next-indexed-xlist/components/next-indexed-xlist/next-indexed-xlist.vue

@@ -1,409 +0,0 @@
-<template>
-	<view class="next-list">
-		<view class="next-search">
-			<image class="next-search-img" :src="nextSearchImgSrc"></image>
-			<input class="next-input" @input="search" v-model="searchStr" placeholder="请输入搜索信息" maxlength="50"
-				placeholder-class="next-placeholder" />
-		</view>
-		<scroll-view @scroll="scrollCallback" class="next-scroll-left" scroll-y="true" :scroll-with-animation="true"
-			:scroll-into-view="scrollIntoView">
-			<view id="TOP"><slot></slot></view>
-			<view class="left-list" v-for="(item,index) of scrollLeftObj" :key="index" :id="index!='#'?index:'BOTTOM'">
-				<view :id="`item${index}`" class="left-item-title" v-if="item && item.length">{{index}}</view>
-				<view class="left-item-card" v-for="(mess,inx) in item" @click.stop="chooseItem(mess)">
-					<view v-if="showAvatar">
-						<image :style="'border-radius:'+radius" class="left-item-card-img img-info" :src="mess[imgKey]"
-							v-if="mess[imgKey]" @click.stop="preview(mess[imgKey])"></image>
-						<view :style="'border-radius:'+radius" class="left-item-card-img" v-else>
-							{{mess[nameKey] && mess[nameKey].slice(0,1) || ''}}
-						</view>
-					</view>	
-					<view class="left-item-card-info"
-						:style="inx<item.length-1?'border-bottom: solid #F4F4F4 1rpx;':''">
-						<view class="left-item-card-name">{{mess[nameKey] || ''}}</view>
-						<view class="left-item-card-phone" v-if="mess[phoneKey]">{{mess[phoneKey]}}</view>
-					</view>
-				</view>
-			</view>
-			<view class="no-data" v-if="!hasData">
-				<image class="no-data-img" :src="noDataImgSrc"></image>
-				<view class="no-data-name">暂无数据</view>
-			</view>
-		</scroll-view>
-		<view class="next-scroll-right" v-if="hasData">
-			<image class="next-scroll-right-top" :src="nextScrollRightTopSrc" @click.stop="scrollTop"></image>
-			<view :class="{'next-scroll-right-name':true,'next-scroll-right-select':item==scrollIntoViewCopy}"
-				v-for="(item,index) in scrollRightList" :key="index" @click.stop="chooseType(item)">{{item}}
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import nextSearchImgSrc from '../../static/search.png'
-	import noDataImgSrc from '../../static/noData.png'
-	import nextScrollRightTopSrc from '../../static/top.png'
-	import pinyin from './js-pinyin/dist/pinyin.js'
-	
-	
-	// 创建pinyin实例
-	const pinyinInstance = new pinyin({charCase:0})
-	
-	const position = {}
-	
-	export default {
-		props: {
-			dataList: {
-				type: Array,
-				required: true,
-				default: () => {
-					return []
-				}
-			},
-			//显示的主键key值
-			idKey: {
-				type: String,
-				default: 'id'
-			},
-			nameKey: {
-				type: String,
-				default: 'name'
-			},
-			phoneKey: {
-				type: String,
-				default: 'phone'
-			},
-			imgKey: {
-				type: String,
-				default: 'img'
-			},
-			radius: {
-				type: String,
-				default: '6rpx'
-			},
-			showAvatar: {
-				type: Boolean,
-				default: true
-			},
-			isInterlock: {
-				type: Boolean,
-				default: true
-			}
-		},
-		data() {
-			return {
-				searchStr: '',
-				scrollIntoView: '',
-				scrollIntoViewCopy: '',
-				scrollLeftObj: {},
-				oldObj: {},
-				scrollRightList: [],
-				hasData: true,
-				nextSearchImgSrc,
-				noDataImgSrc,
-				nextScrollRightTopSrc
-			};
-		},
-		created() {
-			this.$watch(() => this.dataList, (newList) => {
-				if (newList && newList.length) this.cleanData(newList)
-				if(this.isInterlock) {
-					this.$nextTick(() => {
-						Object.keys(this.scrollRightList).map(key => {
-							uni.createSelectorQuery().in(this).select(`#item${this.scrollRightList[key]}`).boundingClientRect(res => {
-								const { top } = res
-								position[this.scrollRightList[key]] = top
-							}).exec()
-						})
-					})
-				}
-			}, {
-				immediate: true,
-				deep: true,
-			})
-		},
-		methods: {
-			search() {
-				if (this.searchStr) {
-					let has = false
-					this.scrollLeftObj = JSON.parse(JSON.stringify(this.oldObj))
-					for (let i in this.scrollLeftObj) {
-						this.scrollLeftObj[i] = this.scrollLeftObj[i].filter(item => {
-							return (item[this.nameKey].indexOf(this.searchStr) != -1) || item[this.phoneKey]
-								.indexOf(this.searchStr) != -1
-						})
-						if (this.scrollLeftObj[i].length) has = true
-					}
-					if (has) this.hasData = true
-					else this.hasData = false
-				} else {
-					this.hasData = true
-					this.scrollLeftObj = JSON.parse(JSON.stringify(this.oldObj))
-				}
-			},
-			scrollCallback(e) {
-				const { detail } = e
-				const { scrollTop, scrollHeight } = detail
-				if (this.scrollIntoView === 'TOP') {
-					this.scrollIntoView = ''
-				}
-				
-				if (this.isInterlock) {
-					for (let key in position) {
-						if (position[key] - scrollTop > 0 && position[key] - scrollTop <= scrollHeight) {
-							this.scrollIntoViewCopy = key
-							return
-						}
-					}
-				}	
-			},
-			scrollTop() {
-				this.scrollIntoView = 'TOP'
-			},
-			cleanData(list) {
-				this.scrollRightList = this.getLetter()
-				let newList = []
-				list.forEach(res => {
-					let initial = pinyinInstance.getCamelChars(res.name.trim())
-					let firsfirs = initial ? initial.substring(0, 1) : ''
-					if (!newList[firsfirs]) newList[firsfirs] = []
-					newList[firsfirs].push({
-						[this.idKey]: res[this.idKey] || '',
-						[this.nameKey]: res[this.nameKey].trim() || '',
-						[this.phoneKey]: res[this.phoneKey] || '',
-						[this.imgKey]: res[this.imgKey] || ''
-					})
-				})
-				this.scrollRightList.forEach(t => {
-					if (newList[t]) {
-						this.$set(this.scrollLeftObj, t, newList[t])
-					} else {
-						this.$set(this.scrollLeftObj, t, [])
-					}
-				})
-				let surplusList = []
-				for (var i in newList) {
-					let han = this.scrollRightList.find(v => {
-						return v == i
-					})
-					if (!han) surplusList.push(newList[i])
-				}
-				surplusList.forEach(item => {
-					this.scrollLeftObj['#'] = this.scrollLeftObj['#'].concat(item)
-				})
-				this.oldObj = JSON.parse(JSON.stringify(this.scrollLeftObj))
-				
-				// 过滤不存在的关键索引
-				const existList = Object.keys(this.scrollLeftObj).filter(key => {
-					return this.scrollLeftObj[key].length
-				})
-				this.scrollRightList = this.scrollRightList.filter(key => {
-					return existList.some(k => k === key)
-				})
-			},
-			getLetter() {
-				let list = []
-				for (var i = 0; i < 26; i++) {
-					list.push(String.fromCharCode(65 + i))
-				}
-				list.push('#')
-				return list
-			},
-			chooseType(item) {
-				if (item == '#') item = 'BOTTOM'
-				this.scrollIntoView = item
-				this.scrollIntoViewCopy = item
-			},
-			preview(img) {
-				uni.previewImage({
-					current: 0,
-					urls: [img]
-				})
-			},
-			chooseItem(item) {
-				this.$emit('itemclick', item)
-			}
-		},
-	};
-</script>
-<style>
-	/deep/ ::-webkit-scrollbar {
-		width: 0;
-		height: 0;
-		color: transparent;
-		display: none;
-	}
-</style>
-<style lang="scss" scoped>
-	.next-list {
-		width: 100%;
-		height: 100vh;
-		background-color: #F4F4F4;
-		box-sizing: border-box;
-		padding-top: 1px;
-		.next-search {
-			width: 100%;
-			height: 106rpx;
-			background-color: #FFFFFF;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			position: fixed;
-			z-index: 9999;
-			top: 0;
-			left: 0;
-			.next-search-img {
-				width: 32rpx;
-				height: 32rpx;
-				position: absolute;
-				left: 64rpx;
-			}
-		
-			.next-input {
-				width: calc(100% - 64rpx);
-				height: 72rpx;
-				background: #EEEEEE;
-				border-radius: 36rpx;
-				padding: 0 32rpx 0 80rpx;
-				box-sizing: border-box;
-				color: #333333;
-			}
-		
-			.next-placeholder {
-				color: #777777;
-			}
-		}
-		.next-scroll-left {
-			height: 100%;
-			padding-top: 106rpx;
-			
-			.left-list {
-				height: auto;
-
-				.left-item-title {
-					width: calc(100% - 24rpx);
-					height: 60rpx;
-					padding-left: 24rpx;
-					text-align: left;
-					line-height: 60rpx;
-					font-size: 30rpx;
-					color: #666666;
-				}
-
-				.left-item-card {
-					width: 100%;
-					height: 112rpx;
-					background-color: #FFFFFF;
-					box-sizing: border-box;
-					padding-left: 24rpx;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-
-					.left-item-card-img {
-						width: 80rpx;
-						min-width: 80rpx;
-						height: 80rpx;
-						background-color: #CFCFCF;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						font-size: 36rpx;
-						font-weight: bold;
-						color: #FFFFFF;
-					}
-
-					.img-info {
-						background: none;
-						border: solid #f0f0f0 1rpx;
-					}
-
-					.left-item-card-info {
-						width: 100%;
-						margin-left: 32rpx;
-						height: 100%;
-						display: flex;
-						align-items: flex-start;
-						justify-content: center;
-						flex-direction: column;
-
-						.left-item-card-name {
-							font-size: 30rpx;
-							line-height: 30rpx;
-							color: #333333;
-						}
-
-						.left-item-card-phone {
-							margin-top: 14rpx;
-							font-size: 28rpx;
-							line-height: 28rpx;
-							color: #999999;
-						}
-					}
-				}
-			}
-
-			.no-data {
-				width: 100%;
-				display: flex;
-				align-items: center;
-				justify-items: center;
-				flex-direction: column;
-				margin-top: 25%;
-
-				.no-data-img {
-					width: 200rpx;
-					height: 200rpx;
-				}
-
-				.no-data-name {
-					margin-top: 20rpx;
-					font-size: 28rpx;
-					color: #666666;
-				}
-			}
-		}
-
-		.next-scroll-right {
-			position: fixed;
-			right: 0rpx;
-			top: 50%;
-			transform: translateY(-47%);
-			z-index: 999 !important;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			flex-direction: column;
-
-			.next-scroll-right-top {
-				width: 32rpx;
-				height: 32rpx;
-				margin-right: 14rpx;
-				z-index: 999 !important;
-			}
-
-			.next-scroll-right-name {
-				width: 32rpx;
-				padding-right: 14rpx;
-				height: 28rpx;
-				font-size: 22rpx;
-				color: #333333;
-				line-height: 22rpx;
-				margin-top: 8rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-			}
-
-			.next-scroll-right-select {
-				padding: 0;
-				margin-right: 14rpx;
-				width: 28rpx;
-				height: 28rpx;
-				border-radius: 50%;
-				background: #2991FF;
-				color: #FFFFFF;
-			}
-		}
-	}
-</style>

+ 0 - 85
uni_modules/next-indexed-xlist/package.json

@@ -1,85 +0,0 @@
-{
-	"id": "next-indexed-xlist",
-	"displayName": "next-indexed-xlist(vue2 vue3通用)通讯录、城市、地址列表;支持双向联动",
-	"version": "1.1.1",
-	"description": "通讯录、城市、地址索引列表组件,支持双向联动,自带搜索功能,可自定义显示字段,用于通讯录列表、城市列表、地址列表等",
-	"keywords": [
-        "通讯录",
-        "索引列表",
-        "索引",
-        "地址列表",
-        "城市列表"
-    ],
-	"repository": "",
-	"engines": {
-		"HBuilderX": "^3.1.0"
-	},
-	"dcloudext": {
-		"type": "component-vue",
-		"sale": {
-			"regular": {
-				"price": "0.00"
-			},
-			"sourcecode": {
-				"price": "0.00"
-			}
-		},
-		"contact": {
-			"qq": ""
-		},
-		"declaration": {
-			"ads": "无",
-			"data": "无",
-			"permissions": "无"
-		},
-		"npmurl": ""
-	},
-	"uni_modules": {
-		"dependencies": [],
-		"encrypt": [],
-		"platforms": {
-			"cloud": {
-				"tcb": "y",
-				"aliyun": "y"
-			},
-			"client": {
-				"Vue": {
-					"vue2": "y",
-					"vue3": "y"
-				},
-				"App": {
-					"app-vue": "y",
-					"app-nvue": "u"
-				},
-				"H5-mobile": {
-					"Safari": "y",
-					"Android Browser": "y",
-					"微信浏览器(Android)": "y",
-					"QQ浏览器(Android)": "y"
-				},
-				"H5-pc": {
-					"Chrome": "u",
-					"IE": "u",
-					"Edge": "u",
-					"Firefox": "u",
-					"Safari": "u"
-				},
-				"小程序": {
-					"微信": "y",
-					"阿里": "u",
-					"百度": "u",
-					"字节跳动": "u",
-					"QQ": "u",
-					"钉钉": "u",
-					"快手": "u",
-					"飞书": "u",
-					"京东": "u"
-				},
-				"快应用": {
-					"华为": "u",
-					"联盟": "u"
-				}
-			}
-		}
-	}
-}

+ 0 - 329
uni_modules/next-indexed-xlist/readme.md

@@ -1,329 +0,0 @@
-# next-indexed-xlist适用于uni-app项目的通讯录、城市、地址索引列表组件
-### 本组件目前兼容微信小程序、H5 app
-### 本组件是通讯录、城市、地址索引列表组件,自带搜索功能,可自定义显示字段,用于通讯录列表、城市列表、地址列表等
-
-> 遇到问题或有建议可以加入QQ群(<font color=#f00>455948571</font>)反馈;  
-> 如果觉得组件不错,<font color=#f00>给五星鼓励鼓励</font>咯;
-> 
-> 本插件居于npmjs开源包[js-pinyin](https://www.npmjs.com/package/js-pinyin) 进行开发,详细插件功能可以到npm上进行查看;
-
-	
-### 使用示例
-
-``` html
-<template>
-	<view class="page-main">
-		<next-indexed-xlist :dataList="dataList" :showAvatar="true" @itemclick="itemclick">
-			<!--这是默认插槽,额外添加部分-->
-			<!-- 	<view class="content-block">
-				<view class="title"><text>历史记录:</text></view>
-				<view class="btn"><text>朝阳区</text></view>
-				<view class="btn"><text>东城区</text></view>
-				<view class="btn"><text>海淀区</text></view>
-			</view> -->
-		</next-indexed-xlist>
-	</view>
-</template>
-```
-### vue3使用
-``` ts
-<script setup lang="ts">
-	import { ref } from "vue";
-	// 通讯录数据形式
-	const dataList = ref([{
-		id: '1',
-		name: '刘**',
-		phone: '181****5576',
-		img: 'https://img1.baidu.com/it/u=1016138010,1907110459&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300'
-	}, {
-		id: '2',
-		name: '王**',
-		phone: '181****5576',
-		img: 'https://img1.baidu.com/it/u=1016138010,1907110459&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300'
-	}, {
-		id: '3',
-		name: '黎**',
-		phone: '181****5576',
-		img: 'https://img2.baidu.com/it/u=453253244,3693084626&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-	}, {
-		id: '4',
-		name: '王**',
-		phone: '181****5576',
-		img: 'https://img2.baidu.com/it/u=453253244,3693084626&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-	}, {
-		id: '5',
-		name: '马**',
-		phone: '181****5576',
-		img: 'https://c-ssl.dtstatic.com/uploads/item/202005/17/20200517225139_Awrwa.thumb.1000_0.jpeg'
-	}, {
-		id: '6',
-		name: '韩**',
-		phone: '181****5576',
-		img: 'https://c-ssl.dtstatic.com/uploads/item/202005/17/20200517225139_Awrwa.thumb.1000_0.jpeg'
-	}, {
-		id: '7',
-		name: '张**',
-		phone: '181****5576',
-		img: 'https://img0.baidu.com/it/u=2337762009,1252339875&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-	}, {
-		id: '8',
-		name: '杨**',
-		phone: '181****5576',
-		img: 'https://img0.baidu.com/it/u=2337762009,1252339875&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-	}, {
-		id: '9',
-		name: '张**',
-		phone: '18198045576',
-		img: 'https://img2.baidu.com/it/u=2638426337,2608406797&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-	}, {
-		id: '10',
-		name: '李**',
-		phone: '181****1176',
-		img: 'https://img2.baidu.com/it/u=2638426337,2608406797&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-	}, {
-		id: '11',
-		name: '陈**',
-		phone: '153****5576',
-		img: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201412%2F25%2F20141225133106_zjyfa.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1687677419&t=3464ddbfcb8ad0291ed5f38374f23869'
-	}, {
-		id: '12',
-		name: '李**',
-		phone: '131****5576',
-		img: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201412%2F25%2F20141225133106_zjyfa.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1687677419&t=3464ddbfcb8ad0291ed5f38374f23869'
-	}, {
-		id: '13',
-		name: '唐**',
-		phone: '181****3476',
-		img: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201412%2F25%2F20141225133106_zjyfa.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1687677419&t=3464ddbfcb8ad0291ed5f38374f23869'
-	}, {
-		id: '14',
-		name: '刘**',
-		phone: '181****5576',
-		img: 'https://img2.baidu.com/it/u=453253244,3693084626&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-	}, {
-		id: '15',
-		name: '秦**',
-		phone: '181****5576',
-		img: 'https://img2.baidu.com/it/u=453253244,3693084626&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-	}, {
-		id: '16',
-		name: '朱**',
-		phone: '181****5576',
-		img: 'https://c-ssl.dtstatic.com/uploads/item/202005/17/20200517225139_Awrwa.thumb.1000_0.jpeg'
-	}])
-	
-	// 地址数据形式
-	// const dataList = ref([{
-	// 	"id": 6,
-	// 	"code": "110101000000",
-	// 	"name": "东城区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "DC",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 10,
-	// 	"code": "110105000000",
-	// 	"name": "朝阳区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "CY",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 13,
-	// 	"code": "110106000000",
-	// 	"name": "丰台区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "FT",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 14,
-	// 	"code": "110107000000",
-	// 	"name": "石景山区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "SJS",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 15,
-	// 	"code": "110108000000",
-	// 	"name": "海淀区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "HD",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 16,
-	// 	"code": "110109000000",
-	// 	"name": "门头沟区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "MTG",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 19,
-	// 	"code": "110111000000",
-	// 	"name": "房山区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "FS",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 20,
-	// 	"code": "110112000000",
-	// 	"name": "通州区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "TZ",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 21,
-	// 	"code": "110113000000",
-	// 	"name": "顺义区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "SY",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 22,
-	// 	"code": "110114000000",
-	// 	"name": "昌平区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "CP",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 23,
-	// 	"code": "110115000000",
-	// 	"name": "大兴区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "DX",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 25,
-	// 	"code": "110116000000",
-	// 	"name": "怀柔区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "HR",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 26,
-	// 	"code": "110117000000",
-	// 	"name": "平谷区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "PG",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 27,
-	// 	"code": "110118000000",
-	// 	"name": "密云区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "MY",
-	// 	"deleted": 0
-	// }, {
-	// 	"id": 28,
-	// 	"code": "110119000000",
-	// 	"name": "延庆区",
-	// 	"parentCode": "110100000000",
-	// 	"level": 3,
-	// 	"abbr": "YQ",
-	// 	"deleted": 0
-	// }])
-	function itemclick(e) {
-		console.log('点击列表回调:', e)
-	}
-</script>
-<style lang="scss">
-	.content-block {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-		background-color: #fff;
-		.title {
-			color: #333;
-			padding: 20rpx;
-			margin-right: 20rpx;
-			display: flex;
-			flex-direction: column;
-			justify-content: center;
-		}
-		.btn {
-			color: #ccc;
-			padding: 10rpx;
-			border: 1rpx solid #ccc;
-			border-radius: 10rpx;
-			margin: 20rpx 10rpx;
-			font-size: 28rpx;
-			display: flex;
-			flex-direction: column;
-			justify-content: center;
-			
-		}
-	}
-</style>
-```
-### vue2使用
-``` ts
-export default {
-	data () {
-		return {
-			dataList: [{
-				id: '1',
-				name: '刘**',
-				phone: '181****5576',
-				img: 'https://img1.baidu.com/it/u=1016138010,1907110459&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300'
-			}, {
-				id: '2',
-				name: '王**',
-				phone: '181****5576',
-				img: 'https://img1.baidu.com/it/u=1016138010,1907110459&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300'
-			}, {
-				id: '3',
-				name: '黎**',
-				phone: '181****5576',
-				img: 'https://img2.baidu.com/it/u=453253244,3693084626&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-			}, {
-				id: '4',
-				name: '王**',
-				phone: '181****5576',
-				img: 'https://img2.baidu.com/it/u=453253244,3693084626&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500'
-			}]
-		}
-	},
-	methods: {
-		itemclick(e) {
-			console.log('点击列表回调:', e)
-		}
-	}
-}
-```
-### 属性说明
-| 名称                        | 类型           | 默认值                  | 描述           				|
-| ----------------------------|--------------- | ---------------------- | ----------------------|
-| dataList                    | Array          | []                     | 数据源									|
-| idKey                       | String         | id                     | 显示的主键key值				|
-| nameKey                     | String         | name                   | 显示的名字key值				|
-| phoneKey                    | String         | phone                  | 显示的电话key值				|
-| imgKey                      | String         | img                    | 显示的头像key值				|
-| radius                      | Number         | 4rpx                   | 头像圆角(rpx、px、%) 	|
-| showAvatar                  | Boolean        | true                   | 是否显示头像					 	|
-| isInterlock                 | Boolean        | false                  | 是否双向联动						|
-
-
-## Event 事件
-|事件名	|说明																										|类型	|回调参数	|
-|----		|----																										|----	|----			|
-|itemclick|菜单项item点击事件																		|emit	|Object		|
-
-### 预览
-
-***
-
-|                              (通信录演示效果)                  			 						|                      (地区选择演示效果)          										 						 |
-| :-----------------------------------------------------------------------------: | :------------------------------------------------------------------------------: |
-| ![](https://lixueshiaa.github.io/webtest/www/static/next-indexed-list-a.gif) 		| ![](https://lixueshiaa.github.io/webtest/www/static/next-indexed-list-b.gif) 		 |

BIN
uni_modules/next-indexed-xlist/static/noData.png


BIN
uni_modules/next-indexed-xlist/static/search.png


BIN
uni_modules/next-indexed-xlist/static/top.png