+      
         
           
-            
-              
+            
+              
             
-            
-              
+            
+              
+                
+                
+              
             
             
               搜索
               重置
+              新增
             
           
         
       
     
 
-    
-      
-        
-          
-            新增
-          
-          
-            修改
-          
-          
-            删除
-          
-          
-            导出
-          
-          
-        
-      
 
-      
-        
-        
-        
-        
-        
-        
-          
-            
-            {{ scope.row.createTime }}
-          
-        
-        
-          
-            
-              
-            
-            
-              
-            
-          
-        
-      
+    
+      
+      
+      
+        
+          
+        
+      
+      
+      
+      
+        
+          {{ scope.row.status == 1 ? '已发布' : '未发布'}}
+        
+      
+      
+      
+        
+          
+          {{ scope.row.createTime }}
+        
+      
+      
+        
+          发布
+          撤销发布
+          
+            
+          
+          
+            
+          
+        
+      
+    
 
-      
-    
+    
     
     
       
-        
+        
           
         
         
-          
+          
+        
+        
+          
         
       
       
@@ -97,6 +99,7 @@ import { listIpImage, getIpImage, delIpImage, addIpImage, updateIpImage } from '
 import { IpImageVO, IpImageQuery, IpImageForm } from '@/api/manage/ipImage/types';
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+const autoTableHeight = ref(750);
 
 const ipImageList = ref([]);
 const buttonLoading = ref(false);
@@ -112,13 +115,16 @@ const ipImageFormRef = ref();
 
 const dialog = reactive({
   visible: false,
-  title: ''
+  title: '',
+  type:''
 });
 
 const initFormData: IpImageForm = {
   id: undefined,
   ipName: undefined,
-  shor: undefined,
+  shor: 1,
+  status:undefined,
+  ipUrl: undefined,
 }
 const data = reactive>({
   form: {...initFormData},
@@ -127,19 +133,20 @@ const data = reactive>({
     pageSize: 10,
     ipName: undefined,
     shor: undefined,
+    status:undefined,
     params: {
     }
   },
   rules: {
-    id: [
-      { required: true, message: "ID不能为空", trigger: "blur" }
-    ],
     ipName: [
-      { required: true, message: "ip形象名称不能为空", trigger: "blur" }
+      { required: true, message: "形象名称不能为空", trigger: "blur" }
     ],
     shor: [
       { required: true, message: "排序不能为空", trigger: "blur" }
     ],
+    ipUrl: [
+      { required: false, message: "形象不能为空", trigger: "change" }
+    ],
   }
 });
 
@@ -202,6 +209,19 @@ const handleUpdate = async (row?: IpImageVO) => {
   dialog.title = "修改IP形象";
 }
 
+/**
+ * 发布  撤销发布
+ * @param row 
+ * @param status 
+ */
+const handleStatus = async (row?: IpImageVO, status?: number) => {
+  await proxy?.$modal.confirm(`确定要${status == 1 ? '发布' : '撤销发布'}IP形象为"${row?.ipName}"的数据项吗?`).finally(() => loading.value = false);
+  Object.assign(form.value, row);
+  form.value.status = status;
+  await updateIpImage(form.value);
+  proxy?.$modal.msgSuccess(`${status == 1 ? '发布' : '撤销发布'}成功`);
+  await getList();
+}
 /** 提交按钮 */
 const submitForm = () => {
   ipImageFormRef.value?.validate(async (valid: boolean) => {
@@ -210,6 +230,7 @@ const submitForm = () => {
       if (form.value.id) {
         await updateIpImage(form.value).finally(() =>  buttonLoading.value = false);
       } else {
+        form.value.status = 0;
         await addIpImage(form.value).finally(() =>  buttonLoading.value = false);
       }
       proxy?.$modal.msgSuccess("操作成功");
@@ -237,5 +258,22 @@ const handleExport = () => {
 
 onMounted(() => {
   getList();
+  nextTick(() => {
+    autoTableHeight.value = proxy?.autoTableHeight();
+  });
+  window.onresize = () => {
+    autoTableHeight.value = proxy?.autoTableHeight();
+  };
 });
 
+
diff --git a/src/views/manage/product/index.vue b/src/views/manage/product/index.vue
index 42310b9..2733156 100644
--- a/src/views/manage/product/index.vue
+++ b/src/views/manage/product/index.vue
@@ -151,7 +151,8 @@ const productFormRef = ref();
 
 const dialog = reactive({
   visible: false,
-  title: ''
+  title: '',
+  type: ''
 });
 
 const initFormData: ProductForm = {
diff --git a/src/views/manage/productCategory/index.vue b/src/views/manage/productCategory/index.vue
index ab617de..cc63f81 100644
--- a/src/views/manage/productCategory/index.vue
+++ b/src/views/manage/productCategory/index.vue
@@ -137,7 +137,8 @@ const wishParams = reactive({
 })
 const dialog = reactive({
   visible: false,
-  title: ''
+  title: '',
+  type: ''
 });
 const makeWish = reactive({
   visible: false,
diff --git a/src/views/manage/scenic/index.vue b/src/views/manage/scenic/index.vue
index 0fda1fd..1dc4e9c 100644
--- a/src/views/manage/scenic/index.vue
+++ b/src/views/manage/scenic/index.vue
@@ -46,14 +46,15 @@
               
              -->
             
-              搜索
+              搜索
               重置
               新增
+                v-hasPermi="['manage:content:add']">新增
               
+                v-hasPermi="['manage:content:remove']">删除 -->
             
           
         
@@ -135,16 +136,16 @@
       
         
           发布
+            v-hasPermi="['manage:content:edit']">发布
           撤销发布
+            v-hasPermi="['manage:content:edit']">撤销发布
           
             
+              v-hasPermi="['manage:content:edit']">
           
           
             
+              v-hasPermi="['manage:content:remove']">
           
         
       
diff --git a/src/views/manage/userLevel/index.vue b/src/views/manage/userLevel/index.vue
index cc2a3d7..d2e5a0e 100644
--- a/src/views/manage/userLevel/index.vue
+++ b/src/views/manage/userLevel/index.vue
@@ -21,7 +21,8 @@
               
             
             
-              搜索
+              搜索
               重置
               新增
diff --git a/src/views/manage/userScore/index.vue b/src/views/manage/userScore/index.vue
index 45930a4..c028862 100644
--- a/src/views/manage/userScore/index.vue
+++ b/src/views/manage/userScore/index.vue
@@ -86,7 +86,8 @@ const userScoreFormRef = ref();
 
 const dialog = reactive({
   visible: false,
-  title: ''
+  title: '',
+  type: '',
 });
 
 const initFormData: UserScoreForm = {