From b030ebe26e358d0ad8f496ba6c1f5b8c279c61fe Mon Sep 17 00:00:00 2001
From: Joe <1712833832@qq.com>
Date: Tue, 30 Jan 2024 16:46:03 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E6=80=A5=E6=9C=BA=E6=9E=84=E8=81=94?=
=?UTF-8?q?=E8=B0=83=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../JiHeExpressway/components/Card1/index.vue | 4 +-
.../components/MultipleLabelItem.vue | 12 +-
.../components/FormConfig/index.vue | 44 ++-
.../event/businessDataManagement/index.vue | 8 +-
.../components/AddNEditDialog.vue | 266 ++++++++++++++++++
.../EditEventInformationDialog/data.js | 39 ---
.../EditEventInformationDialog/index.vue | 72 -----
.../views/emergencyAgencies/index.vue | 42 ++-
.../components/AddNEditDialog.vue | 4 +-
.../views/firstResponders/index.vue | 28 +-
.../src/views/JiHeExpressway/utils/enum.js | 10 +
11 files changed, 382 insertions(+), 147 deletions(-)
create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/AddNEditDialog.vue
delete mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/EditEventInformationDialog/data.js
delete mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/EditEventInformationDialog/index.vue
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue
index 2f04db6d..dc21c63a 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue
@@ -19,9 +19,9 @@
-
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/MultipleLabelItem.vue b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/MultipleLabelItem.vue
index 4d9d5605..71db061c 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/MultipleLabelItem.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/MultipleLabelItem.vue
@@ -1,14 +1,14 @@
-
{{ item.prefix.text }}
+
{{ item.prefix.text }}
updateValue(item, data)" />
-
{{ item.suffix.text }}
+
{{ item.suffix.text }}
@@ -52,6 +52,14 @@ export default {
display: flex;
gap: 6px;
+ .suffix {}
+
+ .prefix {}
+
+ span {
+ min-width: fit-content;
+ }
+
>.unknown {
flex: 1;
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue
index 493856d6..e62222c7 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue
@@ -183,6 +183,23 @@ export default {
* config
* })
*/
+ const ruleMatch = (value) => {
+ /**
+ * @type {{ callback?: (value: any) => boolean; type?: "phone"; message: string; }[]}
+ */
+ const rules = item.rules || [];
+
+ for (let index = 0; index < rules.length; index++) {
+ const rule = rules[index];
+ // 返回值 true 通过 false 异常
+ if (typeof rule.callback === 'function') {
+ if (!rule.callback(value, this.modelFormData)) return new Error(rule.message || "内容错误");
+ }
+ else if (RegexpMap[rule.type]) {
+ if (!RegexpMap[rule.type].reg.test(value)) return new Error(rule.message || RegexpMap[rule.type].message)
+ }
+ }
+ }
if (item.required) return [
{
@@ -191,20 +208,25 @@ export default {
if (!value && typeof value === 'object' || typeof value === 'string' && !value.trim()) return callback(new Error(`${item.options?.placeholder || `${item.label}不能为空`}`))
+ const err = ruleMatch(value);
+
+ if (err) return callback(err)
+
+ callback()
+ },
+ trigger: ["blur", "change"],
+ },
+ ]
+ else if (item.rules?.length) return [
+ {
+ validator: (_, __, callback) => {
/**
* @type {{ callback?: (value: any) => boolean; type?: "phone"; message: string; }[]}
*/
- const rules = item.rules || [];
-
- for (let index = 0; index < rules.length; index++) {
- const rule = rules[index];
- if (typeof rule.callback === 'function') {
- if (!rule.callback(value)) return new Error(rule.message || "内容错误");
- }
- else if (RegexpMap[rule.type]) {
- if (!RegexpMap[rule.type].reg.test(value)) return callback(new Error(rule.message || RegexpMap[rule.type].message))
- }
- }
+
+ const err = ruleMatch(pathGet(this.modelFormData, item.key));
+
+ if (err) return callback(err)
callback()
},
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/index.vue
index ec518e93..1cdb9cce 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/index.vue
@@ -44,12 +44,12 @@ export default {
pageNum: this.currentPage || 1
}),
setTotal: (total) => this.total = total,
- setCurrentPage: page => this.currentPage = page
+ setCurrentPage: page => this.handleCurrentChange(page)
}
},
data() {
return {
- activeName: "FirstResponders",
+ activeName: "EmergencyAgencies",
panels: [
{
label: "应急人员",
@@ -79,8 +79,10 @@ export default {
},
handleSizeChange(size) {
this.pageSize = size;
+ this.$refs.viewRef.getData();
},
- handleCurrentChange() {
+ handleCurrentChange(currentPage) {
+ this.currentPage = currentPage;
this.$refs.viewRef.getData();
},
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/AddNEditDialog.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/AddNEditDialog.vue
new file mode 100644
index 00000000..32b0b036
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/AddNEditDialog.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/EditEventInformationDialog/data.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/EditEventInformationDialog/data.js
deleted file mode 100644
index c7075cba..00000000
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/EditEventInformationDialog/data.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import * as PresetFormItems from "@screen/pages/control/event/event/FormEvent/PresetFormItems.js";
-
-export const formConfigList = [
- {
- label: "事故类型:",
- key: "key13",
- type: "select",
- },
- PresetFormItems.trafficAccidentType,
- PresetFormItems.callPolicePersonName,
- PresetFormItems.callPolicePersonPhone,
- PresetFormItems.route,
- PresetFormItems.direction,
- PresetFormItems.eventLevel,
- PresetFormItems.station,
- PresetFormItems.locationMode,
- PresetFormItems.pressure,
- PresetFormItems.eventHappenTime,
- PresetFormItems.aEstimatedReleaseTime,
- PresetFormItems.weatherConditions,
- PresetFormItems.effect,
- PresetFormItems.isMaintenanceAccident,
- PresetFormItems.isCongestionAhead,
- PresetFormItems.isCurveRoad,
- PresetFormItems.isInTunnel,
- PresetFormItems.isArrives,
- PresetFormItems.isForkRoad,
- PresetFormItems.emptyLine,
- PresetFormItems.trafficPolicePhone,
- {
- ...PresetFormItems.emptyLine,
- key: "096993",
- },
- PresetFormItems.wreckerCalls,
- PresetFormItems.spillName,
- PresetFormItems.ownerPhone,
- PresetFormItems.laneOccupancy,
- PresetFormItems.vehicleCondition,
-];
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/EditEventInformationDialog/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/EditEventInformationDialog/index.vue
deleted file mode 100644
index 93583e0a..00000000
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/components/EditEventInformationDialog/index.vue
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
-
-
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/index.vue
index 72b8bcf5..6eecf612 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/emergencyAgencies/index.vue
@@ -2,7 +2,7 @@
-
+
@@ -14,7 +14,7 @@
导出
-
+
@@ -32,16 +32,18 @@
-
+
+
@@ -50,6 +52,7 @@ import Card from "@screen/components/Card1/index.vue"
import InputSearch from '@screen/components/InputSearch/index.vue';
import ButtonGradient from '@screen/components/Buttons/ButtonGradient.vue';
import Button from '@screen/components/Buttons/Button.vue';
+import AddNEditDialog from "./components/AddNEditDialog.vue"
import { searchFormList } from "./data";
import request from "@/utils/request";
@@ -59,16 +62,19 @@ import { delay, exportFile } from "@screen/utils/common";
// 应急机构
export default {
name: 'EmergencyAgencies',
- inject: ['getPagination', 'setTotal'],
+ inject: ['getPagination', 'setTotal', 'setCurrentPage'],
components: {
Card,
ButtonGradient,
InputSearch,
- Button
+ Button,
+ AddNEditDialog
},
data() {
return {
searchFormList,
+ addNEditDialogVisible: false,
+ dialogData: null,
// data: Array.from({ length: 20 }).map(() => ({
// source: "济菏运管中心",
// location: "长清大学城收费站",
@@ -96,13 +102,35 @@ export default {
{
key: "dcOrganizations.latitude",
label: "救援外协单位"
- }]
+ }
+ ]
}
},
created() {
this.getData();
},
methods: {
+ handleDelete(data) {
+ request({
+ url: `/business/shifts/${data.dcOrganizations.id}`,
+ method: "DELETE",
+ data: {}
+ })
+ .then((result) => {
+ if (result.code != 200) return Message.error(`删除失败!`);
+ this.setCurrentPage(1)
+ Message.success(`删除成功!`);
+ })
+ .catch((err) => {
+ Message.error(`删除失败!`);
+ });
+ },
+
+ handleOpenDialogAddEdit(data) {
+ this.addNEditDialogVisible = true;
+ this.dialogData = data;
+ },
+
handleSearch(data) {
this.searchData = data;
this.getData();
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/firstResponders/components/AddNEditDialog.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/firstResponders/components/AddNEditDialog.vue
index 9aee9856..ef9a2b85 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/firstResponders/components/AddNEditDialog.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/firstResponders/components/AddNEditDialog.vue
@@ -149,8 +149,8 @@ export default {
method: this.data ? 'PUT' : 'POST',
data
})
- .then(() => {
- this.$parent.getData();
+ .then(result => {
+ if (result.code != 200) return Message.error(`提交失败!`);
Message.success(`提交成功!`);
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/firstResponders/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/firstResponders/index.vue
index 78b47eeb..138436ed 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/firstResponders/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/firstResponders/index.vue
@@ -14,7 +14,7 @@
导出
-
+
@@ -44,6 +44,7 @@ import InputSearch from '@screen/components/InputSearch/index.vue';
import ButtonGradient from '@screen/components/Buttons/ButtonGradient.vue';
import AddNEditDialog from "./components/AddNEditDialog.vue"
+import { Message } from "element-ui";
import { searchFormList } from "./data";
import request from "@/utils/request";
import { setLoading } from "@screen/utils/index.js"
@@ -58,7 +59,7 @@ export default {
InputSearch,
AddNEditDialog
},
- inject: ['getPagination', 'setTotal'],
+ inject: ['getPagination', 'setTotal', 'setCurrentPage'],
data() {
return {
searchFormList,
@@ -72,12 +73,20 @@ export default {
this.getSearchOptions();
},
methods: {
- handleDelete() {
- // request({
- // url: `/business/employees/sysPost`,
- // method: "post",
- // data: {}
- // })
+ handleDelete(data) {
+ request({
+ url: `/business/employees/${data.id}`,
+ method: "DELETE",
+ data: {}
+ })
+ .then((result) => {
+ if (result.code != 200) return Message.error(`删除失败!`);
+ this.setCurrentPage(1)
+ Message.success(`删除成功!`);
+ })
+ .catch((err) => {
+ Message.error(`删除失败!`);
+ });
},
handleOpenDialogAddEdit(data) {
this.addNEditDialogVisible = true;
@@ -142,9 +151,10 @@ export default {
}
}).then(result => {
if (result.code != 200) return;
+
this.data = result.rows;
+
this.setTotal(result.total)
- // this.setTotal(90)
}).finally(() => {
closeLoading();
})
diff --git a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
index 282c0fa8..88670761 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
@@ -50,6 +50,16 @@ export const CameraDirectionEnum = {
},
};
+export const CameraDirectionEnumList = Object.keys(CameraDirectionEnum).map(
+ (key) => {
+ return {
+ value: key,
+ key,
+ label: CameraDirectionEnum[key].text,
+ };
+ }
+);
+
// 设备的状态
export const DeviceTypeEnum = {
0: {