list.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622
  1. <template>
  2. <view>
  3. <!-- 第一种样式 人员管理-->
  4. <block v-if="datainfo.length>0">
  5. <!-- 房屋管理 -->
  6. <block v-if="type=='comehouse'">
  7. <view class="carlist houselist" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail(ite)">
  8. <view class="ctop flexc">
  9. <image :src="house" class="imgs" v-if="ite.houseStatus==1"></image>
  10. <image :src="housea" class="imgs" v-if="ite.houseStatus==4"></image>
  11. <image :src="houseb" class="imgs" v-if="ite.houseStatus==2"></image>
  12. <image :src="housec" class="imgs" v-if="ite.houseStatus==3"></image>
  13. <view class="tit">{{ite.communityName}}{{ite.detailedAddress}}</view>
  14. <view class="flex1"></view>
  15. <view @click.stop="getDelFn(ite)" v-if="checkPermi(['wuYe:residentInfo:deleteResident'])">删除</view>
  16. <block v-if="tabval=='-1'&&ite.examine==1&&checkPermi(['wuYe:residentInfo:examineStaff'])">
  17. <view class="shbtn btna" @click.stop="getSh('3',ite)">拒绝</view>
  18. <view class="shbtn btnb" @click.stop="getSh('2',ite)">通过</view>
  19. </block>
  20. <block v-else>
  21. <view class="txt ca" v-if="ite.houseStatus==1">自住</view>
  22. <view class="txt cb" v-if="ite.houseStatus==4">出租</view>
  23. <view class="txt cc" v-if="ite.houseStatus==2">空闲</view>
  24. <view class="txt co6" v-if="ite.houseStatus==3">代售</view>
  25. </block>
  26. </view>
  27. <view class="clists" v-if="tabval=='-1'">
  28. <view class="clist"><view class="tit">姓名</view>{{ite.residentName}}</view>
  29. <view class="clist"><view class="tit">手机号</view>{{ite.residentPhone}}</view>
  30. <!-- <view class="clist"><view class="tit">房屋坐落</view>{{ite.location}}</view>
  31. <view class="w50 flexc">
  32. <view class="clist"><view class="tit">房屋状态</view>
  33. <view class="txtb ca" v-if="ite.houseStatus==1">自住</view>
  34. <view class="txtb cb" v-if="ite.houseStatus==4">出租</view>
  35. <view class="txtb cc" v-if="ite.houseStatus==2">空闲</view>
  36. <view class="txtb co6" v-if="ite.houseStatus==3">代售</view>
  37. </view>
  38. <view class="clist"><view class="tit">房屋所属</view>{{ite.ownerName}}</view>
  39. </view>
  40. <view class="w50 flexc">
  41. <view class="clist"><view class="tit">建筑面积</view>{{ite.area}}m²</view>
  42. <view class="clist"><view class="tit">有无车位</view>{{ite.hasParkingSpace=='Y'?'有':'无'}}</view>
  43. </view> -->
  44. </view>
  45. <block v-else>
  46. <view class="clists">
  47. <view class="clist"><view class="tit">房屋坐落</view>{{ite.location}}</view>
  48. <view class="clist"><view class="tit">建筑面积</view>{{ite.area}}m²</view>
  49. <!-- <view class="clist"><view class="tit">手机号码</view>13656788668</view> -->
  50. </view>
  51. <view class="btns flexc">
  52. <view class="bga" v-if="checkPermi(['wuYe:houseInfo:edit'])" @click.stop="getPut(ite.houseId)">编辑信息</view>
  53. <view class="bgb" v-if="checkPermi(['wuYe:residentInfo:list'])" @click.stop="getJuzhu(ite.houseId)">居住信息</view>
  54. <view class="bgc" v-if="checkPermi(['wuYe:car:list'])" @click.stop="getCar(ite.houseId)"> 车辆信息</view>
  55. </view>
  56. </block>
  57. </view>
  58. </block>
  59. <block v-if="type=='mycar'">
  60. <view class="carlist pr" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail(ite.carId)"
  61. :data-idx="idx"
  62. @touchstart="drawStart" @touchmove="drawMove" @touchend="drawEnd" :style="'right:'+ite.right+'px'"
  63. >
  64. <view class="delleft" style="padding: 0 24rpx;">
  65. <view class="carltop flexc">
  66. <view class="flex1">
  67. <view class="tit mb6 flexc" :class="ite.vehicleEnergy=='新能源'?'co16':'co01'">{{ite.plateNumber}}
  68. <text class="cir"></text>
  69. <text v-if="ite.vehicleColour">{{ite.vehicleColour}}</text>
  70. </view>
  71. <view class="txt flexc">
  72. {{ite.vehicleBrand}}
  73. <view class="txtbtn flexcc" v-if="ite.vehicleEnergy=='新能源'">{{ite.vehicleEnergy}}</view>
  74. <!-- <view class="txtbtn flexcc" v-if="ite.vehicleType==2">新能源</view> -->
  75. </view>
  76. </view>
  77. <image :src="carb" class="carb" v-if="ite.vehicleEnergy=='新能源'"></image>
  78. <image :src="cara" class="cara" v-else></image>
  79. </view>
  80. <view class="carlf">
  81. <view class="clflist">发动机号码 :{{ite.engineNumber}}</view>
  82. <view class="clflist">车辆识别代号:{{ite.identificationNumber}}</view>
  83. <view class="flexc">
  84. <view class="clflist w50">注册日期:{{ite.registrationDate}}</view>
  85. <view class="clflist w50">发证日期:{{ite.issueDate}}</view>
  86. </view>
  87. </view>
  88. </view>
  89. <view class="spdel" v-if="ite.right>0&&checkPermi(['wuYe:car:remove'])" @click.stop="getDelFn(ite.carId)">删除</view>
  90. </view>
  91. </block>
  92. <!-- 黑名单设置 -->
  93. <block v-if="type=='blackhmd'">
  94. <view class="carlist pr" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail(ite.blackManageId)"
  95. :data-idx="idx"
  96. @touchstart="drawStart" @touchmove="drawMove" @touchend="drawEnd" :style="'right:'+ite.right+'px'"
  97. >
  98. <view class="delleft" style="padding: 0 24rpx;">
  99. <view class="ctop flexc" style="padding: 24rpx 0;">
  100. <view class="tit">{{kaType(ite.blackType,hmdlxList)}}</view>
  101. </view>
  102. <view class="carlf">
  103. <!-- <view class="clflist">类型 :{{kaType(ite.blackType,hmdlxList)}}</view> -->
  104. <view class="clflist">说明:{{ite.blackTitle}}</view>
  105. <view class="clflist">阈值:{{ite.blackNum}}</view>
  106. <view class="clflist">启用:{{ite.isDel=='Y'?'启用':'禁用'}}</view>
  107. </view>
  108. </view>
  109. <view class="spdel" v-if="ite.right>0&&checkPermi(['wuYe:illegalParking:remove'])" @click.stop="getDelFn(ite.blackManageId)">删除</view>
  110. </view>
  111. </block>
  112. <!-- 物业费管理 -->
  113. <block v-if="type=='money'">
  114. <view class="carlist peolist" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail(ite.propertyId)">
  115. <view class="ctop flexc" style="padding: 26rpx 24rpx 24rpx;">
  116. <image :src="hicoa" class="imgs"></image>
  117. <view class="tit">{{ite.detailedAddress}}</view>
  118. <view class="flex1"></view>
  119. <view class="txta">{{ite.year}}/01 -{{ite.year}}/12</view>
  120. </view>
  121. <view class="clists flexc">
  122. <view class="mlistl">
  123. <view class="mltit">应缴总额 /元</view>
  124. <view class="mltxt">{{ite.totalExpense}}</view>
  125. </view>
  126. <view class="mlistr">
  127. <view class="clist"><view class="tit">物业费用:</view>{{ite.tenementExpense}}元</view>
  128. <view class="clist"><view class="tit">车位费用:</view>{{ite.parkingExpense}}元</view>
  129. <view class="clist"><view class="tit">能耗费用:</view>{{ite.energyExpense}}元</view>
  130. </view>
  131. </view>
  132. </view>
  133. </block>
  134. <!-- 历史账单 -->
  135. <block v-if="type=='moneybill'">
  136. <view class="carlist peolist" v-for="(ite,idx) in datainfo" :key="idx">
  137. <view class="ctop flexc" style="padding: 26rpx 24rpx 24rpx;">
  138. <image :src="time" class="imgs"></image>
  139. <view class="tit">{{ite.year}}/01 {{ite.year}}/12</view>
  140. <view class="btn btnbgb" v-if="ite.isExpense=='Y'">已缴费</view>
  141. <view class="btn btnbgc" v-else>未缴费</view>
  142. <view class="flex1"></view>
  143. <view class="txta">{{ite.detailedAddress}}</view>
  144. </view>
  145. <view class="clists flexc">
  146. <view class="mlistl">
  147. <view class="mltit">应缴总额 /元</view>
  148. <view class="mltxt">{{ite.totalExpense}}</view>
  149. </view>
  150. <view class="mlistr">
  151. <view class="clist"><view class="tit">物业费用:</view>{{ite.tenementExpense}}元</view>
  152. <view class="clist"><view class="tit">车位费用:</view>{{ite.parkingExpense}}元</view>
  153. <view class="clist"><view class="tit">能耗费用:</view>{{ite.energyExpense}}元</view>
  154. </view>
  155. </view>
  156. </view>
  157. </block>
  158. <!-- 物业费设置 -->
  159. <block v-if="type=='feeset'">
  160. <view class="carlist peolist pr" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail(ite.settingsId)"
  161. :data-idx="idx"
  162. @touchstart="drawStart" @touchmove="drawMove" @touchend="drawEnd" :style="'right:'+ite.right+'px'"
  163. >
  164. <view class="delleft">
  165. <view class="ctop flexc" style="padding: 26rpx 24rpx 24rpx;">
  166. <image :src="time" class="imgs"></image>
  167. <view class="tit">{{ite.year}}/01 {{ite.year}}/12</view>
  168. <!-- <view class="btn btnbgb" v-if="ite.isExpense=='Y'">已缴费</view>
  169. <view class="btn btnbgc" v-else>未缴费</view> -->
  170. <view class="flex1"></view>
  171. <!-- <view class="txta">{{ite.detailedAddress}}</view> -->
  172. </view>
  173. <view class="clists flexc">
  174. <view class="mlistl">
  175. <view class="mltit">应缴总额 /元</view>
  176. <view class="mltxt">{{ite.totalExpense}}</view>
  177. </view>
  178. <view class="mlistr">
  179. <view class="clist"><view class="tit">物业费用:</view>{{ite.tenementExpense}}元</view>
  180. <view class="clist"><view class="tit">车位费用:</view>{{ite.parkingExpense}}元</view>
  181. <view class="clist"><view class="tit">能耗费用:</view>{{ite.energyExpense}}元</view>
  182. </view>
  183. </view>
  184. </view>
  185. <view class="spdel" v-if="ite.right>0&&checkPermi(['wuYe:car:remove'])" @click.stop="getDelFn(ite.settingsId)">删除</view>
  186. </view>
  187. </block>
  188. <view class="shax">{{wtdt}}</view>
  189. </block>
  190. <!-- 无数据 -->
  191. <view class="nodata" v-else>
  192. <image :src="noiconpimg"></image>
  193. <view>
  194. 暂无数据
  195. </view>
  196. </view>
  197. </view>
  198. </template>
  199. <script>
  200. import {selectDictValue} from "@/utils/common.js"
  201. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  202. import config from '@/config'
  203. export default{
  204. props:{
  205. datainfo: {
  206. type: Array,
  207. default () {
  208. return []
  209. }
  210. },
  211. wtdt:{
  212. type:String,
  213. default () {
  214. return ''
  215. }
  216. },
  217. type:{
  218. type:String,
  219. default () {
  220. return ''
  221. }
  222. },
  223. tabval:{
  224. type:String,
  225. default () {
  226. return ''
  227. }
  228. },
  229. clcxList:{
  230. type:Array,
  231. default () {
  232. return []
  233. }
  234. },
  235. hmdlxList:{
  236. type:Array,
  237. default () {
  238. return []
  239. }
  240. }
  241. },
  242. data(){
  243. return{
  244. noiconpimg:require("@/static/nodata.png"),
  245. car:require("@/car/static/car/car.png"),
  246. cara:require("@/car/static/car/carba.png"),
  247. carb:require("@/car/static/car/carbb.png"),
  248. hicoa:require("@/people/static/people/hicoa.png"),
  249. hicob:require("@/people/static/people/hicob.png"),
  250. man:require("@/people/static/people/man.png"),
  251. woman:require("@/people/static/people/woman.png"),
  252. rimg:require("@/people/static/people/rimg.png"),
  253. pdel:require("@/people/static/people/pdel.png"),
  254. gzlx:require("@/people/static/people/gzlx.png"),
  255. mphone:require("@/people/static/people/mphone.png"),
  256. time:require("@/work/static/manage/time.png"),
  257. house:require("@/work/static/manage/house.png"),
  258. housea:require("@/work/static/manage/housea.png"),
  259. houseb:require("@/work/static/manage/houseb.png"),
  260. housec:require("@/work/static/manage/housec.png"),
  261. home:require("@/service/static/service/home.png"),
  262. upimg:require("@/static/images/home/up.png"),
  263. star:require('@/manage/static/community/star.png'),
  264. stara:require('@/manage/static/community/stara.png'),
  265. eye:require('@/manage/static/community/eye.png'),
  266. baseUrl:config.baseUrl,
  267. delBtnWidth:66,//左滑默认宽度
  268. }
  269. },
  270. mounted() {
  271. },
  272. methods:{
  273. checkPermi, checkRole,
  274. kaType(data, list) {
  275. return selectDictValue(list, data);
  276. },
  277. getDetail(e){
  278. this.$emit('getDetail',e)
  279. },
  280. getPut(e){
  281. this.$emit('getPut',e)
  282. },
  283. getJuzhu(e){
  284. this.$emit('getJuzhu',e)
  285. },
  286. getCar(e){
  287. this.$emit('getCar',e)
  288. },
  289. getAddFn(e){
  290. this.$emit('getAddFn',e)
  291. },
  292. getReadlist(e){
  293. this.$emit('getReadlist',e)
  294. },
  295. getZhan(idx){
  296. // var obj=JSON.parse(JSON.stringify(this.datainfo))[idx]
  297. // obj.zhanflag=!obj.zhanflag;
  298. // this.datainfo.splice(idx,1,obj);
  299. this.datainfo[idx].zhanflag=!this.datainfo[idx].zhanflag
  300. },
  301. getSh(e,ite){
  302. var that=this;
  303. var obj={
  304. ite:ite,
  305. sh:e
  306. }
  307. this.$emit('getShFn',obj)
  308. // var str="";
  309. // if(type=='2'){
  310. // str="通过"
  311. // }else if(type=='3'){
  312. // str="拒绝"
  313. // }
  314. // uni.showModal({
  315. // title: '确认'+str,
  316. // content: "是否确认"+str,
  317. // cancelText: '取消',
  318. // confirmText: '确认',
  319. // success: function(res) {
  320. // if (res.confirm) {
  321. // // var obj={
  322. // // status:type,
  323. // // contentId:ite.contentId,
  324. // // commentId:ite.commentId,
  325. // // }
  326. // that.$emit('getSh',obj)
  327. // } else if (res.cancel) {
  328. // }
  329. // }
  330. // });
  331. },
  332. getDelFn(id){
  333. var that=this;
  334. uni.showModal({
  335. title: '确认删除',
  336. content: "是否确认删除",
  337. cancelText: '取消',
  338. confirmText: '确认',
  339. success: function(res) {
  340. if (res.confirm) {
  341. that.$emit('getDelFn',id)
  342. } else if (res.cancel) {
  343. }
  344. }
  345. });
  346. },
  347. getPreview(idx,arr) {
  348. var newArr=[];
  349. arr.forEach(ite=>{
  350. var ds=this.baseUrl+ite
  351. newArr.push(ds)
  352. })
  353. uni.previewImage({
  354. urls: newArr,
  355. current:idx,
  356. success: function(data) {},
  357. fail: function(err) {}
  358. });
  359. },
  360. //开始触摸滑动
  361. drawStart(e) {
  362. // console.log("开始触发");
  363. var touch = e.touches[0];
  364. this.startX = touch.clientX;
  365. },
  366. //触摸滑动
  367. drawMove(e) {
  368. // console.log("滑动");
  369. for (var index in this.datainfo) {
  370. // this.csListArrl[index].right=0
  371. this.$set(this.datainfo[index],'right',0);
  372. }
  373. var idx=e.currentTarget.dataset.idx
  374. var touch = e.touches[0];
  375. var item = this.datainfo[idx];
  376. var disX = this.startX - touch.clientX;
  377. if (disX >= 20) {
  378. if (disX > this.delBtnWidth) {
  379. disX = this.delBtnWidth;
  380. }
  381. // this.csListArrl[idx].right=disX
  382. this.$set(this.datainfo[idx],'right',disX);
  383. } else {
  384. // this.csListArrl[idx].right=0
  385. this.$set(this.datainfo[idx],'right',0);
  386. }
  387. },
  388. //触摸滑动结束
  389. drawEnd(e) {
  390. // console.log("滑动结束");
  391. var idx=e.currentTarget.dataset.idx
  392. var item = this.datainfo[idx];
  393. if (item.right >= this.delBtnWidth / 2) {
  394. // this.datainfo[idx].right=this.delBtnWidth
  395. this.$set(this.datainfo[idx],'right',this.delBtnWidth);
  396. } else {
  397. this.datainfo[idx].right=0
  398. }
  399. },
  400. }
  401. }
  402. </script>
  403. <style lang="scss" scoped>
  404. .flex{display: flex;}
  405. .flexc{display: flex;align-items: center;}
  406. .mb10{margin-bottom: 20rpx;}
  407. .carlist{background: #FFFFFF;border-radius: 20rpx;margin-bottom: 24rpx;
  408. .carltop{min-height: 154rpx;border-bottom: 2rpx solid #E5E5E5;
  409. .cir{width: 8rpx;height: 8rpx;border-radius: 50%;margin: 0 8rpx;display: inline-block;}
  410. .co16{
  411. .cir{background: #16BE7F;}
  412. }
  413. .co01{
  414. .cir{background: #0156FE;}
  415. }
  416. .tit{font-weight: bold;font-size: 32rpx;}
  417. .txt{font-weight: 500;font-size: 26rpx;color: #272727;}
  418. .txtbtn{min-width: 82rpx;
  419. height: 32rpx;font-weight: 500;font-size: 20rpx;color: #45CB99;
  420. border-radius: 16rpx;border: 1px solid #45CB99;margin-left: 12rpx;}
  421. .cara{flex: 0 0 auto;width: 232rpx;height: 74rpx;margin-right: 40rpx;}
  422. .carb{flex: 0 0 auto;width: 278rpx;height: 130rpx;}
  423. }
  424. .carlf{padding:26rpx 0 10rpx;
  425. .clflist{font-weight: 500;font-size: 26rpx;color: #666666;margin-bottom: 16rpx;}
  426. }
  427. .ctop{border-bottom: 2rpx solid #E5E5E5;padding:26rpx 24rpx;
  428. .imgs{width: 40rpx;height: 42rpx;margin-right: 30rpx;}
  429. .tit{font-size: 32rpx;color: #272727;font-weight: bold;margin-right: 14rpx;}
  430. .txt{font-weight: 500;font-size: 26rpx;
  431. &.ca{color: #3565ED;}
  432. &.cb{color: #FE5A0E;}
  433. &.cc{color: #28C529;}
  434. }
  435. .txta{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
  436. .num{font-size: 24rpx;color: #AAAAAA;}
  437. }
  438. .btn{height: 34rpx;border-radius: 18rpx;display: flex;align-items: center;justify-content: center;padding: 0 10rpx;font-size: 22rpx;margin-right: 24rpx;
  439. &.btna{border: 2rpx solid #06C770;color: #06C770;}
  440. &.btnb{border: 2rpx solid #3565ED;color: #3565ED;}
  441. &.btnc{border: 2rpx solid #FE5A0E;color: #FE5A0E;}
  442. &.btnbga{border: 1px solid #0156FE;color: #3565ED;background: #DFEAFF;height: 36rpx;}
  443. &.btnbgb{border: 1px solid #C1C1C1;color: #666666;background: #F1F1F1;height: 36rpx;}
  444. &.btnbgc{border: 1px solid #FE5A0E;color:#FE5A0E;background:#FFEEE6;height: 36rpx;}
  445. }
  446. .clists{padding: 24rpx 24rpx 8rpx;
  447. .clist{font-weight: 500;margin-bottom: 16rpx;
  448. font-size: 26rpx;color: #272727;display: flex;line-height: 34rpx;
  449. .tit{font-size: 26rpx;color: #AAAAAA;flex: 0 0 auto;margin-right: 16rpx;min-width: 108rpx;text-align-last: justify;}
  450. .imgas{display: flex;align-items: center;flex-wrap: wrap;
  451. image{width: 142rpx;height: 142rpx;margin-right: 30rpx;margin-top: 8rpx;}
  452. }
  453. }
  454. .w50{
  455. .clist{width: 50%;}
  456. }
  457. }
  458. }
  459. // 人员
  460. .peolist{
  461. .ctop{padding: 24rpx 24rpx 22rpx;}
  462. .imgs{margin-right: 16rpx !important;}
  463. .tit{font-size: 28rpx !important;}
  464. .plists{padding: 30rpx 24rpx 6rpx;
  465. .plist{background: linear-gradient(-90deg, #F2F5FF 0%, #FBFDFF 100%);border-radius: 20rpx;border: 2rpx solid #E6E6E6;margin-bottom: 24rpx;padding: 18rpx 26rpx 4rpx;
  466. .head{width: 96rpx;height: 98rpx;margin-right: 32rpx;flex: 0 0 auto;}
  467. .ptit{font-weight: bold;font-size: 30rpx;color: #272727;display: flex;align-items: center;margin-bottom: 14rpx;}
  468. .ptxt{font-weight: 500;font-size: 26rpx;color: #666666;line-height: 36rpx;margin-bottom: 14rpx;min-width: 176rpx;}
  469. }
  470. }
  471. .upimg{width: 26rpx;height: 22rpx;display: block;transform: rotate(180deg);transition: all 0.3s;margin: 0 auto 18rpx;
  472. &.act{transform: rotate(0deg);}
  473. }
  474. }
  475. // 物业费
  476. .mlistl{width: 40%;display: flex;flex-direction: column;align-items: center;flex: 0 0 auto;
  477. .mltit{font-weight: 500;font-size: 26rpx;color: #666666;margin-bottom: 18rpx;}
  478. .mltxt{font-weight: bold;font-size: 32rpx;color: #0156FE;}
  479. }
  480. .houselist{
  481. .clists{padding-bottom: 2rpx !important;}
  482. .clist{margin-bottom: 22rpx !important;
  483. .txtb{font-weight: 500;font-size:24rpx;
  484. &.ca{color: #3565ED;}
  485. &.cb{color: #FE5A0E;}
  486. &.cc{color: #28C529;}
  487. }
  488. }
  489. .shbtn{border-radius: 20rpx;font-weight: 500;min-width: 92rpx;height: 40rpx;font-size: 26rpx;box-sizing: border-box;padding: 0 20rpx;line-height: 38rpx;margin-left: 24rpx;
  490. &.btna{border: 2rpx solid #FF6969;background: #FFF8F8;color: #FF6969;}
  491. &.btnb{border: 2rpx solid #28C529;background: #EEFCEE;color: #28C529;}
  492. }
  493. .btns{justify-content: flex-end;
  494. view{min-width: 156rpx;font-weight: 500;font-size: 26rpx;margin-right: 24rpx;border-radius: 20rpx;padding: 6rpx 8rpx;box-sizing: border-box;text-align: center;margin-bottom: 26rpx;
  495. &.bga{border: 2rpx solid #FE5A0E;background: #FFF8F5;color: #FE5A0E;}
  496. &.bgb{border: 2rpx solid #0256FD;background: #F1F5FC;color: #0256FD;}
  497. &.bgc{border: 2rpx solid #06C770;background: #EEF8F4;color: #06C770;}
  498. }
  499. }
  500. }
  501. // 巡更地点
  502. .patlist{background: #FFFFFF;border-radius: 20rpx;margin-bottom: 24rpx;padding: 0 24rpx 30rpx;
  503. .pattop{padding:22rpx 30rpx;margin-bottom: 2rpx;
  504. .imgs{width: 28rpx;height: 28rpx;margin-right: 12rpx;}
  505. .tit{font-size: 30rpx;color: #272727;font-weight: bold;margin-right: 14rpx;}
  506. .txt{font-weight: 500;font-size:24rpx;
  507. &.ca{color: #3565ED;}
  508. &.cb{color: #FE5A0E;}
  509. &.cc{color: #28C529;}
  510. &.cd{color: #FF6969;}
  511. }
  512. }
  513. .patlistr{background: #EFF4FF;border-radius: 20rpx;padding: 20rpx 32rpx;
  514. .clist{font-weight: 500;font-size: 26rpx;color: #272727;display: flex;line-height: 50rpx;
  515. .tit{font-size: 26rpx;flex: 0 0 auto;min-width: 108rpx;text-align-last: justify;font-weight: bold;}
  516. }
  517. }
  518. .patbtns{display: flex;justify-content: flex-end;align-items: center;flex-wrap: wrap;
  519. view{min-width: 156rpx;height: 52rpx;font-weight: 500;font-size: 26rpx;background: #FFFFFF;border-radius: 20rpx;box-sizing: border-box;display: flex;align-items: center;justify-content: center;padding: 0 10rpx;margin-left: 24rpx;margin-top: 24rpx;
  520. &.btna{border: 2rpx solid #0256FD;color: #0256FD;}
  521. &.btnb{background: #0256FD;color: #ffffff;}
  522. }
  523. }
  524. }
  525. // 报修
  526. .walists{background: #FFFFFF;border-radius: 20rpx;margin-bottom: 24rpx; position: relative;
  527. .watop{
  528. padding: 0 36rpx 8rpx 38rpx;
  529. .watit{padding: 24rpx 0;margin-bottom: 4rpx;display: flex;
  530. .tit{font-weight: bold;font-size: 28rpx;color: #272727;flex: 1;
  531. .cir{width: 14rpx;margin-left: 8rpx;margin-bottom: 10rpx;height: 14rpx;display: inline-block;background: #FF6969;border-radius: 8rpx;}
  532. }
  533. .txt{font-weight: bold;font-size: 26rpx;flex: 0 0 auto;
  534. }
  535. }
  536. }
  537. .walist{display: flex;font-weight: 500;font-size: 24rpx;color: #666666;margin-bottom: 16rpx;
  538. .tit{min-width: 100rpx;text-align-last: justify}
  539. }
  540. .wabtn{display: flex;align-items: center;justify-content: space-between;border-top: 2rpx solid #E5E5E5;height: 80rpx;padding: 0 38rpx;
  541. view{font-weight: 500;font-size: 24rpx;color: #666666;}
  542. image{width: 16rpx;height: 28rpx;}
  543. }
  544. }
  545. // 维修人员
  546. .stafflist{width: 344rpx;min-height: 256rpx;background: #FFFFFF;border-radius: 20rpx;margin:0 12rpx 24rpx 12rpx;padding-bottom: 20rpx;box-sizing: border-box;
  547. // &:nth-of-type(2n){margin-right: 0;}
  548. .statop{border-bottom: 2rpx solid #E5E5E5;display: flex;padding: 24rpx 24rpx 22rpx;
  549. .head{width: 80rpx;height: 82rpx;margin-right: 24rpx;flex: 0 0 auto;}
  550. .stadel{width: 30rpx;height: 30rpx;flex: 0 0 auto;margin-left: 12rpx;}
  551. .statit{font-weight: bold;font-size: 30rpx;color: #272727;margin-bottom: 4rpx;}
  552. .statxt{font-weight: 500;font-size: 26rpx;
  553. .cir{width: 10rpx;height: 10rpx;border-radius: 50%;margin-right: 14rpx;display: inline-block;
  554. &.bga{background: #06C770;}
  555. &.bgb{background: #FF6969;}
  556. }
  557. }
  558. }
  559. .stalist{font-weight: 500;font-size: 26rpx;color: #272727;display: flex;align-items: center;padding: 20rpx 24rpx 0;
  560. .imgs{width: 24rpx;height: 30rpx;margin-right: 22rpx;flex: 0 0 auto;display: flex;align-items: center;justify-content: center;
  561. .gzlximg{width: 24rpx;height: 28rpx;}
  562. .mphone{width: 18rpx;height: 30rpx;}
  563. }
  564. }
  565. }
  566. .watopcom{background-color: #ffffff;border-radius: 20rpx;position: relative;z-index: 1;padding-bottom: 30rpx !important;
  567. .watopcoma{font-weight: 500;font-size: 26rpx;color: #666666;line-height: 36rpx;margin-bottom: 24rpx;}
  568. .watopcomb{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
  569. }
  570. //资讯
  571. .newlists{
  572. background: #FFFFFF;padding: 22rpx 24rpx;margin-bottom: 24rpx;
  573. border-radius: 20rpx;
  574. .tit{font-size: 32rpx;font-weight: bold;color: #272727;line-height: 48rpx;margin-bottom:16rpx;}
  575. .txt{font-size: 24rpx;color: #666666;line-height: 36rpx;margin-bottom: 32rpx;}
  576. .stabox{
  577. .time{font-weight: 500;font-size: 24rpx;color: #AAAAAA;line-height: 36rpx;}
  578. .btns{font-weight: 500;font-size: 22rpx;color: #666666;line-height: 36rpx;min-width: 100rpx;box-sizing: border-box;margin-left: 20rpx;
  579. .imga{width: 24rpx;height: 22rpx;margin-right: 8rpx;}
  580. .imgb{width: 24rpx;height: 18rpx;margin-right: 10rpx;}
  581. }
  582. }
  583. }
  584. // 视频
  585. .videolists{
  586. background: #FFFFFF;margin-bottom: 24rpx;border-radius: 20rpx;
  587. .titbox{padding-top: 16rpx;padding-right: 38rpx;}
  588. .videos{width: 260rpx;height: 180rpx;}
  589. .tit{font-weight: bold;font-size: 14px;color: #272727;text-align: left;margin-bottom: 10rpx;}
  590. .num{font-weight: 500;font-size: 20rpx;color: #666666;min-width: 68rpx;padding: 0 8rpx;box-sizing: border-box;
  591. height: 28rpx;background: #E6E6E6;border-radius: 14rpx;line-height: 28rpx;text-align: center;}
  592. .time{font-weight: 500;font-size: 24rpx;color: #AAAAAA;margin-top: 44rpx;}
  593. }
  594. // 名单
  595. .readlist{background: #FFFFFF;border-radius: 20rpx;border: 2rpx solid #E6E6E6;margin-bottom: 24rpx;padding: 24rpx;display: flex;align-items: center;box-sizing: border-box;
  596. .head{width: 96rpx;height: 96rpx;margin-right: 28rpx;flex: 0 0 auto;}
  597. .tit{font-weight: bold;font-size: 30rpx;color: #272727;margin-bottom: 12rpx;}
  598. .time{font-weight: 500;font-size: 26rpx;color: #666666;line-height: 36rpx;
  599. text{margin-right: 12rpx;display: inline-block;}
  600. }
  601. }
  602. .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;}
  603. // 无数据
  604. .nodata{display: flex;flex-direction: column;align-items: center;
  605. image{width: 440rpx;height: 440rpx;}
  606. view{font-size: 30rpx;color: #666666;font-weight: bold;}
  607. }
  608. </style>