From 4ae7c5fa9e882053c9ca2e894897827e42f7844d Mon Sep 17 00:00:00 2001
From: huangchenhao <123673748@qq.com>
Date: Wed, 19 Nov 2025 16:18:50 +0800
Subject: [PATCH 1/2] =?UTF-8?q?PC=E7=AB=AF=20=E4=B8=80=E4=BA=9B=E8=A1=A8?=
=?UTF-8?q?=E5=8D=95=E9=AA=8C=E8=AF=81=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../views/MaterialManagement/addDialog.vue | 95 +++++--
.../src/views/MaterialManagement/index.js | 47 ++--
.../ServiceStationManagePage/addDialog.vue | 265 ++++++++++++++++++
.../component/MaterialAddDialog.vue | 103 +++++--
.../component/PersonAddDialog.vue | 50 +++-
.../ServiceStationManagePage/detailDrawer.vue | 85 +++---
.../views/ServiceStationManagePage/index.js | 58 +++-
7 files changed, 590 insertions(+), 113 deletions(-)
create mode 100644 packages/screen/src/views/ServiceStationManagePage/addDialog.vue
diff --git a/packages/screen/src/views/MaterialManagement/addDialog.vue b/packages/screen/src/views/MaterialManagement/addDialog.vue
index 7699c79..96c258a 100644
--- a/packages/screen/src/views/MaterialManagement/addDialog.vue
+++ b/packages/screen/src/views/MaterialManagement/addDialog.vue
@@ -2,6 +2,8 @@
{{ yhzData.rawName }}
-
+
-
+
-
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -54,7 +60,7 @@
\ No newline at end of file
diff --git a/packages/screen/src/views/ServiceStationManagePage/component/MaterialAddDialog.vue b/packages/screen/src/views/ServiceStationManagePage/component/MaterialAddDialog.vue
index 4150bf3..4c036bc 100644
--- a/packages/screen/src/views/ServiceStationManagePage/component/MaterialAddDialog.vue
+++ b/packages/screen/src/views/ServiceStationManagePage/component/MaterialAddDialog.vue
@@ -2,6 +2,8 @@
{{ basicData.mc }}
-
+
-
+
-
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -54,7 +60,7 @@
diff --git a/packages/screen/src/views/ServiceStationManagePage/component/PersonAddDialog.vue b/packages/screen/src/views/ServiceStationManagePage/component/PersonAddDialog.vue
index 1366eeb..6a7cf70 100644
--- a/packages/screen/src/views/ServiceStationManagePage/component/PersonAddDialog.vue
+++ b/packages/screen/src/views/ServiceStationManagePage/component/PersonAddDialog.vue
@@ -2,16 +2,19 @@
-
+
-
+
-
-
+
+
+
+
+
diff --git a/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue b/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue
index e0df01a..d980ba1 100644
--- a/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue
+++ b/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue
@@ -241,7 +241,7 @@ const getPeopleList = async () => {
const data = {
pageNum: pagination.current,
pageSize: pagination.pageSize,
- yhzid: Number(props.basicData.id),
+ yhzid: props.basicData.id,
};
const res = await request({
url: "/snow-ops-platform/yhzry/list",
@@ -333,8 +333,8 @@ const INIT_FORM_people = {
yhzid: props.basicData.id,
sjhm: "",
xm: "",
- sfjwd: "",
- jwd: "",
+ jd: "",
+ wd: "",
};
const materialForm = reactive({});
const INIT_FORM_material = {
@@ -381,6 +381,7 @@ const INIT_FORM_equipment = {
fsfw: "",
yhzid: props.basicData.id,
};
+const dialogRef = ref(null);
const modelVisible = ref(false);
const model = reactive({
title: "",
@@ -442,44 +443,58 @@ const handleAdd = () => {
// 新增负责人
const handleAddPeopleConfirm = async () => {
- try {
- const res = await request({
- url: "/snow-ops-platform/yhzry/add",
- method: "post",
- data: toRaw(peopleForm.value),
+ await dialogRef?.value?.dynamicComponentRef?.formRef
+ .validate()
+ .then(async () => {
+ try {
+ const res = await request({
+ url: "/snow-ops-platform/yhzry/add",
+ method: "post",
+ data: toRaw(peopleForm),
+ });
+ if (res.code === "00000") {
+ ElMessage.success("新增成功");
+ modelVisible.value = false;
+ getPeopleList();
+ } else {
+ throw new Error(res.message);
+ }
+ } catch (error) {
+ console.log(error);
+ ElMessage.error(error.message);
+ }
+ })
+ .catch((err) => {
+ ElMessage.error("请处理表单中的错误项");
});
- if (res.code === "00000") {
- ElMessage.success("新增成功");
- modelVisible.value = false;
- getPeopleList();
- } else {
- throw new Error(res.message);
- }
- } catch (error) {
- console.log(error);
- ElMessage.error(error.message);
- }
};
// 新增物资
const handleAddMaterialConfirm = async () => {
- try {
- const res = await request({
- url: "/snow-ops-platform/yjwz/add",
- method: "post",
- data: toRaw(materialForm),
+ await dialogRef?.value?.dynamicComponentRef?.formRef
+ .validate()
+ .then(async () => {
+ try {
+ const res = await request({
+ url: "/snow-ops-platform/yjwz/add",
+ method: "post",
+ data: toRaw(materialForm),
+ });
+ if (res.code === "00000") {
+ ElMessage.success("新增成功");
+ modelVisible.value = false;
+ getMaterialList();
+ } else {
+ throw new Error(res.message);
+ }
+ } catch (error) {
+ console.log(error);
+ ElMessage.error(error.message);
+ }
+ })
+ .catch((err) => {
+ ElMessage.error("请处理表单中的错误项");
});
- if (res.code === "00000") {
- ElMessage.success("新增成功");
- modelVisible.value = false;
- getMaterialList();
- } else {
- throw new Error(res.message);
- }
- } catch (error) {
- console.log(error);
- ElMessage.error(error.message);
- }
};
// 新增设备
diff --git a/packages/screen/src/views/ServiceStationManagePage/index.js b/packages/screen/src/views/ServiceStationManagePage/index.js
index 7e910ca..624e468 100644
--- a/packages/screen/src/views/ServiceStationManagePage/index.js
+++ b/packages/screen/src/views/ServiceStationManagePage/index.js
@@ -2,6 +2,7 @@ import { h, ref, onMounted, reactive, watch, toRaw, nextTick } from "vue";
import { request } from "@/utils/request";
import { useRoute, useRouter } from 'vue-router'
import DetailDrawer from "./detailDrawer.vue";
+import AddDialog from "./addDialog.vue";
const tableData = ref([]); // 表格数据
const filterData = reactive({
@@ -16,8 +17,19 @@ const model = reactive({
props: {},
onCancel: null,
onConfirm: null,
+ width: '',
}); // 弹窗内容
-const form = reactive({});
+const form = reactive({
+});
+const INIT_FORM = {
+ qxmc: "",
+ mc: "",
+ fzrXm: "",
+ fzrSjhm: "",
+ fzrUserId: "",
+ jd: "",
+ wd: "",
+};
const drawer = reactive({
title: '',
content: null,
@@ -113,9 +125,49 @@ const getYhzDetail = async (row) => {
// 打开新增养护站弹窗
const openAddDialog = () => {
-
- console.log('新增',)
+ model.title = '新增养护站';
+ Object.assign(form, INIT_FORM);
+ model.props = {
+ form: form,
+ };
+ model.content = AddDialog;
+ model.onCancel = () => {
+ dialogType.value = '';
+ modelVisible.value = false;
+ };
+ model.onConfirm = async () => {
+ dialogType.value = '';
+ await dialogRef?.value?.dynamicComponentRef?.formRef.validate().then(() => {
+ addYHZ();
+ })
+ .catch((err) => {
+ ElMessage.error('请处理表单中的错误项');
+ });
+ };
+ model.width = "50%"
+ modelVisible.value = true;
};
+
+// 新增养护站
+const addYHZ = async () => {
+ try {
+ const res = await request({
+ url: "/snow-ops-platform/yhz/add",
+ method: "POST",
+ data: form,
+ });
+ if (res.code === "00000") {
+ ElMessage.success("新增成功");
+ modelVisible.value = false;
+ getTableData();
+ } else {
+ throw new Error(res.message);
+ }
+ } catch (error) {
+ ElMessage.error(error.message || "新增失败");
+ }
+};
+
export default () => {
const router = useRouter();
From fa4eb3f9dc86e6154aaf296cb75d5a2643abeb82 Mon Sep 17 00:00:00 2001
From: huangchenhao <123673748@qq.com>
Date: Wed, 19 Nov 2025 17:02:43 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD=20?=
=?UTF-8?q?=E8=B0=83=E6=95=B4=E7=99=BB=E9=99=86=E8=8E=B7=E5=8F=96=E5=85=BB?=
=?UTF-8?q?=E6=8A=A4=E7=AB=99=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/mobile/src/views/Home.vue | 2 +-
.../src/views/Material/MaterialManagement.vue | 1 -
.../ServiceStationManagePage/detailDrawer.vue | 45 +++++++++++++++++++
3 files changed, 46 insertions(+), 2 deletions(-)
diff --git a/packages/mobile/src/views/Home.vue b/packages/mobile/src/views/Home.vue
index fccca5e..0fa0a70 100644
--- a/packages/mobile/src/views/Home.vue
+++ b/packages/mobile/src/views/Home.vue
@@ -87,7 +87,7 @@ const getYHZinfo = async () => {
method: "GET",
});
if (res.code === "00000") {
- yhzinfo.value = res.data;
+ yhzinfo.value = res.data[0];
} else {
throw new Error(res.message);
}
diff --git a/packages/mobile/src/views/Material/MaterialManagement.vue b/packages/mobile/src/views/Material/MaterialManagement.vue
index 1a71dc5..27457f4 100644
--- a/packages/mobile/src/views/Material/MaterialManagement.vue
+++ b/packages/mobile/src/views/Material/MaterialManagement.vue
@@ -440,7 +440,6 @@ const handleGetLocation = () => {
(position) => {
form.material.jd = position.coords.longitude.toFixed(6);
form.material.wd = position.coords.latitude.toFixed(6);
- showToast("定位成功");
},
(error) => {
const errorMessage =
diff --git a/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue b/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue
index d980ba1..c2f2443 100644
--- a/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue
+++ b/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue
@@ -144,6 +144,51 @@ const columns = () => {
);
},
},
+ {
+ label: "操作",
+ fixed: "right",
+ width: 150,
+ render: (row) => () =>
+ h("div", { class: "action-btns" }, [
+ h(
+ ElButton,
+ {
+ type: "danger",
+ link: true,
+ style: "margin-left: 10px;",
+ onClick: async () => {
+ try {
+ await ElMessageBox.confirm(
+ "确定要删除该人员吗?",
+ "删除确认",
+ {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }
+ );
+ const res = await request({
+ url: `/snow-ops-platform/yhzry/delete`,
+ method: "POST",
+ data: {
+ id: row.id,
+ },
+ });
+ if (res.code === "00000") {
+ ElMessage.success("删除成功");
+ getPeopleList();
+ }
+ } catch (error) {
+ if (error instanceof Error) {
+ ElMessage.error(error.message || "删除失败");
+ }
+ }
+ },
+ },
+ () => "删除"
+ ),
+ ]),
+ },
];
case "material":
return [