Browse Source

设备登记bug修改

jingyuanchao 1 year ago
parent
commit
716b1c6d84
2 changed files with 47 additions and 21 deletions
  1. 13 2
      src/api/system/device.js
  2. 34 19
      src/views/system/device/index.vue

+ 13 - 2
src/api/system/device.js

@@ -1,5 +1,5 @@
 import request from '@/utils/request'
-import { parseStrEmpty } from "@/utils/ruoyi";
+
 // 查询列表【请填写功能名称】
 export function listDevice(query) {
   return request({
@@ -29,16 +29,18 @@ export function getDevice(id) {
 // 查询主机
 export function getHostByOrgId(orgId) {
   return request({
-    url: '/system/device/getHostByOrgId/'+ orgId.id,
+    url: '/system/device/getHostByOrgId/' + orgId.id,
     method: 'get'
   })
 }
+
 export function downInCharge() {
   return request({
     url: '/system/device/downInChargeOfTemplate',
     method: 'get'
   })
 }
+
 // 新增【请填写功能名称】
 export function addDevice(data) {
   return request({
@@ -90,4 +92,13 @@ export function getDictTreeByParentId(parentId) {
   })
 }
 
+// 检查是否存在已经有主机同步子系统上来
+export function checkExitSyncSubSystem(orgId, deviceType, deviceId) {
+  return request({
+    url: '/system/device/checkExitSyncSubSystem',
+    method: 'get',
+    params: {orgId: orgId, deviceType: deviceType, deviceId: deviceId}
+  })
+}
+
 

+ 34 - 19
src/views/system/device/index.vue

@@ -177,7 +177,8 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="设备型号" prop="deviceModel">
-              <el-select @change="brandSelectChange1" style="width: 100%" v-model="form.deviceModel" placeholder="请选择设备型号">
+              <el-select @change="brandSelectChange1" style="width: 100%" v-model="form.deviceModel"
+                         placeholder="请选择设备型号">
                 <el-option v-for="item in brandChildrenDictList" :key="item.id" :label="item.name"
                            :value="item.id"></el-option>
               </el-select>
@@ -287,22 +288,24 @@ import orgDropDown from "../../../components/orgTree/orgDropDown.vue";
 import OrgTree from "@/components/orgTree";
 import tableList from "@/mixins/tableList";
 import {deptTreeSelect} from "@/api/system/public";
-import {getDeviceType} from "@/api/system/dict/data";
 import {
   addDevice,
+  checkExitSyncSubSystem,
   delDevice,
-  getDevice, getDictList,
-  getDictTree, getDictTreeByParentId,
+  getDevice,
+  getDictList,
+  getDictTree,
+  getDictTreeByParentId,
   getHostByOrgId,
   listDevice,
-  updateDevice,
+  updateDevice
 } from "@/api/system/device";
 import request from "@/utils/request";
 
 export default {
   /** 引入基础minxins*/
   mixins: [tableList],
-  dicts: ["sys_asset_type", "sys_device_type",'asset_status'],
+  dicts: ["sys_asset_type", "sys_device_type", 'asset_status'],
   name: "Device",
   components: {OrgTree, orgDropDown},
   data() {
@@ -321,8 +324,8 @@ export default {
         deviceName: [{required: true, message: "请输入设备名称", trigger: "change"}],
         orgId: [{required: true, message: "请选择所属机构", trigger: "blur"}],
         assetType: [{required: true, message: '请选择资产分类', trigger: 'change'}],
-      /*  hostId: [{required: true, message: '请选择主机', trigger: 'change'}],
-        channel: [{required: true, message: '请输入通道号', trigger: 'change'}],*/
+        /*  hostId: [{required: true, message: '请选择主机', trigger: 'change'}],
+          channel: [{required: true, message: '请输入通道号', trigger: 'change'}],*/
         deviceType: [{required: true, message: "请选择设备分类", trigger: "change"}],
         deviceStatus: [{required: true, message: "请选择资产状态", trigger: "blur"}],
       },
@@ -484,7 +487,7 @@ export default {
           this.upload.open = false;
           this.upload.isUploading = false;
           this.$refs.upload.clearFiles();
-          if (response&&response.size >0) {
+          if (response && response.size > 0) {
             this.$alert(
               "导入失败,请根据返回的Excel检查文件内容"
             );
@@ -719,7 +722,7 @@ export default {
       });
     },
     brandSelectChange1(val) {
-      console.log(this.form.deviceModel,val)
+      console.log(this.form.deviceModel, val)
     },
     clearAsset() {
       this.queryParams.deviceType = null;
@@ -732,7 +735,7 @@ export default {
         this.form = response.data;
         this.open = true;
         this.title = "编辑设备信息";
-        console.log(this.form.assetType,this.form.deviceBrand)
+        console.log(this.form.assetType, this.form.deviceBrand)
         getDictTreeByParentId(this.form.assetType).then((response) => {
           this.assetChildrenDictList = response.data;
         });
@@ -746,16 +749,28 @@ export default {
       this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
-            updateDevice(this.form).then((response) => {
-              this.$modal.msgSuccess("处理成功");
-              this.open = false;
-              this.getList();
+            checkExitSyncSubSystem(this.form.orgId, this.form.deviceType, this.form.id).then((response) => {
+              if (response.code == 200 && response.data == 0) {
+                updateDevice(this.form).then((response) => {
+                  this.$modal.msgSuccess("处理成功");
+                  this.open = false;
+                  this.getList();
+                });
+              } else {
+                return this.$modal.msgError("该机构已接入巡检主机,无需手动新增/编辑该类型设备");
+              }
             });
           } else {
-            addDevice(this.form).then((response) => {
-              this.$modal.msgSuccess("处理成功");
-              this.open = false;
-              this.getList();
+            checkExitSyncSubSystem(this.form.orgId, this.form.deviceType, null).then((response) => {
+              if (response.code == 200 && response.data == 0) {
+                addDevice(this.form).then((response) => {
+                  this.$modal.msgSuccess("处理成功");
+                  this.open = false;
+                  this.getList();
+                });
+              } else {
+                return this.$modal.msgError("该机构已接入巡检主机,无需手动新增/编辑该类型设备");
+              }
             });
           }
         }