154 lines
3.3 KiB
Vue
154 lines
3.3 KiB
Vue
<template>
|
|
<div class="home">
|
|
<van-nav-bar title="愉快政" fixed left-arrow />
|
|
|
|
<van-cell-group>
|
|
<van-cell title="当前站点" :value="yhzinfo.mc" />
|
|
</van-cell-group>
|
|
|
|
<div class="content">
|
|
<van-grid :gutter="10" :column-num="3" class="grid">
|
|
<van-grid-item
|
|
icon="setting-o"
|
|
text="设备管理"
|
|
:to="{
|
|
name: 'EquipManage',
|
|
params: { data: encodeURIComponent(JSON.stringify(yhzinfo)) },
|
|
}"
|
|
/>
|
|
<van-grid-item
|
|
icon="setting-o"
|
|
text="物资管理"
|
|
:to="{
|
|
name: 'MaterialManage',
|
|
params: { data: encodeURIComponent(JSON.stringify(yhzinfo)) },
|
|
}"
|
|
/>
|
|
<van-grid-item
|
|
icon="setting-o"
|
|
text="人员管理"
|
|
:to="{
|
|
name: 'StaffManage',
|
|
params: { data: encodeURIComponent(JSON.stringify(yhzinfo)) },
|
|
}"
|
|
/>
|
|
<van-grid-item
|
|
icon="setting-o"
|
|
text="冰雪灾害"
|
|
:to="{
|
|
name: 'IceEventManage',
|
|
params: { data: encodeURIComponent(JSON.stringify(yhzinfo)) },
|
|
}"
|
|
/>
|
|
</van-grid>
|
|
</div>
|
|
<van-popup
|
|
:show="YHZConfirmpopup"
|
|
position="center"
|
|
round
|
|
close-on-click-overlay
|
|
:style="{ height: '20%', width: '80%' }"
|
|
@close="onYHZConfirmClose"
|
|
class="confirmpopup"
|
|
>
|
|
<div class="confirmpopup__content">
|
|
<h3>请在服务站授权定位</h3>
|
|
</div>
|
|
<div class="btn-box">
|
|
<van-button class="btn" @click="onYHZConfirmClose">取消</van-button>
|
|
<van-button class="btn" type="primary" @click="getLocation"
|
|
>授权定位</van-button
|
|
>
|
|
</div>
|
|
</van-popup>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
import "vant/es/toast/style";
|
|
import "vant/es/popup/style";
|
|
import { ref, onMounted } from "vue";
|
|
import { useRouter, useRoute } from "vue-router";
|
|
import { showToast } from "vant";
|
|
import { request } from "../../../shared/utils/request";
|
|
|
|
const router = useRouter();
|
|
const yhzinfo = ref({});
|
|
|
|
const route = useRoute();
|
|
const token = route.query.token;
|
|
const YHZConfirmpopup = ref(false);
|
|
|
|
// 获取当前登录用于就职的养护站信息
|
|
const getYHZinfo = async () => {
|
|
try {
|
|
const res = await request({
|
|
url: `/snow-ops-platform/yhz/getStationByUser`,
|
|
method: "GET",
|
|
});
|
|
if (res.code === "00000") {
|
|
yhzinfo.value = res.data[0];
|
|
} else {
|
|
throw new Error(res.message);
|
|
}
|
|
} catch (error) {
|
|
showToast({
|
|
message: error.message,
|
|
type: "fail",
|
|
});
|
|
}
|
|
};
|
|
|
|
const onYHZConfirmClose = () => {
|
|
YHZConfirmpopup.value = false;
|
|
};
|
|
|
|
onMounted(async () => {
|
|
if (token) {
|
|
localStorage.setItem("token", token);
|
|
router.replace({ path: route.path }).then(() => {
|
|
window.location.reload();
|
|
});
|
|
}
|
|
await getYHZinfo();
|
|
if (
|
|
yhzinfo.value.isManager &&
|
|
(yhzinfo.value.jd === "" || yhzinfo.value.wd === "")
|
|
) {
|
|
YHZConfirmpopup.value = true;
|
|
}
|
|
});
|
|
|
|
const goToUser = () => {
|
|
router.push("/user");
|
|
};
|
|
</script>
|
|
|
|
<style scoped>
|
|
.home {
|
|
padding-top: var(--van-nav-bar-height);
|
|
}
|
|
|
|
.content {
|
|
padding: 16px;
|
|
}
|
|
|
|
.grid {
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.btn-box {
|
|
width: 100%;
|
|
display: flex;
|
|
gap: 16px;
|
|
padding: 16px;
|
|
}
|
|
.btn {
|
|
width: 50%;
|
|
}
|
|
|
|
.confirmpopup__content {
|
|
padding: 20px;
|
|
}
|
|
</style>
|