Bladeren bron

仓库配置修改,修改地区登录只能看自己及自己下面的仓库。

wukai 2 weken geleden
bovenliggende
commit
017d879ced
3 gewijzigde bestanden met toevoegingen van 95 en 58 verwijderingen
  1. 9 0
      src/api/biz/houseConfig.js
  2. 14 0
      src/router/index.js
  3. 72 58
      src/views/biz/houseConfig/index.vue

+ 9 - 0
src/api/biz/houseConfig.js

@@ -42,3 +42,12 @@ export function delHouseConfig(houseId) {
         method: 'delete'
     })
 }
+
+// 查询部门下拉树结构
+export function deptTreeSelect() {
+    return request({
+        url: '/biz/houseConfig/deptTree',
+        method: 'get'
+    })
+}
+

+ 14 - 0
src/router/index.js

@@ -110,6 +110,20 @@ export const constantRoutes = [
     ]
   },
   {
+    path: '/house/config',
+    component: Layout,
+    redirect: '/',
+    hidden: true,
+    children: [
+      {
+        path: '/house/config',
+        component: () => import('@/views/biz/houseConfig/index'),
+        name: '仓库配置',
+        meta: { title: 'AI', png: 'ico_ai.png', affix: true }
+      }
+    ]
+  },
+  {
     path: '',
     component: Layout,
     redirect: '/alarm',

+ 72 - 58
src/views/biz/houseConfig/index.vue

@@ -6,7 +6,7 @@
         <pane size="16">
           <el-col>
             <div class="head-container">
-              <el-input v-model="deptName" placeholder="请输入部门名称" clearable prefix-icon="Search"
+              <el-input v-model="deptName" placeholder="请输入所属区域" clearable prefix-icon="Search"
                         style="margin-bottom: 20px"/>
             </div>
             <div class="head-container">
@@ -36,14 +36,14 @@
                     @keyup.enter="handleQuery"
                 />
               </el-form-item>
-<!--              <el-form-item label="仓库简称" prop="simpleName">-->
-<!--                <el-input-->
-<!--                    v-model="queryParams.simpleName"-->
-<!--                    placeholder="请输入仓库简称"-->
-<!--                    clearable-->
-<!--                    @keyup.enter="handleQuery"-->
-<!--                />-->
-<!--              </el-form-item>-->
+              <!--              <el-form-item label="仓库简称" prop="simpleName">-->
+              <!--                <el-input-->
+              <!--                    v-model="queryParams.simpleName"-->
+              <!--                    placeholder="请输入仓库简称"-->
+              <!--                    clearable-->
+              <!--                    @keyup.enter="handleQuery"-->
+              <!--                />-->
+              <!--              </el-form-item>-->
               <el-form-item label="仓库编码" prop="houseCode">
                 <el-input
                     v-model="queryParams.houseCode"
@@ -52,22 +52,22 @@
                     @keyup.enter="handleQuery"
                 />
               </el-form-item>
-<!--              <el-form-item label="所属部门" prop="deptId">-->
-<!--                <el-input-->
-<!--                    v-model="queryParams.deptId"-->
-<!--                    placeholder="请输入所属部门"-->
-<!--                    clearable-->
-<!--                    @keyup.enter="handleQuery"-->
-<!--                />-->
-<!--              </el-form-item>-->
-<!--              <el-form-item label="部门名称" prop="deptName">-->
-<!--                <el-input-->
-<!--                    v-model="queryParams.deptName"-->
-<!--                    placeholder="请输入部门名称"-->
-<!--                    clearable-->
-<!--                    @keyup.enter="handleQuery"-->
-<!--                />-->
-<!--              </el-form-item>-->
+              <!--              <el-form-item label="所属部门" prop="deptId">-->
+              <!--                <el-input-->
+              <!--                    v-model="queryParams.deptId"-->
+              <!--                    placeholder="请输入所属部门"-->
+              <!--                    clearable-->
+              <!--                    @keyup.enter="handleQuery"-->
+              <!--                />-->
+              <!--              </el-form-item>-->
+              <!--              <el-form-item label="所属区域" prop="deptName">-->
+              <!--                <el-input-->
+              <!--                    v-model="queryParams.deptName"-->
+              <!--                    placeholder="请输入所属区域"-->
+              <!--                    clearable-->
+              <!--                    @keyup.enter="handleQuery"-->
+              <!--                />-->
+              <!--              </el-form-item>-->
               <el-form-item>
                 <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
                 <el-button icon="Refresh" @click="resetQuery">重置</el-button>
@@ -107,22 +107,22 @@
                 >删除
                 </el-button>
               </el-col>
-<!--              <el-col :span="1.5">-->
-<!--                <el-button-->
-<!--                    type="warning"-->
-<!--                    plain-->
-<!--                    icon="Download"-->
-<!--                    @click="handleExport"-->
-<!--                    v-hasPermi="['biz:houseConfig:export']"-->
-<!--                >导出-->
-<!--                </el-button>-->
-<!--              </el-col>-->
+              <!--              <el-col :span="1.5">-->
+              <!--                <el-button-->
+              <!--                    type="warning"-->
+              <!--                    plain-->
+              <!--                    icon="Download"-->
+              <!--                    @click="handleExport"-->
+              <!--                    v-hasPermi="['biz:houseConfig:export']"-->
+              <!--                >导出-->
+              <!--                </el-button>-->
+              <!--              </el-col>-->
               <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
             </el-row>
 
             <el-table v-loading="loading" :data="houseConfigList" @selection-change="handleSelectionChange">
               <el-table-column type="selection" width="55" align="center"/>
-<!--              <el-table-column label="仓库ID" align="center" prop="houseId"/>-->
+              <!--              <el-table-column label="仓库ID" align="center" prop="houseId"/>-->
               <el-table-column label="仓库名称" align="center" prop="houseName"/>
               <el-table-column label="仓库编号" align="center" prop="houseNum"/>
               <el-table-column label="仓库简称" align="center" prop="simpleName"/>
@@ -130,15 +130,15 @@
               <el-table-column label="仓库地址" align="center" prop="houseAddr"/>
               <el-table-column label="经度" align="center" prop="lon"/>
               <el-table-column label="纬度" align="center" prop="lat"/>
-<!--              <el-table-column label="所属部门" align="center" prop="deptId"/>-->
-              <el-table-column label="部门名称" align="center" prop="deptName"/>
+              <!--              <el-table-column label="所属部门" align="center" prop="deptId"/>-->
+              <el-table-column label="所属区域" align="center" prop="deptName"/>
               <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
                 <template #default="scope">
                   <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
-                             v-hasPermi="['biz:houseConfig:edit']">修改
+                            >修改
                   </el-button>
                   <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
-                             v-hasPermi="['biz:houseConfig:remove']">删除
+                            >删除
                   </el-button>
                 </template>
               </el-table-column>
@@ -158,9 +158,9 @@
     <!-- 添加或修改仓库配置对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
       <el-form ref="houseConfigRef" :model="form" :rules="rules" label-width="80px">
-            <el-form-item label="仓库名称" prop="houseName">
-              <el-input v-model="form.houseName" placeholder="请输入仓库名称"/>
-            </el-form-item>
+        <el-form-item label="仓库名称" prop="houseName">
+          <el-input v-model="form.houseName" placeholder="请输入仓库名称"/>
+        </el-form-item>
         <el-row>
           <el-col :span="12">
             <el-form-item label="仓库编码" prop="houseCode">
@@ -177,18 +177,18 @@
 
             <el-form-item label="所属部门" prop="deptId">
               <el-tree-select
-                v-model="form.deptId"
-                :data="enabledDeptOptions"
-                :props="{ value: 'id', label: 'label', children: 'children' }"
-                value-key="id"
-                placeholder="请选择归属部门"
-                check-strictly
-                @change="handleDeptChange"
+                  v-model="form.deptId"
+                  :data="enabledDeptOptions"
+                  :props="{ value: 'id', label: 'label', children: 'children' }"
+                  value-key="id"
+                  placeholder="请选择归属部门"
+                  check-strictly
+                  @change="handleDeptChange"
               />
             </el-form-item>
-<!--            <el-form-item label="部门名称" prop="deptName">-->
-<!--              <el-input v-model="form.deptName" placeholder="请输入部门名称" readonly />-->
-<!--            </el-form-item>-->
+            <!--            <el-form-item label="所属区域" prop="deptName">-->
+            <!--              <el-input v-model="form.deptName" placeholder="请输入所属区域" readonly />-->
+            <!--            </el-form-item>-->
             <el-form-item label="经度" prop="lon">
               <el-input v-model="form.lon" placeholder="请输入经度"/>
             </el-form-item>
@@ -197,9 +197,9 @@
             </el-form-item>
           </el-col>
         </el-row>
-          <el-form-item label="仓库地址" prop="houseAddr">
-            <el-input v-model="form.houseAddr" placeholder="请输入仓库地址" type="textarea" :rows="3"/>
-          </el-form-item>
+        <el-form-item label="仓库地址" prop="houseAddr">
+          <el-input v-model="form.houseAddr" placeholder="请输入仓库地址" type="textarea" :rows="3"/>
+        </el-form-item>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -215,13 +215,13 @@
 import {
   addHouseConfig,
   delHouseConfig,
+  deptTreeSelect,
   getHouseConfig,
   listHouseConfig,
   updateHouseConfig
 } from "@/api/biz/houseConfig";
 import {Pane, Splitpanes} from "splitpanes"
 import "splitpanes/dist/splitpanes.css"
-import {deptTreeSelect} from "@/api/system/user";
 
 const {proxy} = getCurrentInstance();
 
@@ -274,7 +274,7 @@ const data = reactive({
       {required: true, message: "所属部门不能为空", trigger: "blur"}
     ],
     // deptName: [
-    //   {required: true, message: "部门名称不能为空", trigger: "blur"}
+    //   {required: true, message: "所属区域不能为空", trigger: "blur"}
     // ],
   }
 });
@@ -296,11 +296,13 @@ function cancel() {
   open.value = false;
   reset();
 }
+
 /** 节点单击事件 */
 function handleNodeClick(data) {
   queryParams.value.deptId = data.id;
   handleQuery();
 };
+
 // 表单重置
 function reset() {
   form.value = {
@@ -328,6 +330,16 @@ function getDeptTree() {
   deptTreeSelect().then(response => {
     deptOptions.value = response.data;
     enabledDeptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(response.data)));
+
+    // 默认选中第一个节点
+    if (response.data && response.data.length > 0) {
+      nextTick(() => {
+        const firstNode = response.data[0];
+        proxy.$refs.deptTreeRef.setCurrentKey(firstNode.id);
+        queryParams.value.deptId = firstNode.id;
+        handleQuery();
+      });
+    }
   });
 };
 
@@ -420,6 +432,7 @@ function handleExport() {
     ...queryParams.value
   }, `houseConfig_${new Date().getTime()}.xlsx`)
 }
+
 /** 部门选择变更事件 */
 function handleDeptChange(value) {
   if (value) {
@@ -449,6 +462,7 @@ function findDeptById(deptList, id) {
   }
   return null;
 }
+
 getDeptTree();
 getList();
 </script>