Merge remote-tracking branch 'origin/master'
| | |
| | | data |
| | | }) |
| | | } |
| | | // 解绑openId |
| | | export const delHkUserOpenid = (data) => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/business/hksync/delHkUserOpenid', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 隐患随手拍 创建 |
| | | export const DangerCreate = (data) => { |
| | |
| | | setTimeout(() => { |
| | | this.showToast('预约申请成功') |
| | | }) |
| | | this.$jump('/pages/driver/reservedRecord') |
| | | uni.redirectTo({ |
| | | url: '/pages/driver/index' |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | stagingHead,
|
| | | wxAuthorize,
|
| | | refreshToken,
|
| | | app_url
|
| | | app_url, |
| | | delHkUserOpenid
|
| | | } from '@/api'
|
| | | export default {
|
| | | data() {
|
| | |
| | | logoutPost({
|
| | | isH5: 1
|
| | | }).then(res => {
|
| | | const userInfo = uni.getStorageSync('userInfo') |
| | | const openId = uni.getStorageSync('openId') |
| | | this.$store.commit('empty')
|
| | | if(openId){ |
| | | delHkUserOpenid({ |
| | | userName: userInfo.username, |
| | | openId |
| | | }).then(ress => { |
| | | setTimeout(() => {
|
| | | window.location.href = app_url
|
| | | }, 300)
|
| | | })
|
| | | }else{ |
| | | setTimeout(() => { |
| | | window.location.href = app_url |
| | | }, 300) |
| | | } |
| | | |
| | | })
|
| | | },
|
| | | getTaskInfo() {
|
| | | stagingHead({
|
| | |
| | | font-weight: 400; |
| | | color: #999999; |
| | | width: 120rpx; |
| | | text-align: right; |
| | | } |
| | | .loading { |
| | | color: $uni-color-primary; |
| | |
| | | }) |
| | | }) |
| | | saveHkUserOpenid({}) |
| | | }else{ |
| | | this.initCaptcha() |
| | | } |
| | | }, () => { |
| | | this.initCaptcha() |
| | | }) |
| | | } |
| | | } |
| | |
| | | fail: (err) => { |
| | | // 页面中弹框显示失败 |
| | | uni.showToast({ |
| | | title: '请求接口失败' |
| | | title: '请求接口失败', |
| | | icon:"none" |
| | | }) |
| | | |
| | | // 返回错误消息 |
| | |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: data5.value.map(i => i.timeData) |
| | | data: data5.value.map(i => dayjs(i.timeData).format('M')) |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | |
| | | } |
| | | }, |
| | | grid: { |
| | | top: '26%', |
| | | top: '18%', |
| | | left: '4%', |
| | | right: '2%', |
| | | bottom: '2%', |
| | |
| | | |
| | | myChart.setOption({ |
| | | grid: { |
| | | top: '24%', |
| | | top: '20%', |
| | | left: '6%', |
| | | right: '2%', |
| | | bottom: '4%', |
| | |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: data2.value.map(i => i.timeData) |
| | | data: data2.value.map(i => dayjs(i.timeData).format('M')) |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | |
| | | data1.monthLastOutTotal) / data1.monthLastOutTotal) * 100).toFixed(1)) }}%</span> |
| | | <span v-else-if="activeTab1 == 1 && data1.yearLastOutTotal">{{ Math.abs((((data1.yearOutTotal - |
| | | data1.yearLastOutTotal) / data1.yearLastOutTotal) * 100).toFixed(1)) }}%</span> |
| | | <span v-else>-</span> |
| | | <span v-else style="margin-left: 10px;">-</span> |
| | | </div> |
| | | </div> |
| | | <div class="train_wrap"> |
| | |
| | | <img src="@/assets/images/energy_ef/ic_renwuzongliang@2x.png" alt=""> |
| | | <div class="content"> |
| | | <div class="name">当前任务量</div> |
| | | <div class="num"><span>{{ data4.planTaskNum }}</span>万支</div> |
| | | <div class="num"><span>{{ activeTab4 == 0 ? data1.currentOutNum : data1.currentInNum }}</span>万支</div> |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <img src="@/assets/images/energy_ef/ic_wanchengrenwu@2x.png" alt=""> |
| | | <div class="content"> |
| | | <div class="name">当日完成任务总量</div> |
| | | <div class="num"><span class="today">{{ data4.finishTaskNum }}</span>万支</div> |
| | | <div class="num"><span v-if="data1.currentOutDoneNum || data1.currentInDoneNum" class="today">{{ activeTab4 == 0 ? data1.currentOutDoneNum : |
| | | data1.currentInDoneNum |
| | | }}</span>万支</div> |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <img src="@/assets/images/energy_ef/ic_bili@2x.png" alt=""> |
| | | <div class="content"> |
| | | <div class="name">已完成比例</div> |
| | | <div class="num" v-if="data4.finishTaskNum && data4.planTaskNum"><span class="finish">{{ (( |
| | | data4.finishTaskNum / data4.planTaskNum) * 100).toFixed(1) }}%</span>万支</div> |
| | | <div class="num"> |
| | | <span v-if="activeTab4 == 0 && data1.currentOutNum" class="finish">{{ ((data1.currentOutDoneNum / data1.currentOutNum) * 100).toFixed(1) }}%</span> |
| | | <span v-if="activeTab4 == 1 && data1.currentInNum" class="finish">{{ ((data1.currentInDoneNum / data1.currentInNum) * 100).toFixed(1) }}%</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | dataList3.value = result |
| | | }) |
| | | } |
| | | const data4 = ref({}) |
| | | const activeTab4 = ref(0) |
| | | const tabClick4 = (val) => { |
| | | activeTab4.value = val |
| | | getData4() |
| | | } |
| | | const getData4 = () => { |
| | | wljobData({ queryType: activeTab4.value }).then(res => { |
| | | const result = res.data |
| | | data4.value = result |
| | | }) |
| | | } |
| | | const dataList5 = ref([]) |
| | | const data5 = ref(0) |
| | |
| | | getData1() |
| | | getData2() |
| | | getData3() |
| | | getData4() |
| | | // getData4() |
| | | getData5() |
| | | getData6() |
| | | getData7() |
| | |
| | | .num { |
| | | margin-right: 10px; |
| | | font-weight: bold; |
| | | font-size: 46px; |
| | | height: 44px; |
| | | line-height: 52px; |
| | | font-size: 44px; |
| | | height: 48px; |
| | | line-height: 50px; |
| | | font-weight: bold; |
| | | color: #00F2F3; |
| | | letter-spacing: 3px; |
| | | background-image: -webkit-linear-gradient(top, |
| | | #01D9FE 0%, |
| | | #0177FE 60%, |
| | | #1cdafb 0%, |
| | | #0177FE 70%, |
| | | #0177FE 100%); |
| | | -webkit-background-clip: text; |
| | | -webkit-text-fill-color: transparent; |