Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 

621 řádky
16 KiB

  1. <template>
  2. <view class="cented-box">
  3. <view class="Switchingbox">
  4. <view class="Switching1">
  5. <image class="Switching1-img" src="../../static/images/building.png" mode=""></image>
  6. </view>
  7. <view class="Switching2">楼盘:</view>
  8. <view class="Switching3">{{buildingname}}</view>
  9. <view class="Switching4" v-if="buildingishow" @click="piskbuilding()">切换楼盘</view>
  10. </view>
  11. <view class="title" style="margin-top: 30rpx;" v-if="Myworkcard">我的工牌</view>
  12. <view v-if="Myworkcard">
  13. <view class="Workcard" v-if="Whetheroffline==true">
  14. <view class="Workcard-box">
  15. <view class="Workcardimg">
  16. <view class="Workcardimg1">
  17. <view v-if="percentage>20" class="bar" :style="{width : percentage + '%' }"></view>
  18. <view v-if="percentage<20" class="bar1" :style="{width : percentage + '%' }"></view>
  19. </view>
  20. </view>
  21. <view class="Workcardtext">电量:{{percentage}}%</view>
  22. </view>
  23. <view class="Workcard-box">
  24. <view class="Workcardimg">
  25. <image v-if="signalDevice==''" class="Workcardimg2" src="../../static/images/signal0.png" mode=""></image>
  26. <image v-else-if="signalDevice<20 && signalDevice>0" class="Workcardimg2" src="../../static/images/signal1.png" mode=""></image>
  27. <image v-else-if="signalDevice<50 && signalDevice>20" class="Workcardimg2" src="../../static/images/signal2.png" mode=""></image>
  28. <image v-else-if="signalDevice<70 && signalDevice>50" class="Workcardimg2" src="../../static/images/signal3.png" mode=""></image>
  29. <image v-else-if="signalDevice<90 && signalDevice>70" class="Workcardimg2" src="../../static/images/signal4.png" mode=""></image>
  30. <image v-else-if="signalDevice<=100 && signalDevice>90" class="Workcardimg2" src="../../static/images/signal5.png" mode=""></image>
  31. </view>
  32. <view class="Workcardtext">信号:{{signalDevicetext}}</view>
  33. </view>
  34. <view class="Workcard-box">
  35. <view class="Workcardimg">
  36. <image v-if="audioStatus=='true'" class="Workcardimg3" src="../../static/images/Thtapedrive1.png" mode=""></image>
  37. <image v-if="audioStatus=='false'" class="Workcardimg3" src="../../static/images/Thtapedrive2.png" mode=""></image>
  38. </view>
  39. <view v-if="audioStatus=='true'" class="Workcardtext">录音:已开启</view>
  40. <view v-if="audioStatus=='false'" class="Workcardtext">录音:未开启</view>
  41. </view>
  42. </view>
  43. <view class="Workcard" v-if="Whetheroffline==false">
  44. <view class="Workcard-box">
  45. <view class="Workcardimg">
  46. <image class="Workcardimg4" src="../../static/images/offline.png" mode=""></image>
  47. </view>
  48. <view class="Workcardtext">设备离线</view>
  49. </view>
  50. </view>
  51. </view>
  52. <view class="title" v-if="equipmentisshow">设备</view>
  53. <view class="shebenbox" v-if="equipmentisshow">
  54. <view class="shebenche">
  55. <view class="shebenchenum">{{equipmentobj.totalNum}}</view>
  56. <view class="shebenchetext">设备总数</view>
  57. </view>
  58. <view class="shebenche">
  59. <view class="shebenchenum">{{equipmentobj.onlineNum}}</view>
  60. <view class="shebenchetext">在线</view>
  61. </view>
  62. <view class="shebenche">
  63. <view class="shebenchenum">{{equipmentobj.activeNum}}</view>
  64. <view class="shebenchetext">活跃</view>
  65. </view>
  66. <view class="shebenche">
  67. <view class="shebenchenum" style="color: red;">{{equipmentobj.lowPowerNum}}</view>
  68. <view class="shebenchetext">急需充电</view>
  69. </view>
  70. </view>
  71. <view class="title">实时统计</view>
  72. <view class="real-timebox">
  73. <view class="timebox">
  74. <view class="real">
  75. <view class="realnum">44</view>
  76. <view class="realtext">接待量</view>
  77. </view>
  78. <view class="real">
  79. <view class="realnum">44</view>
  80. <view class="realtext">正在接待</view>
  81. </view>
  82. <view class="real">
  83. <view class="realnum">44</view>
  84. <view class="realtext">接待客户</view>
  85. </view>
  86. <view class="real">
  87. <view class="realnum">44</view>
  88. <view class="realtext">录音时长</view>
  89. </view>
  90. </view>
  91. <view class="timebox">
  92. <view class="real">
  93. <view class="realnum">44</view>
  94. <view class="realtext">未标顾问</view>
  95. </view>
  96. <view class="real">
  97. <view class="realnum">44</view>
  98. <view class="realtext">平均执行率</view>
  99. </view>
  100. <view class="real">
  101. <view class="realnum">44</view>
  102. <view class="realtext">平均得分</view>
  103. </view>
  104. <view class="real">
  105. <!-- <view class="realnum" style="color: red;">44</view>
  106. <view class="realtext">违禁提醒</view> -->
  107. </view>
  108. </view>
  109. </view>
  110. <view class="title">本周工作</view>
  111. <view class="real-timebox">
  112. <view class="timebox">
  113. <view class="real">
  114. <view class="realnum">44</view>
  115. <view class="realtext">接待量</view>
  116. </view>
  117. <view class="real">
  118. <view class="realnum">44</view>
  119. <view class="realtext">接待客户</view>
  120. </view>
  121. <view class="real">
  122. <view class="realnum">44</view>
  123. <view class="realtext">录音时长</view>
  124. </view>
  125. </view>
  126. <view class="timebox">
  127. <view class="real">
  128. <view class="realnum">44</view>
  129. <view class="realtext">平均执行率</view>
  130. </view>
  131. <view class="real">
  132. <view class="realnum">44</view>
  133. <view class="realtext">平均得分</view>
  134. </view>
  135. <view class="real">
  136. <!-- <view class="realnum">44</view>
  137. <view class="realtext">违禁预警</view> -->
  138. </view>
  139. </view>
  140. </view>
  141. <view class="title">常用功能</view>
  142. <view class="commonly-box">
  143. <view class="commonly" @click="Piabodata()">
  144. <view class="commonly-img">
  145. <image class="commonly-img1" src="../../static/images/building.png" mode=""></image>
  146. </view>
  147. <view class="commonly-text">销讲数据</view>
  148. </view>
  149. <view class="commonly" @click="record">
  150. <view class="commonly-img">
  151. <image class="commonly-img1" src="../../static/images/building.png" mode=""></image>
  152. </view>
  153. <view class="commonly-text">接待记录</view>
  154. </view>
  155. <view class="commonly" @click="toequipment()">
  156. <view class="commonly-img">
  157. <image class="commonly-img1" src="../../static/images/building.png" mode=""></image>
  158. </view>
  159. <view class="commonly-text">设备管理</view>
  160. </view>
  161. <view class="commonly" @click="toconsultanonduty()">
  162. <view class="commonly-img">
  163. <image class="commonly-img1" src="../../static/images/building.png" mode=""></image>
  164. </view>
  165. <view class="commonly-text">值班顾问</view>
  166. </view>
  167. <view class="commonly" @click="goConsumer()">
  168. <view class="commonly-img">
  169. <image class="commonly-img1" src="../../static/images/building.png" mode=""></image>
  170. </view>
  171. <view class="commonly-text">客户管理</view>
  172. </view>
  173. <view class="commonly">
  174. <view class="commonly-img">
  175. <image class="commonly-img1" src="../../static/images/building.png" mode=""></image>
  176. </view>
  177. <view class="commonly-text">客户管理</view>
  178. </view>
  179. <view class="commonly">
  180. <view class="commonly-img">
  181. <image class="commonly-img1" src="../../static/images/building.png" mode=""></image>
  182. </view>
  183. <view class="commonly-text">客户管理</view>
  184. </view>
  185. </view>
  186. <!-- 楼盘切换 -->
  187. <view v-if="Showhiddenunits">
  188. <u-select :mask-close-able="false" v-model="Showhiddenunits" mode="single-column" :list="lpanlist" @cancel="cancel" @confirm="confirm"></u-select>
  189. </view>
  190. </view>
  191. </template>
  192. <script>
  193. var config = require("../../config");
  194. export default {
  195. data() {
  196. return {
  197. userInfo:{},
  198. Showhiddenunits:false,
  199. lpanlist:[],//楼盘列表
  200. buildingname:'',//楼盘名
  201. buildingID:'',//楼盘id
  202. buildingishow:false,//是否选择楼盘
  203. Myworkcard:false,
  204. percentage:'',//设备电量
  205. Whetheroffline:false,//是否离线
  206. signalDevice:0,//信号
  207. signalDevicetext:"",
  208. audioStatus:false,
  209. equipmentisshow:false,
  210. equipmentobj:{
  211. totalNum:'',
  212. onlineNum:'',
  213. activeNum:'',
  214. lowPowerNum:'',
  215. }
  216. };
  217. },
  218. components: {},
  219. onShow() {
  220. this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
  221. if(this.userInfo.zkProperties.length==1){
  222. this.buildingID=uni.getStorageSync('buildingID').id;
  223. this.buildingname=uni.getStorageSync('buildingID').name;
  224. this.buildingishow=false;
  225. }else{
  226. this.buildingishow=true;
  227. this.buildingname=uni.getStorageSync('buildingID').name;
  228. this.buildingID=uni.getStorageSync('buildingID').id;
  229. this.userInfo.zkProperties.forEach(item=>{
  230. item.label=item.propertyName;
  231. item.value=item.id
  232. })
  233. this.lpanlist=this.userInfo.zkProperties
  234. }
  235. if (this.userInfo.dataCode == 6) {
  236. this.Myworkcard=true;
  237. this.equipmentisshow=false;
  238. this.iniodianloang()
  239. }else{
  240. this.equipmentisshow=true;
  241. this.Myworkcard=false;
  242. this.initequipment()
  243. }
  244. this.initworkThisWeek()
  245. // this.initrealTimeStatistics()
  246. },
  247. methods: {
  248. initworkThisWeek(){
  249. uni.request({
  250. url: config.service.workThisWeek,
  251. method: "POST",
  252. header: {
  253. 'content-type': 'application/json',
  254. 'Access-Token': uni.getStorageSync('weapp_session_login_data').token
  255. },
  256. data: {
  257. houseId:this.buildingID
  258. },
  259. success: (data) => {
  260. if (data.data.data == null) {
  261. return
  262. }else{
  263. }
  264. }
  265. })
  266. },
  267. //实时统计
  268. initrealTimeStatistics(){
  269. uni.request({
  270. url: config.service.realTimeStatistics,
  271. method: "POST",
  272. header: {
  273. 'content-type': 'application/json',
  274. 'Access-Token': uni.getStorageSync('weapp_session_login_data').token
  275. },
  276. data: {
  277. houseId:this.buildingID
  278. },
  279. success: (data) => {
  280. if (data.data.data == null) {
  281. return
  282. }else{
  283. }
  284. }
  285. })
  286. },
  287. //设备
  288. initequipment(){
  289. uni.request({
  290. url: config.service.findEquipmentState,
  291. method: "POST",
  292. header: {
  293. 'content-type': 'application/json',
  294. 'Access-Token': uni.getStorageSync('weapp_session_login_data').token
  295. },
  296. data: {
  297. propertyId:this.buildingID
  298. },
  299. success: (data) => {
  300. if (data.data.data == null) {
  301. return
  302. }else{
  303. this.equipmentobj={
  304. totalNum:'0',
  305. onlineNum:'0',
  306. activeNum:'0',
  307. lowPowerNum:'0',
  308. }
  309. }
  310. }
  311. })
  312. },
  313. //我的工牌
  314. iniodianloang() {
  315. uni.request({
  316. url: config.service.findElectricity,
  317. method: "POST",
  318. header: {
  319. 'content-type': 'application/json',
  320. 'Access-Token': uni.getStorageSync('weapp_session_login_data').token
  321. },
  322. data: {},
  323. success: (data) => {
  324. if (data.data.data == null) {
  325. return
  326. } else {
  327. if (data.data.data > 100) {
  328. this.percentage = 100;
  329. } else {
  330. if(data.data.data.onLine==0){
  331. this.Whetheroffline=false;
  332. }else{
  333. this.Whetheroffline=true;
  334. this.percentage = data.data.data.electricity;
  335. this.signalDevice=data.data.data.signalDevice/1;
  336. console.log(this.signalDevice)
  337. this.audioStatus=data.data.data.audioStatus;
  338. if(this.signalDevice>80){
  339. this.signalDevicetext='高';
  340. }else{
  341. if(this.signalDevice==0){
  342. this.signalDevicetext='无';
  343. }else{
  344. this.signalDevicetext='低';
  345. }
  346. }
  347. }
  348. }
  349. }
  350. }
  351. })
  352. },
  353. //选择楼盘弹框
  354. piskbuilding(){
  355. this.Showhiddenunits=true;
  356. },
  357. // 楼盘选择确认
  358. confirm(e) {
  359. this.buildingname=e[0].label;
  360. this.buildingID=e[0].value;
  361. let lopan={
  362. id:e[0].value,
  363. name:e[0].label
  364. }
  365. uni.setStorageSync("buildingID", lopan); //楼盘id写入缓存
  366. },
  367. // 楼盘选择取消
  368. cancel(){
  369. this.Showhiddenunits=false;
  370. },
  371. //销讲数据
  372. Piabodata(){
  373. uni.navigateTo({
  374. url: '/pages/center/Piabodata/index'
  375. });
  376. },
  377. // 接待记录
  378. record(){
  379. uni.navigateTo({
  380. url: '/pages/center/records/index'
  381. });
  382. },
  383. //值班顾问
  384. toconsultanonduty(){
  385. uni.navigateTo({
  386. url: '/pages/mine/consultanonduty/index'
  387. });
  388. },
  389. //设备
  390. toequipment(){
  391. uni.navigateTo({
  392. url: '/pages/mine/equipment/index'
  393. });
  394. },
  395. // 客户管理
  396. goConsumer(){
  397. uni.navigateTo({
  398. url: '/pages/center/consumer/index'
  399. });
  400. },
  401. },
  402. };
  403. </script>
  404. <style lang="scss" scoped>
  405. .cented-box{
  406. padding: 30rpx;
  407. background: #F8F8F8;
  408. width: 100%;
  409. height: 100%;
  410. }
  411. .Switchingbox{
  412. width: 100%;
  413. height: 44rpx;
  414. display: flex;
  415. align-items: center;
  416. .Switching1{
  417. width: 44rpx;
  418. height: 44rpx;
  419. .Switching1-img{
  420. width: 44rpx;
  421. height: 44rpx;
  422. }
  423. }
  424. .Switching2{
  425. margin-left: 12rpx;
  426. font-size: 32rpx;
  427. color: #303030;
  428. font-weight: 500;
  429. }
  430. .Switching3{
  431. width: calc(100% - 280rpx);
  432. font-size: 32rpx;
  433. color: #303030;
  434. font-weight: 500;
  435. }
  436. .Switching4{
  437. width: 112rpx;
  438. font-size: 28rpx;
  439. color: #303030;
  440. font-weight: 400;
  441. text-align: right;
  442. text-decoration:underline
  443. }
  444. }
  445. .Workcard{
  446. width: 100%;
  447. background: #FFFFFF;
  448. height: 154rpx;
  449. box-shadow: 0px 0px 12px 0px rgba(224, 224, 224, 0.3);
  450. border-radius: 12rpx;
  451. display: flex;
  452. .Workcard-box{
  453. flex: 1;
  454. height: 100%;
  455. .Workcardimg{
  456. width: 100%;
  457. display: flex;
  458. justify-content: center;
  459. margin-top: 42rpx;
  460. .Workcardimg1{
  461. width: 64rpx;
  462. height: 36rpx;
  463. background-image: url(../../static/images/battery.png);
  464. background-size: 100% 100%;
  465. padding: 8rpx;
  466. .bar {
  467. background-color: #43CD80;
  468. height: 100%;
  469. border-radius: 4rpx;
  470. }
  471. .bar1 {
  472. background-color: red;
  473. height: 100%;
  474. border-radius: 4rpx;
  475. }
  476. }
  477. .Workcardimg2{
  478. width: 56rpx;
  479. height: 36rpx;
  480. }
  481. .Workcardimg3{
  482. width: 34rpx;
  483. height: 36rpx;
  484. }
  485. .Workcardimg4{
  486. width: 50rpx;
  487. height: 40rpx;
  488. }
  489. }
  490. .Workcardtext{
  491. width: 100%;
  492. text-align: center;
  493. font-size: 24rpx;
  494. font-weight: 400;
  495. color: #666666;
  496. margin-top: 20rpx;
  497. }
  498. }
  499. }
  500. .title{
  501. width: 100%;
  502. height: 30rpx;
  503. font-size: 30rpx;
  504. font-weight: 600;
  505. color: #333333;
  506. margin-top: 40rpx;
  507. margin-bottom: 24rpx;
  508. }
  509. .shebenbox{
  510. width: 100%;
  511. height: 156rpx;
  512. background: #FFFFFF;
  513. box-shadow: 0px 0px 12px 0px rgba(224, 224, 224, 0.3);
  514. border-radius: 12rpx;
  515. display: flex;
  516. .shebenche{
  517. width: 25%;
  518. height: 100%;
  519. .shebenchenum{
  520. width: 100%;
  521. font-size: 36rpx;
  522. font-weight: 600;
  523. color: #333333;
  524. text-align: center;
  525. margin-top: 36rpx;
  526. }
  527. .shebenchetext{
  528. width: 100%;
  529. font-size: 24rpx;
  530. font-weight: 400;
  531. color: #666666;
  532. text-align: center;
  533. margin-top: 24rpx;
  534. }
  535. }
  536. }
  537. .real-timebox{
  538. width: 100%;
  539. background: #FFFFFF;
  540. box-shadow: 0px 0px 12px 0px rgba(224, 224, 224, 0.3);
  541. border-radius: 12rpx;
  542. padding-bottom: 36rpx;
  543. .timebox{
  544. width: 100%;
  545. display: flex;
  546. .real{
  547. flex: 1;
  548. height: 100%;
  549. .realnum{
  550. width: 100%;
  551. font-size: 36rpx;
  552. font-weight: 600;
  553. color: #333333;
  554. text-align: center;
  555. margin-top: 36rpx;
  556. }
  557. .realtext{
  558. width: 100%;
  559. font-size: 24rpx;
  560. font-weight: 400;
  561. color: #666666;
  562. text-align: center;
  563. margin-top: 24rpx;
  564. }
  565. }
  566. }
  567. }
  568. .commonly-box{
  569. width: 100%;
  570. background: #FFFFFF;
  571. box-shadow: 0px 0px 12px 0px rgba(224, 224, 224, 0.3);
  572. border-radius: 12rpx;
  573. display: flex;
  574. flex-wrap: wrap;
  575. padding-bottom: 36rpx;
  576. .commonly{
  577. width: 25%;
  578. margin-top: 36rpx;
  579. .commonly-img{
  580. width: 100%;
  581. height: 68rpx;
  582. text-align: center;
  583. .commonly-img1{
  584. width: 68rpx;
  585. height: 68rpx;
  586. border-radius: 50%;
  587. }
  588. }
  589. .commonly-text{
  590. width: 100%;
  591. text-align: center;
  592. font-size: 24rpx;
  593. font-weight: 400;
  594. color: #333333;
  595. margin-top: 16rpx;
  596. }
  597. }
  598. }
  599. </style>