zouling 4 月之前
父節點
當前提交
ebdaa5d415
共有 100 個文件被更改,包括 3178 次插入18 次删除
  1. 27 1
      user_ui/components/box/list.vue
  2. 117 0
      user_ui/components/box/popup.vue
  3. 2 2
      user_ui/components/footer/footer.vue
  4. 181 0
      user_ui/health/components/box/list.vue
  5. 111 0
      user_ui/health/components/popup/popup.vue
  6. 354 0
      user_ui/health/pages/health/detail.vue
  7. 二進制
      user_ui/health/static/health/add.png
  8. 二進制
      user_ui/health/static/health/adr.png
  9. 二進制
      user_ui/health/static/health/car.png
  10. 二進制
      user_ui/health/static/health/heada.png
  11. 二進制
      user_ui/health/static/health/headb.png
  12. 二進制
      user_ui/health/static/health/headc.png
  13. 二進制
      user_ui/health/static/health/headd.png
  14. 二進制
      user_ui/health/static/health/heade.png
  15. 二進制
      user_ui/health/static/health/headf.png
  16. 二進制
      user_ui/health/static/health/hicoa.png
  17. 二進制
      user_ui/health/static/health/hicob.png
  18. 二進制
      user_ui/health/static/health/icon.png
  19. 二進制
      user_ui/health/static/health/search.png
  20. 9 0
      user_ui/manifest.json
  21. 68 3
      user_ui/mine/components/box/list.vue
  22. 78 0
      user_ui/mine/pages/delivery/detail.vue
  23. 130 0
      user_ui/mine/pages/delivery/index.vue
  24. 二進制
      user_ui/mine/static/house/adrs.png
  25. 二進制
      user_ui/mine/static/house/cara.png
  26. 二進制
      user_ui/mine/static/house/carb.png
  27. 二進制
      user_ui/mine/static/house/carc.png
  28. 二進制
      user_ui/mine/static/house/chara.png
  29. 二進制
      user_ui/mine/static/house/charb.png
  30. 二進制
      user_ui/mine/static/house/cmico.png
  31. 二進制
      user_ui/mine/static/house/house.png
  32. 二進制
      user_ui/mine/static/house/icon_tjcl_tjxny.png
  33. 二進制
      user_ui/mine/static/nodata.png
  34. 222 0
      user_ui/news/components/box/list.vue
  35. 411 0
      user_ui/news/components/popup/popup.vue
  36. 170 0
      user_ui/news/pages/complaint/add.vue
  37. 156 0
      user_ui/news/pages/complaint/detail.vue
  38. 148 0
      user_ui/news/pages/complaint/index.vue
  39. 242 0
      user_ui/news/pages/news/detail.vue
  40. 113 0
      user_ui/news/pages/news/newsadd.vue
  41. 130 0
      user_ui/news/pages/news/newsdj.vue
  42. 133 0
      user_ui/news/pages/news/newssq.vue
  43. 二進制
      user_ui/news/static/complaint/cira.png
  44. 二進制
      user_ui/news/static/complaint/cirb.png
  45. 二進制
      user_ui/news/static/complaint/hline.png
  46. 二進制
      user_ui/news/static/complaint/replay.png
  47. 二進制
      user_ui/news/static/news/eye.png
  48. 二進制
      user_ui/news/static/news/head.png
  49. 二進制
      user_ui/news/static/news/nicona.png
  50. 二進制
      user_ui/news/static/news/niconb.png
  51. 二進制
      user_ui/news/static/news/niconc.png
  52. 二進制
      user_ui/news/static/news/nicond.png
  53. 二進制
      user_ui/news/static/news/nicone.png
  54. 二進制
      user_ui/news/static/news/stara.png
  55. 二進制
      user_ui/news/static/news/starb.png
  56. 121 4
      user_ui/pages.json
  57. 220 0
      user_ui/pages/health/index.vue
  58. 29 8
      user_ui/pages/index/index.vue
  59. 二進制
      user_ui/static/images/close.png
  60. 二進制
      user_ui/static/images/head.png
  61. 二進制
      user_ui/static/images/health/hbg.png
  62. 二進制
      user_ui/static/images/health/hbga.png
  63. 二進制
      user_ui/static/images/health/hbgb.png
  64. 二進制
      user_ui/static/images/health/hbgc.png
  65. 二進制
      user_ui/static/images/health/heabox.png
  66. 二進制
      user_ui/static/images/health/more.png
  67. 二進制
      user_ui/static/images/health/rimg.png
  68. 二進制
      user_ui/static/images/home/adra.png
  69. 二進制
      user_ui/static/images/home/adrbg.png
  70. 二進制
      user_ui/static/images/home/cbga.png
  71. 二進制
      user_ui/static/images/home/cbgb.png
  72. 二進制
      user_ui/static/images/home/cir.png
  73. 二進制
      user_ui/static/images/home/deva.png
  74. 二進制
      user_ui/static/images/home/eye.png
  75. 二進制
      user_ui/static/images/home/htaba.png
  76. 二進制
      user_ui/static/images/home/htabb.png
  77. 二進制
      user_ui/static/images/home/htabc.png
  78. 二進制
      user_ui/static/images/home/htabd.png
  79. 二進制
      user_ui/static/images/home/htabe.png
  80. 二進制
      user_ui/static/images/home/htabf.png
  81. 二進制
      user_ui/static/images/home/htabg.png
  82. 二進制
      user_ui/static/images/home/htabh.png
  83. 二進制
      user_ui/static/images/home/htabi.png
  84. 二進制
      user_ui/static/images/home/htabj.png
  85. 二進制
      user_ui/static/images/home/htabk.png
  86. 二進制
      user_ui/static/images/home/htabl.png
  87. 二進制
      user_ui/static/images/home/jfico.png
  88. 二進制
      user_ui/static/images/home/lista.png
  89. 二進制
      user_ui/static/images/home/listb.png
  90. 二進制
      user_ui/static/images/home/listc.png
  91. 二進制
      user_ui/static/images/home/more.png
  92. 二進制
      user_ui/static/images/home/tips.png
  93. 二進制
      user_ui/static/images/home/voice.png
  94. 二進制
      user_ui/static/images/home/yhbg.png
  95. 二進制
      user_ui/static/images/neye.png
  96. 二進制
      user_ui/static/images/phicoa.png
  97. 二進制
      user_ui/static/images/phicob.png
  98. 二進制
      user_ui/static/images/up.png
  99. 二進制
      user_ui/static/images/wytit.png
  100. 6 0
      user_ui/static/index.html

+ 27 - 1
user_ui/components/box/list.vue

@@ -55,6 +55,22 @@
 				</view>
 			</view>
 		</block>
+		<!-- 康养 -->
+		<block v-if="type=='health'">
+			<view class="healthlist flexc" v-for="(ite,idx) in datainfo" :key="idx">
+				<view class="hlbox flex1">
+					<view class="tit overtwo">吃粗粮能够降血脂吗?这三种吃法让血糖不降反增</view>
+					<view class="flexc">
+						<view class="txt">2024-11-14</view>
+						<view class="flexc">
+							<image :src="eye" class="eyeimg"></image>
+							<view class="txt">1361</view>
+						</view>
+					</view>
+				</view>
+				<image :src="noiconpimg" class="hrimg"></image>
+			</view>
+		</block>
 		<view class="shax" v-if="wtdt">{{wtdt}}</view>
 	</block>
 	
@@ -206,7 +222,17 @@
 		.txt{font-weight: 500;font-size: 24rpx;color: #8F8F8F;line-height: 36rpx;}
 	}
 }
-
+// 康养
+.healthlist{
+	padding:26rpx 22rpx;border-bottom: 2rpx solid #E5E5E5;
+	.hlbox{
+		.tit{font-weight: bold;font-size: 28rpx;color: #272727;line-height:48rpx;margin-bottom: 10rpx;}
+		.txt{font-weight: 500;line-height: 36rpx;font-size: 22rpx;color: #AAAAAA;}
+		.eyeimg{width: 24rpx;height: 18rpx;margin-right: 10rpx;margin-left: 34rpx;}
+		
+	}
+	.hrimg{width: 210rpx;height: 138rpx;flex: 0 0 auto;margin-left: 36rpx;}
+}
 // 无数据
 .nodata{display: flex;flex-direction: column;align-items: center;
 	image{width: 440rpx;height: 440rpx;}

+ 117 - 0
user_ui/components/box/popup.vue

@@ -0,0 +1,117 @@
+<template>
+	<view>
+		<!-- 弹窗 -->
+		<view class="bgbox" @click="getClose" v-if="type"></view>
+		<view v-if="type=='wygj'" class="wygjbox">
+			<view class="wytop">
+				<image :src="wytit" class="imga"></image>
+				<image :src="head" class="imgb"></image>
+			</view>
+			<view class="wylist flexc">
+				<image :src="phicoa"></image>
+				<view>
+					<view class="co6 mb4">管家电话</view>
+					<view class="co27">18756900034</view>
+				</view>
+			</view>
+			<view class="wylist flexc">
+				<image :src="phicoa"></image>
+				<view>
+					<view class="co6 mb4">物业电话</view>
+					<view class="co27">0551-5688168</view>
+				</view>
+			</view>
+			<view class="wylist flexc">
+				<image :src="phicob"></image>
+				<view>
+					<view class="co6 mb4">投诉电话</view>
+					<view class="co27">18308560681</view>
+				</view>
+			</view>
+			<image :src="closeimg" class="closeimg" @click="getClose"></image>
+		</view>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import { getToken } from '@/utils/auth'
+	import {uploadmore} from '@/utils/common.js'
+	export default{
+		components:{},
+		props:{
+			type: {
+				type: String,
+				default () {
+					return ''
+				}
+			},
+			canres:{
+				type: Array,
+				default () {
+					return []
+				}
+			},
+			finshtype:{
+				type: [String,Number],
+				default () {
+					return ''
+				}
+			}
+		},
+		data(){
+			return{
+				baseUrl:config.baseUrl,
+				closeimg:require("@/static/images/close.png"),
+				head:require("@/static/images/head.png"),
+				phicoa:require("@/static/images/phicoa.png"),
+				phicob:require("@/static/images/phicob.png"),
+				wytit:require("@/static/images/wytit.png"),
+				// rimg: require('@/work/static/people/rimg.png'),
+				// headbg: require('@/work/static/service/headbg.png'),
+				datainfo:{
+					iszc:""
+				},
+				tabval:0,
+
+			}
+		},
+		mounted() {
+			this.baseUrl=baseUrl
+		},
+		watch:{
+			type(val){
+				// this.filelist=[];
+				// this.shtext='';
+				// this.isty='2';
+				// this.phofile=[];
+			}
+		},
+		methods:{
+			
+			getClose(){
+				this.$emit('getClose')
+			},
+			getSure(){
+				this.$emit('getSure')
+			},
+			
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>	
+.wygjbox{position: fixed;left:166rpx;right: 166rpx;background: linear-gradient(0deg, #FFFFFF, #FEF6E1);border-radius: 20rpx;padding: 26rpx 38rpx 12rpx;z-index: 10;top: 40%;transform: translateY(-50%);
+	.wytop{display: flex;align-items: flex-end;margin-bottom: 52rpx;
+		.imga{width: 230rpx;height: 74rpx;margin-right: 26rpx;}
+		.imgb{width: 86rpx;height: 86rpx;}
+	}
+	.wylist{padding-left: 34rpx;margin-bottom: 28rpx;
+		image{width: 34rpx;height: 34rpx;margin-right: 16rpx;flex: 0 0 auto;}
+		view{font-weight: 500;font-size: 26rpx;}
+	}
+}
+.closeimg{width: 34rpx;height: 34rpx;position: absolute;bottom: -52rpx;left: 50%;margin-left: -16rpx;}
+</style>

+ 2 - 2
user_ui/components/footer/footer.vue

@@ -52,7 +52,7 @@
 				if(module == 'home'){
 					this.$tab.reLaunch('/pages/index/index')
 				}else if(module == 'health'){
-					this.$tab.reLaunch('/pages/video/index')
+					this.$tab.reLaunch('/pages/health/index')
 				}else if(module == 'store'){
 					this.$tab.reLaunch('/pages/video/index')
 				}else if(module == 'mine'){
@@ -67,7 +67,7 @@
 
 
 <style type="text/css" lang="scss" scoped>
-    .com_footer{ display: flex;position: fixed;box-sizing: border-box;z-index: 98;width: 100%;height: 100rpx;bottom: 0;left: 0;background-color: #fff;overflow: hidden;box-shadow: 0px 0px 16rpx 0px rgba(87,87,87,0.41);}
+    .com_footer{ display: flex;position: fixed;box-sizing: border-box;z-index: 4;width: 100%;height: 100rpx;bottom: 0;left: 0;background-color: #fff;overflow: hidden;box-shadow: 0px 0px 16rpx 0px rgba(87,87,87,0.41);}
 	.com_footer .in_item{ display: block;flex: 1;padding: 12rpx 0 0 0;overflow: hidden; }
 	.com_footer .in_img{ display: block;width: 44rpx;height: 44rpx;margin: 0 auto; }
 	.com_footer .in_txt{ font-size: 24rpx;color: #999;text-align: center; font-weight: bold;}

+ 181 - 0
user_ui/health/components/box/list.vue

@@ -0,0 +1,181 @@
+<template>
+<view>
+	<!-- 第一种样式  人员管理-->
+	<block v-if="datainfo.length>0">
+		<!-- 人员管理 -->
+		<block v-if="type=='people'">
+			
+		</block>
+		<view class="shax">{{wtdt}}</view>
+	</block>
+	
+	<!-- 无数据 -->
+	<view class="nodata" v-else>
+		<image :src="noiconpimg"></image>
+		<view>
+			暂无数据
+		</view>
+	</view>
+</view>
+</template>
+
+<script>
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import config from '@/config'
+	export default{
+		props:{
+			datainfo: {
+				type: Array,
+				default () {
+					return []
+				}
+			},
+			wtdt:{
+				type:String,
+				default () {
+					return ''
+				}
+			},
+			type:{
+				type:String,
+				default () {
+					return 0
+				}
+			},
+			topval:{
+				type:String,
+				default () {
+					return ''
+				}
+			}
+		},
+		data(){
+			return{
+				noiconpimg:require("@/static/images/nodata.png"),
+				
+				
+				baseUrl:config.baseUrl,
+				delBtnWidth:66,//左滑默认宽度
+			}
+		},
+		mounted() {
+			
+		},
+		methods:{
+			checkPermi, checkRole,
+			getDetail(e){
+				this.$emit('getDetail',e)
+			},
+			getAddFn(e){
+				this.$emit('getAddFn',e)
+			},
+			getReadlist(e){
+				this.$emit('getReadlist',e)
+			},
+			getZhan(idx){
+				// var obj=JSON.parse(JSON.stringify(this.datainfo))[idx]
+				// obj.zhanflag=!obj.zhanflag;
+				// this.datainfo.splice(idx,1,obj);
+				this.datainfo[idx].zhanflag=!this.datainfo[idx].zhanflag
+			},
+			getPreview(idx,arr) {
+				var newArr=[];
+				arr.forEach(ite=>{
+					var ds=this.baseUrl+ite
+					newArr.push(ds)
+				})
+				uni.previewImage({
+					urls: newArr,
+					current:idx,
+					success: function(data) {},
+					fail: function(err) {}
+				});
+			},
+			//开始触摸滑动
+			drawStart(e) {
+				// console.log("开始触发");
+				var touch = e.touches[0];
+				this.startX = touch.clientX;
+			},
+			//触摸滑动
+			drawMove(e) {
+				// console.log("滑动");
+				for (var index in this.datainfo) {
+					// this.csListArrl[index].right=0
+					this.$set(this.datainfo[index],'right',0);
+				}
+				var idx=e.currentTarget.dataset.idx
+				var touch = e.touches[0];
+				var item = this.datainfo[idx];
+				var disX = this.startX - touch.clientX;
+				if (disX >= 20) {
+				        if (disX > this.delBtnWidth) {
+					    disX = this.delBtnWidth;
+				        }
+						// this.csListArrl[idx].right=disX
+				        this.$set(this.datainfo[idx],'right',disX);
+				} else {
+					// this.csListArrl[idx].right=0
+					this.$set(this.datainfo[idx],'right',0);
+				}
+			},
+			//触摸滑动结束
+			drawEnd(e) {
+				// console.log("滑动结束");
+				var idx=e.currentTarget.dataset.idx
+				var item = this.datainfo[idx];
+				if (item.right >= this.delBtnWidth / 2) {
+					// this.datainfo[idx].right=this.delBtnWidth
+					this.$set(this.datainfo[idx],'right',this.delBtnWidth);
+				} else {
+					this.datainfo[idx].right=0
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+.flex{display: flex;}
+.flexc{display: flex;align-items: center;}
+.mb10{margin-bottom: 20rpx;}
+.carlist{background: #FFFFFF;border-radius: 20rpx;margin-bottom: 24rpx;
+	.ctop{border-bottom: 2rpx solid #E5E5E5;padding: 24rpx 24rpx 22rpx;
+		.imgs{width: 40rpx;height: 42rpx;margin-right: 32rpx;}
+		.tit{font-size: 30rpx;color: #272727;font-weight: bold;margin-right: 20rpx;}
+		.txt{font-weight: 500;font-size: 26rpx;
+			&.ca{color: #3565ED;}
+			&.cb{color: #FE5A0E;}	
+			&.cc{color: #28C529;}	
+		}
+		.txta{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
+		.num{font-size: 24rpx;color: #AAAAAA;}
+	}
+	.plists{padding: 30rpx 24rpx 6rpx;
+		.plist{background: linear-gradient(-90deg, #F2F5FF 0%, #FBFDFF 100%);border-radius: 20rpx;border: 2rpx solid #E6E6E6;margin-bottom: 24rpx;padding: 18rpx 26rpx 4rpx;display: flex;
+		.head{width: 96rpx;height: 98rpx;margin-right: 32rpx;flex: 0 0 auto;margin-top: 36rpx;}
+		.ptit{font-weight: bold;font-size: 30rpx;color: #272727;display: flex;align-items: center;margin-bottom: 14rpx;}	
+		.ptxt{font-weight: 500;font-size: 26rpx;color: #666666;line-height: 36rpx;margin-bottom: 14rpx;min-width: 176rpx;}
+		}
+	}
+	.upimg{width: 26rpx;height: 22rpx;display: block;transform: rotate(180deg);transition: all 0.3s;margin: 0 auto 18rpx;
+		&.act{transform: rotate(0deg);}
+	}
+	.btn{height: 34rpx;border-radius: 18rpx;display: flex;align-items: center;justify-content: center;padding: 0 10rpx;font-size: 22rpx;margin-right: 24rpx;
+		&.btna{border: 2rpx solid #06C770;color: #06C770;}
+		&.btnb{border: 2rpx solid #3565ED;color: #3565ED;}
+		&.btnc{border: 2rpx solid #FE5A0E;color: #FE5A0E;}
+		&.btnbga{border: 1px solid #0156FE;color: #3565ED;background: #DFEAFF;height: 36rpx;}
+		&.btnbgb{border: 1px solid #C1C1C1;color: #666666;background: #F1F1F1;height: 36rpx;}
+		&.btnbgc{border: 1px solid #FE5A0E;color:#FE5A0E;background:#FFEEE6;height: 36rpx;}
+	}
+}
+
+
+
+// 无数据
+.nodata{display: flex;flex-direction: column;align-items: center;
+	image{width: 440rpx;height: 440rpx;}
+	view{font-size: 30rpx;color: #666666;font-weight: bold;}
+}
+</style>

+ 111 - 0
user_ui/health/components/popup/popup.vue

@@ -0,0 +1,111 @@
+<template>
+	<view>
+		<!-- 弹窗 -->
+		<view class="bgbox" @click="getClose" v-if="type"></view>
+		<!-- 健康码 -->
+		<view v-if="type=='code'" class="codebox">
+			<view>健康码</view>
+			<image :src="closeimg"></image>
+			<view>
+				<image :src="downimg"></image>
+				保存健康码至手机
+			</view>
+			<image :src="closeimg"></image>
+		</view>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import { getToken } from '@/utils/auth'
+	import {uploadmore} from '@/utils/common.js'
+	export default{
+		components:{},
+		props:{
+			type: {
+				type: String,
+				default () {
+					return ''
+				}
+			},
+			finshtype:{
+				type: [String,Number],
+				default () {
+					return ''
+				}
+			}
+		},
+		data(){
+			return{
+				baseUrl:config.baseUrl,
+				closeimg:require("@/static/images/close.png"),
+				downimg:require("@/health/static/images/close.png"),
+				syqxidx:'',
+				datainfo:{
+					iszc:""
+				},
+				sexs: [{
+					text: '男',
+					value: 0
+				}, {
+					text: '女',
+					value: 1
+				}],
+				peoval:0,
+				peolist:[{name:'王安安',val:"0",type:0},{name:'刘柠溪',val:"1",type:1},{name:'王合一',val:"2",type:0},]
+			}
+		},
+		mounted() {
+			this.baseUrl=baseUrl
+		},
+		watch:{
+			type(val){
+				// this.filelist=[];
+				// this.shtext='';
+				// this.isty='2';
+				// this.phofile=[];
+			}
+		},
+		methods:{
+			bindDateChange(){
+				var val=e.detail.value;
+			},
+			getClose(){
+				this.$emit('getClose')
+			},
+			getSure(){
+				this.$emit('getSure')
+			},
+			getChose(val){
+				this.peoval=val
+			},
+			getPreviewImage(arr,idx){
+				var newArr=[];
+				arr.forEach(ite=>{
+					var ds=this.baseUrl+ite
+					newArr.push(ds)
+				})
+				uni.previewImage({
+					urls: newArr,
+					current:idx,
+					success: function(data) {
+						
+					},
+					fail: function(err) {
+						
+					}
+				});
+			},	
+		}
+	}
+</script>
+
+<style lang="scss" scoped>	
+// 指派
+.codebox{width: 470rpx;height: 620rpx;background: #FFFFFF;border-radius: 20rpx;
+	padding: 44rpx 36rpx;position: fixed;left:140rpx;top: 40%;transform: translateY(-235rpx);
+
+}
+.closeimg{width: 32rpx;height: 32rpx;position: absolute;bottom: -62rpx;left: 50%;margin-left: -16rpx;}
+</style>

+ 354 - 0
user_ui/health/pages/health/detail.vue

@@ -0,0 +1,354 @@
+<template>
+  <view class="hdetail" :style="'padding-top:'+nvaHeight+'px;'">
+		<view class="navbox">
+			<uni-nav-bar  color="#ffffff" title="健康档案"  :background-color="backgroundColor" :border="false" statusBar='true' fixed="true" @clickLeft="getBackFn">
+			</uni-nav-bar>
+			<!-- 家人 -->
+			<view class="headbox flexc" :style="'backgroundColor:'+backgroundColor">
+				<view class="htop" :class="tabval==idx?'act':''" v-for="(ite,idx) in list" :key="idx" @click="getTabFn(idx)">
+					<view class="img"><image :src="heada" class="imaga"></image></view>
+					<view class="tit">{{ite.tit}}</view>
+				</view>
+				<view class="htop"  @click="getAddFn">
+					<view class="img add"><image :src="addimg"></image></view>
+					<view class="tit">添加</view>
+				</view>
+				
+			</view>
+		</view>
+		<!-- 主体 -->
+		<view class="wymain" >
+			<view class="headbox flexc" style="opacity: 0;">
+				<view class="htop">
+					<view class="img"><image :src="heada" class="imaga"></image></view>
+					<view class="tit">户主</view>
+				</view>
+			</view>
+			<view class="hmain">
+				<view class="hmtop mb20">
+					<image :src="heada" class="head"></image>
+					<view class="hmtopa flex1">
+						<view class="flex mb14">
+							<view class="tit">袁玥</view>
+							<view class="btn btna">本人</view>
+							<view class="btn btnb">党员</view>
+							<view class="btn btnc">五保户</view>
+						</view>
+						<view class="hmtopb flexc mb10">
+							<image :src="car" class="limg"></image>
+							<view >
+								<view class="hmtit">身份证号</view>
+								<view class="hmtxt flexc">
+									<view class="hmtxts">{{lookfalg?cartit:carpass}}</view>
+								<image :src="eye" v-if="lookfalg" @click="lookfalg=false"></image>
+								<image :src="neye" v-else @click="lookfalg=true"></image>
+								
+								</view>
+							</view>
+						</view>
+						<view class="hmtopb flexc ">
+							<image :src="adr" class="limg"></image>
+							<view >
+								<view class="hmtit">家庭住址</view>
+								<view class="hmtxt">幸福小区1号楼3单元1101</view>
+							</view>
+						</view>
+					</view>
+					<view class="code" @click="getCodeFn">
+						<image :src="headb"></image>
+						<view>点击放大二维码</view>
+					</view>
+				</view>
+				<view class="hline mb18 flexc">
+					<view class="tit">MORE</view>
+					<view class="line"></view>
+				</view>
+				<view class="detail mb24">
+					<view class="detop mb14">
+						<image :src="icon"></image>
+						<view class="flexcj detit">基础信息<view class="detxt">更新时间:2024-10-24</view></view>
+					</view>
+					<view class="dlists">
+						<view class="lists">
+							<view class="ltit">性别</view><view class="ltxt">女</view>
+						</view>
+						<view class="lists">
+							<view class="ltit">年龄</view><view class="ltxt">38岁</view>
+						</view>
+						<view class="lists">
+							<view class="ltit">血型</view><view class="ltxt">B型</view>
+						</view>
+						<view class="lists">
+							<view class="ltit">血压</view><view class="ltxt">65/120mmHg</view>
+						</view>
+						<block v-if="zhanList[0].zhanflag">
+							<view class="lists">
+								<view class="ltit">身高</view><view class="ltxt">165cm</view>
+							</view>
+							<view class="lists">
+								<view class="ltit">体重</view><view class="ltxt">67kg</view>
+							</view>
+							<view class="lists">
+								<view class="ltit">腰围</view><view class="ltxt">85cm</view>
+							</view>
+							<view class="lists">
+								<view class="ltit">体质指数</view><view class="ltxt">142kg/m2</view>
+							</view>
+							<view class="lists">
+								<view class="ltit">脉搏</view><view class="ltxt">90bpm</view>
+							</view>
+							<view class="lists">
+								<view class="ltit">体温</view><view class="ltxt">36.4℃</view>
+							</view>
+							<view class="lists">
+								<view class="ltit">呼吸频率</view><view class="ltxt">50次/分钟</view>
+							</view>
+						</block>
+					</view>
+					<view class="upbox" @click="getZhanFn(0)">
+						<view>{{zhanList[0].zhanflag?'折叠':'展开'}}</view>
+						<image :src="upimg" :class="zhanList[0].zhanflag?'':'zhe'"></image>
+					</view>
+				</view>
+				<view class="detail mb24">
+					<view class="detop mb14">
+						<image :src="icon"></image>
+						<view class="flexcj detit">健康病史<view class="detxt">更新时间:2024-10-24</view></view>
+					</view>
+					<view class="dlists">
+						<view class="lists w100">
+							<view class="ltit">基础疾病</view><view class="ltxt">慢性支气管炎</view>
+						</view>
+						<view class="lists w100">
+							<view class="ltit">病史</view><view class="ltxt">高血压、高血糖、甲状腺结节 拷贝</view>
+						</view>
+						<block v-if="zhanList[1].zhanflag">
+							<view class="lists">
+								<view class="ltit">近视/远视</view><view class="ltxt">近视</view>
+							</view>
+							<view class="lists">
+								<view class="ltit">近视/远视度数</view><view class="ltxt">左:375 右:400</view>
+							</view>
+						</block>
+					</view>
+					<view class="upbox" @click="getZhanFn(1)">
+						<view>{{zhanList[1].zhanflag?'折叠':'展开'}}</view>
+						<image :src="upimg" :class="zhanList[1].zhanflag?'':'zhe'"></image>
+					</view>
+				</view>
+				<view class="detail">
+					<view class="detop mb14">
+						<image :src="icon"></image>
+						<view class="flexcj detit">兴趣爱好<view class="detxt">更新时间:2024-10-24</view></view>
+					</view>
+					<view class="dlists">
+						<view class="lists w100">
+							<view class="ltit">兴趣爱好</view>
+							<view class="ltxt">喜欢运动,经常参加马拉松比赛</view>
+							<view class="ltxt">平时也好书法,参加书法展</view>
+						</view>
+					</view>
+				</view>
+				<view class="dbtns flexcj mt55">
+					<view class="btna">删除档案</view>
+					<view class="btnb">修改档案</view>
+				</view>
+			</view>
+		</view>
+	<loading></loading>
+	<pop-up :type="type" @getClose='getClose'></pop-up>
+  </view>
+</template>
+
+<script>
+	import popUp from "@/health/components/popup/popup.vue"
+  export default {
+	components:{popUp},
+	data(){
+		return{
+			nvaHeight:44,
+			// activeColor:'#A7CDF9',
+			// nactiveColor:'#DADADA',
+			backgroundColor: "transparent",
+			heada:require("@/health/static/health/heada.png"),
+			headb:require("@/health/static/health/headb.png"),
+			headc:require("@/health/static/health/headc.png"),
+			headd:require("@/health/static/health/headd.png"),
+			heade:require("@/health/static/health/heade.png"),
+			headf:require("@/health/static/health/headf.png"),
+			adr:require("@/health/static/health/adr.png"),
+			car:require("@/health/static/health/car.png"),
+			icon:require("@/health/static/health/icon.png"),
+			addimg:require("@/health/static/health/add.png"),
+			eye:require("@/static/images/home/eye.png"),
+			neye:require("@/static/images/neye.png"),
+			upimg:require("@/static/images/up.png"),
+			lookfalg:false,	
+			tabval:0,
+			cartit:'378554199010206016',
+			carpass:'3********6',
+			list:[{tit:'户主'},{tit:'丈夫'},{tit:'儿子'},{tit:'女儿'},{tit:'婆婆'},{tit:'公公'},],
+			datainfo:{
+				
+			},
+			zhanList:[{zhanflag:true},{zhanflag:true},{zhanflag:true},{zhanflag:true}],
+		}
+	},
+	watch:{
+		lookfalg(val){
+			if(val){
+				
+			}
+		}
+	},
+	onPageScroll(e) {
+		var scrollTop = Number(e.scrollTop);
+		if (scrollTop > 0) {
+			this.backgroundColor = '#48CC9A'
+		} else {
+			this.backgroundColor = 'transparent'
+		}
+	},
+    onLoad: function() {
+		uni.getSystemInfo({
+			success: (e) => {
+				this.nvaHeight = Number(e.statusBarHeight)+44;
+			}
+		})
+    },
+	methods:{	
+		getClose(){
+			this.type="";
+		},
+		getCodeFn(){
+			this.type='code'
+		},
+		getZhanFn(idx){
+			this.zhanList[idx].zhanflag=!this.zhanList[idx].zhanflag
+		},
+		getBackFn(){
+			uni.navigateBack({
+				delta:1
+			})
+		},
+		getCode(code){
+			var idCard='123456789'
+			const firstPart = idCard.slice(0, 1);  
+			  // 生成中间8位的星号  
+			  const middlePart = '*'.repeat(idCard.length-2);  
+			  // 获取后4位  
+			  const lastPart = idCard.slice(idCard.length-1); 
+			  var s= firstPart + middlePart + lastPart;
+			  console.log(s)
+			  // return firstPart + middlePart + lastPart;
+		},
+		getTabFn(val){
+			this.tabval=val;
+		},
+		getDataFn(){
+			var params={
+				pageSize:this.pageSize,
+				pageNum: this.pageNum,
+			}
+			params.noticeType=this.tabidx
+			getNoticeList(params).then(res=>{
+				if(res.code==200){
+					
+				}else{
+					this.$toast(res.msg)
+				}
+			})
+			
+		},
+		
+	}
+  }
+</script>
+<style>
+	page{background:#F4F6F8;}
+</style>
+<style lang="scss" scoped>
+.w100{width: 100%;}
+.hdetail{
+	background: linear-gradient(180deg, #45CB99 0%, rgba(238,227,197,0) 100%) no-repeat;background-size: 100% 782rpx;min-height: 100vh;box-sizing: border-box;
+}
+.headbox{padding: 14rpx 20rpx 20rpx;overflow: auto;
+	.htop{display: flex;flex-direction: column;align-items: center;margin: 0 16rpx;
+		.img{width: 88rpx;height: 88rpx;border-radius: 50%;border: 8rpx solid #D4F6E5;margin-bottom: 16rpx;display: flex;align-items: center;justify-content: center;box-sizing: border-box;
+		&.add{border: none;
+			image{width: 86rpx;height: 86rpx;}
+		}
+			image{border-radius: 50%;}
+			.imaga{width: 70rpx;height: 74rpx;}
+			.imagb{width: 70rpx;height: 72rpx;}
+			.imagc{width: 70rpx;height: 76rpx;}
+			.imagd{width: 70rpx;height: 70rpx;}
+			.image{width: 70rpx;height: 74rpx;}
+		}
+		.tit{font-weight: 500;font-size: 22rpx;color: #3FA47D;}
+		&.act{
+			.tit{font-weight: bold;color: #FFFFFF;}
+		}
+	}
+}
+.navbox{position: fixed;left: 0;right: 0;top: 0;z-index: 4;	}
+.wymain{z-index: 2;position: relative;padding: 0 24rpx 24rpx;}
+.hmain{background: #FFFFFF;border-radius: 20rpx;padding: 32rpx 24rpx 44rpx;
+	.hmtop{display: flex;
+		.head{width: 60rpx;height: 60rpx;border-radius: 8rpx;flex: 0 0 auto;margin-right: 28rpx;}
+		.hmtopa{
+			.tit{font-weight: bold;font-size: 32rpx;
+color: #272727;}
+			.btn{font-weight: bold;font-size: 22rpx;min-width: 64rpx;height: 30rpx;padding: 0 10rpx;box-sizing: border-box;margin-left: 14rpx;border-radius: 16rpx;display: flex;align-items: center;justify-content: center;margin-top: 6rpx;color: #FFFFFF;
+			&.btna{border: 2rpx solid #2589FF;color: #2589FF;}
+			&.btnb{background:#FF6969;}
+			&.btnc{background:#F6C576;}
+			}
+		}
+		.hmtopb{
+			image{flex: 0 0 auto;}
+			.limg{width: 46rpx;height: 46rpx;margin-right: 22rpx;}
+			.hmtit{font-size: 26rpx;color: #AAAAAA;font-weight: 500;margin-bottom: 4rpx;}
+			.hmtxt{font-size: 26rpx;color: #272727;font-weight: 500;
+				.hmtxts{min-width: 270rpx;}
+			 image{width: 26rpx;height: 18rpx;margin-left: 16rpx;
+				// image{width: 100%;height: 100%;}
+			 }
+			}
+		}
+		.code{flex:0 0 auto;
+			view{font-weight: 500;font-size: 20rpx;color: #AAAAAA;}
+			image{width: 132rpx;height: 132rpx;margin-bottom: 10rpx;}
+		}
+	}
+	.hline{
+		.tit{font-weight: bold;font-size: 20rpx;color: #48CB9B;font-style: italic;margin-right: 22rpx;flex: 0 0 auto;}
+		.line{flex: 1;border-bottom: 2rpx solid #E6E6E6;}
+	}	
+	.detail{
+		.detop{position: relative;
+			image{width: 30rpx;height: 30rpx;position: absolute;left: 0;top: 7rpx;z-index: 0;}
+			.detit{font-size: 16px;color: #272727;font-weight: bold;line-height: 44rpx;padding-left: 10rpx;position: relative;z-index: 2;}
+			.detxt{font-weight: 500;font-size: 22rpx;color: #666666;line-height: 36rpx;}
+		}
+	}
+	.dlists{display: flex;align-items: center;flex-wrap: wrap;
+		.lists{line-height: 36rpx;padding: 12rpx 0 12rpx 12rpx;min-width: 23%;box-sizing: border-box;
+			.ltit{font-weight: 500;font-size: 26rpx;color: #AAAAAA;margin-bottom: 4rpx;}
+			.ltxt{font-weight: 500;font-size: 26rpx;color: #272727;}
+		}
+	}
+}
+.upbox{display: flex;align-items: center;justify-content: center;margin-top: 8rpx;padding: 10rpx 0;
+		image{width: 24rpx;height: 20rpx;transition: all 0.3s;margin-left: 14rpx;
+			&.zhe{transform: rotate(-180deg);}
+		}
+		view{font-weight: 500;font-size: 22rpx;color: #AAAAAA;}
+	}
+.dbtns{
+	view{width: 314rpx;box-sizing: border-box;display: flex;align-items: center;justify-content: center;font-weight: bold;font-size: 26rpx;height: 88rpx;border-radius: 10px;
+	&.btna{border: 1px solid #FF6969;background: #FFEEEE;color: #FF6969;}
+	&.btnb{background: #46CB99;color: #FFFFFF;}
+	}
+}
+</style>

二進制
user_ui/health/static/health/add.png


二進制
user_ui/health/static/health/adr.png


二進制
user_ui/health/static/health/car.png


二進制
user_ui/health/static/health/heada.png


二進制
user_ui/health/static/health/headb.png


二進制
user_ui/health/static/health/headc.png


二進制
user_ui/health/static/health/headd.png


二進制
user_ui/health/static/health/heade.png


二進制
user_ui/health/static/health/headf.png


二進制
user_ui/health/static/health/hicoa.png


二進制
user_ui/health/static/health/hicob.png


二進制
user_ui/health/static/health/icon.png


二進制
user_ui/health/static/health/search.png


+ 9 - 0
user_ui/manifest.json

@@ -64,6 +64,15 @@
         "router" : {
             "mode" : "history",
             "base" : ""
+        },
+        "sdkConfigs" : {
+            "maps" : {
+                "amap" : {
+                    "key" : "fba818d626f91cf5a13cd61943a7667e",
+                    "securityJsCode" : "b06df55c66884ce2c9a3f3281c2c5ca9",
+                    "serviceHost" : ""
+                }
+            }
         }
     }
 }

+ 68 - 3
user_ui/mine/components/box/list.vue

@@ -40,6 +40,49 @@
 				</view>
 			</view>
 		</block>
+		<!-- 快递 -->
+		<block v-if="type=='delivery'">
+			<view class="kdlists flex" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail">
+				<image :src="noiconpimg" class="kdll"></image>	
+				<view class="kdlr over flex1">
+					<view class="over tit">已发货</view>
+					<view class="over tits">包裹正在等待揽收</view>
+					<view class="over txt">淘宝 | 白色晚礼服平时可穿毕业洋装小白裙…</view>
+				</view>
+			</view>
+		</block>
+		<!-- 步骤条 -->
+		<block v-if="type=='kdstep'">
+			<view class="hfstep">
+				<view class="hfslist flex">
+					<view class="limg flexccc">
+						<image :src="cira" class="imga"></image>
+					</view>
+					<view class="flex1">
+						<view class="hfstit co01">运输中 11-25  12:24</view>
+						<view class="hfstxt co27">【合肥市】快件已到达 合肥蜀山新产业园</view>
+					</view>
+				</view>
+				<view class="hfslist flex">
+					<view class="limg flexccc">
+						<image :src="cirb" class="imgb"></image>
+					</view>
+					<view class="flex1">
+						<view class="hfstit">11-25  07:23</view>
+						<view class="hfstxt">【合肥市】快件已发往 合肥蜀山新产业园</view>
+					</view>
+				</view>
+				<view class="hfslist flex">
+					<view class="limg flexccc">
+						<image :src="cirb" class="imgb"></image>
+					</view>
+					<view class="flex1">
+						<view class="hfstit">11-25  07:20</view>
+						<view class="hfstxt">【合肥市】快件已到达 合肥转运中心</view>
+					</view>
+				</view>
+			</view>
+		</block>
 		<view class="shax" v-if="wtdt">{{wtdt}}</view>
 	</block>
 	<!-- 无数据 -->
@@ -83,11 +126,12 @@
 		},
 		data(){
 			return{
-				noiconpimg:require("@/mine/static/nodata.png"),
+				noiconpimg:require("@/static/images/nodata.png"),
 				cara:require("@/mine/static/house/cara.png"),
 				carb:require("@/mine/static/house/carb.png"),
 				edit:require("@/mine/static/edit.png"),
-				
+				cira:require('@/news/static/complaint/cira.png'),
+				cirb:require('@/news/static/complaint/cirb.png'),
 				baseUrl:config.baseUrl,
 				
 			}
@@ -97,7 +141,7 @@
 		},
 		methods:{
 			getDetail(e){
-				this.$emit('getdetail',e)
+				this.$emit('getDetail',e)
 			},
 			getPreview(idx,arr) {
 				var newArr=[];
@@ -150,6 +194,27 @@ border-radius: 10rpx;}
 		.txts{color: #0256FD;}
 	}
 }
+// 快递
+.kdlists{padding: 24rpx 26rpx;background-color: #FFFFFF;border-radius: 20rpx;margin-bottom: 24rpx;
+	.kdll{width: 140rpx;height: 140rpx;border-radius: 10rpx;margin-right: 32rpx;flex: 0 0 auto;}
+	.kdlr{
+		.tit{font-size: 30rpx;color: #272727;font-weight: bold;margin-bottom: 18rpx;margin-top: 4rpx;}
+		.tits{font-size: 24rpx;color: #272727;font-weight: 500;margin-bottom: 14rpx;}
+		.txt{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
+	}
+}
+// 快递步骤条
+.hfstep{padding: 0 32rpx 44rpx 32rpx;
+	.hfslist{padding-bottom: 44rpx;position: relative;
+		&::before{content: '';position: absolute;left: 14rpx;top:14rpx;height: 100%;width: 2rpx;background: #E6E6E6;}
+		.limg{width: 30rpx;height: 30rpx;margin-right: 22rpx;flex: 0 0 auto;margin-top:3rpx;
+			.imga{width: 30rpx;height: 30rpx;}
+			.imgb{width: 18rpx;height: 18rpx;}
+		}
+		.hfstit{font-weight: bold;font-size: 26rpx;color: #666666;line-height: 36rpx;margin-bottom: 24rpx;}
+		.hfstxt{font-weight: 500;font-size: 26rpx;color: #666666;line-height: 36rpx;padding-left: 8rpx;}
+	}
+}
 // 无数据
 .nodata{display: flex;flex-direction: column;align-items: center;
 	image{width: 440rpx;height: 440rpx;}

+ 78 - 0
user_ui/mine/pages/delivery/detail.vue

@@ -0,0 +1,78 @@
+<template>
+	<view class="kdetail">
+		<view class="ktop flex">
+			<image :src="cirimg"></image>
+			<view>
+				<view class="tit mb8">中通快递</view>
+				<view class="txt flex">运单号:76445851125416587  <view class="btns">复制</view></view>
+			</view>
+		</view>
+		<view class="ktop">
+			<view class="stit mb20">以下数据由 <text class="co01">中通快递</text> 提供</view>			
+			<box-step type="kdstep" :datainfo="list"></box-step>
+		</view>
+		
+	<loading></loading>	
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import boxStep from "@/mine/components/box/list.vue"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{boxStep},
+		data(){
+			return{
+				type:'kdstep',
+				list:[{tit:'123'}],
+				cirimg:require("@/static/images/home/cir.png"),
+			}
+		},
+		onLoad: function() {
+		
+		},
+		
+		methods:{
+			checkPermi, checkRole,
+			// getNextFn(){
+			// 	this.$tab.navigateTo("/work/pages/business/add")
+			// },
+			
+			getDataFn(){
+				return
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				params.noticeType=this.tabidx
+				getNoticeList(params).then(res=>{
+					if(res.code==200){
+						
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+				
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.kdetail{
+	min-height: 100vh;padding: 20rpx 18rpx 100rpx;
+	.ktop{background: #FFFFFF;margin-bottom: 24rpx;border-radius: 20px;padding: 24rpx 26rpx;
+		image{width: 104rpx;height: 104rpx;margin-right: 30rpx;}
+		.tit{font-weight: bold;font-size: 30rpx;color: #272727;margin-top: 8rpx;}
+		.txt{font-weight: 500;font-size: 24rpx;color: #272727;}
+		.btns{color: #0156FE;}
+	}
+	.stit{font-weight: 500;text-align: center;font-size: 24rpx;color: #AAAAAA;padding-top: 4rpx;
+		text{margin: 0 10rpx;}
+	}
+}
+</style>

+ 130 - 0
user_ui/mine/pages/delivery/index.vue

@@ -0,0 +1,130 @@
+<template>
+	<view class="car">
+		<view class="cartop">
+			<!-- <view class="toptit">
+				<image :src="djtop"></image>本社区党员共<text>367</text>人
+			</view> -->
+			<view class="tabtop flexc">
+				<view class="tabt" :class="ttopval==ite.val?'act':''" v-for="(ite,idx) in ttoplist" :key="idx" @click="getTabtop(ite.val)">{{ite.tit}}</view>
+			</view>
+		</view>
+		<!-- 列表 -->
+		<view class="carlists">
+			<box-list :datainfo="list" :topval="ttopval" :wtdt="wtdt" type='delivery' @getDetail="getDetail"></box-list>
+		</view>
+		<loading></loading>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import boxList from "@/mine/components/box/list.vue"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{boxList},
+		data(){
+			return{
+				cxrq:"",
+				text:'',
+				list:[{tit:'皖A IC520',type:1,right:0},{tit:'晋E KD783',type:2,right:0},],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				ttopval:'0',
+				ttoplist:[{tit:'在途快递',val:0},{tit:'最近签收',val:1}]
+			}
+		},
+		onLoad: function() {
+		
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods:{
+			checkPermi, checkRole,
+			getDetail(){
+				this.$tab.navigateTo("/mine/pages/delivery/detail")
+			},
+			getTabtop(val){
+				this.ttopval=val
+			},
+			getrefreshData(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getTabFn(val){
+				this.tabval=val
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.cxrq=val;
+			},
+			getDataFn(){
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				params.noticeType=this.tabidx
+				getNoticeList(params).then(res=>{
+					if(res.code==200){
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = ''
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						var newArr=JSON.parse(JSON.stringify(res.rows))
+						newArr.forEach(ite=>{
+							ite.right=0;
+						})
+						// console.log(newArr,555)
+						if (this.pageNum == 1) {
+							this.list = newArr;
+						} else {
+							this.list = this.list.concat(newArr)
+						}
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+				
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.car{padding: 134rpx 0 10rpx;}
+.cartop{position: fixed;left: 0;right: 0;top: 0;background-color: #ffffff;z-index: 2;
+	.toptit{display: flex;justify-content: center;font-weight: 500;font-size: 26rpx;color: #8592AA;height: 70rpx;align-items: center;
+background: #E4EDFF;
+		text{font-size: 32rpx;color: #0156FE;padding: 0 10rpx;}
+		image{width: 28rpx;height: 26rpx;flex: 0 0 auto;margin-right: 12rpx;}
+	}
+	.tabtop{padding-bottom: 40rpx;padding-top: 14rpx;
+		.tabt{font-weight: 500;font-size: 32rpx;color: #666666;position: relative;line-height: 56rpx;padding: 0 40rpx;
+			&.act{font-weight: bold;font-size: 32rpx;color: #272727;
+			&::after{content: '';width: 40rpx;height: 10rpx;background: #0156FE;border-radius: 6rpx;position: absolute;left: 50%;margin-left: -20rpx;bottom: -10rpx;}
+			}
+		}
+	}
+}
+.carlists{padding: 0 18rpx;}
+</style>

二進制
user_ui/mine/static/house/adrs.png


二進制
user_ui/mine/static/house/cara.png


二進制
user_ui/mine/static/house/carb.png


二進制
user_ui/mine/static/house/carc.png


二進制
user_ui/mine/static/house/chara.png


二進制
user_ui/mine/static/house/charb.png


二進制
user_ui/mine/static/house/cmico.png


二進制
user_ui/mine/static/house/house.png


二進制
user_ui/mine/static/house/icon_tjcl_tjxny.png


二進制
user_ui/mine/static/nodata.png


+ 222 - 0
user_ui/news/components/box/list.vue

@@ -0,0 +1,222 @@
+<template>
+<view>
+	<!-- 第一种样式  人员管理-->
+	<block v-if="datainfo.length>0">
+		<!-- 社区资讯 -->
+		<block v-if="type=='newssq'">
+			<view class="walists" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail">
+				<view class="watop">
+					<view class="watit">
+						<view class="tit">物业服务费缴费公告<text class="cir"></text></view>
+					</view>
+					<view class="wacoma overtwo">尊敬的各位业主:为更好地提供优质小区环境,保障小区 公共区域设施设备正常的运行,现收取2024年度物业…</view>
+					<view class="wacomb">2024-11-18 08:16:54</view>
+				</view>
+				<view class="wabtn">
+					<view>查看详情</view>
+					<image :src="rimg"></image>
+				</view>
+			</view>
+		</block>
+		<!-- 投诉建议 -->
+		<block v-if="type=='complaint'">
+			<view class="walists" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail"
+				:data-idx="idx"
+				@touchstart="drawStart" @touchmove="drawMove" @touchend="drawEnd" :style="'right:'+ite.right+'px'"
+			>
+				<view class="watop watopcom">
+					<view class="watit">
+						<view class="tit">小区电梯老化</view>
+						<view class="txt co01" v-if="ite.type==1">待回复</view>
+						<view class="txt coa" v-if="ite.type==2">已回复</view>
+					</view>
+					<view class="wacoma overtwo">小区电梯时常发生问题,请物业派维修人员进行安全检 查,若无法排除问题,建议更换小区的电梯设备,避…</view>
+					<view class="wacomb">2024-11-18 08:16:54</view>
+				</view>
+				<!--  -->
+				<view class="spdel" v-if="ite.right>0" @click.stop="getDelFn()">删除</view>
+			</view>
+			<!-- checkPermi(['system:menuFood:remove'])&& -->
+			
+		</block>
+		<!-- 党建资讯 -->
+		<block v-if="type=='newsdj'">
+			<view class="newlists" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail" 
+			>
+				<view class="tit">潜山:多举措建优非公党建工作指导员队伍</view>
+				<view class="txt overtwo">如何不断激发非公企业和社会组织党建工作新活力?潜山市委社 会工作部发挥考核的指挥棒作用,“三点发力”推动党建工作部…</view>
+				<view class="stabox flexc">
+					<view class="time flex1">2024-11-18 08:16:54</view>
+					<view class="btns flexc">
+						<image :src="star" class="imga"></image>42
+						<!-- <image :src="stara" class="imga"></image>42 -->
+					</view>
+					<view class="btns flexc">
+						<image :src="eye" class="imgb"></image>1361
+					</view>
+				</view>
+		
+			</view>
+			<!-- checkPermi(['system:menuFood:remove'])&& -->
+		</block>
+		<view class="shax" v-if="wtdt">{{wtdt}}</view>
+	</block>
+	<!-- 无数据 -->
+	<view class="nodata" v-else>
+		<image :src="noiconpimg"></image>
+		<view>
+			暂无数据
+		</view>
+	</view>
+</view>
+</template>
+
+<script>
+	import config from '@/config'
+	export default{
+		props:{
+			datainfo: {
+				type: Array,
+				default () {
+					return []
+				}
+			},
+			wtdt:{
+				type:String,
+				default () {
+					return ''
+				}
+			},
+			type:{
+				type:String,
+				default () {
+					return 0
+				}
+			},
+			topval:{
+				type:String,
+				default () {
+					return ''
+				}
+			}
+		},
+		data(){
+			return{
+				noiconpimg:require("@/static/images/nodata.png"),
+				rimg:require('@/static/images/rimg.png'),
+				stara:require('@/news/static/news/stara.png'),
+				star:require('@/news/static/news/starb.png'),
+				eye:require('@/news/static/news/eye.png'),
+				baseUrl:config.baseUrl,
+				delBtnWidth:66,//左滑默认宽度
+			}
+		},
+		mounted() {
+			
+		},
+		methods:{
+			getDetail(e){
+				this.$emit('getDetail',e)
+			},
+			getPreview(idx,arr) {
+				var newArr=[];
+				arr.forEach(ite=>{
+					var ds=this.baseUrl+ite
+					newArr.push(ds)
+				})
+				uni.previewImage({
+					urls: newArr,
+					current:idx,
+					success: function(data) {},
+					fail: function(err) {}
+				});
+			},
+			//开始触摸滑动
+			drawStart(e) {
+				// console.log("开始触发");
+				var touch = e.touches[0];
+				this.startX = touch.clientX;
+			},
+			//触摸滑动
+			drawMove(e) {
+				// console.log("滑动");
+				for (var index in this.datainfo) {
+					// this.csListArrl[index].right=0
+					this.$set(this.datainfo[index],'right',0);
+				}
+				var idx=e.currentTarget.dataset.idx
+				var touch = e.touches[0];
+				var item = this.datainfo[idx];
+				var disX = this.startX - touch.clientX;
+				if (disX >= 20) {
+				        if (disX > this.delBtnWidth) {
+					    disX = this.delBtnWidth;
+				        }
+						// this.csListArrl[idx].right=disX
+				        this.$set(this.datainfo[idx],'right',disX);
+				} else {
+					// this.csListArrl[idx].right=0
+					this.$set(this.datainfo[idx],'right',0);
+				}
+			},
+			//触摸滑动结束
+			drawEnd(e) {
+				// console.log("滑动结束");
+				var idx=e.currentTarget.dataset.idx
+				var item = this.datainfo[idx];
+				if (item.right >= this.delBtnWidth / 2) {
+					// this.datainfo[idx].right=this.delBtnWidth
+					this.$set(this.datainfo[idx],'right',this.delBtnWidth);
+				} else {
+					this.datainfo[idx].right=0
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+.flex{display: flex;}
+.flexc{display: flex;align-items: center;}
+.mb10{margin-bottom: 20rpx;}
+// 社区
+.walists{background: #FFFFFF;border-radius: 20rpx;margin-bottom: 24rpx;    position: relative;
+	.watop{
+		padding: 0 36rpx 30rpx 38rpx;
+		.watit{padding: 24rpx 0;margin-bottom: 4rpx;display: flex;
+			.tit{font-weight: bold;font-size: 28rpx;color: #272727;flex: 1;
+				.cir{width: 14rpx;margin-left: 8rpx;margin-bottom: 10rpx;height: 14rpx;display: inline-block;background: #FF6969;border-radius: 8rpx;}
+			}
+			.txt{font-weight: bold;font-size: 26rpx;flex: 0 0 auto;
+			}
+		}
+		.wacoma{font-weight: 500;font-size: 26rpx;color: #666666;line-height: 36rpx;margin-bottom: 24rpx;}
+		.wacomb{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
+	}
+	.watopcom{background-color: #ffffff;border-radius: 20rpx;position: relative;z-index: 1;}
+	.wabtn{display: flex;align-items: center;justify-content: space-between;border-top: 2rpx solid #E5E5E5;height: 80rpx;padding: 0 38rpx;
+		view{font-weight: 500;font-size: 24rpx;color: #666666;}
+		image{width: 16rpx;height: 28rpx;}
+	}
+}
+.spdel{width: 164rpx;background: #EA2D2D;font-weight: bold;font-size: 26rpx;color: #FFFFFF;display: flex;align-items: center;justify-content: center;position: absolute;right: -146rpx;top: 0;bottom: 0;padding-left: 14rpx;}
+//资讯
+.newlists{
+	background: #FFFFFF;padding: 22rpx 24rpx;margin-bottom: 24rpx;
+	border-radius: 20rpx;
+	.tit{font-size: 32rpx;font-weight: bold;color: #272727;line-height: 48rpx;margin-bottom:16rpx;}
+	.txt{font-size: 24rpx;color: #666666;line-height: 36rpx;margin-bottom: 32rpx;}
+	.stabox{
+		.time{font-weight: 500;font-size: 24rpx;color: #AAAAAA;line-height: 36rpx;}
+		.btns{font-weight: 500;font-size: 22rpx;color: #666666;line-height: 36rpx;min-width: 100rpx;box-sizing: border-box;margin-left: 20rpx;
+		.imga{width: 24rpx;height: 22rpx;margin-right: 8rpx;}
+		.imgb{width: 24rpx;height: 18rpx;margin-right: 10rpx;}
+		}	
+	}
+}
+// 无数据
+.nodata{display: flex;flex-direction: column;align-items: center;
+	image{width: 440rpx;height: 440rpx;}
+	view{font-size: 30rpx;color: #666666;font-weight: bold;}
+}
+</style>

+ 411 - 0
user_ui/news/components/popup/popup.vue

@@ -0,0 +1,411 @@
+<template>
+	<view>
+		<!-- 弹窗 -->
+		<view class="bgbox" @click="getClose" v-if="type"></view>
+		<!-- 建议回复 -->
+		<view v-if="type=='reply'" class="assignbox pra">
+			<view class="assbox">
+				<view class="asstit">回复</view>
+				<uni-easyinput maxlength='200' type="textarea" autoHeight v-model="datainfo.companyIntroduction" :inputBorder='false' placeholder="请输入回复内容,最多不超过200字…" />
+				<view class="voice mb20">
+					<view class="flexc">
+						<image :src="voice"></image>
+						语音输入
+					</view>
+				</view>
+				<view class="fjtxt mb18 flexcj">附件信息
+					<lsj-upload ref="lsjUpload" childId="upload1" :loanApplicationId="loanApplicationId" :width="width" :height="height" :option="option" :size="size" :formats="formats" :debug="debug" :instantly="instantly"
+						    @progress="" @uploadEnd="onuploadEnd" fileName="123" fileVal='dbxmhfhgb' bigType="c">
+						<view class="fjbtns co02" :style="{width: width,height: height}">上传附件</view>
+					</lsj-upload>
+				</view>
+				<view class="fjlists"  v-for="(fite,fidx) in filelist" :key='fidx'>
+					<view class="flext" @click="getDown(fite.url)">
+						<view class="imgl"><image :src="filico" ></image></view>
+						<view class="tit">{{fite.name}}</view>
+					</view>
+					<view class="delimg flex0" @click.stop="getDelFj(fidx)">
+						<image :src="fdelimg"></image>
+					</view>
+				</view>
+				<view class="rhbtn mt40"  @click="getSure">确定</view>
+			</view>
+			
+			<image :src="closeimg" class="closeimg"  @click="getClose"></image>
+		</view>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import { getToken } from '@/utils/auth'
+	import {uploadmore} from '@/utils/common.js'
+	export default{
+		components:{},
+		props:{
+			type: {
+				type: String,
+				default () {
+					return ''
+				}
+			},
+			finshtype:{
+				type: [String,Number],
+				default () {
+					return ''
+				}
+			}
+		},
+		data(){
+			return{
+				//附件
+				option: {
+				    // 上传服务器地址,需要替换为你的接口地址
+				    url: baseUrl+'/common/uploadNew', // 该地址非真实路径,需替换为你项目自己的接口地址
+				    // 上传附件的key
+				    name: 'file',
+				    // 根据你接口需求自定义请求头,默认不要写content-type,让浏览器自适配
+				    header: {
+				        // 示例参数可删除
+				        'Authorization':  'Bearer ' + getToken(),
+				    },
+				    // 根据你接口需求自定义body参数
+				    formData: {
+						loanApplicationNumber:'',
+						loanApplicationId:'',
+					}
+				},
+				// 借据上传
+				jjoption: {
+				    // 上传服务器地址,需要替换为你的接口地址
+				    url: baseUrl+'/common/uploadNewOcr', // 该地址非真实路径,需替换为你项目自己的接口地址
+				    // 上传附件的key
+				    name: 'file',
+				    // 根据你接口需求自定义请求头,默认不要写content-type,让浏览器自适配
+				    header: {
+				        // 示例参数可删除
+				        'Authorization':  'Bearer ' + getToken(),
+				    },
+				    // 根据你接口需求自定义body参数
+				    formData: {
+						loanApplicationNumber:'',
+						loanApplicationId:'',
+					}
+				},
+				// 选择文件后是否立即自动上传,true=选择后立即上传
+				instantly: true,
+				// 必传宽高且宽高应与slot宽高保持一致
+				width: '',
+				height: '40rpx',
+				// 限制允许上传的格式,空串=不限制,默认为空
+				formats: 'doc,docx,xls,xlsx,ppt,txt,pdf,zip,rar,word,png,jpg,jpeg',
+				// 文件上传大小限制
+				size: 100,
+				// 文件数量限制 默认10
+				count: 5,
+				// 文件回显列表
+				files: new Map(),
+				// 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道
+				wxFiles: [],
+				// 是否打印日志
+				debug: false,
+				filelist:[{name:"123"}],
+				filico:require('@/work/static/filico.png'),
+				fdelimg:require('@/work/static/fjdel.png'),
+				
+				baseUrl:config.baseUrl,
+				closeimg:require("@/work/static/close.png"),
+				rimg: require('@/work/static/people/rimg.png'),
+				headbg: require('@/work/static/service/headbg.png'),
+				addpho: require('@/work/static/service/addpho.png'),
+				rdelimg: require('@/work/static/service/rdel.png'),
+				voice: require('@/work/static/service/voice.png'),
+				syqxidx:'',
+				datainfo:{
+					iszc:""
+				},
+				sexs: [{
+					text: '男',
+					value: 0
+				}, {
+					text: '女',
+					value: 1
+				}],
+				peoval:0,
+				peolist:[{name:'王安安',val:"0",type:0},{name:'刘柠溪',val:"1",type:1},{name:'王合一',val:"2",type:0},]
+			}
+		},
+		mounted() {
+			this.baseUrl=baseUrl
+		},
+		watch:{
+			loanApplicationNumber(val){
+				this.option.formData.loanApplicationNumber=val
+				this.jjoption.formData.loanApplicationNumber=val
+			},
+			loanApplicationId(val){
+				this.option.formData.loanApplicationId=val
+				this.jjoption.formData.loanApplicationId=val
+			},
+			type(val){
+				// this.filelist=[];
+				// this.shtext='';
+				// this.isty='2';
+				// this.phofile=[];
+			}
+		},
+		methods:{
+			bindDateChange(){
+				var val=e.detail.value;
+			},
+			getClose(){
+				this.$emit('getClose')
+			},
+			getSure(){
+				this.$emit('getSure')
+			},
+			getChose(val){
+				this.peoval=val
+			},
+			getPreviewImage(arr,idx){
+				var newArr=[];
+				arr.forEach(ite=>{
+					var ds=this.baseUrl+ite
+					newArr.push(ds)
+				})
+				uni.previewImage({
+					urls: newArr,
+					current:idx,
+					success: function(data) {
+						
+					},
+					fail: function(err) {
+						
+					}
+				});
+			},
+			// 上传
+			onuploadEnd(item,fileVal,bigType) {
+				var newobj={}
+				var responseText=JSON.parse(item.responseText)
+				if(responseText.code==200){
+					if(fileVal=='qtfj'){
+						newobj.name=responseText.originalFilename;
+					}else{
+						newobj.name=responseText.newFileName;
+					}
+					newobj.oldName=responseText.originalFilename;
+					newobj.url=responseText.fileName;
+					newobj.type=fileVal;
+					newobj.bigType=bigType;
+					newobj.loanApplicationId=this.loanApplicationId;
+					newobj.loanApplicationNumber=this.loanApplicationNumber;
+					this.filelist.push(newobj)
+				}else{
+					this.$toast(responseText.msg)
+				}
+			},
+			getDelFj(idx){
+				var that=this;
+				uni.showModal({
+					title: '确认删除',
+					content: "是否确认删除",
+					cancelText: '取消',
+					confirmText: '确认',
+					success: function(res) {
+						if (res.confirm) {
+							that.filelist.splice(idx,1)
+						} else if (res.cancel) {
+						}
+					}
+				});
+			},
+			getDown(path,name){
+				console.log(path,name)
+				// #ifdef APP-PLUS
+				self.getFilePermissions(function(res){
+					if(res==1){
+						uni.showLoading({
+							title: '加载中'
+						});
+						var url = baseUrl + path;
+						let dtask = plus.downloader.createDownload(url, {
+							filename: 'file://storage/emulated/0/'+baseName+'/' + name
+						}, (d, status) => {
+							//d为下载的文件对象
+							if (status == 200) {
+								uni.hideLoading();
+								uni.showToast({
+									icon: 'none',
+									mask: true,
+									title: '已保存到文件夹:/'+baseName+'/'+ name, //保存路径
+									duration: 3000,
+								});
+								
+								//下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
+								let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
+								setTimeout(() => {
+									plus.runtime.openFile(d.filename); //选择软件打开文件
+								}, 1500)
+							} else {
+								//下载失败
+								uni.hideLoading();
+								plus.downloader.clear(); //清除下载任务
+								uni.showToast({
+									icon: 'none',
+									mask: true,
+									title: '下载失败,请稍后重试',
+								});
+							}
+						})
+						dtask.start();
+					}else{
+						uni.hideLoading();
+						uni.showToast({
+							title: '无法获取权限,文件下载将出错!',
+							icon: 'none',
+						})
+					}			
+				})
+				// #endif
+				// #ifndef APP-PLUS
+				this.getDownloader(path)
+				// #endif
+			},
+			getDownloader(e){
+				uni.showLoading({
+					title: '加载中'
+				});
+				var url=baseUrl+e;
+				let index1 = e.lastIndexOf("."); // 得到一个索引值
+				let index2 = e.length;
+				let type = e.substring(index1, index2);
+				if ((type.indexOf('jpg') > -1 || type.indexOf('jpeg') > -1 || type.indexOf('png') > -1)) {
+					uni.previewImage({
+						current: 0,
+						urls: [url],
+						// background: '#ffffff'
+					});
+					uni.hideLoading();
+				} else {
+				uni.downloadFile({
+					url: url,//文件的下载路径
+					success(result) {
+							uni.hideLoading()
+						var filePath = result.tempFilePath;
+						   uni.openDocument({
+						     filePath: filePath,
+						     showMenu: true,
+						     success: function (res) {
+						       // console.log('打开文档成功');
+						     }
+						   });
+					},
+					fail(res) {uni.hideLoading()}
+				})
+				}
+			},
+			getDelFn(){
+				var that=this;
+				uni.showModal({
+					title: '确认删除',
+					content: "是否确认删除",
+					cancelText: '取消',
+					confirmText: '确认',
+					success: function(res) {
+						if (res.confirm) {
+							// that.filelist.splice(idx,1)
+						} else if (res.cancel) {
+						}
+					}
+				});
+			},
+			getaddImage(e){
+				let that = this;
+				let file =[],count=9
+				uni.chooseImage({
+					count: 1,
+					success:function(res){
+						let img= res.tempFilePaths;
+						if(img.length + file.length > count){
+							uni.showToast({
+								title: '最多上传'+count+'张图片',
+								icon: 'none',
+								duration: 2000
+							})
+						}else{
+							let imglen = res.tempFilePaths.length;
+							var fuwufile = [];
+							uploadmore('/common/upload',img,0,0,0,imglen,fuwufile,function(rs){
+								var resurl=rs[0];
+								// if(e=='front'){
+								// 	that.datainfo.front=resurl.fileName;
+								// }else{
+								// 	that.datainfo.back=resurl.fileName;
+								// }
+							})	
+						}
+					}
+				});
+			},
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>	
+// 指派
+.assignbox{background: #FFFFFF;border-radius: 20rpx;position: fixed;left:56rpx;right:54rpx;z-index: 10;top: 50%;transform: translateY(-50%);padding: 32rpx 38rpx 36rpx;
+	.assbox{max-height: calc(100vh - 300rpx);overflow: auto;}
+	.asstit{font-weight: bold;font-size: 30rpx;color: #272727;text-align: center;padding-left: 16rpx;margin-bottom: 28rpx;}
+	.rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
+		image{width: 100%;height: 100%;}
+	}
+	.asline{border-bottom: 2rpx solid #E5E5E5;padding: 30rpx 0;margin-bottom: 40rpx;}
+	.tabtit{font-weight: bold;font-size: 26rpx;color: #272727;line-height: 36rpx;margin-bottom: 24rpx;padding-left: 14rpx;}
+	.asslists{display: flex;flex-wrap: wrap;
+		.asslist{width: 252rpx;height: 76rpx;border-radius: 20rpx;border: 2rpx solid #DADADA;position: relative;display: flex;align-items: center;box-sizing: border-box;padding: 0 22rpx;margin: 0 14rpx 24rpx 14rpx;overflow: hidden;
+			&.act{border-color: #0256FD;
+				.altit{color: #0256FD;}
+			}
+			image{position: absolute;right: -2rpx;bottom: -2rpx;width: 34rpx;height: 32rpx;}
+			.altit{font-weight: bold;font-size: 26rpx;color: #666666;flex: 1;}
+			.altxt{font-weight: bold;font-size: 22rpx;flex: 0 0 auto;}
+		}
+	}
+	
+	// 上传图片
+	&.pra{left: 100rpx;right: 100rpx;}
+	.assadd{display: flex;flex-direction: column;align-items: center;justify-content: center;border-radius: 10rpx;height: 192rpx;
+border: 2rpx dashed #A7A7A7;box-sizing: border-box;margin-bottom: 32rpx;
+		image{width:48rpx;height: 40rpx;margin-bottom: 16rpx;}
+		view{font-weight: bold;font-size: 26rpx;color: #272727;}
+	}
+	.assimgs{display: flex;align-items: center;flex-wrap: wrap;margin-bottom: 8rpx;
+		.assimg{width: 140rpx;height: 140rpx;position: relative;overflow: hidden;margin: 0 24rpx 24rpx 0;
+			&:nth-of-type(3n){margin-right: 0;}
+			.img{width: 100%;height: 100%;}
+			.delimg{width: 24rpx;height: 24rpx;position: absolute;right: 0;top: 0;}
+		}
+	}
+}
+.voice{font-weight: 500;display: flex;justify-content:flex-end;align-items: center;margin-top: 40rpx;
+font-size: 24rpx;
+color: #45CB99;
+		image{width: 24rpx;height: 24rpx;margin-right: 8rpx;}
+	}
+// 附件
+	.fjlists {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 20rpx;
+		&:last-child{margin-bottom: 0;}
+		.imgl{width: 40rpx;height: 40rpx;display: flex;align-items: center;flex: 0 0 auto;
+			image{width: 26rpx;height: 24rpx;}
+		}
+		.tit{font-size: 26rpx;color: #222327;font-weight: 500;margin-top: 4rpx;word-break: break-all;}
+		.delimg{width: 40rpx;height:40rpx;margin-left: 16rpx;display: flex;align-items: center;justify-content: center;flex: 0 0 auto;
+			image{width: 24rpx;height: 24rpx;}
+		}
+		.txta{color: #28C529;font-weight: 500;line-height: 40rpx;flex: 0 0 auto;margin-left: 18rpx;padding: 0 6rpx;}
+	}
+.closeimg{width: 32rpx;height: 32rpx;position: absolute;bottom: -62rpx;left: 50%;margin-left: -16rpx;}
+</style>

+ 170 - 0
user_ui/news/pages/complaint/add.vue

@@ -0,0 +1,170 @@
+<template>
+	<view >
+		<uni-forms ref="form" :model="datainfo">
+			<view class="address">
+				<view class="adrbox flex1 flexdc">
+					<view class="flex1">
+						<view class="chtop flexc">
+							<view class="line"></view>
+							<view>基本信息</view>
+						</view>
+						<view class="plr15">
+							</uni-forms-item>
+							<uni-forms-item label="标题" required="true"  name="phonenumber">
+								<view class="flexc">
+									<uni-easyinput v-model="datainfo.phonenumber" :inputBorder='false' placeholder="请输入标题信息" />
+									<view class="rimg"></view>
+								</view>
+							</uni-forms-item>
+							<uni-easyinput type="textarea" autoHeight v-model="datainfo.companyIntroduction" :inputBorder='false' placeholder="请详细描述您的投诉建议内容(最多可输入200字哦)" />
+							<view class="voice mb28">
+								<view class="flexc">
+									<image :src="voice"></image>
+									语音输入
+								</view>
+							</view>
+						</view>
+						<!-- 图片 -->
+						<view class="imgs">
+							<view class="img" @click="getPreview">
+								<image :src="photo" class="pico"></image>
+								<image :src="del" class="del" @click="getDelFn"></image>
+							</view>
+							<view class="img" @click="getPreview">
+								<image :src="photo" class="pico"></image>
+								<image :src="del" class="del" @click="getDelFn"></image>
+							</view>
+							<view class="img" @click="getPreview">
+								<image :src="photo" class="pico"></image>
+								<image :src="del" class="del" @click="getDelFn"></image>
+							</view>
+							<view class="img" @click="getPreview">
+								<image :src="photo" class="pico"></image>
+								<image :src="del" class="del" @click="getDelFn"></image>
+							</view>
+							<view class="addbox" @click="getaddImage">
+								<image :src="photo" class="pico"></image>
+								<view>添加图片</view>
+							</view>
+						</view>
+					</view>
+					<view class="plr15 flex0 mt30">
+						<view class="rhbtn " @click="getAddFn">提交信息</view>
+					</view>
+				</view>
+			</view>
+		</uni-forms>
+	<loading></loading>	
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import { addressPermi, addressRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{},
+		data(){
+			return{
+				rimg:require('@/static/images/rimg.png'),
+				check: require('@/mine/static/check.png'),
+				ncheck: require('@/mine/static/ncheck.png'),
+				voice: require('@/work/static/voice.png'),
+				photo:require("@/work/static/service/photo.png"),
+				del:require('@/work/static/service/rdel.png'),
+				list:[{tit:'123',isdefault:true},{tit:'212123',isdefault:false,isuser:true},],
+				text:"",
+				datainfo:{},
+				mjlist:[{tit:'80m²以内',val:'0'},{tit:'80-90m²',val:'1'},{tit:'90-119m²',val:'2'},{tit:'120-139m²',val:'3'},{tit:'140-159m²',val:'4'},{tit:'160m²以上',val:'5'},],
+				checkflag:true,
+				tabval:'0',
+				sexs: [{
+					text: '男',
+					value: 0
+				}, {
+					text: '女',
+					value: 1
+				}],
+			}
+		},
+		onLoad: function() {
+		
+		},
+		methods:{
+			addressPermi, addressRole,
+			getAddFn(){
+				// this.$tab.navigateTo("/mine/pages/house/addaddress")
+			},
+			getTabFn(val){
+				this.tabval=val
+			},
+			getDataFn(){
+				return
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				params.noticeType=this.tabidx
+				getNoticeList(params).then(res=>{
+					if(res.code==200){
+						
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+				
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.address /deep/ .uni-forms-item{min-height: 106rpx;box-sizing: border-box;display: flex;align-items: center;margin-bottom: 0;border-bottom: 2rpx solid #E6E6E6;padding:10rpx 0;}
+.address /deep/ .uni-forms-item:last-child{border-bottom: none;}
+.address /deep/ .uni-forms-item__label{font-weight: bold;font-size: 26rpx;color: #222327;flex: 0 0 auto;width: auto !important;padding-left: 12rpx;}
+.address /deep/ .uni-easyinput{flex: 1;text-align: right;font-size: 26rpx;color: #222327;}
+.address /deep/ .uni-easyinput__content-textarea{min-height: 140rpx;font-size: 26rpx;
+border-radius: 10rpx;padding: 20rpx 14rpx;text-align: left;}
+.address /deep/ .uni-easyinput__placeholder-class{font-size: 26rpx;color: #AAAAAA;}
+.address /deep/ .uni-input-input{font-size: 26rpx;}
+.address /deep/ .uni-textarea-textarea{font-size: 26rpx;}
+.address /deep/ .is-required{font-size: 26rpx;color: #F40027;margin-right: 4rpx;}
+.address /deep/ .is-disabled{color: #222327;background-color: #ffffff !important;}
+.address{min-height: 100vh;padding: 20rpx 18rpx 30rpx;display: flex;flex-direction: column;}
+.adrbox{background: #FFFFFF;border-radius: 20rpx;padding-bottom: 100rpx;
+	.rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
+		image{width: 100%;height: 100%;}
+	}
+	&.mjbox{
+		padding: 36rpx  24rpx 18rpx;
+		.tit{font-weight: bold;font-size: 26rpx;color: #272727;padding-left: 18rpx;}
+		.adrlist{
+			view{font-weight: bold;font-size: 26rpx;color: #666666;min-width: 198rpx;padding: 0 10rpx;box-sizing: border-box;margin: 0 12rpx 24rpx;height: 64rpx;display: flex;align-items: center;justify-content: center;border-radius: 10rpx;border: 2rpx solid #C1C1C1;
+			&.act{background: #DFEAFF;border: 2rpx solid #0256FD;color: #0256FD;}
+			}
+		}
+	}
+	.chtop{margin-bottom: 8rpx;padding-top: 32rpx;	
+		view{font-weight: bold;font-size: 28rpx;color: #272727;}
+		.line{width: 14rpx;height: 48rpx;background: #0256FD;border-radius:0 12rpx 12rpx 0;margin-right: 18rpx;}
+	}
+	.voice{font-weight: 500;display: flex;justify-content:flex-end;align-items: center;margin-top: 40rpx;font-size: 24rpx;color: #45CB99;
+			image{width: 24rpx;height: 24rpx;margin-right: 8rpx;}
+	}
+	.imgs{display: flex;align-items: center;flex-wrap: wrap;padding: 0 24rpx;
+		.img{width: 142rpx;height:142rpx;border-radius: 20rpx;margin: 0 12rpx 20rpx 12rpx;position: relative;
+		// &:nth-of-type(2n){margin-right: 0;}
+		}
+		.pico{width: 100%;height: 100%;border-radius: 20rpx;}
+		.del{width: 24rpx;height: 24rpx;position: absolute;right: 0;top: 0;}
+		.addbox{background: #F0F0F0;border-radius: 20rpx;display: flex;align-items: center;flex-direction: column;width: 142rpx;height:142rpx;justify-content: center;margin:0 12rpx 20rpx 12rpx;
+			image{width: 48rpx;height: 42rpx;margin-bottom: 12rpx;}
+			view{font-weight: 500;font-size: 24rpx;color: #666666;}
+		}
+	}
+	.checkimg{width: 80rpx;height: 40rpx;margin-right: 8rpx;}
+}
+
+</style>

+ 156 - 0
user_ui/news/pages/complaint/detail.vue

@@ -0,0 +1,156 @@
+<template>
+	<view class="comdetail">
+		<view class="cdbox mb12">
+			<image :src="replay" class="replay"></image>
+			<view class="cdtop">
+				<view class="tit">小区电梯老化</view>
+				<view class="txt">2024-11-18 08:16</view>
+			</view>
+			<view class="cdmain">
+				<view class="tit">小区电梯时常发生问题,请物业派维修人员进行安全检 查,若无法排除问题,建议更换小区的电梯设备,避免 后期发生人员伤害!</view>
+				<view class="imgs">
+					<image :src="replay"></image>
+				</view>
+			</view>
+		</view>
+		<!-- 步骤条 -->
+		<view class="hfbox mb12">
+			<view class="hftop">
+				<image :src="hline"></image>
+				<view>回复</view>
+			</view>
+			<!--  -->
+			<view class="hfstep">
+				<view class="hfslist flex">
+					<view class="limg flexccc">
+						<image :src="cira" class="imga"></image>
+					</view>
+					<view class="flex1">
+						<view class="hfstit co01">已完成 2024-11-25  12:24</view>
+						<view class="hfstxt co27">设备已维修,感谢您的建议!</view>
+					</view>
+				</view>
+				<view class="hfslist flex">
+					<view class="limg flexccc">
+						<image :src="cirb" class="imgb"></image>
+					</view>
+					<view class="flex1">
+						<view class="hfstit">待作业 2024-11-24  22:17</view>
+						<view class="hfstxt">维修零件已送达,明天将会安排人员维修。</view>
+					</view>
+				</view>
+				<view class="hfslist flex">
+					<view class="limg flexccc">
+						<image :src="cirb" class="imgb"></image>
+					</view>
+					<view class="flex1">
+						<view class="hfstit">已收到 2024-11-19 09:23</view>
+						<view class="hfstxt">收到您的建议,物业已高度重视这个问题,维修零件 正在运输中,请耐心等待!</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- <view class="cdbtns">
+			<view class="btna">不予公开</view>
+			<view class="btnb" @click="getReplyFn">回复</view>
+		</view> -->
+	<pop-up :type="type" @getClose='getClose'  @getSure="getSure"></pop-up>
+	<loading></loading>	
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import popUp from "@/work/components/popup/popup.vue"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{popUp},
+		data(){
+			return{
+				replay:require('@/news/static/complaint/replay.png'),
+				hline:require('@/news/static/complaint/hline.png'),
+				cira:require('@/news/static/complaint/cira.png'),
+				cirb:require('@/news/static/complaint/cirb.png'),
+				baseUrl:config.baseUrl,
+				type:'',
+			}
+		},
+		onLoad: function() {
+		},
+		methods:{
+			checkPermi, checkRole,
+			getClose(){
+				this.type='';
+			},
+			getSure(){
+				this.type='';
+			},
+			getReplyFn(){
+				this.type='reply'
+			},
+			getPreviewImage(arr,idx){
+				var newArr=[];
+				arr.forEach(ite=>{
+					var ds=this.baseUrl+ite
+					newArr.push(ds)
+				})
+				uni.previewImage({
+					urls: newArr,
+					current:idx,
+					success: function(data) {
+						
+					},
+					fail: function(err) {
+						
+					}
+				});
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.comdetail{padding:20rpx 18rpx  10rpx;
+	.cdbox{background: #FFFFFF;border-radius: 20rpx;padding: 0 32rpx;box-sizing: border-box;position: relative;
+	.replay{width: 124rpx;height: 124rpx;position: absolute;right: 0;top: 0;}		
+	.cdtop{padding:  34rpx 0rpx 24rpx;border-bottom: 2rpx solid #CDCDCD;
+			.tit{font-weight: bold;font-size: 30rpx;color: #272727;margin-bottom: 16rpx;}
+			.txt{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
+			
+		}
+		.cdmain{padding: 24rpx 0 24rpx;
+			.tit{font-weight: 500;font-size: 26rpx;color: #666666;line-height: 36rpx;margin-bottom: 30rpx;}
+			.imgs{display: flex;align-items: center;flex-wrap: wrap;
+				image{width: 142rpx;height: 142rpx;border-radius: 20rpx;margin: 0 18rpx 18rpx 0;}
+			}
+		}
+	}
+	
+	.cdbtns{position: fixed;left: 0;right: 0;height: 98rpx;z-index: 2;display: flex;align-items: center;bottom: 0;
+		view{flex: 1;display: flex;align-items: center;justify-content: center;font-weight: bold;font-size: 26rpx;height: 98rpx;
+		&.btna{background: #FFFFFF;color: #0156FE;}
+		&.btnb{background: #0156FE;color: #FFFFFF;}
+		}
+	}
+}
+.hfbox{background: #FFFFFF;border-radius: 20rpx;padding-top: 104rpx;position: relative;
+	.hftop{width: 118rpx;height: 46rpx;position: absolute;left: -8rpx;top: 18rpx;
+		image{width: 118rpx;height: 46rpx;position: absolute;left: 0;top: 0;}
+		view{position: relative;z-index: 1;font-weight: bold;font-size: 26rpx;color: #FFFFFF;padding-top: 6rpx;text-align: center;}
+	}
+}
+.hfstep{padding: 0 32rpx 44rpx 36rpx;
+	.hfslist{padding-bottom: 44rpx;position: relative;
+		&::before{content: '';position: absolute;left: 14rpx;top:14rpx;height: 100%;width: 2rpx;background: #E6E6E6;}
+		.limg{width: 30rpx;height: 30rpx;margin-right: 22rpx;flex: 0 0 auto;margin-top:3rpx;
+			.imga{width: 30rpx;height: 30rpx;}
+			.imgb{width: 18rpx;height: 18rpx;}
+		}
+		.hfstit{font-weight: bold;font-size: 26rpx;color: #666666;line-height: 36rpx;margin-bottom: 24rpx;}
+		.hfstxt{font-weight: 500;font-size: 26rpx;color: #666666;line-height: 36rpx;}
+	}
+}
+</style>

+ 148 - 0
user_ui/news/pages/complaint/index.vue

@@ -0,0 +1,148 @@
+<template>
+	<view class="car">
+		<view class="cartop">
+			<view class="tabtop flexc">
+				<view class="tabt" :class="ttopval==ite.val?'act':''" v-for="(ite,idx) in ttoplist" :key="idx" @click="getTabtop(ite.val)">{{ite.tit}}</view>
+			</view>
+		</view>
+		<!-- 列表 -->
+		<view class="carlists">
+			<box-list :datainfo="list" :topval="ttopval" :wtdt="wtdt" type='complaint' @getDetail="getDetail"></box-list>
+		</view>
+		<view class="rfbtn" @click="getAddFn">新增投诉建议</view>
+		<loading></loading>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import boxList from "@/news/components/box/list.vue"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{boxList},
+		data(){
+			return{
+				cxrq:"",
+				text:'',
+				list:[{tit:'皖A IC520',type:1,right:0},{tit:'晋E KD783',type:2,right:0},],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				ttopval:'0',
+				ttoplist:[{tit:'全部',val:0},{tit:'待回复',val:1},{tit:'已回复',val:2}]
+			}
+		},
+		onLoad: function() {
+		
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods:{
+			checkPermi, checkRole,
+			getDetail(){
+				this.$tab.navigateTo("/news/pages/complaint/detail")
+			},
+			getAddFn(){
+				this.$tab.navigateTo("/news/pages/complaint/add")
+			},
+			getTabtop(val){
+				this.ttopval=val
+			},
+			getConfirm(){
+				this.getrefreshData()
+			},
+			getReset(){
+				this.cxrq='';
+				this.text='';
+				this.getrefreshData()
+			},
+			getrefreshData(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getTabFn(val){
+				this.tabval=val
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.cxrq=val;
+			},
+			getDataFn(){
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				params.noticeType=this.tabidx
+				getNoticeList(params).then(res=>{
+					if(res.code==200){
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = ''
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						var newArr=JSON.parse(JSON.stringify(res.rows))
+						newArr.forEach(ite=>{
+							ite.right=0;
+						})
+						// console.log(newArr,555)
+						if (this.pageNum == 1) {
+							this.list = newArr;
+						} else {
+							this.list = this.list.concat(newArr)
+						}
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+				
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.car{padding: 144rpx 0 110rpx;}
+.cartop{position: fixed;left: 0;right: 0;top: 0;background-color: #ffffff;z-index: 2;
+	.topa{padding: 20rpx ;
+		.resetimg{width: 36rpx;height: 36rpx;margin-right: 24rpx;flex: 0 0 auto;}
+		.chekt{min-width: 180rpx;
+			view{font-weight: 500;font-size: 26rpx;color: #272727;flex: 1;}
+			image{width: 24rpx;height: 16rpx;margin-left: 18rpx;flex: 0 0 auto;}
+		}
+		.search{flex: 1;margin-left: 16rpx;height: 64rpx;background: #EEEEEE;border-radius: 32rpx;border: 2rpx solid #E6E6E6;padding-left: 24rpx;box-sizing: border-box;
+		image{width: 32rpx;height: 34rpx;margin-right: 22rpx;flex: 0 0 auto;}
+		input{flex: 1;font-size: 26rpx;color: #272727;}
+		.btn{width: 100rpx;height: 64rpx;background: #3565ED;border-radius: 32rpx;flex: 0 0 auto;font-weight: bold;text-align: center;line-height: 64rpx;
+font-size: 26rpx;
+color: #FFFFFF;}
+		}
+	}
+	.tabtop{padding-bottom: 40rpx;padding-top: 24rpx;
+		.tabt{font-weight: 500;font-size: 32rpx;color: #666666;position: relative;line-height: 56rpx;padding: 0 40rpx;
+			&.act{font-weight: bold;font-size: 32rpx;color: #272727;
+			&::after{content: '';width: 40rpx;height: 10rpx;background: #0156FE;border-radius: 6rpx;position: absolute;left: 50%;margin-left: -20rpx;bottom: -10rpx;}
+			}
+		}
+	}
+}
+.carlists{padding: 0 18rpx;}
+</style>

+ 242 - 0
user_ui/news/pages/news/detail.vue

@@ -0,0 +1,242 @@
+<template>
+	<view class="ndetail ">
+		<!-- 详情 -->
+		<view class="ndbox mb12">
+			<view class="plr15">
+				<view class="tit">物业服务费缴费公告</view>
+				<view class="time mb12">2024-12-01 08:21</view>
+				<view class="rich">
+					<rich-text :nodes="infoContent" style="word-break: break-all;"></rich-text>
+				</view>
+			</view>
+			<view class="ndbfox flexc">
+				<view class="flexcc ndbflist">
+					<image :src="nicona"></image>
+					<view>32</view>
+				</view>
+				<view class="flexcc ndbflist">
+					<image :src="niconb"></image>
+					<view>32</view>
+				</view>
+				<view class="flexcc ndbflist">
+					<image :src="niconc"></image>
+					<view>32</view>
+				</view>
+			</view>
+		</view>
+		<view class="ndbox mb12 plr15">
+			<view class="pltit">评论<text>(31)</text></view>
+			<!-- 评论列表 -->
+			<view class="pllist flex">
+				<image :src="head" class="head"></image>
+				<view class="flex1 overh">
+					<view class="flexat mb14 ">
+						<view class="plname flex1 over">床前明月光</view>
+						<view class="plrbtn flexc flex0">
+							<!-- <image :src="niconb" class="imga"></image> -->
+							<image :src="nicond"></image>
+							<view>点赞</view>
+						</view>
+						<view class="plrbtn flexc flex0">
+							<image :src="nicone" class="imgb"></image>
+							<view>回复</view>
+						</view>
+					</view>
+					<view class="infotxt mb15">支持!去看一下优惠政策!<view class="infotime">12-3</view></view>
+				</view>
+			</view>
+			<view class="pllist flex">
+				<image :src="head" class="head"></image>
+				<view class="flex1 overh">
+					<view class="flexat mb14 ">
+						<view class="plname flex1 over">疑是地上霜</view>
+						<view class="plrbtn flexc flex0">
+							<image :src="niconb" class="imga"></image>
+							<!-- <image :src="nicond"></image> -->
+							<view>点赞</view>
+						</view>
+						<view class="plrbtn flexc flex0">
+							<image :src="nicone" class="imgb"></image>
+							<view>回复</view>
+						</view>
+					</view>
+					<view class="infotxt mb15">提前缴一年的物业费,可以免一个月吗?<view class="infotime">12-3</view></view>
+					<!-- 二级回复 -->
+					<view class="pllist flex">
+						<image :src="head" class="head"></image>
+						<view class="flex1 overh">
+							<view class="flexat mb14 ">
+								<view class="plname flex1 over">幸福小区物业</view>
+								<view class="plrbtn flexc flex0">
+									<image :src="niconb" class="imga"></image>
+									<!-- <image :src="nicond"></image> -->
+									<view>点赞</view>
+								</view>
+								<view class="plrbtn flexc flex0">
+									<image :src="nicone" class="imgb"></image>
+									<view>回复</view>
+								</view>
+							</view>
+							<view class="infotxt mb15">尊敬的业主朋友,您的建议我司已收到,将在内 部讨论后于物业公告中告知结果,谢谢您的宝贵 建议!<view class="infotime">12-3</view></view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 评论 -->
+		<view class="pjfbtn">
+			<view class="flexc pjfbox">
+				<uni-easyinput type="textarea" autoHeight v-model="text" :inputBorder='false' placeholder="发表我的评论…" />
+				<view class="btns">发送</view>
+			</view>
+		</view>
+	<loading></loading>	
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{},
+		data(){
+			return{
+				nicona:require('@/news/static/news/nicona.png'),
+				niconb:require('@/news/static/news/niconb.png'),
+				niconc:require('@/news/static/news/niconc.png'),
+				nicond:require('@/news/static/news/nicond.png'),
+				nicone:require('@/news/static/news/nicone.png'),
+				head:require('@/news/static/news/head.png'),
+				list:[],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				showAll:true,
+				infoContent:'<span>hello uni-app x!</span><br/><span>uni-app x,终极跨平台方案</span>',
+				text:'',
+			}
+		},
+		onLoad: function() {
+		
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods:{
+			checkPermi, checkRole,
+			// getNextFn(){
+			// 	this.$tab.navigateTo("/work/pages/business/add")
+			// },
+			//解析富文本方法
+			formatRichText(html) {
+					let newContent = html.replace(/<img[^>]*>/gi, function(match, capture) {
+						match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '').replace(/style=""/gi, '');
+						match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
+						match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
+						return match;
+					});
+					newContent = newContent.replace(/style="[^"]+"/gi, function(match, capture) {
+						match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;');
+						return match;
+					});
+					newContent = newContent.replace(/<br[^>]*\/>/gi, '');
+					newContent = newContent.replace(/\<img src="/gi,
+						'<img style="max-width:100%;height:auto;display:block;margin:10rpx auto;" src="' +baseUrlimg);
+					return newContent;
+			},
+			getDataFn(){
+				return
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				params.noticeType=this.tabidx
+				getNoticeList(params).then(res=>{
+					if(res.code==200){
+						if(res.data.infoContent){
+							this.infoContent=this.formatRichText(res.data.infoContent);
+						}
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = ''
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						if (this.pageNum == 1) {
+							this.list = res.rows;
+						} else {
+							this.list = this.list.concat(res.rows)
+						}
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+				
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.ndetail{
+	min-height: 100vh;padding: 20rpx 18rpx 100rpx;
+	.ndbox{background: #FFFFFF;border-radius: 20rpx;padding-top: 30rpx;
+		.tit{font-weight: bold;font-size: 32rpx;color: #272727;margin-bottom: 14rpx;text-align: center;padding-top: 4rpx;}
+		.time{font-weight: 500;font-size: 24rpx;color: #AAAAAA;text-align: center;}
+		.rich{border-top: 2rpx solid #E5E5E5;padding: 28rpx 0;}	
+		.ndbfox{
+			border-top: 2rpx solid #E5E5E5;
+			.ndbflist{width: 33.3%;min-height: 78rpx;padding: 16rpx 0;box-sizing: border-box;
+				image{width: 26rpx;height: 26rpx;margin-right: 26rpx;}
+				view{font-weight: 500;font-size: 26rpx;color: #666666;}
+			}
+		}
+	}
+}
+.pltit{font-weight: bold;font-size: 30rpx;color: #272727;
+	text{margin-left: 24rpx;font-size: 24rpx;color: #666666;}
+}
+.pllist{padding-top: 20rpx;margin-bottom: 16rpx;border-bottom: 2rpx solid #DADADA;
+	.head{width: 40rpx;height: 40rpx;margin-right: 18rpx;flex: 0 0 auto;}
+	.plname{font-weight: bold;font-size: 30rpx;color: #161616;}
+	.plrbtn{margin-left: 36rpx;
+		image{width: 26rpx;height: 24rpx;margin-right: 16rpx;
+			&.imga{width: 26rpx;height: 26rpx;}
+			&.imgb{width: 26rpx;height: 22rpx;}
+		}
+		view{font-weight: bold;font-size: 24rpx;color: #314081;}
+	}
+	.infotxt{font-weight: 500;font-size: 26rpx;color: #161616;line-height: 40rpx;
+		&:before {content: "";float: right;width: 0;height: calc(100% - 16px);background: red;}
+		.infotime{font-weight: 500;font-size: 24rpx;color: #666666; float: right;clear: both;}	
+	}
+	.pllist{
+		padding-top: 0;border-bottom: none;margin-bottom: 0;
+	}
+}
+.pjfbtn{background: #FFFFFF;position: fixed;bottom: 0;left: 0;right: 0;padding:20rpx 48rpx;box-shadow: 0px 0px 18rpx 0px rgba(159,159,159,0.47);
+	.pjfbox{background: #E6E6E6;border-radius: 10rpx;
+		.btns{nt-weight: bold;padding: 0 34rpx;height: 60rpx;line-height: 60rpx;flex: 0 0 auto;
+		font-size: 26rpx;
+	}
+	
+color: #314081;}
+}
+.pjfbtn /deep/ .uni-easyinput{flex: 1;font-size: 26rpx;color: #222327;}
+.pjfbtn /deep/ .uni-easyinput__content-textarea{min-height: 40rpx;font-size: 26rpx;margin: 0;background: #E6E6E6;box-sizing: border-box;padding: 10rpx 0 10rpx 36rpx;border-radius:10rpx 0 0 10rpx;}
+</style>

+ 113 - 0
user_ui/news/pages/news/newsadd.vue

@@ -0,0 +1,113 @@
+<template>
+	<view class="check">
+		<uni-forms ref="form" :model="datainfo">
+			<!-- <view class="cbox">
+				<view class="chmain">
+					<uni-forms-item label="文章类型" name="phonenumber">
+						<picker range-key='text' :value="syqxidx" :range="sexs"   @change='bindDateChange'>
+							<view class="flexc">
+								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择文章类型'}}</view>
+								<view class="rimg"><image :src="rimg"></image></view>
+							</view>
+						</picker>
+					</uni-forms-item>
+				</view>
+			</view> -->
+			<view class="cbox">
+				<view class="chmain">
+					<uni-forms-item label-width='0'  name="phonenumber">
+						<uni-easyinput type="textarea" autoHeight v-model="datainfo.phonenumber" :inputBorder='false' placeholder="输入标题" />
+					</uni-forms-item>
+					<view>
+						<editor-box></editor-box>
+					</view>
+					<!-- <uni-forms-item label="文章类型" name="phonenumber">
+						<view class="flexc">
+							
+							<picker range-key='text' :value="syqxidx" :range="sexs"   @change='bindDateChange'>
+								<view class="rimg"><image :src="rimg"></image></view>
+							</picker>
+						</view>
+					</uni-forms-item> -->
+				</view>
+			</view>
+		</uni-forms>
+		<view class="rfbtn">发布</view>
+		<loading></loading>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	import editorBox from "@/manage/components/editor/editor.vue"
+	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
+	export default {
+		components: {editorBox},
+		data() {
+			return {
+				rimg: require('@/work/static/people/rimg.png'),
+				baseUrl: config.baseUrl,
+				checkflag:true,
+				datainfo: {
+					sex:0,
+					realName: '',
+					idCard: '',
+					address: '',
+					expirationDate: '',
+					phonenumber: '',
+					front: '',
+					back: '',
+				},
+				syqxidx:'',
+				sexs: [{
+					text: '男',
+					value: 0
+				}, {
+					text: '女',
+					value: 1
+				}],
+			}
+		},
+		onLoad: function() {
+
+		},
+		methods: {
+			checkPermi,
+			checkRole,
+			bindDateChange(e){
+				var val=e.detail.value;
+				// this.datainfo.applicationBank=this.sdyhlist[val].value;
+				// this.applicationBank=this.sdyhlist[val].label;
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.check /deep/ .uni-forms-item{min-height: 106rpx;box-sizing: border-box;display: flex;align-items: center;margin-bottom: 0;border-bottom: 2rpx solid #E6E6E6;padding:10rpx 0;}
+.check .cbox /deep/ .uni-forms-item:last-child{border: none;}
+.check /deep/ .uni-forms-item__label{font-weight: bold;font-size: 26rpx;color: #222327;flex: 0 0 auto;width: auto !important;}
+.check /deep/ .uni-easyinput{flex: 1;text-align: left;font-size: 26rpx;color: #222327;}
+.check /deep/ .uni-easyinput__content-textarea{min-height: 40rpx;font-size: 26rpx;}
+.check /deep/ .uni-easyinput__placeholder-class{font-size: 26rpx;color: #AAAAAA;}
+.check /deep/ .uni-easyinput__content-input{padding-left: 0 !important;}
+.check /deep/ .uni-input-input{font-size: 26rpx;}
+.check /deep/ .uni-textarea-textarea{font-size: 26rpx;}
+.check /deep/ .is-disabled{color: #222327;background-color: #ffffff !important;}
+.check /deep/ .uni-data-checklist .checklist-group .checklist-box{margin:10rpx 8rpx 10rpx 16rpx;}
+.check /deep/ .uni-data-checklist{flex: 0 0 auto;}
+.check{min-height: 100vh;padding: 20rpx 18rpx 110rpx;box-sizing: border-box;}
+.cbox{background: #FFFFFF;border-radius: 20rpx;flex: 1;margin-bottom: 24rpx;
+
+	.chmain{
+		padding: 0 32rpx;
+		.rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
+			image{width: 100%;height: 100%;}
+		}
+		.checkimg{width: 80rpx;height: 40rpx;margin-right: 8rpx;}
+	}
+	
+}
+</style>

+ 130 - 0
user_ui/news/pages/news/newsdj.vue

@@ -0,0 +1,130 @@
+<template>
+	<view class="car">
+		<view class="cartop">
+			<!-- <view class="toptit">
+				<image :src="djtop"></image>本社区党员共<text>367</text>人
+			</view> -->
+			<view class="tabtop flexc">
+				<view class="tabt" :class="ttopval==ite.val?'act':''" v-for="(ite,idx) in ttoplist" :key="idx" @click="getTabtop(ite.val)">{{ite.tit}}</view>
+			</view>
+		</view>
+		<!-- 列表 -->
+		<view class="carlists">
+			<box-list :datainfo="list" :topval="ttopval" :wtdt="wtdt" type='newsdj' @getDetail="getDetail"></box-list>
+		</view>
+		<loading></loading>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import boxList from "@/news/components/box/list.vue"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{boxList},
+		data(){
+			return{
+				cxrq:"",
+				text:'',
+				list:[{tit:'皖A IC520',type:1,right:0},{tit:'晋E KD783',type:2,right:0},],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				ttopval:'0',
+				ttoplist:[{tit:'党建活动',val:0},{tit:'党建学习',val:1},{tit:'党建知识',val:2}]
+			}
+		},
+		onLoad: function() {
+		
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods:{
+			checkPermi, checkRole,
+			getAddFn(){
+				this.$tab.navigateTo("/manage/pages/community/newsadddj")
+			},
+			getTabtop(val){
+				this.ttopval=val
+			},
+			getrefreshData(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getTabFn(val){
+				this.tabval=val
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.cxrq=val;
+			},
+			getDataFn(){
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				params.noticeType=this.tabidx
+				getNoticeList(params).then(res=>{
+					if(res.code==200){
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = ''
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						var newArr=JSON.parse(JSON.stringify(res.rows))
+						newArr.forEach(ite=>{
+							ite.right=0;
+						})
+						// console.log(newArr,555)
+						if (this.pageNum == 1) {
+							this.list = newArr;
+						} else {
+							this.list = this.list.concat(newArr)
+						}
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+				
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.car{padding: 134rpx 0 10rpx;}
+.cartop{position: fixed;left: 0;right: 0;top: 0;background-color: #ffffff;z-index: 2;
+	.toptit{display: flex;justify-content: center;font-weight: 500;font-size: 26rpx;color: #8592AA;height: 70rpx;align-items: center;
+background: #E4EDFF;
+		text{font-size: 32rpx;color: #0156FE;padding: 0 10rpx;}
+		image{width: 28rpx;height: 26rpx;flex: 0 0 auto;margin-right: 12rpx;}
+	}
+	.tabtop{padding-bottom: 40rpx;padding-top: 14rpx;
+		.tabt{font-weight: 500;font-size: 32rpx;color: #666666;position: relative;line-height: 56rpx;padding: 0 40rpx;
+			&.act{font-weight: bold;font-size: 32rpx;color: #272727;
+			&::after{content: '';width: 40rpx;height: 10rpx;background: #0156FE;border-radius: 6rpx;position: absolute;left: 50%;margin-left: -20rpx;bottom: -10rpx;}
+			}
+		}
+	}
+}
+.carlists{padding: 0 18rpx;}
+</style>

+ 133 - 0
user_ui/news/pages/news/newssq.vue

@@ -0,0 +1,133 @@
+<template>
+	<view class="car">
+		<view class="cartop">
+			<view class="tabtop flexc">
+				<view class="tabt" :class="ttopval==ite.val?'act':''" v-for="(ite,idx) in ttoplist" :key="idx" @click="getTabtop(ite.val)">{{ite.tit}}</view>
+				<view class="numbox">
+					未读互动<text>27</text>
+				</view>
+			</view>
+		</view>
+		<!-- 列表 -->
+		<view class="carlists">
+			<box-list :datainfo="list" :topval="ttopval" :wtdt="wtdt" type='newssq' @getDetail="getDetail"></box-list>
+		</view>
+		<loading></loading>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import boxList from "@/news/components/box/list.vue"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	export default{
+		components:{boxList},
+		data(){
+			return{
+				cxrq:"",
+				text:'',
+				list:[{tit:'皖A IC520',type:1,right:0},{tit:'晋E KD783',type:2,right:0},],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				ttopval:'0',
+				ttoplist:[{tit:'公告',val:0},{tit:'通知',val:1},{tit:'资讯',val:2}]
+			}
+		},
+		onLoad: function() {
+		
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods:{
+			checkPermi, checkRole,
+			getDetail(){
+				this.$tab.navigateTo("/news/pages/news/detail")
+			},
+			getTabtop(val){
+				this.ttopval=val
+			},
+			getrefreshData(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getTabFn(val){
+				this.tabval=val
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.cxrq=val;
+			},
+			getDataFn(){
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				params.noticeType=this.tabidx
+				getNoticeList(params).then(res=>{
+					if(res.code==200){
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = ''
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						var newArr=JSON.parse(JSON.stringify(res.rows))
+						newArr.forEach(ite=>{
+							ite.right=0;
+						})
+						// console.log(newArr,555)
+						if (this.pageNum == 1) {
+							this.list = newArr;
+						} else {
+							this.list = this.list.concat(newArr)
+						}
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+				
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.car{padding: 148rpx 0 10rpx;}
+.cartop{position: fixed;left: 0;right: 0;top: 0;background-color: #ffffff;z-index: 2;
+	.tabtop{padding:28rpx 200rpx 40rpx 0;position: relative;
+		.tabt{font-weight: 500;font-size: 32rpx;color: #666666;position: relative;line-height: 56rpx;padding: 0 40rpx;
+			&.act{font-weight: bold;font-size: 32rpx;color: #272727;
+			&::after{content: '';width: 40rpx;height: 10rpx;background: #0156FE;border-radius: 6rpx;position: absolute;left: 50%;margin-left: -20rpx;bottom: -10rpx;}
+			}
+		}
+		.numbox{width: 188rpx;height: 58rpx;background-color: #E6E6E6;border-radius: 29rpx 0 0 29rpx;font-weight: 500;font-size: 26rpx;color: #0156FE;display: flex;align-items: center;justify-content: center;position: absolute;right: 0;
+			text{height: 20rpx;min-width: 20rpx;padding: 0 8rpx;box-sizing: border-box;line-height: 20rpx;margin-left: 10rpx;font-weight: bold;
+font-size:16rpx;
+color: #FCF9F1;
+
+background: #D32C26;
+border-radius: 5px;}
+		}
+	}
+}
+.carlists{padding: 0 18rpx;}
+</style>

二進制
user_ui/news/static/complaint/cira.png


二進制
user_ui/news/static/complaint/cirb.png


二進制
user_ui/news/static/complaint/hline.png


二進制
user_ui/news/static/complaint/replay.png


二進制
user_ui/news/static/news/eye.png


二進制
user_ui/news/static/news/head.png


二進制
user_ui/news/static/news/nicona.png


二進制
user_ui/news/static/news/niconb.png


二進制
user_ui/news/static/news/niconc.png


二進制
user_ui/news/static/news/nicond.png


二進制
user_ui/news/static/news/nicone.png


二進制
user_ui/news/static/news/stara.png


二進制
user_ui/news/static/news/starb.png


+ 121 - 4
user_ui/pages.json

@@ -3,7 +3,14 @@
 	  {
 	    "path": "pages/index/index",
 	    "style": {
-	      "navigationBarTitleText": "若依移动端框架",
+	      "navigationBarTitleText": "首页",
+	      "navigationStyle": "custom"
+	    }
+	  },
+	  {
+	    "path": "pages/health/index",
+	    "style": {
+	      "navigationBarTitleText": "康养",
 	      "navigationStyle": "custom"
 	    }
 	  },
@@ -87,6 +94,18 @@
     }
   }],
   "subPackages": [
+	  {"root": "health",
+	  "pages": [
+		{
+		  "path": "pages/health/detail",
+		  "style": {
+		    "navigationBarTitleText": "健康档案",
+			"navigationStyle": "custom",
+			"h5":{"titleNView":false}
+		  }
+		}
+	  ]
+	  },
   	{
   		"root": "work",
 		"pages": [
@@ -115,6 +134,7 @@
 			  "path": "pages/service/warrantydetail",
 			  "style": {
 			    "navigationBarTitleText": "我要报修",
+				"navigationStyle": "custom",
 				"h5":{"titleNView":false}
 			  }
 			},
@@ -132,9 +152,92 @@
 				"navigationStyle": "custom",
 				"h5":{"titleNView":false}
 			  }
+			},
+			{
+			  "path": "pages/visitor/vadd",
+			  "style": {
+			    "navigationBarTitleText": "邀请访客",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/visitor/vlist",
+			  "style": {
+			    "navigationBarTitleText": "访客记录",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/visitor/vdetail",
+			  "style": {
+			    "navigationBarTitleText": "访客信息",
+				"navigationStyle": "custom",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/visitor/vshare",
+			  "style": {
+			    "navigationBarTitleText": "地址分享",
+				"navigationStyle": "custom",
+				"h5":{"titleNView":false}
+			  }
 			}
 		]
-  	},
+  	},{
+		"root": "news",
+		"pages": [
+			{
+			  "path": "pages/news/newssq",
+			  "style": {
+			    "navigationBarTitleText": "社区资讯",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/news/detail",
+			  "style": {
+			    "navigationBarTitleText": "公告",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/news/newsdj",
+			  "style": {
+			    "navigationBarTitleText": "党建资讯",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/complaint/index",
+			  "style": {
+			    "navigationBarTitleText": "投诉建议",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/complaint/detail",
+			  "style": {
+			    "navigationBarTitleText": "投诉建议",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/complaint/add",
+			  "style": {
+			    "navigationBarTitleText": "新增投诉建议",
+				"h5":{"titleNView":false}
+			  }
+			}
+			// {
+			//   "path": "pages/news/newsadd",
+			//   "style": {
+			//     "navigationBarTitleText": "新增投诉建议",
+			// 	"h5":{"titleNView":false}
+			//   }
+			// }
+		]
+	},
 	{
 		"root": "mine",
 		"pages": [
@@ -187,6 +290,20 @@
 			    "navigationBarTitleText": "充电中",
 				"h5":{"titleNView":false}
 			  }
+			},
+			{
+			  "path": "pages/delivery/index",
+			  "style": {
+			    "navigationBarTitleText": "我的快递",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/delivery/detail",
+			  "style": {
+			    "navigationBarTitleText": "运单详情",
+				"h5":{"titleNView":false}
+			  }
 			}
 			
 		]
@@ -195,11 +312,11 @@
   "preloadRule":{
 	"/pages/index/index": {
 		"network": "all",
-		"packages": ["work","mine"]
+		"packages": ["work","mine","health"]
 	}, 
 	"pages/login": {
 	 	"network": "all",
-	 	"packages": ["work","mine"]
+	 	"packages": ["work","mine","health"]
 	}
   },
   "globalStyle": {

+ 220 - 0
user_ui/pages/health/index.vue

@@ -0,0 +1,220 @@
+<template>
+	<view :style="'padding-top:'+nvaHeight+'px;'">
+		<view class="navbox">
+			<uni-nav-bar color="#ffffff" :background-color="backgroundColor" :border="false" statusBar='true'
+				fixed="true">
+			</uni-nav-bar>
+		</view>
+		<!-- 主体 -->
+		<image :src="navbg" class="navbg"></image>
+		<view class="wymain">
+			<view class="plr12">
+				<view class="htop">
+					<view class="flexcj plr15 mb6">
+						<view class="tit">健康档案</view>
+						<view class="more" @click="getMoreFn">查看更多</view>
+					</view>
+					<view class="txt plr15 mb12">点击查看更多,关爱家人健康~</view>
+					<view class="hswiper">
+						<view class="hslist ">
+							<image :src="hbga" class="imga"></image>
+							<view class="hsbox flexat">
+								<view class="line"></view>
+								<view class="flex1">
+									<view class="name flexat">袁玥<view>业主</view></view>
+									<view class="txt">38岁/B型</view>
+									<view class="txt">165cm/67kg</view>
+								</view>	
+							</view>
+						</view>
+						<view class="hslist bgb">
+							<image :src="hbgb" class="imga"></image>
+							<view class="hsbox flexat">
+								<view class="line"></view>
+								<view class="flex1">
+									<view class="name flexat">袁玥<view>丈夫</view></view>
+									<view class="txt">38岁/B型</view>
+									<view class="txt">165cm/67kg</view>
+								</view>	
+							</view>
+						</view>
+					</view>
+				</view>
+				<image :src="hbgc" class="moreimg"></image>
+			</view>
+			
+			<view class="contbox">
+				<view class="cont flexc mb9">
+					<view class="line"></view>
+					<view class="flex1 tit">健康资讯</view>
+					<view class="morebox">
+						<view class="flexc">更多<image :src="more"></image>
+						</view>
+					</view>
+				</view>
+				<view class="hlists">
+					<box-list :datainfo="list" :wtdt="wtdt" type='health'></box-list>
+				</view>
+			</view>
+		</view>
+		<loading></loading>
+		<footers v-if="isfootflag" :footerindex="footerindex"></footers>
+	</view>
+</template>
+
+<script>
+	import footers from '@/components/footer/footer.vue'
+	import boxList from "@/components/box/list.vue"
+	export default {
+		components: {
+			footers,
+			boxList
+		},
+		data() {
+			return {
+				footerindex: 'health',
+				isfootflag: true,
+				nvaHeight: 44,
+				// activeColor:'#A7CDF9',
+				// nactiveColor:'#DADADA',
+				backgroundColor: "transparent",
+				navbg: require("@/static/images/health/hbg.png"),
+				hbga:require("@/static/images/health/hbga.png"),
+				hbgb:require("@/static/images/health/hbgb.png"),
+				hbgc:require("@/static/images/health/hbgc.png"),
+				more: require("@/static/images/health/more.png"),
+				zhanflag: true,
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt: '',
+				list: [{
+					noticeTitle: "您有1条报修信息,请及时查看处理!",
+					num: '4'
+				}, {
+					noticeTitle: "您有1条报修信息,请及时查看处理!",
+					num: '12'
+				}],
+			}
+		},
+		onPageScroll(e) {
+			var scrollTop = Number(e.scrollTop);
+			if (scrollTop > 0) {
+				this.backgroundColor = '#48CC9A'
+			} else {
+				this.backgroundColor = 'transparent'
+			}
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		onLoad: function() {
+			uni.getSystemInfo({
+				success: (e) => {
+					this.nvaHeight = Number(e.statusBarHeight) + 44;
+				}
+			})
+		},
+		methods: {
+			getMoreFn() {
+				this.$tab.navigateTo(`/health/pages/health/detail`)
+			},
+			getDataFn() {
+				return
+				var params = {
+					pageSize: this.pageSize,
+					pageNum: this.pageNum,
+				}
+				params.noticeType = this.tabidx
+				getNoticeList(params).then(res => {
+					if (res.code == 200) {
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -
+								1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = ''
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						if (this.pageNum == 1) {
+							this.list = res.rows;
+						} else {
+							this.list = this.list.concat(res.rows)
+						}
+					} else {
+						this.$toast(res.msg)
+					}
+				})
+
+			},
+
+		}
+	}
+</script>
+<style>
+	page {
+		background: #F4F6F8;
+	}
+</style>
+<style lang="scss" scoped>
+.navbox{position: fixed;left: 0;right: 0;top: 0;z-index: 4;	}
+.navbg{width: 100%;height: 688rpx;}
+.wymain{z-index: 2;position: relative;padding-top: 244rpx;}
+.htop{background: #FFFFFF;padding: 22rpx 0 32rpx;
+border-radius: 20rpx;margin-bottom: 28rpx;
+	.tit{font-weight: bold;font-size: 32rpx;color: #272727;}
+	.more{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
+	.txt{font-weight: 500;font-size: 24rpx;color: #666666;}
+	.hswiper{flex-wrap: nowrap;display: flex;align-items: center;overflow: auto;padding-left:32rpx;padding-right: 8rpx;
+		.hslist{margin-right: 24rpx;width: 384rpx;height: 174rpx;position: relative;
+			.imga{width: 384rpx;height: 174rpx;}
+			.hsbox{position: absolute;left: 0;top: 0;right: 0;bottom: 0;padding:26rpx 24rpx 0rpx;
+			.line{width: 8rpx;height: 30rpx;border-radius: 4rpx;margin-right: 16rpx;flex: 0 0 auto;margin-top: 6rpx;background: #FF9E00;
+				// &.bga{}
+				// &.bgb{background: #45CB99;}
+			}
+			.name{font-weight: bold;font-size: 32rpx;color: #FFFFFF;margin-bottom: 12rpx;
+				view{font-weight: bold;border-radius: 16rpx;border: 2rpx solid #FFFFFF;color: #FFFFFF;
+font-size: 22rpx;margin-left: 18rpx;padding: 0 8rpx;margin-top: 4rpx;
+				}
+			}
+			.txt{font-weight: 500;font-size: 24rpx;color: #FFFFFF;line-height: 36rpx;}
+			}
+			&.bgb{
+				.line{background: #45CB99;}
+				.name{color: #272727;
+					view{border: 2rpx solid #FF9E00;color: #FF9E00;}
+				}
+				.txt{color: #666666;}
+			}
+		}
+	}
+}
+.moreimg{width: 100%;height: 150rpx;margin-bottom: 34rpx;}
+
+
+.hlists{margin: 0 24rpx 20rpx;
+	background: #FFFFFF;padding: 0 12rpx;border-radius: 20rpx;
+}
+.contbox{padding-top: 6rpx;
+	.cont{margin-bottom: 12rpx;position: relative;
+		.line{width: 14rpx;height: 48rpx;margin-right: 22rpx;border-radius: 0 24rpx 24rpx 0;background-color: #45CB99;}
+		.tit{font-size: 15px;color: #272727;font-weight: bold;}
+		.morebox{padding-right: 24rpx;
+			image{width: 18rpx;height: 16rpx;margin-left: 16rpx;}
+			view{font-size: 24rpx;color: #AAAAAA;}
+		}
+	}
+
+}
+</style>

+ 29 - 8
user_ui/pages/index/index.vue

@@ -43,7 +43,7 @@
 							<view class="img"><image :src="htabc" class="imgb"></image></view>
 							<view>供求资讯</view>
 						</view>
-						<view class="grid-item-box" @click="getBusListFn(1)" >
+						<view class="grid-item-box" @click="getNewsFn" >
 							<view class="img"><image :src="htabd" class="imgb"></image></view>
 							<view>社区资讯<view class="cir">2</view></view>
 							<!-- <view class="flexcw">
@@ -52,11 +52,11 @@
 							</view> -->
 							<view class="txt">点赞<text class="co05 mr2">(5)</text>评论<text class="co05">(12)</text></view>
 						</view>
-						<view class="grid-item-box" @click="getBusListFn(1)" >
+						<view class="grid-item-box" @click="getNewsDjFn" >
 							<view class="img"><image :src="htabe" class="imgc"></image></view>
 							<view>党建资讯</view>
 						</view>
-						<view class="grid-item-box" @click="getBusListFn(1)" >
+						<view class="grid-item-box" @click="getComplaintFn" >
 							<view class="img"><image :src="htabf" class="imgd"></image></view>
 							<view>投诉建议<view class="cir">2</view></view>
 						</view>
@@ -64,7 +64,7 @@
 							<view class="img"><image :src="htabg" class="imge"></image></view>
 							<view>访客邀请</view>
 						</view>
-						<view class="grid-item-box" @click="getBusListFn(1)" >
+						<view class="grid-item-box" @click="getWygjFn" >
 							<view class="img"><image :src="htabh" class="imga"></image></view>
 							<view>联系管家</view>
 						</view>
@@ -116,7 +116,7 @@
 				<view class="hlista flexc mb6">
 					<image :src="lista" class="limg flex0"></image>
 					<view class="tit flex1">我的快递</view>
-					<view class="more flex0">更多<image :src="more"></image></view>
+					<view class="more flex0 flexc" @click="getKdFn">更多<image :src="more"></image></view>
 				</view>
 				<box-list :datainfo="list" type="delivery"></box-list>
 			</view>
@@ -126,7 +126,7 @@
 			<view class="hlista flexc mb10 ">
 				<image :src="listb" class="limg flex0"></image>
 				<view class="tit flex1">今日优惠</view>
-				<view class="more flex0">更多<image :src="more"></image></view>
+				<view class="more flex0 flexc">更多<image :src="more"></image></view>
 			</view>
 		</view>
 		<view class="mb4">
@@ -140,12 +140,13 @@
 					<view class="htabs flexc">
 						<view :class="tabval==ite.val?'act':''" v-for="(ite,idx) in tablist" :key="idx">{{ite.tit}}</view>
 					</view>
-					<view class="more flex0">更多<image :src="more"></image></view>
+					<view class="more flex0 flexc">更多<image :src="more"></image></view>
 				</view>
 				<box-list :datainfo="list" :wtdt="wtdt" type="news"></box-list>
 			</view>
 		</view>
 	<loading></loading>
+	<pop-up :type="type" @getClose="getClose"></pop-up>
 	 <footers v-if="isfootflag"  :footerindex="footerindex"></footers>
   </view>
 </template>
@@ -154,8 +155,9 @@
 import footers from '@/components/footer/footer.vue'
 import notice from '@/components/swiper/notice.vue'
 import boxList from "@/components/box/list.vue"
+import popUp from "@/components/box/popup.vue"
   export default {
-	components:{footers,notice,boxList},
+	components:{footers,notice,boxList,popUp},
 	data(){
 		return{
 			footerindex:'home',
@@ -186,6 +188,7 @@ import boxList from "@/components/box/list.vue"
 			listb:require("@/static/images/home/listb.png"),
 			listc:require("@/static/images/home/listc.png"),
 			more:require("@/static/images/home/more.png"),
+			type:'',//wygj
 			wtdt:"加载更多",
 			yhbg:require("@/static/images/home/yhbg.png"),
 			eye:require("@/static/images/home/eye.png"),
@@ -217,6 +220,9 @@ import boxList from "@/components/box/list.vue"
 		})
     },
 	methods:{
+		getClose(){
+			this.type=''
+		},
 		getNoticeDet(){
 			
 		},
@@ -238,6 +244,21 @@ import boxList from "@/components/box/list.vue"
 		getVisitorFn(){//访客邀请
 			this.$tab.navigateTo(`/work/pages/visitor/index`) 
 		},
+		getNewsFn(){//社区资讯
+			this.$tab.navigateTo(`/news/pages/news/newssq`) 
+		},
+		getNewsDjFn(){//党建资讯
+			this.$tab.navigateTo(`/news/pages/news/newsdj`) 
+		},
+		getComplaintFn(){//投诉建议
+			this.$tab.navigateTo(`/news/pages/complaint/index`) 
+		},
+		getKdFn(){//我的快递
+			this.$tab.navigateTo(`/mine/pages/delivery/index`) 
+		},
+		getWygjFn(){//物业管家
+			this.type='wygj'
+		}
 	}
   }
 </script>

二進制
user_ui/static/images/close.png


二進制
user_ui/static/images/head.png


二進制
user_ui/static/images/health/hbg.png


二進制
user_ui/static/images/health/hbga.png


二進制
user_ui/static/images/health/hbgb.png


二進制
user_ui/static/images/health/hbgc.png


二進制
user_ui/static/images/health/heabox.png


二進制
user_ui/static/images/health/more.png


二進制
user_ui/static/images/health/rimg.png


二進制
user_ui/static/images/home/adra.png


二進制
user_ui/static/images/home/adrbg.png


二進制
user_ui/static/images/home/cbga.png


二進制
user_ui/static/images/home/cbgb.png


二進制
user_ui/static/images/home/cir.png


二進制
user_ui/static/images/home/deva.png


二進制
user_ui/static/images/home/eye.png


二進制
user_ui/static/images/home/htaba.png


二進制
user_ui/static/images/home/htabb.png


二進制
user_ui/static/images/home/htabc.png


二進制
user_ui/static/images/home/htabd.png


二進制
user_ui/static/images/home/htabe.png


二進制
user_ui/static/images/home/htabf.png


二進制
user_ui/static/images/home/htabg.png


二進制
user_ui/static/images/home/htabh.png


二進制
user_ui/static/images/home/htabi.png


二進制
user_ui/static/images/home/htabj.png


二進制
user_ui/static/images/home/htabk.png


二進制
user_ui/static/images/home/htabl.png


二進制
user_ui/static/images/home/jfico.png


二進制
user_ui/static/images/home/lista.png


二進制
user_ui/static/images/home/listb.png


二進制
user_ui/static/images/home/listc.png


二進制
user_ui/static/images/home/more.png


二進制
user_ui/static/images/home/tips.png


二進制
user_ui/static/images/home/voice.png


二進制
user_ui/static/images/home/yhbg.png


二進制
user_ui/static/images/neye.png


二進制
user_ui/static/images/phicoa.png


二進制
user_ui/static/images/phicob.png


二進制
user_ui/static/images/up.png


二進制
user_ui/static/images/wytit.png


+ 6 - 0
user_ui/static/index.html

@@ -11,6 +11,12 @@
 			document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
 		</script>
 		<link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />
+		<script src="https://webapi.amap.com/maps?v=1.4.15&key=fba818d626f91cf5a13cd61943a7667e&plugin=AMap.Autocomplete,AMap.Geocoder"></script>
+		<script type="text/javascript">
+		        window._AMapSecurityConfig = {
+		            securityJsCode:'b06df55c66884ce2c9a3f3281c2c5ca9',
+		        }
+		</script>
 	</head>
 	<body>
 		<noscript>

部分文件因文件數量過多而無法顯示