| | |
| | | <div class="home_header"> |
| | | <div class="mb10 fs17">下午好,{{ userInfo.realname }}</div> |
| | | <div class="fs13"> |
| | | 今天是 {{ nowDate }} {{ nowWeek }},欢迎回到智慧物流园区安消一体化系统 |
| | | 今天是 {{ nowDate }} {{ nowWeek }},欢迎访问智慧物流园区安消一体化系统 |
| | | </div> |
| | | </div> |
| | | <div class="main"> |
| | |
| | | <div class="echart" id="echart1"></div> |
| | | </div> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="icon"></div> |
| | | <div class="text">访客</div> |
| | | <div class="num">{{ headerData.inParkVisitUserNum }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div :style="{ background: colors[0] }" class="icon"></div> |
| | | <div class="text">内部员工</div> |
| | | <div class="num">{{ headerData.todayInParkUserNum - headerData.inParkLwUserNum - |
| | | headerData.inParkVisitUserNum }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div :style="{ background: colors[1] }" class="icon"></div> |
| | | <div class="text">长期相关方</div> |
| | | <div class="num">{{ headerData.inParkLwUserNum }}</div> |
| | | <div class="item" v-for="item, i in manningRatio" :key="i"> |
| | | <div :style="{ background: colors[i] }" class="icon"></div> |
| | | <div class="text">{{ item.name }}</div> |
| | | <div class="num">{{ item.value }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="btn" v-permissions="['business:staging:query']" @click="handleDetail(item)">处理</div> |
| | | </div> |
| | | <div v-if="taskList.length == 0" class="empty"> |
| | | <img src="@/assets/images/default_nodata.png" alt=""> |
| | | <img src="@/assets/images/default_homeimg.png" alt=""> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="item" v-for="item in warningList" :key="item.id"> |
| | | <div class="name_wrap df_sb"> |
| | | <div class="name">{{ item.name }}</div> |
| | | <div class="identity" v-if="item.memberType == 0">劳务访客</div> |
| | | <div class="identity" v-if="item.memberType == 1">普通访客</div> |
| | | <div class="identity" v-if="item.memberType == 2">内部人员</div> |
| | | <div class="identity">访客</div> |
| | | </div> |
| | | <div class="line">联系电话:{{ item.phone }}</div> |
| | | <div class="line">访客公司:{{ item.companyName }}</div> |
| | |
| | | <div class="btn" @click="departure(item.id)">离场</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="warningList.length == 0" class="empty"> |
| | | <img src="@/assets/images/default_nodata.png" alt=""> |
| | | <img src="@/assets/images/default_homeimg.png" alt=""> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | nowWeek: '', |
| | | headerData: {}, |
| | | staticData: {}, |
| | | manningRatio: [], |
| | | taskList: [], |
| | | taskTotal: 0, |
| | | warningList: [], |
| | |
| | | getWorkHead() { |
| | | getWorkbenchData({ queryType: 1 }).then(res => { |
| | | this.headerData = res || {} |
| | | let arr = [] |
| | | arr.push({ name: '访客', value: this.headerData.inParkVisitUserNum }) |
| | | arr.push({ name: '内部员工', value: this.headerData.todayInParkUserNum - this.headerData.inParkLwUserNum - this.headerData.inParkVisitUserNum }) |
| | | arr.push({ name: '长期相关方', value: this.headerData.inParkLwUserNum }) |
| | | arr.sort((a, b) => b.value - a.value) |
| | | this.manningRatio = arr |
| | | this.initEchart1() |
| | | }) |
| | | }, |
| | |
| | | |
| | | }) |
| | | }, |
| | | handleDetail (row) { |
| | | handleDetail(row) { |
| | | if (row.objType === 2) { |
| | | this.$refs.OperaDetailsWindow.open('公务车申请详情', { ...row, id: row.objId }) |
| | | return |
| | |
| | | let that = this |
| | | |
| | | const option = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | series: [ |
| | | { |
| | | type: 'pie', |
| | |
| | | labelLine: { |
| | | show: false |
| | | }, |
| | | data: [ |
| | | { value: that.headerData.inParkVisitUserNum, name: '访客' }, |
| | | { value: that.headerData.todayInParkUserNum - that.headerData.inParkVisitUserNum - that.headerData.inParkLwUserNum, name: '内部员工' }, |
| | | { value: that.headerData.inParkLwUserNum, name: '长期相关方' } |
| | | ] |
| | | data: that.manningRatio |
| | | // data: [ |
| | | // { value: that.headerData.inParkVisitUserNum, name: '访客' }, |
| | | // { value: that.headerData.todayInParkUserNum - that.headerData.inParkVisitUserNum - that.headerData.inParkLwUserNum, name: '内部员工' }, |
| | | // { value: that.headerData.inParkLwUserNum, name: '长期相关方' } |
| | | // ] |
| | | } |
| | | ] |
| | | } |
| | |
| | | formatter: function (params) { |
| | | return ` |
| | | <div style="background-color: #15323f;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;"> |
| | | <div>${params[0].name}日客流</div> |
| | | <div>${params[0].name}</div> |
| | | <div style="display: flex;align-items: center;"> |
| | | <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #6feef0;"></div> |
| | | <span style="margin-left: 6px;">${params[0].value}</span> |
| | |
| | | formatter: function (params) { |
| | | return ` |
| | | <div style="background-color: #15323f;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;"> |
| | | <div>${params[0].name}日客流</div> |
| | | <div>${params[0].name}</div> |
| | | <div style="display: flex;align-items: center;"> |
| | | <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #6feef0;"></div> |
| | | <span style="margin-left: 6px;">${params[0].value}</span> |
| | | <div>人</div> |
| | | <div>辆</div> |
| | | </div> |
| | | </div> |
| | | ` |
| | |
| | | } |
| | | } |
| | | } |
| | | .more{ |
| | | |
| | | .more { |
| | | cursor: pointer; |
| | | } |
| | | .empty { |
| | | height: 300px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | img { |
| | | width: 140px; |
| | | } |
| | | .empty { |
| | | height: 300px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | img { |
| | | width: 140px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .static_wrap { |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 100%; |
| | | |
| | | .echart_wrap { |
| | | position: relative; |