Ver código fonte

fix(dcsForm2):更新表单数据时,自动填充数据未更新

HMY 9 meses atrás
pai
commit
c226941827

+ 10 - 0
ui/src/utils/dcs/requestCleaner.js

@@ -0,0 +1,10 @@
+/**
+ * 移除不应提交到后端的字段,比如自动填充的时间戳字段
+ */
+export function cleanPayload(payload, fields = ['createTime', 'updateTime', 'createBy', 'updateBy']) {
+  const cleaned = { ...payload }
+  fields.forEach(field => {
+    delete cleaned[field]
+  })
+  return cleaned
+}

+ 4 - 3
ui/src/views/dcsForm2/actionBinding/index.vue

@@ -94,7 +94,7 @@
 
 <script setup name="ActionBinding">
 import { listActionBinding, getActionBinding, delActionBinding, addActionBinding, updateActionBinding ,changeStatus} from "@/api/hnyz/actionBinding";
-
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 const { proxy } = getCurrentInstance();
 const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
 const actionBindingList = ref([]);
@@ -195,14 +195,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["actionBindingRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.id != null) {
-        updateActionBinding(form.value).then(response => {
+        updateActionBinding(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addActionBinding(form.value).then(response => {
+        addActionBinding(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 4 - 2
ui/src/views/dcsForm2/actionConfig/index.vue

@@ -164,6 +164,7 @@
 <script setup name="ActionConfig">
 import { changeStatus, listActionConfig, getActionConfig, delActionConfig, addActionConfig, updateActionConfig } from "@/api/hnyz/actionConfig";
 import { getEquipmentList } from "@/api/hnyz/equipment";
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 import { onMounted, watch } from "vue";
 import ConditionGroup from "@/components/DCS/ConditionGroup.vue";
 onMounted(() => {
@@ -332,14 +333,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["actionConfigRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.actionId != null) {
-        updateActionConfig(form.value).then(response => {
+        updateActionConfig(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addActionConfig(form.value).then(response => {
+        addActionConfig(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 4 - 2
ui/src/views/dcsForm2/alarmConfig/index.vue

@@ -202,6 +202,7 @@
 <script setup name="AlarmConfig">
 import { listAlarmConfig, getAlarmConfig, delAlarmConfig, addAlarmConfig, updateAlarmConfig } from "@/api/hnyz/alarmConfig";
 import { getEquipmentList } from "@/api/hnyz/equipment";
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 import { onMounted } from "vue";
 
 onMounted(() => {
@@ -369,14 +370,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["alarmConfigRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.configId != null) {
-        updateAlarmConfig(form.value).then(response => {
+        updateAlarmConfig(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addAlarmConfig(form.value).then(response => {
+        addAlarmConfig(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 4 - 2
ui/src/views/dcsForm2/alarmEvent/index.vue

@@ -161,6 +161,7 @@
 <script setup name="AlarmEvent">
 import { listAlarmEvent, getAlarmEvent, delAlarmEvent, addAlarmEvent, updateAlarmEvent } from "@/api/hnyz/alarmEvent";
 import { getEquipmentList } from "@/api/hnyz/equipment";
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 import { onMounted } from "vue";
 
 onMounted(() => {
@@ -288,14 +289,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["alarmEventRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.alarmId != null) {
-        updateAlarmEvent(form.value).then(response => {
+        updateAlarmEvent(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addAlarmEvent(form.value).then(response => {
+        addAlarmEvent(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 4 - 3
ui/src/views/dcsForm2/commProtocol/index.vue

@@ -110,7 +110,7 @@
 
 <script setup name="Protocol">
 import { listProtocol, getProtocol, delProtocol, addProtocol, updateProtocol, changeStatus } from "@/api/hnyz/commProtocol";
-
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 const { proxy } = getCurrentInstance();
 const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
 const protocolList = ref([]);
@@ -229,14 +229,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["protocolRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.protocolId != null) {
-        updateProtocol(form.value).then(response => {
+        updateProtocol(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addProtocol(form.value).then(response => {
+        addProtocol(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 25 - 8
ui/src/views/dcsForm2/equipment/index.vue

@@ -64,7 +64,7 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="设备id" align="center" prop="equipmentId" />
       <el-table-column label="设备名" align="center" prop="equipmentName" />
-      <el-table-column label="流程归属" align="center" prop="flowName" :show-overflow-tooltip="true"/>
+      <el-table-column label="流程归属" align="center" prop="flowName" :show-overflow-tooltip="true" />
       <el-table-column label="标识码" align="center" prop="code" />
       <el-table-column label="设备种类" align="center" prop="equipmentType">
         <template #default="scope">
@@ -85,6 +85,10 @@
             v-hasPermi="['hnyz:equipment:edit']">修改</el-button>
           <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
             v-hasPermi="['hnyz:equipment:remove']">删除</el-button>
+          <el-button link type="primary" icon="View" @click="toDetail(scope.row.code)">
+            详情
+          </el-button>
+
         </template>
       </el-table-column>
     </el-table>
@@ -147,11 +151,14 @@
 
 <script setup name="Equipment">
 import { changeStatus, listEquipment, getEquipment, delEquipment, addEquipment, updateEquipment } from "@/api/hnyz/equipment";
-import { getFlowList,listFlow } from "@/api/hnyz/flow";
+import { getFlowList, listFlow } from "@/api/hnyz/flow";
 import { getPlcList } from "@/api/hnyz/plcInfo";
 import { getCommProtocolList } from "@/api/hnyz/commProtocol";
 import { onMounted } from "vue";
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
+import { useRouter } from 'vue-router'
 
+const router = useRouter()
 onMounted(() => {
   getOptions();
 });
@@ -272,7 +279,7 @@ function reset() {
     flowName: null,
     protocolId: null,
     status: "0",
-    remark: null
+    remark: null,
   };
   proxy.resetForm("equipmentRef");
 }
@@ -334,12 +341,13 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["equipmentRef"].validate(valid => {
     if (valid) {
-      if (form.value.flowIds) {
-        //数组转字符串
-        form.value.flowIds = form.value.flowIds.join(',');
+      const payload = cleanPayload(form.value);
+      // 处理 flowIds:数组转字符串
+      if (payload.flowIds) {
+        payload.flowIds = payload.flowIds.join(',');
       }
       if (form.value.equipmentId != null) {
-        updateEquipment(form.value).then(response => {
+        updateEquipment(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
@@ -347,7 +355,7 @@ function submitForm() {
           form.value.flowIds = form.value.flowIds.split(',').map(Number);
         });
       } else {
-        addEquipment(form.value).then(response => {
+        addEquipment(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();
@@ -378,5 +386,14 @@ function handleExport() {
   }, `equipment_${new Date().getTime()}.xlsx`)
 }
 
+// 详情按钮操作
+function toDetail(code) {
+  console.log(code)
+  router.push({
+    path: '/index',
+    query: { code } 
+  })
+}
+
 getList();
 </script>

+ 8 - 6
ui/src/views/dcsForm2/equipmentExtension/index.vue

@@ -89,8 +89,8 @@
           <el-input v-model="form.y" placeholder="请输入y坐标" />
         </el-form-item>
         <el-form-item label="尺寸" prop="size">
-          <el-input-number v-model="form.size" placeholder="请输入尺寸,单位px" style="width: 100%;"
-            controls-position="right" class="sizeInput"/>
+          <el-input-number v-model="form.size" placeholder="请输入尺寸,单位px" style="width: 100%;" controls-position="right"
+            class="sizeInput" />
         </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" />
@@ -117,6 +117,7 @@
 import { changeStatus, listExtension, getExtension, delExtension, addExtension, updateExtension, getEquipmentExtensionFormList } from "@/api/hnyz/extension";
 import { getFlowList } from "@/api/hnyz/flow";
 import { getEquipmentList } from "@/api/hnyz/equipment";
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 import { onMounted } from "vue";
 onMounted(() => {
   getFlowOptions();
@@ -290,14 +291,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["extensionRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.id != null) {
-        updateExtension(form.value).then(response => {
+        updateExtension(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addExtension(form.value).then(response => {
+        addExtension(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();
@@ -336,8 +338,8 @@ function formatNumber(val) {
 
 </script>
 <style lang="scss" scoped>
-:deep(.sizeInput){
-  .el-input-number .el-input__inner{
+:deep(.sizeInput) {
+  .el-input-number .el-input__inner {
     text-align: left;
   }
 }

+ 5 - 3
ui/src/views/dcsForm2/equipmentParam/index.vue

@@ -176,8 +176,9 @@
 </template>
 
 <script setup name="Param">
-import { changeStatus,listParam, getParam, delParam, addParam, updateParam } from "@/api/hnyz/param";
+import { changeStatus, listParam, getParam, delParam, addParam, updateParam } from "@/api/hnyz/param";
 import { getEquipmentList } from "@/api/hnyz/equipment";
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 import { onMounted } from "vue";
 
 onMounted(() => {
@@ -342,14 +343,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["paramRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.registerId != null) {
-        updateParam(form.value).then(response => {
+        updateParam(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addParam(form.value).then(response => {
+        addParam(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 4 - 3
ui/src/views/dcsForm2/flow/index.vue

@@ -100,7 +100,7 @@
 
 <script setup name="Flow">
 import { changeStatus, listFlow, getFlow, delFlow, addFlow, updateFlow } from "@/api/hnyz/flow";
-
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 const { proxy } = getCurrentInstance();
 const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
 const { flow_type } = proxy.useDict("flow_type")
@@ -214,14 +214,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["flowRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.flowId != null) {
-        updateFlow(form.value).then(response => {
+        updateFlow(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addFlow(form.value).then(response => {
+        addFlow(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 5 - 5
ui/src/views/dcsForm2/plcInfo/index.vue

@@ -20,8 +20,7 @@
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button type="primary" plain icon="Plus" @click="handleAdd"
-          v-hasPermi="['hnyz:plcInfo:add']">新增</el-button>
+        <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['hnyz:plcInfo:add']">新增</el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate"
@@ -107,7 +106,7 @@
 
 <script setup name="Info">
 import { listInfo, getInfo, delInfo, addInfo, updateInfo, changeStatus } from "@/api/hnyz/plcInfo";
-
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 const { proxy } = getCurrentInstance();
 const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
 
@@ -240,14 +239,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["infoRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.plcId != null) {
-        updateInfo(form.value).then(response => {
+        updateInfo(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addInfo(form.value).then(response => {
+        addInfo(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 10 - 7
ui/src/views/dcsForm2/screenSettings/index.vue

@@ -60,8 +60,8 @@
       </el-table-column>
     </el-table>
 
-    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
-      @pagination="getList" />
+    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize" @pagination="getList" />
 
     <!-- 添加或修改大屏设置管理对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
@@ -80,7 +80,8 @@
         </el-form-item>
         <el-form-item label="启用状态" prop="status">
           <el-radio-group v-model="form.status">
-            <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+            <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label
+              }}</el-radio>
           </el-radio-group>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
@@ -99,8 +100,9 @@
 
 <script setup name="ScreenSettings">
 import { listScreenSettingsForm, getScreenSettings, delScreenSettings, addScreenSettings, updateScreenSettings } from "@/api/hnyz/screenSettings";
-import {getTemplatePageList} from "@/api/hnyz/templatePage";
-import { onMounted ,ref} from "vue";
+import { getTemplatePageList } from "@/api/hnyz/templatePage";
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
+import { onMounted, ref } from "vue";
 
 onMounted(() => {
   getPageOptions();
@@ -225,14 +227,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["screenSettingsRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.id != null) {
-        updateScreenSettings(form.value).then(response => {
+        updateScreenSettings(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addScreenSettings(form.value).then(response => {
+        addScreenSettings(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();

+ 8 - 6
ui/src/views/dcsForm2/templatePage/index.vue

@@ -56,8 +56,8 @@
       </el-table-column>
     </el-table>
 
-    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
-      @pagination="getList" />
+    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize" @pagination="getList" />
 
     <!-- 添加或修改模板页管理对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
@@ -70,7 +70,8 @@
         </el-form-item>
         <el-form-item label="启用状态" prop="status">
           <el-radio-group v-model="form.status">
-            <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+            <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label
+              }}</el-radio>
           </el-radio-group>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
@@ -89,7 +90,7 @@
 
 <script setup name="TemplatePage">
 import { listTemplatePage, getTemplatePage, delTemplatePage, addTemplatePage, updateTemplatePage } from "@/api/hnyz/templatePage";
-
+import { cleanPayload } from "@/utils/dcs/requestCleaner";
 const { proxy } = getCurrentInstance();
 const { sys_normal_disable } = proxy.useDict('sys_normal_disable');
 
@@ -190,14 +191,15 @@ function handleUpdate(row) {
 function submitForm() {
   proxy.$refs["templatePageRef"].validate(valid => {
     if (valid) {
+      const payload = cleanPayload(form.value);
       if (form.value.pageId != null) {
-        updateTemplatePage(form.value).then(response => {
+        updateTemplatePage(payload).then(response => {
           proxy.$modal.msgSuccess("修改成功");
           open.value = false;
           getList();
         });
       } else {
-        addTemplatePage(form.value).then(response => {
+        addTemplatePage(payload).then(response => {
           proxy.$modal.msgSuccess("新增成功");
           open.value = false;
           getList();