zouling 3 mesiacov pred
rodič
commit
01862cea73
100 zmenil súbory, kde vykonal 1224 pridanie a 47 odobranie
  1. 4 0
      user_ui/.hbuilderx/launch.json
  2. 12 0
      user_ui/1.txt
  3. BIN
      user_ui/765a696dc3f2e3e010b1228f7bf957cd.keystore
  4. 8 0
      user_ui/api/work/manage.js
  5. 40 1
      user_ui/api/work/news.js
  6. 7 3
      user_ui/manifest.json
  7. 38 6
      user_ui/mine/components/box/list.vue
  8. 0 0
      user_ui/mine/components/tki-float-keyboard/style.css
  9. 459 0
      user_ui/mine/components/tki-float-keyboard/tki-float-keyboard.vue
  10. 193 7
      user_ui/mine/pages/car/addcar.vue
  11. 89 0
      user_ui/mine/pages/car/style.css
  12. 4 3
      user_ui/mine/pages/house/addhouse.vue
  13. 3 2
      user_ui/mine/pages/house/index.vue
  14. 211 0
      user_ui/mine/pages/news/myhd.vue
  15. 0 0
      user_ui/mine/static/house/add.png
  16. BIN
      user_ui/news/components/box/img/face/aini.gif
  17. BIN
      user_ui/news/components/box/img/face/baibai.gif
  18. BIN
      user_ui/news/components/box/img/face/baiyan.gif
  19. BIN
      user_ui/news/components/box/img/face/baobao.gif
  20. BIN
      user_ui/news/components/box/img/face/beishang.gif
  21. BIN
      user_ui/news/components/box/img/face/bishi.gif
  22. BIN
      user_ui/news/components/box/img/face/bizui.gif
  23. BIN
      user_ui/news/components/box/img/face/caonima.gif
  24. BIN
      user_ui/news/components/box/img/face/chanzui.gif
  25. BIN
      user_ui/news/components/box/img/face/chijing.gif
  26. BIN
      user_ui/news/components/box/img/face/dangao.gif
  27. BIN
      user_ui/news/components/box/img/face/fahongbao.gif
  28. BIN
      user_ui/news/components/box/img/face/fennu.gif
  29. BIN
      user_ui/news/components/box/img/face/fuyun.gif
  30. BIN
      user_ui/news/components/box/img/face/ganmao.gif
  31. BIN
      user_ui/news/components/box/img/face/geili.gif
  32. BIN
      user_ui/news/components/box/img/face/good.gif
  33. BIN
      user_ui/news/components/box/img/face/guzhang.gif
  34. BIN
      user_ui/news/components/box/img/face/haha.gif
  35. BIN
      user_ui/news/components/box/img/face/haixiu.gif
  36. BIN
      user_ui/news/components/box/img/face/han.gif
  37. BIN
      user_ui/news/components/box/img/face/haqian.gif
  38. BIN
      user_ui/news/components/box/img/face/heixian.gif
  39. BIN
      user_ui/news/components/box/img/face/heng.gif
  40. BIN
      user_ui/news/components/box/img/face/huatong.gif
  41. BIN
      user_ui/news/components/box/img/face/hufen.gif
  42. BIN
      user_ui/news/components/box/img/face/jiong.gif
  43. BIN
      user_ui/news/components/box/img/face/jiyan.gif
  44. BIN
      user_ui/news/components/box/img/face/keai.gif
  45. BIN
      user_ui/news/components/box/img/face/kelian.gif
  46. BIN
      user_ui/news/components/box/img/face/ku.gif
  47. BIN
      user_ui/news/components/box/img/face/kun.gif
  48. BIN
      user_ui/news/components/box/img/face/lai.gif
  49. BIN
      user_ui/news/components/box/img/face/lazhu.gif
  50. BIN
      user_ui/news/components/box/img/face/lei.gif
  51. BIN
      user_ui/news/components/box/img/face/no.gif
  52. BIN
      user_ui/news/components/box/img/face/nu.gif
  53. BIN
      user_ui/news/components/box/img/face/numa.gif
  54. BIN
      user_ui/news/components/box/img/face/ok.gif
  55. BIN
      user_ui/news/components/box/img/face/qian.gif
  56. BIN
      user_ui/news/components/box/img/face/qinqin.gif
  57. BIN
      user_ui/news/components/box/img/face/ruo.gif
  58. BIN
      user_ui/news/components/box/img/face/se.gif
  59. BIN
      user_ui/news/components/box/img/face/shangxin.gif
  60. BIN
      user_ui/news/components/box/img/face/shengbing.gif
  61. BIN
      user_ui/news/components/box/img/face/shenma.gif
  62. BIN
      user_ui/news/components/box/img/face/shiwang.gif
  63. BIN
      user_ui/news/components/box/img/face/shuai.gif
  64. BIN
      user_ui/news/components/box/img/face/shudaizi.gif
  65. BIN
      user_ui/news/components/box/img/face/shui.gif
  66. BIN
      user_ui/news/components/box/img/face/sikao.gif
  67. BIN
      user_ui/news/components/box/img/face/taikaixin.gif
  68. BIN
      user_ui/news/components/box/img/face/touxiao.gif
  69. BIN
      user_ui/news/components/box/img/face/tu.gif
  70. BIN
      user_ui/news/components/box/img/face/tuzi.gif
  71. BIN
      user_ui/news/components/box/img/face/wabi.gif
  72. BIN
      user_ui/news/components/box/img/face/weiguan.gif
  73. BIN
      user_ui/news/components/box/img/face/weiqu.gif
  74. BIN
      user_ui/news/components/box/img/face/weiwu.gif
  75. BIN
      user_ui/news/components/box/img/face/weixiao.gif
  76. BIN
      user_ui/news/components/box/img/face/xin.gif
  77. BIN
      user_ui/news/components/box/img/face/xiongmao.gif
  78. BIN
      user_ui/news/components/box/img/face/xixi.gif
  79. BIN
      user_ui/news/components/box/img/face/xu.gif
  80. BIN
      user_ui/news/components/box/img/face/ye.gif
  81. BIN
      user_ui/news/components/box/img/face/yinxian.gif
  82. BIN
      user_ui/news/components/box/img/face/yiwen.gif
  83. BIN
      user_ui/news/components/box/img/face/youhengheng.gif
  84. BIN
      user_ui/news/components/box/img/face/yun.gif
  85. BIN
      user_ui/news/components/box/img/face/zan.gif
  86. BIN
      user_ui/news/components/box/img/face/zhu.gif
  87. BIN
      user_ui/news/components/box/img/face/zhuakuang.gif
  88. BIN
      user_ui/news/components/box/img/face/zuohengheng.gif
  89. BIN
      user_ui/news/components/box/img/hbl.jpg
  90. BIN
      user_ui/news/components/box/img/icon/avatar.jpg
  91. BIN
      user_ui/news/components/box/img/icon/avtar.png
  92. BIN
      user_ui/news/components/box/img/icon/reply.png
  93. 156 25
      user_ui/news/components/box/list.vue
  94. BIN
      user_ui/news/components/img/face/aini.gif
  95. BIN
      user_ui/news/components/img/face/baibai.gif
  96. BIN
      user_ui/news/components/img/face/baiyan.gif
  97. BIN
      user_ui/news/components/img/face/baobao.gif
  98. BIN
      user_ui/news/components/img/face/beishang.gif
  99. BIN
      user_ui/news/components/img/face/bishi.gif
  100. BIN
      user_ui/news/components/img/face/bizui.gif

+ 4 - 0
user_ui/.hbuilderx/launch.json

@@ -2,6 +2,10 @@
   // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
     "version": "0.0",
     "configurations": [{
+     	"app-plus" : 
+     	{
+     		"launchtype" : "local"
+     	},
      	"default" : 
      	{
      		"launchtype" : "local"

+ 12 - 0
user_ui/1.txt

@@ -0,0 +1,12 @@
+包名:qswg.user.app
+
+
+证书别名:__uni__e57e235
+证书私钥密码:KKj3wPFb
+
+MD5: 43:45:A4:46:EE:C4:B9:9A:BF:D0:B2:B2:9E:EE:79:02
+SHA1: BC:CC:2F:16:32:84:D8:EE:F7:2A:8C:26:F2:11:8E:FA:EE:16:9B:16
+
+高德key:
+
+极光appkey:

BIN
user_ui/765a696dc3f2e3e010b1228f7bf957cd.keystore


+ 8 - 0
user_ui/api/work/manage.js

@@ -31,6 +31,14 @@ export function partyNewsList(data) {
     'data': data
   })
 }
+// 进行收藏操作
+export function getStarsDj(data) {
+  return request({
+    url: '/wuYe/commentStars/getPartyNewsStars',
+    method: 'post',
+    'data': data
+  })
+}
 // 党建资讯-详情wuYe:partyNews:query
 export function partyNewsDet(data) {
   return request({

+ 40 - 1
user_ui/api/work/news.js

@@ -63,6 +63,7 @@ export function getStars(data) {
     'data': data
   })
 }
+
 //评论-列表父集
 //根据查询所有一级评论组带子集总数组装成前端所需要的数据结构 带分页
 export function getRootComment(data) {
@@ -96,4 +97,42 @@ export function commentContentPut(data) {
     method: 'post',
     'data': data
   })
-}
+}
+
+// 我的评论-列表wuYe:commentIndex:list
+export function mycommentIndex(data) {
+  return request({
+    url: '/wuYe/commentIndex/list',
+    method: 'get',
+    'data': data
+  })
+}
+// 我的点赞-列表wuYe:commentLikes:list
+export function mycommentLikes(data) {
+  return request({
+    url: '/wuYe/commentLikes/list',
+    method: 'get',
+    'data': data
+  })
+}
+// 我的收藏-列表wuYe:commentStars:list
+export function mycommentStars(data) {
+  return request({
+    url: '/wuYe/commentStars/list',
+    method: 'get',
+    'data': data
+  })
+}
+
+// 社区资讯评论-删除wuYe:commentIndex:remove
+export function deletepl(data) {
+  return request({
+    url: '/wuYe/commentIndex/delete/'+data,
+    method: 'get',
+  })
+}
+
+
+
+
+

+ 7 - 3
user_ui/manifest.json

@@ -1,6 +1,6 @@
 {
     "name" : "若依移动端",
-    "appid" : "__UNI__25A9D80",
+    "appid" : "__UNI__E57E235",
     "description" : "",
     "versionName" : "1.1.0",
     "versionCode" : "100",
@@ -35,8 +35,12 @@
                     "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                 ]
             },
-            "ios" : {},
-            "sdkConfigs" : {}
+            "ios" : {
+                "dSYMs" : false
+            },
+            "sdkConfigs" : {
+                "ad" : {}
+            }
         }
     },
     "quickapp" : {},

+ 38 - 6
user_ui/mine/components/box/list.vue

@@ -10,15 +10,15 @@
 				<view class="delleft" style="padding: 0 24rpx;">
 					<view class="carltop flexc">
 						<view class="flex1">
-							<view class="tit mb6" :class="ite.vehicleType==1?'co01':'co16'">{{ite.plateNumber}}</view>
+							<view class="tit mb6" :class="ite.vehicleType=='新能源'?'co16':'co01'">{{ite.plateNumber}}</view>
 							<view class="txt flexc">
-								<!-- {{ite.plateNumber}} -->
-								<view class="txtbtn flexcc">{{kaType(ite.vehicleBrand,clcxList)}}</view>
+								{{kaType(ite.vehicleBrand,clcxList)}}
+								<view class="txtbtn flexcc">{{ite.vehicleType}}</view>
 								<!-- <view class="txtbtn flexcc" v-if="ite.vehicleType==2">新能源</view> -->
 							</view>
 						</view>
-						<image :src="cara" class="cara" v-if="ite.vehicleType==1"></image>
-						<image :src="carb" class="carb" v-if="ite.vehicleType==2"></image>
+						<image :src="carb" class="carb" v-if="ite.vehicleType=='新能源'"></image>
+						<image :src="cara" class="cara" v-else></image>
 					</view>
 					<view class="carlf">
 						<view class="clflist">发动机号码 :{{ite.engineNumber}}</view>
@@ -215,7 +215,32 @@
 					</view>
 					<view class="spdel" v-if="ite.right>0&&checkPermi(['wuYe:residentInfo:remove'])" @click.stop="getDelFn(ite.residentId)">删除</view>
 				</view>
-			</block>
+		</block>
+		<!-- 我的点赞,收藏,评论 -->
+		<block v-if="type=='wdhd'">
+			<view class="mb12 pr"  v-for="(ite,idx) in datainfo" :key="idx"
+					:data-idx="idx"
+					@touchstart="drawStart" @touchmove="drawMove" @touchend="drawEnd" :style="'right:'+ite.right+'px'">
+				<view class="hdlist ">
+					<view class="pd12 flex">
+						<image :src="ite.avatar?baseUrl+ite.avatar:man" class="mhead flex0"></image>
+						<view class="flex1 overh">
+							<view class="flexc mb6">
+								<view class="name flex1 over">{{ite.nickName}}</view>
+								<view class="time flex0 ml10">{{ite.createTime}}</view>
+							</view>
+							<view class="txt mb8">{{ite.commentContent}}</view>
+							<view class="flexc overh mb2">
+								<view class="line bgd"></view>
+								<view class="txta over flex1" v-if="tabval=='mypl'">{{ite.communityTitle}}</view>
+								<view class="txta over flex1" v-else>{{ite.targetTitle}}</view>
+								<image :src="rimg" class="rimg ml10"></image>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="spdel" v-if="ite.right>0&&checkPermi(['wuYe:residentInfo:remove'])" @click.stop="getDelFn(ite.residentId)">删除</view>
+			</view>
 		</block>
 		<view class="shax" v-if="wtdt">{{wtdt}}</view>
 	</block>
@@ -264,6 +289,13 @@
 				default () {
 					return []
 				}
+			},
+				
+			tabval:{
+				type:String,
+				default () {
+					return ''
+				}
 			}
 		},
 		data(){

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
user_ui/mine/components/tki-float-keyboard/style.css


+ 459 - 0
user_ui/mine/components/tki-float-keyboard/tki-float-keyboard.vue

@@ -0,0 +1,459 @@
+<template xlang="wxml" minapp="mpvue">
+	<view class="_flkey-body" :class="[keyShowAni?'_floatAniIn':'_floatAniOut']" v-if='keyShow'>
+		<view class="_flkey-bar">
+			<view class="_flkey-bar-l" @tap="_keySwUp" hover-class="_float-hover-c">
+				<view class="_flkey-bar-btn" v-show="mode == 'keyboard' && keyInputSkin">{{isUp?'小写':'大写'}}</view>
+			</view>
+			<view class="_flkey-bar-c">
+				<view class="_flkey-bar-title">{{title}}</view>
+			</view>
+			<view class="_flkey-bar-r" @tap="_keyHide" hover-class="_float-hover-c">
+				<view class="_flkey-bar-btn">完成</view>
+			</view>
+		</view>
+		<view class="_flkey" v-show="mode != 'number'">
+			<view class="_flkey-h" v-show="!keyInputSkin && mode == 'car'">
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!provinceCP_}" :data-ac="provinceCP_" v-for="v in province.row_1" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!provinceCP_}" :data-ac="provinceCP_" v-for="v in province.row_2" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!provinceCP_}" :data-ac="provinceCP_" v-for="v in province.row_3" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!provinceCP_}" :data-ac="provinceCP_" v-for="v in province.row_4" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+					<view class="_flkey-i" :class="{'_flkey-noac':!specialCP_}" :data-ac="specialCP_" v-for="v in province.row_5" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="_flkey-h" v-show="!keyInputSkin && mode == 'keyboard'">
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!symbolCP_}" :data-ac="symbolCP_" v-for="v in symbol.row_1" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!symbolCP_}" :data-ac="symbolCP_" v-for="v in symbol.row_2" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!symbolCP_}" :data-ac="symbolCP_" v-for="v in symbol.row_3" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="_flkey-n" v-show="keyInputSkin">
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!numCp_}" :data-ac="numCp_" v-for="v in number" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!letterCp_}" :data-ac="letterCp_" v-for="v in letter.row_1" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!letterCp_}" :data-ac="letterCp_" v-for="v in letter.row_2" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+				<view class="_flkey-row">
+					<view class="_flkey-i" :class="{'_flkey-noac':!letterCp_}" :data-ac="letterCp_" v-for="v in letter.row_3" :key="v" :data-v="v" @tap="_keyInput" hover-class="_float-hover-c">
+						<view class="_flkey-i-b">
+							{{v}}
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="_flkey-tool">
+				<view class="_flkey-tool-i tool-i-a" :class="{'_flkey-noac':!swCp_}" @tap="_keyInputSw" hover-class="_float-hover-c">
+					<view class="_flkey-tool-i-b">{{keyInputSkin?swTxtCp_[0]:swTxtCp_[1]}}</view>
+				</view>
+				<view class="_flkey-tool-i tool-i-del" @tap="_keyInputDel" hover-class="_float-hover-c">
+					<view class="_flkey-tool-i-b">删除</view>
+				</view>
+			</view>
+		</view>
+		<view class="_flkey-number" v-show="mode == 'number'">
+			<view class="_flkey-number-row">
+				<view class="_flkey-number-row-i" data-v="1" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">1</view>
+				<view class="_flkey-number-row-i" data-v="2" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">2</view>
+				<view class="_flkey-number-row-i" data-v="3" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">3</view>
+			</view>
+			<view class="_flkey-number-row">
+				<view class="_flkey-number-row-i" data-v="4" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">4</view>
+				<view class="_flkey-number-row-i" data-v="5" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">5</view>
+				<view class="_flkey-number-row-i" data-v="6" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">6</view>
+			</view>
+			<view class="_flkey-number-row">
+				<view class="_flkey-number-row-i" data-v="7" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">7</view>
+				<view class="_flkey-number-row-i" data-v="8" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">8</view>
+				<view class="_flkey-number-row-i" data-v="9" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">9</view>
+			</view>
+			<view class="_flkey-number-row">
+				<view class="_flkey-number-row-i _number-tool" data-v="." :class="{'_flkey-noac':!dotCp_}" :data-ac="dotCp_" @tap="_keyInput" hover-class="_float-hover-c">.</view>
+				<view class="_flkey-number-row-i" data-v="0" :class="{'_flkey-noac':!digitCp_}" :data-ac="digitCp_" @tap="_keyInput" hover-class="_float-hover-c">0</view>
+				<view class="_flkey-number-row-i _number-tool" hover-class="_float-hover-c" @tap="_keyInputDel">删除</view>
+			</view>
+		</view>
+		<view class="_flkey-bot">
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	name: "tki-float-keyboard",
+	props: {
+		'title': {
+			type: [String],
+			default: '',
+		},
+		'type': {
+			type: [Number, String],
+			default: 0,
+		},
+		'mode': {
+			type: [String],
+			default: 'keyboard', // keyboard 普通键盘 car 汽车键盘 number 数字键盘
+		}
+	},
+	data() {
+		return {
+			isUp: false, // 是否是大写
+			swTxt: true, // 键盘切换按钮是否可用
+			keyShow: false,
+			keyShowAni: true, // true 进入 false 隐藏
+			keyInputSkin: true, // true 显示 字母和数字  false 显示汉子
+			symbol: {
+				row_1: ['+', '-', '*', '/', '=', '^', '<', '>', '(', ')'],
+				row_2: ['?', '!', '@', '#', '$', '&', ',', '.', '[', ']'],
+				row_3: [':', ';', '\'', '"', '_', '~', '…'],
+			},
+			province: {
+				row_1: ["京", "津", "沪", "渝", "蒙", "新", "藏", "宁", "桂", "黑"],
+				row_2: ["吉", "辽", "晋", "冀", "青", "鲁", "豫", "苏", "皖", "浙"],
+				row_3: ["闽", "赣", "湘", "鄂", "粤", "琼", "甘", "陕", "云", "贵"],
+				row_4: ["川"],
+				row_5: ["港", "澳", "学", "警", "领", "使"],
+			},
+			number: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
+			letter: {
+				row_1: ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"],
+				row_2: ["A", "S", "D", "F", "G", "H", "J", "K", "L"],
+				row_3: ["Z", "X", "C", "V", "B", "N", "M"],
+			},
+			symbolCP_: true,
+			provinceCP_: true,
+			specialCP_: true,
+			numCp_: true,
+			letterCp_: true,
+			digitCp_: true,
+			dotCp_: true,
+			swCp_: true,
+			swTxtCp_: ['省', 'ABC'],
+		}
+	},
+	methods: {
+		_keyInit() {
+			if (this.mode == 'keyboard') {
+				this.isUp = true
+				this._keyTypeWacth(this.keyType)
+				this._keySwUp()
+			}
+			if (this.mode == 'car') {
+				this.isUp = false
+				this._carTypeWacth(this.carType)
+				this._keySwUp()
+			}
+			if (this.mode == 'number') {
+				this._numberTypeWacth(this.numberType)
+			}
+		},
+		_keySwUp(t) {
+			if (this.mode != 'number' && this.keyInputSkin) {
+				// 大小写切换
+				for (const key in this.letter) {
+					if (this.letter.hasOwnProperty(key)) {
+						for (let index = 0; index < this.letter[key].length; index++) {
+							if (!this.isUp) {
+								let tp = this.letter[key][index].toUpperCase()
+								this.letter[key][index] = tp
+							} else {
+								let tp = this.letter[key][index].toLowerCase()
+								this.letter[key][index] = tp
+							}
+						}
+					}
+				}
+				this.isUp = !this.isUp
+			}
+		},
+		_keyInput(e) {
+			let d = e.currentTarget.dataset
+			if (d.ac) {
+				this.$emit('val', String(d.v))
+			}
+		},
+		_keyInputDel() {
+			this.$emit('del', true)
+		},
+		_keyInputSw() {
+			let that = this;
+			if (that.swCp_) {
+				that.keyInputSkin = !that.keyInputSkin
+			}
+		},
+		_keyShow() {
+			let that = this
+			uni.hideKeyboard()
+			that.keyShow = true
+			that.keyShowAni = true
+			setTimeout(() => {
+				uni.createSelectorQuery().in(that).select('._flkey-body').boundingClientRect(function (rect) {
+					that.$emit('show', rect)
+				}).exec()
+			}, 150);
+		},
+		_keyHide() {
+			let that = this
+			that.keyShowAni = false
+			setTimeout(() => {
+				that.$emit('hide', true)
+				that.keyShow = false
+			}, 166);
+		},
+		_carTypeWacth(n) {
+			let v = Number(n)
+			// 0 全部
+			// 1 字母加数字
+			// 2 省
+			// 3 字母加数字加特
+			// 4 字母
+			// 5 数字
+			switch (v) {
+				case 0:
+					this.provinceCP_ = true
+					this.specialCP_ = true
+					this.numCp_ = true
+					this.letterCp_ = true
+					this.swCp_ = true
+					this.swTxtCp_ = ['省', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 1:
+					this.provinceCP_ = false
+					this.specialCP_ = false
+					this.numCp_ = true
+					this.letterCp_ = true
+					this.swCp_ = false
+					this.swTxtCp_ = ['省', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 2:
+					this.provinceCP_ = true
+					this.specialCP_ = false
+					this.numCp_ = false
+					this.letterCp_ = false
+					this.swCp_ = false
+					this.swTxtCp_ = ['省', 'ABC']
+					this.keyInputSkin = false
+					break;
+				case 3:
+					this.provinceCP_ = false
+					this.specialCP_ = true
+					this.numCp_ = true
+					this.letterCp_ = true
+					this.swCp_ = true
+					this.swTxtCp_ = ['特', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 4:
+					this.provinceCP_ = false
+					this.specialCP_ = false
+					this.numCp_ = false
+					this.letterCp_ = true
+					this.swCp_ = false
+					this.swTxtCp_ = ['省', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 5:
+					this.provinceCP_ = false
+					this.specialCP_ = false
+					this.numCp_ = true
+					this.letterCp_ = false
+					this.swCp_ = false
+					this.swTxtCp_ = ['省', 'ABC']
+					this.keyInputSkin = true
+					break;
+				default:
+					this.provinceCP_ = true
+					this.specialCP_ = true
+					this.numCp_ = true
+					this.letterCp_ = true
+					this.swCp_ = true
+					this.swTxtCp_ = ['省', 'ABC']
+					this.keyInputSkin = true
+					break;
+			}
+		},
+		_keyTypeWacth(n) {
+			let v = Number(n)
+			// 0 全部
+			// 1 字母加数字
+			// 2 符号
+			// 3 字母
+			// 4 数字
+			// 5 字母加符号
+			// 6 数字加符号
+			switch (v) {
+				case 0:
+					this.symbolCP_ = true
+					this.numCp_ = true
+					this.letterCp_ = true
+					this.swCp_ = true
+					this.swTxtCp_ = ['符', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 1:
+					this.symbolCP_ = false
+					this.numCp_ = true
+					this.letterCp_ = true
+					this.swCp_ = false
+					this.swTxtCp_ = ['符', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 2:
+					this.symbolCP_ = true
+					this.numCp_ = false
+					this.letterCp_ = false
+					this.swCp_ = false
+					this.swTxtCp_ = ['符', 'ABC']
+					this.keyInputSkin = false
+					break;
+				case 3:
+					this.symbolCP_ = false
+					this.numCp_ = false
+					this.letterCp_ = true
+					this.swCp_ = false
+					this.swTxtCp_ = ['符', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 4:
+					this.symbolCP_ = false
+					this.numCp_ = true
+					this.letterCp_ = false
+					this.swCp_ = false
+					this.swTxtCp_ = ['符', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 5:
+					this.symbolCP_ = true
+					this.numCp_ = false
+					this.letterCp_ = true
+					this.swCp_ = true
+					this.swTxtCp_ = ['符', 'ABC']
+					this.keyInputSkin = true
+					break;
+				case 6:
+					this.symbolCP_ = true
+					this.numCp_ = true
+					this.letterCp_ = false
+					this.swCp_ = true
+					this.swTxtCp_ = ['符', 'ABC']
+					this.keyInputSkin = true
+					break;
+				default:
+					this.symbolCP_ = true
+					this.numCp_ = true
+					this.letterCp_ = true
+					this.swCp_ = true
+					this.swTxtCp_ = ['符', 'ABC']
+					this.keyInputSkin = true
+					break;
+			}
+		},
+		_numberTypeWacth(n) {
+			let v = Number(n)
+			// 0 全部
+			// 1 禁用.
+			switch (v) {
+				case 0:
+					this.digitCp_ = true
+					this.dotCp_ = true
+					break;
+				case 1:
+					this.digitCp_ = true
+					this.dotCp_ = false
+					break;
+				default:
+					this.digitCp_ = true
+					this.dotCp_ = true
+					break;
+			}
+		}
+	},
+	computed: {
+	},
+	watch: {
+		type(n, o) {
+			if (this.mode == 'car') {
+				this._carTypeWacth(n)
+			}
+			if (this.mode == 'keyboard') {
+				this._keyTypeWacth(n)
+			}
+			if (this.mode == 'number') {
+				this._numberTypeWacth(n)
+			}
+		},
+		mode(n, o) {
+			if (n != o) {
+				this._keyInit()
+			}
+		}
+	},
+	created() {
+		this._keyInit()
+	},
+}
+</script>
+
+<style>
+@import "style.css";
+</style>

+ 193 - 7
user_ui/mine/pages/car/addcar.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="check">
-		<view class="cbox">
+		<view class="cbox" @click="keyHide">
 			<view class="chtop flexc">
 				<view class="line"></view>
 				<view>车辆信息</view>
@@ -14,10 +14,24 @@
 					</view>
 					<view class="carcode">
 						<view class="tit mb16 lh18"><text class="cof4">*</text>车牌号码</view>
-						<view>需车牌插件</view>
+						<!-- <view>需车牌插件</view> -->
+						<view class="carinput-input">
+							<view class="carinput-input-i" :class="{'input-active':carIndex == i}" @tap.stop="inputKey" :data-index="i" v-for="(v,i) in carInput" :key="i" v-show="i < 7">
+								<!-- 塞个点 -->
+								{{carInput[i].val}}
+							</view>
+							<view class="carinput-input-i " :class="{'input-active':carIndex == 7}" @tap.stop="inputKey" data-index="7">
+								<block v-if="carInput[7].val">{{carInput[7].val}}</block>
+								<view v-else class="newtit flexccc">
+									<image :src="addnew"></image>
+									新能源
+								</view>
+								<!-- {{carInput[7].val?carInput[7].val:'+新能源'}} -->
+							</view>
+						</view>
 					</view>
 					<uni-forms-item label="车牌号" name="plateNumber">
-						<view class="flexc" @click.stop="">
+						<view class="flexc" @click="">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.plateNumber" :inputBorder='false' placeholder="请输入车牌号" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
@@ -52,19 +66,19 @@
 						</view>
 					</uni-forms-item> -->
 					<uni-forms-item label="车辆颜色" name="vehicleColour">
-						<view class="flexc" @click.stop="">
+						<view class="flexc" @click="">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.vehicleColour" :inputBorder='false' placeholder="请输入车辆颜色" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
 					</uni-forms-item>
 					<uni-forms-item label="发动机编号" name="engineNumber">
-						<view class="flexc" @click.stop="">
+						<view class="flexc" @click="">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.engineNumber" :inputBorder='false' placeholder="请输入发动机编号" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
 					</uni-forms-item>
 					<uni-forms-item label="车辆识别代号" name="identificationNumber">
-						<view class="flexc" @click.stop="">
+						<view class="flexc" @click="">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.identificationNumber" :inputBorder='false' placeholder="请输入车辆识别代号" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
@@ -91,6 +105,7 @@
 				<!-- <view class="rhbtn mt30" @click="getNext">确定添加</view> -->
 			</view>
 		</view>
+		<tki-float-keyboard ref="keybd" :mode="'car'" :type="keyType" :title="'车牌键盘'" @del="keyCbDel" @val="keyCbVal" @hide="keyCbHide"></tki-float-keyboard>
 		<loading></loading>
 	</view>
 </template>
@@ -103,13 +118,28 @@
 	import {houseInfolistNoPage} from "@/api/work/work.js"
 	import {carPut,carAdd,carDet} from "@/api/work/car.js"
 	import {getDictionaryFn} from "@/api/system/user.js"
+	import tkiFloatKeyboard from "@/mine/components/tki-float-keyboard/tki-float-keyboard.vue";
 	export default{
-		components:{wSelect},
+		components:{wSelect,tkiFloatKeyboard},
 		data(){
 			return{
+				carIndex: -1,
+				carInput: [
+					{ type: 2, val: "皖" },
+					{ type: 4, val: "A" },
+					{ type: 1, val: "" },
+					{ type: 1, val: "" },
+					{ type: 1, val: "" },
+					{ type: 1, val: "" },
+					{ type: 3, val: "" },
+					{ type: 1, val: "" }
+				],
+				keyType: 0,
+				isPower: false, // 新能源
 				rimg: require('@/mine/static/house/rimg.png'),
 				cmico:require('@/mine/static/house/cmico.png'),
 				upimg:require('@/mine/static/house/up.png'),
+				addnew:require('@/mine/static/house/add.png'),
 				baseUrl:config.baseUrl,
 				datainfo:{
 					// "carId":"",//业主车辆主键
@@ -310,6 +340,148 @@
 						}
 					}
 				})
+			},
+			// 车牌
+			// 判定是否为空
+			empty(v) {
+				let tp = typeof v,
+					rt = false;
+				if (tp == "number" && String(v) == "") {
+					rt = true
+				} else if (tp == "undefined") {
+					rt = true
+				} else if (tp == "object") {
+					if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true
+				} else if (tp == "string") {
+					if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true
+				} else if (tp == "function") {
+					rt = false
+				}
+				return rt
+			},
+			inputKey(e) {
+				let that = this;
+				let data = e.currentTarget.dataset;
+				that.carIndex = data.index;
+				// if (data.index >= 7) {
+				// 	if (!that.isPower) {
+				// 		return false;
+				// 	} else {
+				// 		that.carIndex = 7;
+				// 	}
+				// } else {
+				// 	that.carIndex = data.index;
+				// }
+				that.upKeyType();
+				that.keyShow();
+			},
+			keyCbVal(e) {
+				let that = this;
+				let index = Number(that.carIndex);
+				if (index >= 0 && index < 6) {
+					that.carInput[index].val = e;
+					that.carIndex = index + 1;
+				} else if (index == 6) {
+					that.carInput[index].val = e;
+					if (that.isPower) {
+						// 新能源
+						that.carIndex = 7;
+					} else {
+						// 不是新能源出输入结束
+						that.keyHide();
+						that.carIndex = -2;
+						console.log('非新能源车输入完毕')
+					}
+				} else if (index == 7) {
+					// 新能源车输入完毕
+					that.carInput[index].val = e;
+					that.keyHide();
+					that.carIndex = -3;
+					console.log('新能源车输入完毕')
+				}
+				that.upKeyType();
+			},
+			keyCbDel(e) {
+				let index = this.carIndex;
+				if (index > 0) {
+					if (!this.empty(this.carInput[index].val)) {
+						this.carInput[index].val = "";
+						this.carIndex = index;
+					} else {
+						this.carInput[index - 1].val = "";
+						this.carIndex = index - 1;
+					}
+				}
+				this.upKeyType();
+			},
+			upKeyType() {
+				if (!this.empty(this.carInput[this.carIndex])) {
+					this.keyType = this.carInput[this.carIndex].type;
+				}
+			},
+			keyShow() {
+				this.$refs.keybd._keyShow();
+			},
+			keyHide() {
+				this.$refs.keybd._keyHide();
+			},
+			keyCbHide() {
+				if (this.carIndex != -3 || this.carIndex != -2) {
+					this.carIndex = -1;
+				}
+			},
+			powerChange(e) {
+				let that = this
+				let i = that.checkCar().i
+				if (e.detail.value.length > 0) {
+					that.isPower = true;
+					if (i == -1) {
+						that.carIndex = 7;
+					} else {
+						that.carIndex = i;
+					}
+					that.keyShow();
+				} else {
+					that.isPower = false;
+					that.carInput[7].val = "";
+					if (that.carIndex == 7) {
+						that.keyHide();
+						that.carIndex = -2;
+					}
+				}
+				that.upKeyType();
+			},
+			checkCar() {
+				// 检查车牌是否输入完成
+				let that = this;
+				let i = 7;
+				let rt = { i: -1, isempty: false, val: "" };
+				if (that.isPower) {
+					i = 8;
+				}
+				for (let index = 0; index < i; index++) {
+					const obj = that.carInput[index];
+					if (this.empty(String(obj.val))) {
+						rt.i = index;
+						rt.isempty = true;
+						rt.val = "";
+						break;
+					}
+					rt.val += that.carInput[index].val;
+				}
+				return rt;
+			},
+			toBind() {
+				let that = this
+				let ck = that.checkCar();
+				if (ck.i == -1 && !ck.isempty) {
+					console.log('可以绑定车牌了')
+				} else {
+					// 显示键盘输入
+					that.keyShow();
+					that.carIndex = ck.i;
+					that.keyType = that.carInput[ck.i].type
+				}
 			}
 		}
 	}
@@ -318,6 +490,20 @@
 	page{background: #F3F3F0;}
 </style>
 <style lang="scss" scoped>
+// 车牌
+.carinput {margin-top: 74rpx;display: flex;flex-direction: column;padding-left: 40rpx;padding-right: 40rpx}
+.carinput-input{display: flex;justify-content: center;padding-bottom: 40rpx;border-bottom: 2rpx solid #CDCDCD;
+	.input-active {color: #0256FD;border: 2rpx solid #0256FD;}
+}
+	
+.carinput-input-i{width: 62rpx;height: 88rpx;background: #F5F4F7;border-radius: 10rpx;font-weight: bold;font-size: 30rpx;color: #272727;margin-right: 18rpx;text-align: center;box-sizing: border-box;display: flex;flex-direction: column;align-items: center;justify-content: center;
+	.newtit{
+		font-weight: bold;font-size: 16rpx;color: #0256FD;
+		image{width: 28rpx;height: 28rpx;margin-bottom: 4rpx;}
+	}
+}
+.carinput-input-i:nth-last-child(1) {margin-right: 0}
+
 .coa /deep/ .uni-date__x-input{text-align: right;color: #AAAAAA;}
 .check /deep/ .select-wrap{border: none;width: 100%;}
 .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;}

+ 89 - 0
user_ui/mine/pages/car/style.css

@@ -0,0 +1,89 @@
+.hover-c {
+    opacity: .5
+}
+
+.body,
+page {
+    height: 100%
+}
+
+.body {
+    overflow: auto
+}
+
+.carinput {
+    margin-top: 74upx;
+    display: flex;
+    flex-direction: column;
+    padding-left: 40upx;
+    padding-right: 40upx
+}
+
+.carinput-title {
+    font-size: 30upx;
+    color: #333333;
+    line-height: 1;
+    margin-bottom: 90upx
+}
+
+.carinput-input {
+    display: flex;
+    justify-content: center
+}
+
+.carinput-input-i {
+    width: 50upx;
+    border-bottom-width: 2upx !important;
+    border-bottom-style: solid;
+    border-bottom-color: #BCBCBC;
+    font-size: 36upx;
+    color: #333333;
+    line-height: 1;
+    margin-right: 12upx;
+    padding-bottom: 7upx;
+    text-align: center
+}
+
+.carinput-input-i:nth-last-child(1) {
+    margin-right: 0
+}
+
+.carinput-input .input-active {
+    border-bottom-width: 2upx !important;
+    border-bottom-style: solid;
+    border-bottom-color: #23CCAB;
+    color: #23CCAB
+}
+
+.carinput-power {
+    height: 90upx;
+    display: flex;
+    justify-content: flex-end
+}
+
+.carinput-power .checkbox-g {
+    display: flex;
+    justify-content: center;
+    align-items: center
+}
+
+.carinput-power .checkbox {
+    margin-right: 92upx;
+    font-size: 28upx;
+    color: #999999;
+    line-height: 1
+}
+
+.carinput-power .checkbox checkbox {
+    transform: scale(.6) translateY(-2px);
+    margin-right: 0
+}
+
+.card-btn {
+    margin-top: 40upx
+}
+
+.card-btn .btn {
+    width: 324upx;
+    height: 80upx
+}

+ 4 - 3
user_ui/mine/pages/house/addhouse.vue

@@ -123,9 +123,9 @@
 							</view>
 						</picker>
 					</uni-forms-item>
-					<uni-forms-item label="车位号" name="phonenumber">
+					<uni-forms-item label="车位号" name="parkingNumber">
 						<view class="flexc">
-							<uni-easyinput :disabled="isdisabled" v-model="datainfo.phonenumber" :inputBorder='false' placeholder="请输入车位号" />
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.parkingNumber" :inputBorder='false' placeholder="请输入车位号" />
 							<view class="rimg"></view>
 						</view>
 					</uni-forms-item>
@@ -225,7 +225,8 @@
 					 "detailedAddress":"",//房屋的详细门牌号
 					 "hasParkingSpace":"",//是否有车位,Y表示有,N表示无
 					 "communityName":"",//房屋所在小区名称
-					 "houseStatus":""//房屋状态:1-自住,2-出租,3-空闲,4-待售
+					 "houseStatus":"",//房屋状态:1-自住,2-出租,3-空闲,4-待售
+					 "parkingNumber":'',//车位号
 				},
 				rules: {
 				  location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},

+ 3 - 2
user_ui/mine/pages/house/index.vue

@@ -7,8 +7,8 @@
 		<view class="houtop">
 			<!-- 有 -->
 			<view class="flexc mb10" v-if="list.length">
-				<view class="tit">嗨,袁玥!</view>
-				<view class="tita flexcc">户主</view>
+				<view class="tit">嗨,{{nickName}}!</view>
+				<view class="tita flexcc" v-if="list[0].isHouseholder=='Y'">户主</view>
 				<view class="flex1"></view>
 				<view class="tbtns flex0 flexc" @click="getListFn">家庭成员
 					<image :src="more"></image>
@@ -109,6 +109,7 @@
 				reachflag: true,
 				wtdt:'',
 				delBtnWidth:66,//左滑默认宽度
+				nickName:this.$store.state.user.nickName,
 			}
 		},
 		onUnload() {

+ 211 - 0
user_ui/mine/pages/news/myhd.vue

@@ -0,0 +1,211 @@
+<template>
+	<view class="news">
+		<!-- tab栏 -->
+		<view class="cartop">
+			<view class="tabtop flexc">
+				<view class="tabt" :class="tabval==ite.val?'act':''" v-for="(ite,idx) in tablist" :key="idx" @click="getTabFn(ite.val)">{{ite.tit}}</view>
+			</view>
+		</view>
+		<box-list :datainfo="list" :wtdt="wtdt" :tabval="tabval" type="wdhd" @getDetail='getDetail'></box-list>
+	<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"; // 权限判断函数
+	import {mycommentStars,mycommentLikes,mycommentIndex} from "@/api/work/news.js"
+	export default{
+		components:{boxList},
+		data(){
+			return{
+				hrimg:require('@/static/logo.png'),
+				list:[],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				tabval:'mypl',
+				tablist:[{tit:"评论",val:'mypl'},{tit:"点赞",val:'mydz'},{tit:"收藏",val:'mysc'},]
+			}
+		},
+		onLoad: function() {
+			this.getDataFn()
+		},
+		onPageScroll(e) {
+			var scrollTop = Number(e.scrollTop);
+			// var listTop=Number(this.listTop)-Number(this.nvaHeight)
+			if(scrollTop>2){
+				this.scroflag=true
+			}else{
+				this.scroflag=false
+			}
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods:{
+			checkPermi, checkRole,
+			// getNextFn(){
+			// 	this.$tab.navigateTo("/work/pages/business/add")
+			// },
+			getDelFn(id){
+				var that=this;
+				// reservDel(data).then(res=>{
+				// 	if(res.code==200){
+				// 		this.$toast("删除成功");
+				// 		setTimeout(function(){
+				// 			that.getrefreshData()
+				// 		},1500)
+				// 	}
+				// })
+			},
+			getTabFn(val){
+				this.tabval=val;
+				this.getrefreshData()
+			},
+			getrefreshData(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getSh(data){
+				var that=this;
+				var params=JSON.parse(JSON.stringify(data))
+				commentContentPut(params).then(res=>{
+					if(res.code==200){
+						this.$toast('审核成功')
+						setTimeout(function() {
+							that.getrefreshData()
+						}, 1500);
+					}
+				})
+			},
+			getDataFn(){
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+				}
+				var tabval=this.tabval
+				if(tabval=='mypl'){
+					mycommentIndex(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;
+							})
+							if (this.pageNum == 1) {
+								this.list = newArr;
+							} else {
+								this.list = this.list.concat(newArr)
+							}
+							
+						}else{
+							this.$toast(res.msg)
+						}
+					})
+				}else if(tabval=='mydz'){
+					mycommentLikes(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;
+							})
+							if (this.pageNum == 1) {
+								this.list = newArr;
+							} else {
+								this.list = this.list.concat(newArr)
+							}
+						}else{
+							this.$toast(res.msg)
+						}
+					})
+				}else{
+					mycommentStars(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;
+							})
+							if (this.pageNum == 1) {
+								this.list = newArr;
+							} else {
+								this.list = this.list.concat(newArr)
+							}
+						}else{
+							this.$toast(res.msg)
+						}
+					})
+				}
+				console.log(this.list)
+				
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.news{padding:124rpx 18rpx 12rpx;}
+.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;}
+			}
+		}
+	}
+}
+</style>

+ 0 - 0
user_ui/mine/static/house/icon_tjcl_tjxny.png → user_ui/mine/static/house/add.png


BIN
user_ui/news/components/box/img/face/aini.gif


BIN
user_ui/news/components/box/img/face/baibai.gif


BIN
user_ui/news/components/box/img/face/baiyan.gif


BIN
user_ui/news/components/box/img/face/baobao.gif


BIN
user_ui/news/components/box/img/face/beishang.gif


BIN
user_ui/news/components/box/img/face/bishi.gif


BIN
user_ui/news/components/box/img/face/bizui.gif


BIN
user_ui/news/components/box/img/face/caonima.gif


BIN
user_ui/news/components/box/img/face/chanzui.gif


BIN
user_ui/news/components/box/img/face/chijing.gif


BIN
user_ui/news/components/box/img/face/dangao.gif


BIN
user_ui/news/components/box/img/face/fahongbao.gif


BIN
user_ui/news/components/box/img/face/fennu.gif


BIN
user_ui/news/components/box/img/face/fuyun.gif


BIN
user_ui/news/components/box/img/face/ganmao.gif


BIN
user_ui/news/components/box/img/face/geili.gif


BIN
user_ui/news/components/box/img/face/good.gif


BIN
user_ui/news/components/box/img/face/guzhang.gif


BIN
user_ui/news/components/box/img/face/haha.gif


BIN
user_ui/news/components/box/img/face/haixiu.gif


BIN
user_ui/news/components/box/img/face/han.gif


BIN
user_ui/news/components/box/img/face/haqian.gif


BIN
user_ui/news/components/box/img/face/heixian.gif


BIN
user_ui/news/components/box/img/face/heng.gif


BIN
user_ui/news/components/box/img/face/huatong.gif


BIN
user_ui/news/components/box/img/face/hufen.gif


BIN
user_ui/news/components/box/img/face/jiong.gif


BIN
user_ui/news/components/box/img/face/jiyan.gif


BIN
user_ui/news/components/box/img/face/keai.gif


BIN
user_ui/news/components/box/img/face/kelian.gif


BIN
user_ui/news/components/box/img/face/ku.gif


BIN
user_ui/news/components/box/img/face/kun.gif


BIN
user_ui/news/components/box/img/face/lai.gif


BIN
user_ui/news/components/box/img/face/lazhu.gif


BIN
user_ui/news/components/box/img/face/lei.gif


BIN
user_ui/news/components/box/img/face/no.gif


BIN
user_ui/news/components/box/img/face/nu.gif


BIN
user_ui/news/components/box/img/face/numa.gif


BIN
user_ui/news/components/box/img/face/ok.gif


BIN
user_ui/news/components/box/img/face/qian.gif


BIN
user_ui/news/components/box/img/face/qinqin.gif


BIN
user_ui/news/components/box/img/face/ruo.gif


BIN
user_ui/news/components/box/img/face/se.gif


BIN
user_ui/news/components/box/img/face/shangxin.gif


BIN
user_ui/news/components/box/img/face/shengbing.gif


BIN
user_ui/news/components/box/img/face/shenma.gif


BIN
user_ui/news/components/box/img/face/shiwang.gif


BIN
user_ui/news/components/box/img/face/shuai.gif


BIN
user_ui/news/components/box/img/face/shudaizi.gif


BIN
user_ui/news/components/box/img/face/shui.gif


BIN
user_ui/news/components/box/img/face/sikao.gif


BIN
user_ui/news/components/box/img/face/taikaixin.gif


BIN
user_ui/news/components/box/img/face/touxiao.gif


BIN
user_ui/news/components/box/img/face/tu.gif


BIN
user_ui/news/components/box/img/face/tuzi.gif


BIN
user_ui/news/components/box/img/face/wabi.gif


BIN
user_ui/news/components/box/img/face/weiguan.gif


BIN
user_ui/news/components/box/img/face/weiqu.gif


BIN
user_ui/news/components/box/img/face/weiwu.gif


BIN
user_ui/news/components/box/img/face/weixiao.gif


BIN
user_ui/news/components/box/img/face/xin.gif


BIN
user_ui/news/components/box/img/face/xiongmao.gif


BIN
user_ui/news/components/box/img/face/xixi.gif


BIN
user_ui/news/components/box/img/face/xu.gif


BIN
user_ui/news/components/box/img/face/ye.gif


BIN
user_ui/news/components/box/img/face/yinxian.gif


BIN
user_ui/news/components/box/img/face/yiwen.gif


BIN
user_ui/news/components/box/img/face/youhengheng.gif


BIN
user_ui/news/components/box/img/face/yun.gif


BIN
user_ui/news/components/box/img/face/zan.gif


BIN
user_ui/news/components/box/img/face/zhu.gif


BIN
user_ui/news/components/box/img/face/zhuakuang.gif


BIN
user_ui/news/components/box/img/face/zuohengheng.gif


BIN
user_ui/news/components/box/img/hbl.jpg


BIN
user_ui/news/components/box/img/icon/avatar.jpg


BIN
user_ui/news/components/box/img/icon/avtar.png


BIN
user_ui/news/components/box/img/icon/reply.png


+ 156 - 25
user_ui/news/components/box/list.vue

@@ -46,12 +46,12 @@
 				<view class="txt overtwo"><rich-text :nodes="ite.partyContent"></rich-text></view>
 				<view class="stabox flexc">
 					<view class="time flex1">{{ite.publishTime}}</view>
-					<view class="btns flexc">
-						<image :src="star" class="imga"></image>42
-						<!-- <image :src="stara" class="imga"></image>42 -->
+					<view class="btns flexc" @click.stop="getScFn(ite,idx)">
+						<image :src="star" class="imga" v-if="ite.isStars=='Y'"></image>
+						<image :src="stara" class="imga" v-else></image>{{ite.starsCount||0}}
 					</view>
 					<view class="btns flexc">
-						<image :src="eye" class="imgb"></image>1361
+						<image :src="eye" class="imgb"></image>{{ite.viewCount||0}}
 					</view>
 				</view>
 		
@@ -70,30 +70,50 @@
 							<image :src="niconb" class="imga" v-else></image>
 							<view>点赞</view>
 						</view>
-						<view class="plrbtn flexc flex0" @click.stop="getHfFn(ite)">
+						<view class="plrbtn flexc flex0" @click.stop="getHfFn('yjhf',ite,ite.id)">
 							<image :src="nicone" class="imgb"></image>
 							<view>回复</view>
 						</view>
+						<view class="plrbtn flexc flex0" @click.stop="getDelFn(ite.id)" v-if="checkPermi(['wuYe:commentIndex:remove'])&&ite.isMyself=='Y'">
+							<image :src="del" class="imgc"></image>
+							<view class="cof4">删除</view>
+						</view>
 					</view>
-					<view class="infotxt">{{ite.content}}<view class="infotime">{{ite.createDate}}</view></view>
+					<view class="infotxt">
+						<rich-text :nodes="analyzeEmoji(ite.content)"></rich-text>
+					<view class="infotime">{{ite.createDate}}</view></view>
 				
 					<!-- 二级回复 -->
 					<view class="pllist flex" v-for="(aite,aidx) in ite.childrenList" :key="`ej${aidx}`">
 						<image :src="aite.commentUser.avatar?baseUrl+aite.commentUser.avatar:head" class="head"></image>
 						<view class="flex1 overh">
 							<view class="flexat mb14 ">
-								<view class="plname flex1 over">{{aite.commentUser.nickName}}</view>
+								<view class="plname flex1 over flexc">
+									<view class="over">{{aite.commentUser.nickName}}</view>
+									<block v-if="aite.toRoot=='Y'">
+										<image :src="rimg" class="rimg"></image>
+										<view class="over">{{aite.targetUser.nickName}}</view>
+									</block>
+									<!-- 判断是不是二级回复的回复 加字段-->
+									<!-- <block v-if="ite."></block> -->
+								</view>
 								<view class="plrbtn flexc flex0" @click.stop="getDzFn(aite.id,'2',aite.content,idx,aidx,'ejdz')">
 									<image :src="nicond" v-if="aite.isLike=='Y'"></image>
 									<image :src="niconb" class="imga" v-else></image>
 									<view>点赞</view>
 								</view>
-								<view class="plrbtn flexc flex0" @click.stop="getHfFn(aite)">
+								<view class="plrbtn flexc flex0" @click.stop="getHfFn('ejhf',aite,ite.id)">
 									<image :src="nicone" class="imgb"></image>
 									<view>回复</view>
 								</view>
+								<view class="plrbtn flexc flex0" @click.stop="getDelFn(aite.id)" v-if="checkPermi(['wuYe:commentIndex:remove'])&&aite.isMyself=='Y'">
+									<image :src="del" class="imgc"></image>
+									<view class="cof4">删除</view>
+								</view>
 							</view>
-							<view class="infotxt">{{aite.content}}<view class="infotime">{{aite.createDate}}</view></view>
+							<view class="infotxt">
+								<rich-text :nodes="analyzeEmoji(aite.content)"></rich-text>
+								<view class="infotime">{{aite.createDate}}</view></view>
 						</view>
 					</view>
 					<view class="flexc" v-if="ite.childrenListCount>0">
@@ -163,10 +183,86 @@
 				niconc:require('@/news/static/news/niconc.png'),
 				nicond:require('@/news/static/news/nicond.png'),
 				nicone:require('@/news/static/news/nicone.png'),
+				del:require('@/news/static/news/delb.png'),
 				head:require('@/news/static/news/head.png'),
 				upimg:require('@/mine/static/house/up.png'),
 				baseUrl:config.baseUrl,
 				delBtnWidth:66,//左滑默认宽度
+				OwOlist: [
+				        //表情包和表情路径
+				        { title: "微笑", url: "weixiao.gif" },
+				        { title: "嘻嘻", url: "xixi.gif" },
+				        { title: "哈哈", url: "haha.gif" },
+				        { title: "可爱", url: "keai.gif" },
+				        { title: "可怜", url: "kelian.gif" },
+				        { title: "挖鼻", url: "wabi.gif" },
+				        { title: "吃惊", url: "chijing.gif" },
+				        { title: "害羞", url: "haixiu.gif" },
+				        { title: "挤眼", url: "jiyan.gif" },
+				        { title: "闭嘴", url: "bizui.gif" },
+				        { title: "鄙视", url: "bishi.gif" },
+				        { title: "爱你", url: "aini.gif" },
+				        { title: "泪", url: "lei.gif" },
+				        { title: "偷笑", url: "touxiao.gif" },
+				        { title: "亲亲", url: "qinqin.gif" },
+				        { title: "生病", url: "shengbing.gif" },
+				        { title: "太开心", url: "taikaixin.gif" },
+				        { title: "白眼", url: "baiyan.gif" },
+				        { title: "右哼哼", url: "youhengheng.gif" },
+				        { title: "左哼哼", url: "zuohengheng.gif" },
+				        { title: "嘘", url: "xu.gif" },
+				        { title: "衰", url: "shuai.gif" },
+				        { title: "吐", url: "tu.gif" },
+				        { title: "哈欠", url: "haqian.gif" },
+				        { title: "抱抱", url: "baobao.gif" },
+				        { title: "怒", url: "nu.gif" },
+				        { title: "疑问", url: "yiwen.gif" },
+				        { title: "馋嘴", url: "chanzui.gif" },
+				        { title: "拜拜", url: "baibai.gif" },
+				        { title: "思考", url: "sikao.gif" },
+				        { title: "汗", url: "han.gif" },
+				        { title: "困", url: "kun.gif" },
+				        { title: "睡", url: "shui.gif" },
+				        { title: "钱", url: "qian.gif" },
+				        { title: "失望", url: "shiwang.gif" },
+				        { title: "酷", url: "ku.gif" },
+				        { title: "色", url: "se.gif" },
+				        { title: "哼", url: "heng.gif" },
+				        { title: "鼓掌", url: "guzhang.gif" },
+				        { title: "晕", url: "yun.gif" },
+				        { title: "悲伤", url: "beishang.gif" },
+				        { title: "抓狂", url: "zhuakuang.gif" },
+				        { title: "黑线", url: "heixian.gif" },
+				        { title: "阴险", url: "yinxian.gif" },
+				        { title: "怒骂", url: "numa.gif" },
+				        { title: "互粉", url: "hufen.gif" },
+				        { title: "书呆子", url: "shudaizi.gif" },
+				        { title: "愤怒", url: "fennu.gif" },
+				        { title: "感冒", url: "ganmao.gif" },
+				        { title: "心", url: "xin.gif" },
+				        { title: "伤心", url: "shangxin.gif" },
+				        { title: "猪", url: "zhu.gif" },
+				        { title: "熊猫", url: "xiongmao.gif" },
+				        { title: "兔子", url: "tuzi.gif" },
+				        { title: "喔克", url: "ok.gif" },
+				        { title: "耶", url: "ye.gif" },
+				        { title: "棒棒", url: "good.gif" },
+				        { title: "不", url: "no.gif" },
+				        { title: "赞", url: "zan.gif" },
+				        { title: "来", url: "lai.gif" },
+				        { title: "弱", url: "ruo.gif" },
+				        { title: "草泥马", url: "caonima.gif" },
+				        { title: "神马", url: "shenma.gif" },
+				        { title: "囧", url: "jiong.gif" },
+				        { title: "浮云", url: "fuyun.gif" },
+				        { title: "给力", url: "geili.gif" },
+				        { title: "围观", url: "weiguan.gif" },
+				        { title: "威武", url: "weiwu.gif" },
+				        { title: "话筒", url: "huatong.gif" },
+				        { title: "蜡烛", url: "lazhu.gif" },
+				        { title: "蛋糕", url: "dangao.gif" },
+				        { title: "发红包", url: "fahongbao.gif" },
+				      ],
 			}
 		},
 		mounted() {
@@ -180,6 +276,28 @@
 			getDetail(e){
 				this.$emit('getDetail',e)
 			},
+			analyzeEmoji(cont){
+			      //编译表情替换成图片展示出来
+			      var pattern1 = /\[[\u4e00-\u9fa5]+\]/g;
+			      var pattern2 = /\[[\u4e00-\u9fa5]+\]/;
+			      var content = cont.match(pattern1);
+			      var str = cont;
+			      if (content) {
+			        for (var i = 0; i < content.length; i++) {
+			          for (var j = 0; j < this.OwOlist.length; j++) {
+			            if ("[" + this.OwOlist[j].title + "]" == content[i]) {
+			              var src = this.OwOlist[j].url;
+			              break;
+			            }
+			          }
+			          var s = require("./img/face/" + src);
+			          var imoj = "<img src='" + s + "'/>";
+			
+			          str = str.replace(pattern2, imoj);
+			        }
+			      }
+			      return str;
+			    },
 			getZhanFn(ite,idx){
 				var obj={
 					ite:ite,
@@ -198,32 +316,40 @@
 				}
 				this.$emit("getDzFn",obj)
 			},
-			getHfFn(ite){
+			getScFn(ite,idx){
+				var obj={
+					ite:ite,
+					idx:idx
+				}
+				this.$emit("getScFn",obj)
+			},
+			getHfFn(type,ite,id){
 				var cuser=JSON.parse(JSON.stringify(ite.commentUser))
 				var obj={
-					parentId:ite.id,
+					parentId:id,
 					toUserId:cuser.id,
 					toNickName:cuser.nickName,
 					toAvatar:cuser.avatar,
+					type:type||""
 				}
 				this.$emit("getHfFn",obj)
 			},
 			getShouFn(idx){
 				this.$emit("getShouFn",idx)
 			},
-			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) {}
-				});
-			},
+			// 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) {}
+			// 	});
+			// },
 			getDelFn(id){
 				var that=this;
 				uni.showModal({
@@ -307,6 +433,7 @@
 		image{width: 16rpx;height: 28rpx;}
 	}
 }
+.rimg{width: 16rpx;height: 28rpx;margin: 0 10rpx;flex: 0 0 auto;}
 .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{
@@ -319,13 +446,16 @@
 		.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;}
+		.imgc{width: 26rpx;height: 26rpx;margin-right: 10rpx;}
 		}	
 	}
 }
 //评论
 .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;}
+	.plname{font-weight: bold;font-size: 30rpx;color: #161616;
+		view{max-width: 50%;}
+	}
 	.plrbtn{margin-left: 36rpx;
 		image{width: 26rpx;height: 24rpx;margin-right: 16rpx;
 			&.imga{width: 26rpx;height: 26rpx;}
@@ -336,6 +466,7 @@
 	.infotxt{font-weight: 500;font-size: 26rpx;color: #161616;line-height: 40rpx;margin-bottom: 30rpx;
 		&: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;}	
+		image{width: 44rpx;height: 44rpx;}
 	}
 	.pllist{
 		padding-top: 0;border-bottom: none;margin-bottom: 0;

BIN
user_ui/news/components/img/face/aini.gif


BIN
user_ui/news/components/img/face/baibai.gif


BIN
user_ui/news/components/img/face/baiyan.gif


BIN
user_ui/news/components/img/face/baobao.gif


BIN
user_ui/news/components/img/face/beishang.gif


BIN
user_ui/news/components/img/face/bishi.gif


BIN
user_ui/news/components/img/face/bizui.gif


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov