From fa837d5f98b6d66185d5fb171948d90bd5acd793 Mon Sep 17 00:00:00 2001
From: 艺术家 <10819716+q100102@user.noreply.gitee.com>
Date: 星期三, 11 六月 2025 17:14:37 +0800
Subject: [PATCH] 代码提交

---
 项目代码/伸缩杆/client/src/views/tts/UserManagement/Usermanagement.vue |  306 ++++++++++++++++++++++++++++++++++++++++++++++++++
 项目代码/伸缩杆/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue   |    4 
 项目代码/伸缩杆/client/src/views/tts/DataLogging/Datalogging.vue       |   23 ++-
 项目代码/伸缩杆/client/src/api/user.js                                 |    8 +
 4 files changed, 329 insertions(+), 12 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/user.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/user.js"
index 58c7bfd..1988fae 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/user.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/user.js"
@@ -71,3 +71,11 @@
 export const EditUserUnit = (data) => http.post('/api/UnitCategory/UpdateData', data)
 //鍒犻櫎鐢ㄦ埛鍗曚綅
 export const DeleteUserUnit = (data) => http.post('/api/UnitCategory/Del', data)
+//鑾峰彇IP鏁版嵁
+export const GetIPData = (data) => http.post('/api/IPaddress/GetPageData', data)
+//娣诲姞IP
+export const AddIP = (data) => http.post('/api/IPaddress/AddData', data)
+//缂栬緫IP
+export const EditIP = (data) => http.post('/api/IPaddress/UpdateData', data)
+//鍒犻櫎IP
+export const DeleteIP = (data) => http.post('/api/IPaddress/Del', data)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/DataLogging/Datalogging.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/DataLogging/Datalogging.vue"
index d6a82c3..61be221 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/DataLogging/Datalogging.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/DataLogging/Datalogging.vue"
@@ -143,20 +143,18 @@
           "
           @selection-change="DeleteMaintenance"
         >
+          <!-- 锛氬鍚嶏紝鍗曚綅锛岀彮缁勶紝瑙掕壊锛屼笂绾挎淇亾锛屼笂绾挎椂闂达紝涓嬬嚎妫�淇亾锛屼笅绾挎椂闂达紱 -->
           <el-table-column type="selection" align="center" />
           <el-table-column prop="operatorName" label="濮撳悕" align="center" />
-          <!-- <el-table-column prop="teamName" label="缁勫埆" align="center" /> -->
+          <el-table-column prop="unit" label="鍗曚綅" align="center" />
+          <el-table-column prop="teamName" label="鐝粍" align="center" />
+          <el-table-column prop="roleName" label="瑙掕壊" align="center" />
           <el-table-column prop="" label="缁勫憳绫诲瀷" align="center">
             <template #default="scope">
               <span v-if="scope.row.isLeader == 0">缁勫憳</span>
               <span v-else-if="scope.row.isLeader == 1">缁勯暱</span>
             </template>
           </el-table-column>
-          <el-table-column prop="dept_Id" label="妫�淇亾" align="center">
-            <template #default="scope">
-              <div>{{ scope.row.dept_Id }}</div>
-            </template></el-table-column
-          >
           <el-table-column prop="headImageUrl" label="浜鸿劯" align="center">
             <template #default="scope">
               <el-image
@@ -169,12 +167,21 @@
             </template>
           </el-table-column>
           <el-table-column
+            prop="maintenanceStatus"
+            label="妫�淇姸鎬�"
+            align="center"
+          >
+            <template #default="scope">
+              <span v-if="scope.row.maintenanceStatus == 0"> 鏈笂绾� </span>
+              <span v-else-if="scope.row.maintenanceStatus == 1"> 宸蹭笂绾� </span>
+            </template>
+          </el-table-column>
+          <el-table-column
             prop="distributionTime"
             label="鍒嗛厤鏃堕棿"
             align="center"
           />
-          <!-- <el-table-column prop="Creater" label="鍒嗛厤妫�淇憳" align="center">
-          </el-table-column> -->
+          <el-table-column prop="endTime" label="涓嬬嚎鏃堕棿" align="center" />
           <el-table-column
             prop="ipAddress"
             label="璁惧IP"
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue"
index 169951b..c5d4e79 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue"
@@ -100,8 +100,8 @@
           min-width="1%"
         />
         <el-table-column
-          prop="dept_Id"
-          label="妫�淇亾"
+          prop="ipAddress"
+          label="杞ㄩ亾绔�"
           align="center"
           min-width="1%"
         />
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/UserManagement/Usermanagement.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/UserManagement/Usermanagement.vue"
index ee75184..2505a94 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/UserManagement/Usermanagement.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/UserManagement/Usermanagement.vue"
@@ -26,6 +26,12 @@
         >
           鐢ㄦ埛鍗曚綅
         </div>
+        <div
+          :class="['item', isactive == 5 ? 'isactive' : '']"
+          @click="changeactive(5)"
+        >
+          鐢ㄦ埛IP
+        </div>
       </div>
       <div class="serch">
         <div class="time_box">
@@ -150,6 +156,23 @@
             type="primary"
             size="small"
             @click="AddUnit"
+            style="
+              width: 5.5rem;
+              height: 2rem;
+              font-size: 0.88rem;
+              display: flex;
+              align-items: center;
+            "
+            class="text_btn"
+            ><el-icon style="margin-right: 0.2rem"> <Plus /> </el-icon
+            >鏂板缓</el-button
+          >
+          <!-- 鐢ㄦ埛IP鏂板缓 -->
+          <el-button
+            v-if="isactive == 5"
+            type="primary"
+            size="small"
+            @click="Addip"
             style="
               width: 5.5rem;
               height: 2rem;
@@ -557,6 +580,63 @@
                   cursor: 'pointer',
                 }"
                 @click="EditUnit(scope.row)"
+                >缂栬緫</span
+              >
+            </template></el-table-column
+          >
+        </el-table>
+
+        <!-- 鐢ㄦ埛IP -->
+        <el-table
+          empty-text="鏆傛棤鏁版嵁"
+          :height="isMin ? '950' : '450'"
+          v-if="isactive == 5"
+          :data="ipData"
+          style="width: 100%"
+          :header-cell-style="
+            isMin
+              ? {
+                  background: 'rgba(250,250,250,1)',
+                  color: '#101010',
+                  fontSize: '1.5rem',
+                  height: '3rem',
+                  border: 'none',
+                }
+              : {
+                  background: 'rgba(250,250,250,1)',
+                  color: '#101010',
+                  fontSize: '0.88rem',
+                  height: '3rem',
+                  border: 'none',
+                }
+          "
+          :row-style="
+            isMin
+              ? {
+                  color: '#101010',
+                  fontSize: '1.88rem',
+                  height: '3rem',
+                }
+              : {
+                  color: '#101010',
+                  fontSize: '0.88rem',
+                  height: '3rem',
+                }
+          "
+          @selection-change="IpSelectionChange"
+        >
+          <el-table-column type="selection" align="center" />
+          <el-table-column prop="iPaddress" label="ip鍦板潃" align="center" />
+          <el-table-column prop="addressname" label="妫�淇亾" align="center" />
+          <el-table-column label="鎿嶄綔" align="center">
+            <template #default="scope">
+              <span
+                :style="{
+                  color: 'blue',
+                  fontSize: isMin ? '1.88rem' : '0.88rem',
+                  cursor: 'pointer',
+                }"
+                @click="Editip(scope.row)"
                 >缂栬緫</span
               >
             </template></el-table-column
@@ -1271,6 +1351,120 @@
       </template>
     </el-dialog>
 
+    <!-- 鐢ㄦ埛ip鏂板缓/缂栬緫 -->
+    <el-dialog
+      v-model="dialogipVisible"
+      title=""
+      width="40%"
+      :before-close="handleClose"
+      :show-close="false"
+      :align-center="true"
+      @close="resetForm4(formipRef)"
+    >
+      <template #title>
+        <div
+          style="
+            height: 3.63rem;
+            display: flex;
+            border-bottom: 1px solid #e6e6e6;
+          "
+        >
+          <span
+            :style="{
+              color: 'rgb(16, 16, 16)',
+              fontSize: isMin ? '2rem' : '1rem',
+              fontWeight: 'bold',
+            }"
+            >鐢ㄦ埛ip</span
+          >
+        </div>
+      </template>
+      <el-form
+        :model="formip"
+        label-width="auto"
+        label-position="top"
+        ref="formipRef"
+        :rules="ipRules"
+        :hide-required-asterisk="true"
+      >
+        <el-form-item prop="iPaddress">
+          <template #label>
+            <div style="display: flex; align-items: flex-end">
+              <span
+                :style="{
+                  color: 'red',
+                  marginRight: '0.2rem',
+                  fontSize: '2rem',
+                }"
+                >*</span
+              >
+              <span
+                :style="{
+                  fontSize: isMin ? '2rem' : '0.88rem',
+                  color: 'black',
+                  fontWeight: bold,
+                }"
+                >ip鍦板潃</span
+              >
+            </div>
+          </template>
+          <el-input
+            style="height: 2rem"
+            size="small"
+            v-model="formip.iPaddress"
+            placeholder="璇疯緭鍏�"
+          />
+        </el-form-item>
+        <el-form-item prop="addressname">
+          <template #label>
+            <div style="display: flex; align-items: flex-end">
+              <span
+                :style="{
+                  color: 'red',
+                  marginRight: '0.2rem',
+                  fontSize: '2rem',
+                }"
+                >*</span
+              >
+              <span
+                :style="{
+                  fontSize: isMin ? '2rem' : '0.88rem',
+                  color: 'black',
+                  fontWeight: bold,
+                }"
+                >妫�淇亾</span
+              >
+            </div>
+          </template>
+          <el-input
+            style="height: 2rem"
+            size="small"
+            v-model="formip.addressname"
+            placeholder="璇疯緭鍏�"
+          />
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer" style="text-align: center">
+          <el-button
+            size="small"
+            @click="dialogipVisible = false"
+            style="height: 2rem; font-size: 0.88rem"
+            >鍙栨秷</el-button
+          >
+
+          <el-button
+            size="small"
+            type="primary"
+            @click="saveIp(formipRef)"
+            style="height: 2rem; font-size: 0.88rem"
+          >
+            淇濆瓨
+          </el-button>
+        </div>
+      </template>
+    </el-dialog>
+
     <el-dialog v-model="imgdialogVisible" width="35%" top="3vh">
       <div
         style="
@@ -1352,6 +1546,10 @@
   AddUserUnit,
   EditUserUnit,
   DeleteUserUnit,
+  GetIPData,
+  AddIP,
+  EditIP,
+  DeleteIP,
 } from "@/api/user";
 import { useRouter } from "vue-router";
 import { formatTime } from "@/utils/index.js";
@@ -1681,6 +1879,19 @@
     unitName: "",
   };
 };
+const resetForm4 = (formEl) => {
+  if (!formEl) return;
+  formEl.resetFields();
+  formip.value = {
+    creater: "",
+    createDate: "",
+    modifier: "",
+    modifyDate: "",
+    id: 0,
+    iPaddress: "",
+    addressname: "",
+  };
+};
 
 const handlePictureCardPreview = (uploadFile) => {
   dialogImageUrl.value = uploadFile.url;
@@ -1879,6 +2090,19 @@
     trigger: "blur",
   },
 });
+const ipRules = reactive({
+  iPaddress: {
+    required: true,
+    message: "璇疯緭鍏P鍦板潃",
+    trigger: "blur",
+  },
+  addressname: {
+    required: true,
+    message: "璇疯緭鍏ユ淇亾",
+    trigger: "blur",
+  },
+});
+
 const formRole = ref({
   roleName: "",
   description: "",
@@ -2044,6 +2268,10 @@
   Unittype.value = "鏂板缓";
   UnitdialogVisible.value = true;
 };
+const Addip = () => {
+  ipType.value = "鏂板缓";
+  dialogipVisible.value = true;
+};
 //鑾峰彇鐢ㄦ埛鍗曚綅
 const getUnit = () => {
   const startTime = formatTime(queryForm.value.selectTime[0]);
@@ -2100,6 +2328,8 @@
   } else if (isactive.value == 4) {
     selectoptions.value = unitOptions;
     getUnit();
+  } else if ((isactive.value = 5)) {
+    getIpData();
   }
 };
 
@@ -2119,6 +2349,10 @@
   ids.value = val.map((item) => item.id);
 };
 const UnitSelectionChange = (val) => {
+  ids.value = [];
+  ids.value = val.map((item) => item.id);
+};
+const IpSelectionChange = (val) => {
   ids.value = [];
   ids.value = val.map((item) => item.id);
 };
@@ -2150,6 +2384,11 @@
     DeleteUserUnit(ids.value).then((res) => {
       ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" });
       getUnit();
+    });
+  } else if (isactive.value == 5) {
+    DeleteIP(ids.value).then((res) => {
+      ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" });
+      getIpData();
     });
   }
 };
@@ -2241,11 +2480,74 @@
       ElMessage.error("鏁版嵁鎻愪氦澶辫触");
       onloading.value.close();
       registerdialogVisible.value = false;
-      // hideLoading();
     }
   };
   xmlResquest.send(JSON.stringify({ Base64Image: imgbase64.value }));
 }
+const ipData = ref([]);
+const dialogipVisible = ref(false);
+const ipType = ref("鏂板缓");
+const formip = ref({
+  creater: "",
+  createDate: "",
+  modifier: "",
+  modifyDate: "",
+  id: 0,
+  iPaddress: "",
+  addressname: "",
+});
+const formipRef = ref(null);
+//鑾峰彇ip鏁版嵁
+const getIpData = () => {
+  // 鏌ヨ鏉′欢
+  const startTime = formatTime(queryForm.value.selectTime[0]);
+  const endTime = formatTime(queryForm.value.selectTime[1]);
+  const filter = [
+    {
+      name: queryForm.value.selectType,
+      value: queryForm.value.selectInput,
+      displayType: "like",
+    },
+    { name: "createDate", value: startTime, displayType: "ThanOrEqual" },
+    { name: "createDate", value: endTime, displayType: "LessOrEqual" },
+  ];
+  GetIPData({
+    ...pageQuery.value,
+    filter,
+  }).then((res) => {
+    ipData.value = res.rows;
+    pageTotal.value = res.total;
+  });
+};
+const Editip = (val) => {
+  ipType.value = "淇敼";
+  let obj = Object.assign({}, val);
+  formip.value = obj;
+  dialogipVisible.value = true;
+};
+//淇濆瓨ip
+const saveIp = async (formEl) => {
+  if (!formEl) return;
+  await formEl.validate((valid, fields) => {
+    if (valid) {
+      if (ipType.value == "淇敼") {
+        EditIP(formip.value).then((res) => {
+          ElMessage({ message: "淇敼鎴愬姛", type: "success" });
+          dialogipVisible.value = false;
+          getIpData();
+        });
+      } else {
+        AddIP(formip.value).then((res) => {
+          ElMessage({ message: "娣诲姞鎴愬姛", type: "success" });
+          dialogipVisible.value = false;
+          getIpData();
+        });
+      }
+    } else {
+      console.log("error submit!", fields);
+    }
+  });
+};
 
 onMounted(() => {
   if (window.innerWidth <= 1080) {
@@ -2413,7 +2715,7 @@
       flex-direction: column;
 
       .checkbox {
-        width: 35rem;
+        width: 45rem;
         display: flex;
         justify-content: space-between;
         margin-top: 1rem;

--
Gitblit v1.9.3