This commit is contained in:
Zzc 2025-11-06 14:40:46 +08:00
commit ce9614295d
5 changed files with 143 additions and 98 deletions

View File

@ -36,8 +36,6 @@ const routes = [
name: 'MaterialDetail', name: 'MaterialDetail',
component: () => import('../views//Material/MaterialDetails.vue') component: () => import('../views//Material/MaterialDetails.vue')
}, },
{
}
] ]
const router = createRouter({ const router = createRouter({

View File

@ -13,75 +13,104 @@
style="font-size: 18px; font-weight: bold; line-height: inherit" style="font-size: 18px; font-weight: bold; line-height: inherit"
> >
</van-cell> </van-cell>
<van-cell :title="'物资名称: ' + wzDetailData.wzmc"> </van-cell>
<van-cell :title="'数量: ' + wzDetailData.sl"> </van-cell>
<van-cell :title="'余量: ' + wzDetailData.ye"> </van-cell>
<van-cell :title="'单位: ' + wzDetailData.dw"> </van-cell>
<van-cell :title="'存放地点: ' + wzDetailData.cfdd"> </van-cell>
<van-cell :title="'区县名称: ' + wzDetailData.qxmc"> </van-cell>
<van-cell :title="'负责人: ' + wzDetailData.fzr"> </van-cell>
<van-cell :title="'联系电话: ' + wzDetailData.lxdh"> </van-cell>
<van-cell :title="'入库日期: ' + wzDetailData.rkrq"> </van-cell>
</van-cell-group> </van-cell-group>
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import "vant/es/toast/style"; import "vant/es/toast/style";
import "vant/es/popup/style"; import "vant/es/popup/style";
import { ref, onMounted, toRaw, reactive } from "vue"; import { ref, onMounted, toRaw, reactive } from "vue";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
import { showToast, showLoadingToast } from "vant"; import { showToast, showLoadingToast } from "vant";
import { request } from "../../../../shared/utils/request"; import { request } from "../../../../shared/utils/request";
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const yhzDetail = ref({}); const yhzDetail = ref({});
const wzData = ref([]); const wzData = ref([]);
const wzDetailData = ref({}); // const wzDetailData = ref({}); //
onMounted(() => {
onMounted(() => {
const data = JSON.parse(decodeURIComponent(route.params.data)); const data = JSON.parse(decodeURIComponent(route.params.data));
yhzDetail.value = data.yhzDetail; yhzDetail.value = data.yhzDetail;
wzData.value = data.material; wzData.value = data.material;
console.log('传递过来的参数:',data); console.log("传递过来的参数:", data);
getwzDetail();
});
//
const getwzDetail = async () => {
try {
const res = await request({
url: `/snow-ops-platform/yjwz/getById?rid=${wzData.value.rid}`,
method: "GET",
}); });
if (res.code && res.code === "00000") {
wzDetailData.value = res.data;
} else {
throw new Error(res.message);
}
} catch (error) {
showToast({
message: error.message,
type: "error",
});
console.log("error", error);
}
};
const onClickLeft = () => { const onClickLeft = () => {
router.push({ router.push({
name: "MaterialManage", name: "MaterialManage",
params: { data: encodeURIComponent(JSON.stringify(yhzDetail.value)) }, params: { data: encodeURIComponent(JSON.stringify(yhzDetail.value)) },
}); });
}; };
</script> </script>
<style scoped> <style scoped>
.home { .home {
padding-top: var(--van-nav-bar-height); /* 自动匹配导航栏高度 */ padding-top: var(--van-nav-bar-height); /* 自动匹配导航栏高度 */
} }
.content { .content {
padding: 16px; padding: 16px;
} }
.grid { .grid {
margin-top: 16px; margin-top: 16px;
} }
.btn { .btn {
margin-top: 24px; margin-top: 24px;
} }
.status-tag { .status-tag {
display: inline-block; display: inline-block;
padding: 3px 8px; padding: 3px 8px;
border-radius: 4px; border-radius: 4px;
color: white; color: white;
font-size: 12px; font-size: 12px;
} }
.status-good { .status-good {
background-color: #07c160; background-color: #07c160;
} }
.status-warning { .status-warning {
background-color: #ff976a; background-color: #ff976a;
} }
.status-danger { .status-danger {
background-color: #ee0a24; background-color: #ee0a24;
} }
</style> </style>

View File

@ -18,15 +18,20 @@ const routes = [
component: () => import('../views/ServiceStationManagePage/index.vue') component: () => import('../views/ServiceStationManagePage/index.vue')
}, },
{ {
path: '/yhzsb/:data', path: '/yhzsb/:data?',
name: 'yhzsb', name: 'yhzsb',
component: () => import('../views/EquipmentManagement/index.vue') component: () => import('../views/EquipmentManagement/index.vue')
}, },
{ {
path: '/yhzwz/:data', path: '/yhzwz/:data?',
name: 'yhzwz', name: 'yhzwz',
component: () => import('../views/MaterialManagement/index.vue') component: () => import('../views/MaterialManagement/index.vue')
} },
{
path: '/yhzevent',
name: 'yhzevent',
component: () => import('../views/SnowEventManagement/index.vue')
},
] ]
const router = createRouter({ const router = createRouter({

View File

@ -1,9 +1,9 @@
import { h, ref, onMounted, reactive, watch, toRaw, nextTick } from "vue"; import { h, ref, onMounted, reactive, watch, toRaw, nextTick } from "vue";
import { request } from "@/utils/request"; import { request } from "@/utils/request";
import { Search } from "@element-plus/icons-vue"; import { Search } from "@element-plus/icons-vue";
import DetailDialog from "./detailDialog.vue"; // import DetailDialog from "./detailDialog.vue";
import EditDialog from "./editDialog.vue"; // import EditDialog from "./editDialog.vue";
import AddDialog from "./addDialog.vue"; // import AddDialog from "./addDialog.vue";
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
const treeData = ref([]); const treeData = ref([]);
@ -17,7 +17,9 @@ const tableData = ref([]);
const qxmc = ref(''); // 区县名称 const qxmc = ref(''); // 区县名称
const yhzid = ref(''); // 养护站id const yhzid = ref(''); // 养护站id
const filterData = reactive({ const filterData = reactive({
wzmc: '', routeNo: '', // 线路编号
stakeNo: '', // 桩号
reportTime: '', // 填报时间
}); // 表格过滤条件 }); // 表格过滤条件
const pagination = reactive({ const pagination = reactive({
current: 1, current: 1,
@ -94,7 +96,7 @@ const getTreeData = async () => {
type: 'area', type: 'area',
children: sites.map(site => ({ children: sites.map(site => ({
id: site.id, id: site.id,
name: `${site.mc}(${site.wzsl})`, name: `${site.mc}`,
type: 'site' type: 'site'
})), })),
rawName: areaName // 原始名称 rawName: areaName // 原始名称
@ -130,18 +132,21 @@ const handleNodeClick = (data, node) => {
} }
}; };
// 获取养护站物资列表 // 获取养护站冰雪事件列表
const getyhzwzList = async (qxmc, yhzid, filterData) => { const getyhzeventList = async (qxmc, yhzid, filterData) => {
try { try {
const data = { const data = {
qxmc: qxmc, qxmc: qxmc,
yhzid: yhzid, yhzid: yhzid,
wzmc: filterData?.wzmc || '', routeNo: filterData?.routeNo || '',
stakeNo: filterData?.stakeNo || '',
reportTimeStart: filterData?.reportTime[0] || '',
reportTimeEnd: filterData?.reportTime[1] || '',
pageNum: pagination.current, pageNum: pagination.current,
pageSize: pagination.pageSize, pageSize: pagination.pageSize,
} }
const res = await request({ const res = await request({
url: '/snow-ops-platform/yjwz/list', url: '/snow-ops-platform/event/list',
method: 'GET', method: 'GET',
params: data, params: data,
}) })
@ -251,7 +256,7 @@ const columns = [
}); });
if (res.code === '00000') { if (res.code === '00000') {
ElMessage.success('删除成功'); ElMessage.success('删除成功');
getyhzwzList(qxmc.value, yhzid.value, filterData); getyhzeventList(qxmc.value, yhzid.value, filterData);
} else { } else {
throw new Error(res.message); throw new Error(res.message);
} }
@ -281,7 +286,7 @@ const handleEdit = async () => {
ElMessage.success('编辑成功'); ElMessage.success('编辑成功');
dialogType.value = ''; dialogType.value = '';
modelVisible.value = false; modelVisible.value = false;
getyhzwzList(qxmc.value, yhzid.value, filterData); getyhzeventList(qxmc.value, yhzid.value, filterData);
} else { } else {
throw new Error(res.message); throw new Error(res.message);
} }
@ -371,7 +376,7 @@ const openAddModel = () => {
ElMessage.success('新增成功'); ElMessage.success('新增成功');
dialogType.value = ''; dialogType.value = '';
modelVisible.value = false; modelVisible.value = false;
getyhzwzList(qxmc.value, yhzid.value, filterData); getyhzeventList(qxmc.value, yhzid.value, filterData);
} else { } else {
throw new Error(res.message); throw new Error(res.message);
} }
@ -427,7 +432,7 @@ export default () => {
watch( watch(
[() => filterData, qxmc, yhzid], [() => filterData, qxmc, yhzid],
([newFilterData, newQxmc, newYhzid]) => { ([newFilterData, newQxmc, newYhzid]) => {
getyhzwzList(newQxmc, newYhzid, newFilterData) getyhzeventList(newQxmc, newYhzid, newFilterData)
}, },
{ deep: true } { deep: true }
) )
@ -437,7 +442,7 @@ export default () => {
onMounted(async () => { onMounted(async () => {
await getTreeData(); await getTreeData();
await getyhzwzList(); await getyhzeventList();
const rowData = JSON.parse(decodeURIComponent(route.params.data)); const rowData = JSON.parse(decodeURIComponent(route.params.data));
if (rowData) { if (rowData) {
filterText.value = rowData.mc; filterText.value = rowData.mc;

View File

@ -22,14 +22,22 @@
<div class="right-form"> <div class="right-form">
<div class="select-box"> <div class="select-box">
<div class="inline-flex"> <div class="inline-flex">
<label>物资名称:</label> <label>线路编号:</label>
<el-input v-model="script.filterData.wzmc"></el-input> <el-input v-model="script.filterData.routeNo"></el-input>
</div>
<div class="inline-flex">
<label>桩号:</label>
<el-input v-model="script.filterData.stakeNo"></el-input>
</div>
<div class="inline-flex">
<label>填报时间:</label>
<el-input v-model="script.filterData.reportTime"></el-input>
</div> </div>
</div> </div>
<div class="form-box"> <div class="form-box">
<div class="event-box"> <div class="event-box">
<el-button type="primary" size="large" @click="script.openAddModel" <el-button type="primary" size="large" @click="script.generateReport"
>新增物资</el-button >生成报告</el-button
> >
<el-button type="info" size="large" @click="script.handelExport" <el-button type="info" size="large" @click="script.handelExport"
>导出</el-button >导出</el-button