From 44f5fadd6a669405cd8a7608aa510bd62688a750 Mon Sep 17 00:00:00 2001
From: wyg <wu1555611@163.com>
Date: 星期一, 17 六月 2024 11:35:11 +0800
Subject: [PATCH] 去除若依化

---
 src/views/index.vue                         |  255 +++------
 src/views/system/role/index.vue             |    2 
 vue.config.js                               |    4 
 src/layout/components/Navbar.vue            |   36 -
 src/router/index.js                         |    2 
 src/views/basicData/locationGroup/index.vue |   15 
 src/views/register.vue                      |    2 
 .env.development                            |    4 
 /dev/null                                   |   21 
 src/views/system/user/index.vue             |    2 
 src/views/login.vue                         |    8 
 src/layout/components/Sidebar/Logo.vue      |    2 
 src/views/basicData/location/linshi.vue     |  547 ++++++++++++++++++++
 src/views/tool/gen/index.vue                |    2 
 .env.production                             |    4 
 src/layout/components/AppMain.vue           |   18 
 src/views/basicData/location/index.vue      |  569 +-------------------
 src/views/system/dict/index.vue             |    2 
 src/views/basicData/warehouse/index.vue     |  119 ++--
 19 files changed, 766 insertions(+), 848 deletions(-)

diff --git a/.env.development b/.env.development
index 8d6f493..b3ba94a 100644
--- a/.env.development
+++ b/.env.development
@@ -1,10 +1,10 @@
 # 椤甸潰鏍囬
-VUE_APP_TITLE = RuoYi-Flowable-Plus鍚庡彴绠$悊绯荤粺
+VUE_APP_TITLE = 閽変箰鍚庡彴绠$悊绯荤粺
 
 # 寮�鍙戠幆澧冮厤缃�
 ENV = 'development'
 
-# 鑻ヤ緷绠$悊绯荤粺/寮�鍙戠幆澧�
+# 绠$悊绯荤粺/寮�鍙戠幆澧�
 VUE_APP_BASE_API = '/dev-api'
 
 # 搴旂敤璁块棶璺緞 渚嬪浣跨敤鍓嶇紑 /admin/
diff --git a/.env.production b/.env.production
index f8d34a7..198e0f0 100644
--- a/.env.production
+++ b/.env.production
@@ -1,10 +1,10 @@
 # 椤甸潰鏍囬
-VUE_APP_TITLE = RuoYi-Flowable-Plus鍚庡彴绠$悊绯荤粺
+VUE_APP_TITLE = 閽変箰鍚庡彴绠$悊绯荤粺
 
 # 鐢熶骇鐜閰嶇疆
 ENV = 'production'
 
-# 鑻ヤ緷绠$悊绯荤粺/鐢熶骇鐜
+# 绠$悊绯荤粺/鐢熶骇鐜
 VUE_APP_BASE_API = '/prod-api'
 
 # 搴旂敤璁块棶璺緞 渚嬪浣跨敤鍓嶇紑 /admin/
diff --git a/src/components/RuoYi/Doc/index.vue b/src/components/RuoYi/Doc/index.vue
deleted file mode 100644
index 257e397..0000000
--- a/src/components/RuoYi/Doc/index.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-<template>
-  <div>
-    <svg-icon icon-class="question" @click="goto" />
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'RuoYiDoc',
-  data() {
-    return {
-      url: 'https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages'
-    }
-  },
-  methods: {
-    goto() {
-      window.open(this.url)
-    }
-  }
-}
-</script>
diff --git a/src/components/RuoYi/Git/index.vue b/src/components/RuoYi/Git/index.vue
deleted file mode 100644
index 43b23e9..0000000
--- a/src/components/RuoYi/Git/index.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-<template>
-  <div>
-    <svg-icon icon-class="github" @click="goto" />
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'RuoYiGit',
-  data() {
-    return {
-      url: 'https://gitee.com/dromara/RuoYi-Vue-Plus'
-    }
-  },
-  methods: {
-    goto() {
-      window.open(this.url)
-    }
-  }
-}
-</script>
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
index a25c562..72b77da 100644
--- a/src/layout/components/AppMain.vue
+++ b/src/layout/components/AppMain.vue
@@ -10,29 +10,27 @@
 </template>
 
 <script>
-import iframeToggle from "./IframeToggle/index"
+import iframeToggle from "./IframeToggle/index";
 
 export default {
-  name: 'AppMain',
+  name: "AppMain",
   components: { iframeToggle },
   computed: {
     cachedViews() {
-      return this.$store.state.tagsView.cachedViews
+      return this.$store.state.tagsView.cachedViews;
     },
     key() {
-      return this.$route.path
-    }
-  }
-}
+      return this.$route.path;
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
 .app-main {
   /* 50= navbar  50  */
-  min-height: calc(100vh - 50px);
+  height: calc(100vh - 84px);
   width: 100%;
-  position: relative;
-  overflow: hidden;
 }
 
 .fixed-header + .app-main {
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index ce5fd1a..94c56c0 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -6,28 +6,7 @@
     <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
 
     <div class="right-menu">
-      <template v-if="device!=='mobile'">
-        <el-tooltip content="椹伴獘BPM" effect="dark" placement="bottom">
-          <a href="http://ccflow.org/?frm=KonBAI" target="_blank" class="right-menu-item hover-effect">椹伴獘BPM</a>
-        </el-tooltip>
-
-        <search id="header-search" class="right-menu-item" />
-
-        <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom">
-          <ruo-yi-git id="dl-git" class="right-menu-item hover-effect" />
-        </el-tooltip>
-
-        <el-tooltip content="鏂囨。鍦板潃" effect="dark" placement="bottom">
-          <ruo-yi-doc id="dl-doc" class="right-menu-item hover-effect" />
-        </el-tooltip>
-
-        <screenfull id="screenfull" class="right-menu-item hover-effect" />
-
-        <el-tooltip content="甯冨眬澶у皬" effect="dark" placement="bottom">
-          <size-select id="size-select" class="right-menu-item hover-effect" />
-        </el-tooltip>
-
-      </template>
+     
 
       <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
         <div class="avatar-wrapper">
@@ -38,9 +17,9 @@
           <router-link to="/user/profile">
             <el-dropdown-item>涓汉涓績</el-dropdown-item>
           </router-link>
-          <el-dropdown-item @click.native="setting = true">
+          <!-- <el-dropdown-item @click.native="setting = true">
             <span>甯冨眬璁剧疆</span>
-          </el-dropdown-item>
+          </el-dropdown-item> -->
           <el-dropdown-item divided @click.native="logout">
             <span>閫�鍑虹櫥褰�</span>
           </el-dropdown-item>
@@ -56,10 +35,9 @@
 import TopNav from '@/components/TopNav'
 import Hamburger from '@/components/Hamburger'
 import Screenfull from '@/components/Screenfull'
-import SizeSelect from '@/components/SizeSelect'
+// import SizeSelect from '@/components/SizeSelect'
 import Search from '@/components/HeaderSearch'
-import RuoYiGit from '@/components/RuoYi/Git'
-import RuoYiDoc from '@/components/RuoYi/Doc'
+
 
 export default {
   components: {
@@ -67,10 +45,8 @@
     TopNav,
     Hamburger,
     Screenfull,
-    SizeSelect,
+    // SizeSelect,
     Search,
-    RuoYiGit,
-    RuoYiDoc
   },
   computed: {
     ...mapGetters([
diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue
index d768ae1..03103b4 100644
--- a/src/layout/components/Sidebar/Logo.vue
+++ b/src/layout/components/Sidebar/Logo.vue
@@ -35,7 +35,7 @@
   },
   data() {
     return {
-      title: 'RuoYi-Flowable-Plus',
+      title: '閽変箰鍚庡彴绠$悊绯荤粺',
       logo: logoImg
     }
   }
diff --git a/src/router/index.js b/src/router/index.js
index 41b1b7b..a394da5 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -140,7 +140,7 @@
     permissions: ['system:dict:list'],
     children: [
       {
-        path: 'index/:dictId(\\d+)',
+        path: 'index/:dictId([a-zA-Z0-9]+)',
         component: () => import('@/views/system/dict/data'),
         name: 'Data',
         meta: { title: '瀛楀吀鏁版嵁', activeMenu: '/system/dict' }
diff --git a/src/views/basicData/location/index.vue b/src/views/basicData/location/index.vue
index 03ca361..b3759a5 100644
--- a/src/views/basicData/location/index.vue
+++ b/src/views/basicData/location/index.vue
@@ -1,542 +1,41 @@
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="浠撳簱" prop="lgort">
-        <el-input
-          v-model="queryParams.lgort"
-          placeholder="璇疯緭鍏ヤ粨搴�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="鍚嶇О" prop="locationName">
-        <el-input
-          v-model="queryParams.locationName"
-          placeholder="璇疯緭鍏ュ悕绉�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="鐘舵��" prop="state">
-        <el-input
-          v-model="queryParams.state"
-          placeholder="璇疯緭鍏ョ姸鎬�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['system:location:add']"
-        >鏂板</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['system:location:edit']"
-        >淇敼</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['system:location:remove']"
-        >鍒犻櫎</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['system:location:export']"
-        >瀵煎嚭</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="locationList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="搴撲綅ID" align="center" prop="locationId" v-if="true"/>
-      <el-table-column label="闅跺睘搴撲綅ID" align="center" prop="parentLocationId" />
-      <el-table-column label="浠撳簱" align="center" prop="lgort" />
-      <el-table-column label="搴撲綅搴忓彿" align="center" prop="locationNo" />
-      <el-table-column label="鍚嶇О" align="center" prop="locationName" />
-      <el-table-column label="宸ュ巶" align="center" prop="werks" />
-      <el-table-column label="绫诲瀷" align="center" prop="type" />
-      <el-table-column label="浣撶Н闄愬埗" align="center" prop="volumeRestriction" />
-      <el-table-column label="閲嶉噺闄愬埗" align="center" prop="weightLimit" />
-      <el-table-column label="绠辨暟闄愬埗" align="center" prop="containerNumberLimit" />
-      <el-table-column label="鏁伴噺闄愬埗" align="center" prop="quantitativeRestrictions" />
-      <el-table-column label="鎵樼洏闄愬埗" align="center" prop="trayLimit" />
-      <el-table-column label="闀垮害" align="center" prop="length" />
-      <el-table-column label="瀹�" align="center" prop="width" />
-      <el-table-column label="楂�" align="center" prop="height" />
-      <el-table-column label="鍧愭爣X" align="center" prop="coordinateX" />
-      <el-table-column label="鍧愭爣Y" align="center" prop="coordinateY" />
-      <el-table-column label="鍧愭爣Z" align="center" prop="coordinateZ" />
-      <el-table-column label="鍍忕礌X" align="center" prop="pixelX" />
-      <el-table-column label="鍍忕礌Y" align="center" prop="pixelY" />
-      <el-table-column label="绌洪棿灞傛暟" align="center" prop="paceLayer" />
-      <el-table-column label="1-鍏佽" align="center" prop="allowMixedProduct" />
-      <el-table-column label="1-鍏佽" align="center" prop="allowMixedProductLot" />
-      <el-table-column label="灞傜骇" align="center" prop="layer" />
-      <el-table-column label="1-瀛樺湪" align="center" prop="hasChild" />
-      <el-table-column label="璺緞" align="center" prop="path" />
-      <el-table-column label="鎻忚堪" align="center" prop="description" />
-      <el-table-column label="鐘舵��" align="center" prop="state" />
-      <el-table-column label="鏈�鍚庢洿鏂颁汉id" align="center" prop="lastUpdatedUserId" />
-      <el-table-column label="鏈�鍚庢洿鏂颁汉濮撳悕" align="center" prop="lastUpdatedUserName" />
-      <el-table-column label="鏈�鍚庢洿鏂版椂闂�" align="center" prop="lastUpdatedDateTime" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.lastUpdatedDateTime, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:location:edit']"
-          >淇敼</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['system:location:remove']"
-          >鍒犻櫎</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-
-    <!-- 娣诲姞鎴栦慨鏀瑰簱浣嶅璇濇 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="闅跺睘搴撲綅ID" prop="parentLocationId">
-          <el-input v-model="form.parentLocationId" placeholder="璇疯緭鍏ラ毝灞炲簱浣岻D" />
-        </el-form-item>
-        <el-form-item label="浠撳簱" prop="lgort">
-          <el-input v-model="form.lgort" placeholder="璇疯緭鍏ヤ粨搴�" />
-        </el-form-item>
-        <el-form-item label="搴撲綅搴忓彿" prop="locationNo">
-          <el-input v-model="form.locationNo" placeholder="璇疯緭鍏ュ簱浣嶅簭鍙�" />
-        </el-form-item>
-        <el-form-item label="鍚嶇О" prop="locationName">
-          <el-input v-model="form.locationName" placeholder="璇疯緭鍏ュ悕绉�" />
-        </el-form-item>
-        <el-form-item label="宸ュ巶" prop="werks">
-          <el-input v-model="form.werks" placeholder="璇疯緭鍏ュ伐鍘�" />
-        </el-form-item>
-        <el-form-item label="浣撶Н闄愬埗" prop="volumeRestriction">
-          <el-input v-model="form.volumeRestriction" placeholder="璇疯緭鍏ヤ綋绉檺鍒�" />
-        </el-form-item>
-        <el-form-item label="閲嶉噺闄愬埗" prop="weightLimit">
-          <el-input v-model="form.weightLimit" placeholder="璇疯緭鍏ラ噸閲忛檺鍒�" />
-        </el-form-item>
-        <el-form-item label="绠辨暟闄愬埗" prop="containerNumberLimit">
-          <el-input v-model="form.containerNumberLimit" placeholder="璇疯緭鍏ョ鏁伴檺鍒�" />
-        </el-form-item>
-        <el-form-item label="鏁伴噺闄愬埗" prop="quantitativeRestrictions">
-          <el-input v-model="form.quantitativeRestrictions" placeholder="璇疯緭鍏ユ暟閲忛檺鍒�" />
-        </el-form-item>
-        <el-form-item label="鎵樼洏闄愬埗" prop="trayLimit">
-          <el-input v-model="form.trayLimit" placeholder="璇疯緭鍏ユ墭鐩橀檺鍒�" />
-        </el-form-item>
-        <el-form-item label="闀垮害" prop="length">
-          <el-input v-model="form.length" placeholder="璇疯緭鍏ラ暱搴�" />
-        </el-form-item>
-        <el-form-item label="瀹�" prop="width">
-          <el-input v-model="form.width" placeholder="璇疯緭鍏ュ" />
-        </el-form-item>
-        <el-form-item label="楂�" prop="height">
-          <el-input v-model="form.height" placeholder="璇疯緭鍏ラ珮" />
-        </el-form-item>
-        <el-form-item label="鍧愭爣X" prop="coordinateX">
-          <el-input v-model="form.coordinateX" placeholder="璇疯緭鍏ュ潗鏍嘪" />
-        </el-form-item>
-        <el-form-item label="鍧愭爣Y" prop="coordinateY">
-          <el-input v-model="form.coordinateY" placeholder="璇疯緭鍏ュ潗鏍嘫" />
-        </el-form-item>
-        <el-form-item label="鍧愭爣Z" prop="coordinateZ">
-          <el-input v-model="form.coordinateZ" placeholder="璇疯緭鍏ュ潗鏍嘮" />
-        </el-form-item>
-        <el-form-item label="鍍忕礌X" prop="pixelX">
-          <el-input v-model="form.pixelX" placeholder="璇疯緭鍏ュ儚绱燲" />
-        </el-form-item>
-        <el-form-item label="鍍忕礌Y" prop="pixelY">
-          <el-input v-model="form.pixelY" placeholder="璇疯緭鍏ュ儚绱燳" />
-        </el-form-item>
-        <el-form-item label="绌洪棿灞傛暟" prop="paceLayer">
-          <el-input v-model="form.paceLayer" placeholder="璇疯緭鍏ョ┖闂村眰鏁�" />
-        </el-form-item>
-        <el-form-item label="1-鍏佽" prop="allowMixedProduct">
-          <el-input v-model="form.allowMixedProduct" placeholder="璇疯緭鍏�1-鍏佽" />
-        </el-form-item>
-        <el-form-item label="1-鍏佽" prop="allowMixedProductLot">
-          <el-input v-model="form.allowMixedProductLot" placeholder="璇疯緭鍏�1-鍏佽" />
-        </el-form-item>
-        <el-form-item label="灞傜骇" prop="layer">
-          <el-input v-model="form.layer" placeholder="璇疯緭鍏ュ眰绾�" />
-        </el-form-item>
-        <el-form-item label="1-瀛樺湪" prop="hasChild">
-          <el-input v-model="form.hasChild" placeholder="璇疯緭鍏�1-瀛樺湪" />
-        </el-form-item>
-        <el-form-item label="璺緞" prop="path">
-          <el-input v-model="form.path" placeholder="璇疯緭鍏ヨ矾寰�" />
-        </el-form-item>
-        <el-form-item label="鎻忚堪" prop="description">
-          <el-input v-model="form.description" placeholder="璇疯緭鍏ユ弿杩�" />
-        </el-form-item>
-        <el-form-item label="鐘舵��" prop="state">
-          <el-input v-model="form.state" placeholder="璇疯緭鍏ョ姸鎬�" />
-        </el-form-item>
-        <el-form-item label="鏈�鍚庢洿鏂颁汉id" prop="lastUpdatedUserId">
-          <el-input v-model="form.lastUpdatedUserId" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉id" />
-        </el-form-item>
-        <el-form-item label="鏈�鍚庢洿鏂颁汉濮撳悕" prop="lastUpdatedUserName">
-          <el-input v-model="form.lastUpdatedUserName" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉濮撳悕" />
-        </el-form-item>
-        <el-form-item label="鏈�鍚庢洿鏂版椂闂�" prop="lastUpdatedDateTime">
-          <el-date-picker clearable
-            v-model="form.lastUpdatedDateTime"
-            type="datetime"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            placeholder="璇烽�夋嫨鏈�鍚庢洿鏂版椂闂�">
-          </el-date-picker>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button>
-        <el-button @click="cancel">鍙� 娑�</el-button>
-      </div>
-    </el-dialog>
+  <div class="box">
+    <el-card class="box-card1">
+  <div v-for="o in 4" :key="o" class="text item">
+    {{'鍒楄〃鍐呭 ' + o }}
+  </div>
+</el-card>
+<el-card class="box-card2">
+  <div v-for="o in 4" :key="o" class="text item">
+    {{'鍒楄〃鍐呭 ' + o }}
+  </div>
+</el-card>
   </div>
 </template>
 
 <script>
-import { listLocation, getLocation, delLocation, addLocation, updateLocation } from "@/api/basicData/location";
-
 export default {
-  name: "Location",
-  data() {
-    return {
-      // 鎸夐挳loading
-      buttonLoading: false,
-      // 閬僵灞�
-      loading: true,
-      // 閫変腑鏁扮粍
-      ids: [],
-      // 闈炲崟涓鐢�
-      single: true,
-      // 闈炲涓鐢�
-      multiple: true,
-      // 鏄剧ず鎼滅储鏉′欢
-      showSearch: true,
-      // 鎬绘潯鏁�
-      total: 0,
-      // 搴撲綅琛ㄦ牸鏁版嵁
-      locationList: [],
-      // 寮瑰嚭灞傛爣棰�
-      title: "",
-      // 鏄惁鏄剧ず寮瑰嚭灞�
-      open: false,
-      // 鏌ヨ鍙傛暟
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        lgort: undefined,
-        locationName: undefined,
-        type: undefined,
-        state: undefined,
-      },
-      // 琛ㄥ崟鍙傛暟
-      form: {},
-      // 琛ㄥ崟鏍¢獙
-      rules: {
-        locationId: [
-          { required: true, message: "搴撲綅ID涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        parentLocationId: [
-          { required: true, message: "闅跺睘搴撲綅ID涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        lgort: [
-          { required: true, message: "浠撳簱涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        locationNo: [
-          { required: true, message: "搴撲綅搴忓彿涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        locationName: [
-          { required: true, message: "鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        werks: [
-          { required: true, message: "宸ュ巶涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        type: [
-          { required: true, message: "绫诲瀷涓嶈兘涓虹┖", trigger: "change" }
-        ],
-        volumeRestriction: [
-          { required: true, message: "浣撶Н闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        weightLimit: [
-          { required: true, message: "閲嶉噺闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        containerNumberLimit: [
-          { required: true, message: "绠辨暟闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        quantitativeRestrictions: [
-          { required: true, message: "鏁伴噺闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        trayLimit: [
-          { required: true, message: "鎵樼洏闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        length: [
-          { required: true, message: "闀垮害涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        width: [
-          { required: true, message: "瀹戒笉鑳戒负绌�", trigger: "blur" }
-        ],
-        height: [
-          { required: true, message: "楂樹笉鑳戒负绌�", trigger: "blur" }
-        ],
-        coordinateX: [
-          { required: true, message: "鍧愭爣X涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        coordinateY: [
-          { required: true, message: "鍧愭爣Y涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        coordinateZ: [
-          { required: true, message: "鍧愭爣Z涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        pixelX: [
-          { required: true, message: "鍍忕礌X涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        pixelY: [
-          { required: true, message: "鍍忕礌Y涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        paceLayer: [
-          { required: true, message: "绌洪棿灞傛暟涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        allowMixedProduct: [
-          { required: true, message: "1-鍏佽涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        allowMixedProductLot: [
-          { required: true, message: "1-鍏佽涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        layer: [
-          { required: true, message: "灞傜骇涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        hasChild: [
-          { required: true, message: "1-瀛樺湪涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        path: [
-          { required: true, message: "璺緞涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        description: [
-          { required: true, message: "鎻忚堪涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        state: [
-          { required: true, message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur" }
-        ],
-        displayOrder: [
-          { required: true, message: "鎺掑簭涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        createdUserId: [
-          { required: true, message: "鍒涘缓浜篿d涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        createdUserName: [
-          { required: true, message: "鍒涘缓浜哄鍚嶄笉鑳戒负绌�", trigger: "blur" }
-        ],
-        createdDateTime: [
-          { required: true, message: "鍒涘缓鏃ユ湡鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        lastUpdatedUserId: [
-          { required: true, message: "鏈�鍚庢洿鏂颁汉id涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        lastUpdatedUserName: [
-          { required: true, message: "鏈�鍚庢洿鏂颁汉濮撳悕涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        lastUpdatedDateTime: [
-          { required: true, message: "鏈�鍚庢洿鏂版椂闂翠笉鑳戒负绌�", trigger: "blur" }
-        ],
-        isDeleted: [
-          { required: true, message: "鏄惁鍒犻櫎涓嶈兘涓虹┖", trigger: "blur" }
-        ]
-      }
-    };
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    /** 鏌ヨ搴撲綅鍒楄〃 */
-    getList() {
-      this.loading = true;
-      listLocation(this.queryParams).then(response => {
-        this.locationList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 琛ㄥ崟閲嶇疆
-    reset() {
-      this.form = {
-        locationId: undefined,
-        parentLocationId: undefined,
-        lgort: undefined,
-        locationNo: undefined,
-        locationName: undefined,
-        werks: undefined,
-        type: undefined,
-        volumeRestriction: undefined,
-        weightLimit: undefined,
-        containerNumberLimit: undefined,
-        quantitativeRestrictions: undefined,
-        trayLimit: undefined,
-        length: undefined,
-        width: undefined,
-        height: undefined,
-        coordinateX: undefined,
-        coordinateY: undefined,
-        coordinateZ: undefined,
-        pixelX: undefined,
-        pixelY: undefined,
-        paceLayer: undefined,
-        allowMixedProduct: undefined,
-        allowMixedProductLot: undefined,
-        layer: undefined,
-        hasChild: undefined,
-        path: undefined,
-        description: undefined,
-        state: undefined,
-        displayOrder: undefined,
-        createdUserId: undefined,
-        createdUserName: undefined,
-        createdDateTime: undefined,
-        lastUpdatedUserId: undefined,
-        lastUpdatedUserName: undefined,
-        lastUpdatedDateTime: undefined,
-        isDeleted: undefined
-      };
-      this.resetForm("form");
-    },
-    /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 閲嶇疆鎸夐挳鎿嶄綔 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 澶氶�夋閫変腑鏁版嵁
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.locationId)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
-    /** 鏂板鎸夐挳鎿嶄綔 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "娣诲姞搴撲綅";
-    },
-    /** 淇敼鎸夐挳鎿嶄綔 */
-    handleUpdate(row) {
-      this.loading = true;
-      this.reset();
-      const locationId = row.locationId || this.ids
-      getLocation(locationId).then(response => {
-        this.loading = false;
-        this.form = response.data;
-        this.open = true;
-        this.title = "淇敼搴撲綅";
-      });
-    },
-    /** 鎻愪氦鎸夐挳 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          this.buttonLoading = true;
-          if (this.form.locationId != null) {
-            updateLocation(this.form).then(response => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
-              this.getList();
-            }).finally(() => {
-              this.buttonLoading = false;
-            });
-          } else {
-            addLocation(this.form).then(response => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList();
-            }).finally(() => {
-              this.buttonLoading = false;
-            });
-          }
-        }
-      });
-    },
-    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
-    handleDelete(row) {
-      const locationIds = row.locationId || this.ids;
-      this.$modal.confirm('鏄惁纭鍒犻櫎搴撲綅缂栧彿涓�"' + locationIds + '"鐨勬暟鎹」锛�').then(() => {
-        this.loading = true;
-        return delLocation(locationIds);
-      }).then(() => {
-        this.loading = false;
-        this.getList();
-        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-      }).catch(() => {
-      }).finally(() => {
-        this.loading = false;
-      });
-    },
-    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
-    handleExport() {
-      this.download('system/location/export', {
-        ...this.queryParams
-      }, `location_${new Date().getTime()}.xlsx`)
-    }
-  }
-};
+
+}
 </script>
+
+<style scoped>
+.box{
+  width: 100%;
+  height: calc(100vh - 124px);
+  display: flex;
+  padding: 20px;
+}
+.box-card1{
+  width: 20%;
+  height: 100%;
+  background-color: #4b0f0f;
+}
+.box-card2{
+  width: 80%;
+  height: 100%;
+  background-color: #58c8eb;
+}
+</style>
+
+
diff --git a/src/views/basicData/location/linshi.vue b/src/views/basicData/location/linshi.vue
new file mode 100644
index 0000000..447e1a6
--- /dev/null
+++ b/src/views/basicData/location/linshi.vue
@@ -0,0 +1,547 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="浠撳簱" prop="lgort">
+        <el-input
+          v-model="queryParams.lgort"
+          placeholder="璇疯緭鍏ヤ粨搴�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鍚嶇О" prop="locationName">
+        <el-input
+          v-model="queryParams.locationName"
+          placeholder="璇疯緭鍏ュ悕绉�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鐘舵��" prop="state">
+        <el-input
+          v-model="queryParams.state"
+          placeholder="璇疯緭鍏ョ姸鎬�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:location:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:location:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:location:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:location:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" border :data="locationList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+        <el-table-column
+       label="搴忓彿"
+      type="index"
+      fixed
+      width="50" />
+      <!-- <el-table-column label="搴撲綅ID" align="center" prop="locationId" v-if="true"/> -->
+      <el-table-column label="闅跺睘搴撲綅ID" align="center" prop="parentLocationId" />
+      <el-table-column label="浠撳簱" align="center" prop="lgort" />
+      <el-table-column label="搴撲綅搴忓彿" align="center" prop="locationNo" />
+      <el-table-column label="鍚嶇О" align="center" prop="locationName" />
+      <el-table-column label="宸ュ巶" align="center" prop="werks" />
+      <el-table-column label="绫诲瀷" align="center" prop="type" />
+      <el-table-column label="浣撶Н闄愬埗" align="center" prop="volumeRestriction" />
+      <el-table-column label="閲嶉噺闄愬埗" align="center" prop="weightLimit" />
+      <el-table-column label="绠辨暟闄愬埗" align="center" prop="containerNumberLimit" />
+      <el-table-column label="鏁伴噺闄愬埗" align="center" prop="quantitativeRestrictions" />
+      <el-table-column label="鎵樼洏闄愬埗" align="center" prop="trayLimit" />
+      <el-table-column label="闀垮害" align="center" prop="length" />
+      <el-table-column label="瀹�" align="center" prop="width" />
+      <el-table-column label="楂�" align="center" prop="height" />
+      <el-table-column label="鍧愭爣X" align="center" prop="coordinateX" />
+      <el-table-column label="鍧愭爣Y" align="center" prop="coordinateY" />
+      <el-table-column label="鍧愭爣Z" align="center" prop="coordinateZ" />
+      <el-table-column label="鍍忕礌X" align="center" prop="pixelX" />
+      <el-table-column label="鍍忕礌Y" align="center" prop="pixelY" />
+      <el-table-column label="绌洪棿灞傛暟" align="center" prop="paceLayer" />
+      <el-table-column label="1-鍏佽" align="center" prop="allowMixedProduct" />
+      <el-table-column label="1-鍏佽" align="center" prop="allowMixedProductLot" />
+      <el-table-column label="灞傜骇" align="center" prop="layer" />
+      <el-table-column label="1-瀛樺湪" align="center" prop="hasChild" />
+      <el-table-column label="璺緞" align="center" prop="path" />
+      <el-table-column label="鎻忚堪" align="center" prop="description" />
+      <el-table-column label="鐘舵��" align="center" prop="state" />
+      <el-table-column label="鏈�鍚庢洿鏂颁汉id" align="center" prop="lastUpdatedUserId" />
+      <el-table-column label="鏈�鍚庢洿鏂颁汉濮撳悕" align="center" prop="lastUpdatedUserName" />
+      <el-table-column label="鏈�鍚庢洿鏂版椂闂�" align="center" prop="lastUpdatedDateTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.lastUpdatedDateTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:location:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:location:remove']"
+          >鍒犻櫎</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀瑰簱浣嶅璇濇 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="闅跺睘搴撲綅ID" prop="parentLocationId">
+          <el-input v-model="form.parentLocationId" placeholder="璇疯緭鍏ラ毝灞炲簱浣岻D" />
+        </el-form-item>
+        <el-form-item label="浠撳簱" prop="lgort">
+          <el-input v-model="form.lgort" placeholder="璇疯緭鍏ヤ粨搴�" />
+        </el-form-item>
+        <el-form-item label="搴撲綅搴忓彿" prop="locationNo">
+          <el-input v-model="form.locationNo" placeholder="璇疯緭鍏ュ簱浣嶅簭鍙�" />
+        </el-form-item>
+        <el-form-item label="鍚嶇О" prop="locationName">
+          <el-input v-model="form.locationName" placeholder="璇疯緭鍏ュ悕绉�" />
+        </el-form-item>
+        <el-form-item label="宸ュ巶" prop="werks">
+          <el-input v-model="form.werks" placeholder="璇疯緭鍏ュ伐鍘�" />
+        </el-form-item>
+        <el-form-item label="浣撶Н闄愬埗" prop="volumeRestriction">
+          <el-input v-model.number="form.volumeRestriction" placeholder="璇疯緭鍏ヤ綋绉檺鍒�" />
+        </el-form-item>
+        <el-form-item label="閲嶉噺闄愬埗" prop="weightLimit">
+          <el-input v-model.number="form.weightLimit" placeholder="璇疯緭鍏ラ噸閲忛檺鍒�" />
+        </el-form-item>
+        <el-form-item label="绠辨暟闄愬埗" prop="containerNumberLimit">
+          <el-input v-model.number="form.containerNumberLimit" placeholder="璇疯緭鍏ョ鏁伴檺鍒�" />
+        </el-form-item>
+        <el-form-item label="鏁伴噺闄愬埗" prop="quantitativeRestrictions">
+          <el-input v-model.number="form.quantitativeRestrictions" placeholder="璇疯緭鍏ユ暟閲忛檺鍒�" />
+        </el-form-item>
+        <el-form-item label="鎵樼洏闄愬埗" prop="trayLimit">
+          <el-input v-model="form.trayLimit" placeholder="璇疯緭鍏ユ墭鐩橀檺鍒�" />
+        </el-form-item>
+        <el-form-item label="闀垮害" prop="length">
+          <el-input v-model.number="form.length" placeholder="璇疯緭鍏ラ暱搴�" />
+        </el-form-item>
+        <el-form-item label="瀹�" prop="width">
+          <el-input v-model.number="form.width" placeholder="璇疯緭鍏ュ" />
+        </el-form-item>
+        <el-form-item label="楂�" prop="height">
+          <el-input v-model.number="form.height" placeholder="璇疯緭鍏ラ珮" />
+        </el-form-item>
+        <el-form-item label="鍧愭爣X" prop="coordinateX">
+          <el-input v-model="form.coordinateX" placeholder="璇疯緭鍏ュ潗鏍嘪" />
+        </el-form-item>
+        <el-form-item label="鍧愭爣Y" prop="coordinateY">
+          <el-input v-model="form.coordinateY" placeholder="璇疯緭鍏ュ潗鏍嘫" />
+        </el-form-item>
+        <el-form-item label="鍧愭爣Z" prop="coordinateZ">
+          <el-input v-model="form.coordinateZ" placeholder="璇疯緭鍏ュ潗鏍嘮" />
+        </el-form-item>
+        <el-form-item label="鍍忕礌X" prop="pixelX">
+          <el-input v-model="form.pixelX" placeholder="璇疯緭鍏ュ儚绱燲" />
+        </el-form-item>
+        <el-form-item label="鍍忕礌Y" prop="pixelY">
+          <el-input v-model="form.pixelY" placeholder="璇疯緭鍏ュ儚绱燳" />
+        </el-form-item>
+        <el-form-item label="绌洪棿灞傛暟" prop="paceLayer">
+          <el-input v-model="form.paceLayer" placeholder="璇疯緭鍏ョ┖闂村眰鏁�" />
+        </el-form-item>
+        <el-form-item label="鏄惁鍏佽" prop="allowMixedProduct">
+          <el-input v-model="form.allowMixedProduct" placeholder="璇疯緭鍏�1-鍏佽" />
+        </el-form-item>
+        <el-form-item label="鏄惁鍏佽" prop="allowMixedProductLot">
+          <el-input v-model="form.allowMixedProductLot" placeholder="璇疯緭鍏�1-鍏佽" />
+        </el-form-item>
+        <el-form-item label="灞傜骇" prop="layer">
+          <el-input v-model="form.layer" placeholder="璇疯緭鍏ュ眰绾�" />
+        </el-form-item>
+        <el-form-item label="鏄惁瀛樺湪" prop="hasChild">
+          <el-input v-model="form.hasChild" placeholder="璇疯緭鍏�1-瀛樺湪" />
+        </el-form-item>
+        <el-form-item label="璺緞" prop="path">
+          <el-input v-model="form.path" placeholder="璇疯緭鍏ヨ矾寰�" />
+        </el-form-item>
+        <el-form-item label="鎻忚堪" prop="description">
+          <el-input v-model="form.description" placeholder="璇疯緭鍏ユ弿杩�" />
+        </el-form-item>
+        <el-form-item label="鐘舵��" prop="state">
+          <el-input v-model="form.state" placeholder="璇疯緭鍏ョ姸鎬�" />
+        </el-form-item>
+        <!-- <el-form-item label="鏈�鍚庢洿鏂颁汉id" prop="lastUpdatedUserId">
+          <el-input v-model="form.lastUpdatedUserId" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉id" />
+        </el-form-item>
+        <el-form-item label="鏈�鍚庢洿鏂颁汉濮撳悕" prop="lastUpdatedUserName">
+          <el-input v-model="form.lastUpdatedUserName" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉濮撳悕" />
+        </el-form-item>
+        <el-form-item label="鏈�鍚庢洿鏂版椂闂�" prop="lastUpdatedDateTime">
+          <el-date-picker clearable
+            v-model="form.lastUpdatedDateTime"
+            type="datetime"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            placeholder="璇烽�夋嫨鏈�鍚庢洿鏂版椂闂�">
+          </el-date-picker>
+        </el-form-item> -->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listLocation, getLocation, delLocation, addLocation, updateLocation } from "@/api/basicData/location";
+
+export default {
+  name: "Location",
+  data() {
+    return {
+      // 鎸夐挳loading
+      buttonLoading: false,
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 搴撲綅琛ㄦ牸鏁版嵁
+      locationList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        lgort: undefined,
+        locationName: undefined,
+        type: undefined,
+        state: undefined,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        locationId: [
+          { required: true, message: "搴撲綅ID涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        parentLocationId: [
+          { required: true, message: "闅跺睘搴撲綅ID涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        lgort: [
+          { required: true, message: "浠撳簱涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        locationNo: [
+          { required: true, message: "搴撲綅搴忓彿涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        locationName: [
+          { required: true, message: "鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        werks: [
+          { required: true, message: "宸ュ巶涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        type: [
+          { required: true, message: "绫诲瀷涓嶈兘涓虹┖", trigger: "change" }
+        ],
+        volumeRestriction: [
+          { required: true, message: "浣撶Н闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        weightLimit: [
+          { required: true, message: "閲嶉噺闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        containerNumberLimit: [
+          { required: true, message: "绠辨暟闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        quantitativeRestrictions: [
+          { required: true, message: "鏁伴噺闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        trayLimit: [
+          { required: true, message: "鎵樼洏闄愬埗涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        length: [
+          { required: true, message: "闀垮害涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        width: [
+          { required: true, message: "瀹戒笉鑳戒负绌�", trigger: "blur" }
+        ],
+        height: [
+          { required: true, message: "楂樹笉鑳戒负绌�", trigger: "blur" }
+        ],
+        coordinateX: [
+          { required: true, message: "鍧愭爣X涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        coordinateY: [
+          { required: true, message: "鍧愭爣Y涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        coordinateZ: [
+          { required: true, message: "鍧愭爣Z涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        pixelX: [
+          { required: true, message: "鍍忕礌X涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        pixelY: [
+          { required: true, message: "鍍忕礌Y涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        paceLayer: [
+          { required: true, message: "绌洪棿灞傛暟涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        allowMixedProduct: [
+          { required: true, message: "1-鍏佽涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        allowMixedProductLot: [
+          { required: true, message: "1-鍏佽涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        layer: [
+          { required: true, message: "灞傜骇涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        hasChild: [
+          { required: true, message: "1-瀛樺湪涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        path: [
+          { required: true, message: "璺緞涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        description: [
+          { required: true, message: "鎻忚堪涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        state: [
+          { required: true, message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur" }
+        ],
+        displayOrder: [
+          { required: true, message: "鎺掑簭涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        createdUserId: [
+          { required: true, message: "鍒涘缓浜篿d涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        createdUserName: [
+          { required: true, message: "鍒涘缓浜哄鍚嶄笉鑳戒负绌�", trigger: "blur" }
+        ],
+        createdDateTime: [
+          { required: true, message: "鍒涘缓鏃ユ湡鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        lastUpdatedUserId: [
+          { required: true, message: "鏈�鍚庢洿鏂颁汉id涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        lastUpdatedUserName: [
+          { required: true, message: "鏈�鍚庢洿鏂颁汉濮撳悕涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        lastUpdatedDateTime: [
+          { required: true, message: "鏈�鍚庢洿鏂版椂闂翠笉鑳戒负绌�", trigger: "blur" }
+        ],
+        isDeleted: [
+          { required: true, message: "鏄惁鍒犻櫎涓嶈兘涓虹┖", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ搴撲綅鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listLocation(this.queryParams).then(response => {
+        this.locationList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        locationId: undefined,
+        parentLocationId: undefined,
+        lgort: undefined,
+        locationNo: undefined,
+        locationName: undefined,
+        werks: undefined,
+        type: undefined,
+        volumeRestriction: undefined,
+        weightLimit: undefined,
+        containerNumberLimit: undefined,
+        quantitativeRestrictions: undefined,
+        trayLimit: undefined,
+        length: undefined,
+        width: undefined,
+        height: undefined,
+        coordinateX: undefined,
+        coordinateY: undefined,
+        coordinateZ: undefined,
+        pixelX: undefined,
+        pixelY: undefined,
+        paceLayer: undefined,
+        allowMixedProduct: undefined,
+        allowMixedProductLot: undefined,
+        layer: undefined,
+        hasChild: undefined,
+        path: undefined,
+        description: undefined,
+        state: undefined,
+        displayOrder: undefined,
+        createdUserId: undefined,
+        createdUserName: undefined,
+        createdDateTime: undefined,
+        lastUpdatedUserId: undefined,
+        lastUpdatedUserName: undefined,
+        lastUpdatedDateTime: undefined,
+        isDeleted: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.locationId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞搴撲綅";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.loading = true;
+      this.reset();
+      const locationId = row.locationId || this.ids
+      getLocation(locationId).then(response => {
+        this.loading = false;
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼搴撲綅";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.buttonLoading = true;
+          if (this.form.locationId != null) {
+            updateLocation(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            }).finally(() => {
+              this.buttonLoading = false;
+            });
+          } else {
+            addLocation(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            }).finally(() => {
+              this.buttonLoading = false;
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const locationIds = row.locationId || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎搴撲綅缂栧彿涓�"' + locationIds + '"鐨勬暟鎹」锛�').then(() => {
+        this.loading = true;
+        return delLocation(locationIds);
+      }).then(() => {
+        this.loading = false;
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('system/location/export', {
+        ...this.queryParams
+      }, `location_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/src/views/basicData/locationGroup/index.vue b/src/views/basicData/locationGroup/index.vue
index 86847a6..d8ee741 100644
--- a/src/views/basicData/locationGroup/index.vue
+++ b/src/views/basicData/locationGroup/index.vue
@@ -77,9 +77,14 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="locationGroupList" @selection-change="handleSelectionChange">
+    <el-table v-loading="loading" border :data="locationGroupList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="搴撲綅缁処D" align="center" prop="locationGroupId" v-if="true"/>
+        <el-table-column
+       label="搴忓彿"
+      type="index"
+      fixed
+      width="50" />
+      <!-- <el-table-column label="搴撲綅缁処D" align="center" prop="locationGroupId" v-if="true"/> -->
       <el-table-column label="搴撲綅缁勭紪鍙�" align="center" prop="locationGroupNo" />
       <el-table-column label="宸ュ巶" align="center" prop="werks" />
       <el-table-column label="搴撲綅缁勫悕绉�" align="center" prop="locationGroupName" />
@@ -131,7 +136,7 @@
     />
 
     <!-- 娣诲姞鎴栦慨鏀瑰簱浣嶇粍瀵硅瘽妗� -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="搴撲綅缁勭紪鍙�" prop="locationGroupNo">
           <el-input v-model="form.locationGroupNo" placeholder="璇疯緭鍏ュ簱浣嶇粍缂栧彿" />
@@ -151,7 +156,7 @@
         <el-form-item label="鐘舵��" prop="state">
           <el-input v-model="form.state" placeholder="璇疯緭鍏ョ姸鎬�" />
         </el-form-item>
-        <el-form-item label="鏈�鍚庢洿鏂颁汉id" prop="lastUpdatedUserId">
+        <!-- <el-form-item label="鏈�鍚庢洿鏂颁汉id" prop="lastUpdatedUserId">
           <el-input v-model="form.lastUpdatedUserId" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉id" />
         </el-form-item>
         <el-form-item label="鏈�鍚庢洿鏂颁汉濮撳悕" prop="lastUpdatedUserName">
@@ -164,7 +169,7 @@
             value-format="yyyy-MM-dd HH:mm:ss"
             placeholder="璇烽�夋嫨鏈�鍚庢洿鏂版椂闂�">
           </el-date-picker>
-        </el-form-item>
+        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button>
diff --git a/src/views/basicData/warehouse/index.vue b/src/views/basicData/warehouse/index.vue
index a62d7f3..f1a2275 100644
--- a/src/views/basicData/warehouse/index.vue
+++ b/src/views/basicData/warehouse/index.vue
@@ -1,25 +1,35 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+        <el-form-item label="宸ュ巶" prop="werks">
+        <el-input
+          v-model.trim="queryParams.werks"
+          placeholder="璇疯緭鍏ュ伐鍘�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        /> 
+      </el-form-item>
       <el-form-item label="鍚嶇О" prop="warehouseName">
         <el-input
-          v-model="queryParams.warehouseName"
+          v-model.trim="queryParams.warehouseName"
           placeholder="璇疯緭鍏ュ悕绉�"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="宸ュ巶" prop="werks">
+
+      <el-form-item label="缂栧彿" prop="lgort">
         <el-input
-          v-model="queryParams.werks"
-          placeholder="璇疯緭鍏ュ伐鍘�"
+          v-model.trim="queryParams.lgort"
+          placeholder="璇疯緭鍏ョ紪鍙�"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+    
       <el-form-item label="鐘舵��" prop="state">
         <el-input
-          v-model="queryParams.state"
+          v-model.trim="queryParams.state"
           placeholder="璇疯緭鍏ョ姸鎬�"
           clearable
           @keyup.enter.native="handleQuery"
@@ -77,21 +87,30 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="warehouseList" @selection-change="handleSelectionChange">
+    <el-table v-loading="loading" border :data="warehouseList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="浠撳簱ID" align="center" prop="warehouseId" v-if="true"/>
+      <el-table-column
+       label="搴忓彿"
+      type="index"
+      fixed
+      width="50" />
+      <!-- <el-table-column label="浠撳簱ID" align="center" prop="warehouseId" v-if="true"/> -->
       <el-table-column label="浠撳簱缂栧彿" align="center" prop="lgort" />
       <el-table-column label="鍚嶇О" align="center" prop="warehouseName" />
       <el-table-column label="宸ュ巶" align="center" prop="werks" />
       <el-table-column label="绫诲埆" align="center" prop="type" />
-      <el-table-column label="0,涓嶅惎鐢�
-            1,鍚敤" align="center" prop="isUseLocation" />
-      <el-table-column label="绠$悊鍛業D" align="center" prop="userId" />
+      <el-table-column label="鏄惁鍚敤" align="center" prop="isUseLocation" >
+        <template slot-scope="scope">
+           <dict-tag :options="dict.type.isenable" :value="scope.row.isUseLocation"/>
+        </template>
+      </el-table-column>
+      <!-- <el-table-column label="绠$悊鍛業D" align="center" prop="userId" /> -->
+        <el-table-column label="绠$悊鍛樺悕绉�" align="center" prop="userName" />
       <el-table-column label="绠$悊鍛樼數璇�" align="center" prop="userPhone" />
       <el-table-column label="鍧愭爣X" align="center" prop="coordinateX" />
       <el-table-column label="鍧愭爣Y" align="center" prop="coordinateY" />
       <el-table-column label="鎻忚堪" align="center" prop="description" />
-      <el-table-column label="鐘舵��" align="center" prop="state" />
+      <!-- <el-table-column label="鐘舵��" align="center" prop="state" /> -->
       <el-table-column label="鏈�鍚庢洿鏂颁汉id" align="center" prop="lastUpdatedUserId" />
       <el-table-column label="鏈�鍚庢洿鏂颁汉濮撳悕" align="center" prop="lastUpdatedUserName" />
       <el-table-column label="鏈�鍚庢洿鏂版椂闂�" align="center" prop="lastUpdatedDateTime" width="180">
@@ -128,45 +147,55 @@
     />
 
     <!-- 娣诲姞鎴栦慨鏀逛粨搴撳璇濇 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="浠撳簱缂栧彿" prop="lgort">
-          <el-input v-model="form.lgort" placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" />
+          <el-input v-model.trim="form.lgort" placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" />
         </el-form-item>
         <el-form-item label="鍚嶇О" prop="warehouseName">
-          <el-input v-model="form.warehouseName" placeholder="璇疯緭鍏ュ悕绉�" />
+          <el-input v-model.trim="form.warehouseName" placeholder="璇疯緭鍏ュ悕绉�" />
         </el-form-item>
         <el-form-item label="宸ュ巶" prop="werks">
-          <el-input v-model="form.werks" placeholder="璇疯緭鍏ュ伐鍘�" />
+          <el-input v-model.trim="form.werks" placeholder="璇疯緭鍏ュ伐鍘�" />
         </el-form-item>
-        <el-form-item label="0,涓嶅惎鐢�
-            1,鍚敤" prop="isUseLocation">
-          <el-input v-model="form.isUseLocation" placeholder="璇疯緭鍏�0,涓嶅惎鐢�
-            1,鍚敤" />
+          <el-form-item label="绫诲埆" prop="type">
+          <el-input v-model.trim="form.type" placeholder="璇疯緭鍏ョ被鍒�" />
         </el-form-item>
-        <el-form-item label="绠$悊鍛業D" prop="userId">
-          <el-input v-model="form.userId" placeholder="璇疯緭鍏ョ鐞嗗憳ID" />
+        <el-form-item label="鏄惁鍚敤" prop="isUseLocation">
+          <!-- <el-input v-model.trim="form.isUseLocation" placeholder="璇疯緭鍏�0,涓嶅惎鐢�
+            1,鍚敤" /> -->
+                  <el-select v-model="form.isUseLocation" placeholder="鏄惁鍚敤" clearable>
+            <el-option
+              v-for="dict in dict.type.isenable"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="绠$悊鍛樺悕绉�" prop="userId">
+          <el-input v-model.trim="form.userName" placeholder="璇疯緭鍏ョ鐞嗗憳鍚嶇О" />
         </el-form-item>
         <el-form-item label="绠$悊鍛樼數璇�" prop="userPhone">
-          <el-input v-model="form.userPhone" placeholder="璇疯緭鍏ョ鐞嗗憳鐢佃瘽" />
+          <el-input v-model.trim="form.userPhone" placeholder="璇疯緭鍏ョ鐞嗗憳鐢佃瘽" />
         </el-form-item>
         <el-form-item label="鍧愭爣X" prop="coordinateX">
-          <el-input v-model="form.coordinateX" placeholder="璇疯緭鍏ュ潗鏍嘪" />
+          <el-input v-model.trim="form.coordinateX" placeholder="璇疯緭鍏ュ潗鏍嘪" />
         </el-form-item>
         <el-form-item label="鍧愭爣Y" prop="coordinateY">
-          <el-input v-model="form.coordinateY" placeholder="璇疯緭鍏ュ潗鏍嘫" />
+          <el-input v-model.trim="form.coordinateY" placeholder="璇疯緭鍏ュ潗鏍嘫" />
         </el-form-item>
         <el-form-item label="鎻忚堪" prop="description">
-          <el-input v-model="form.description" placeholder="璇疯緭鍏ユ弿杩�" />
+          <el-input v-model.trim="form.description" placeholder="璇疯緭鍏ユ弿杩�" />
         </el-form-item>
-        <el-form-item label="鐘舵��" prop="state">
-          <el-input v-model="form.state" placeholder="璇疯緭鍏ョ姸鎬�" />
-        </el-form-item>
-        <el-form-item label="鏈�鍚庢洿鏂颁汉id" prop="lastUpdatedUserId">
-          <el-input v-model="form.lastUpdatedUserId" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉id" />
+        <!-- <el-form-item label="鐘舵��" prop="state">
+          <el-input v-model.trim="form.state" placeholder="璇疯緭鍏ョ姸鎬�" />
+        </el-form-item> -->
+        <!-- <el-form-item label="鏈�鍚庢洿鏂颁汉id" prop="lastUpdatedUserId">
+          <el-input v-model.trim="form.lastUpdatedUserId" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉id" />
         </el-form-item>
         <el-form-item label="鏈�鍚庢洿鏂颁汉濮撳悕" prop="lastUpdatedUserName">
-          <el-input v-model="form.lastUpdatedUserName" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉濮撳悕" />
+          <el-input v-model.trim="form.lastUpdatedUserName" placeholder="璇疯緭鍏ユ渶鍚庢洿鏂颁汉濮撳悕" />
         </el-form-item>
         <el-form-item label="鏈�鍚庢洿鏂版椂闂�" prop="lastUpdatedDateTime">
           <el-date-picker clearable
@@ -175,7 +204,7 @@
             value-format="yyyy-MM-dd HH:mm:ss"
             placeholder="璇烽�夋嫨鏈�鍚庢洿鏂版椂闂�">
           </el-date-picker>
-        </el-form-item>
+        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -190,6 +219,7 @@
 
 export default {
   name: "Warehouse",
+    dicts: ['isenable'],
   data() {
     return {
       // 鎸夐挳loading
@@ -262,30 +292,7 @@
         state: [
           { required: true, message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur" }
         ],
-        displayOrder: [
-          { required: true, message: "鎺掑簭涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        createdUserId: [
-          { required: true, message: "鍒涘缓浜篿d涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        createdUserName: [
-          { required: true, message: "鍒涘缓浜哄鍚嶄笉鑳戒负绌�", trigger: "blur" }
-        ],
-        createdDateTime: [
-          { required: true, message: "鍒涘缓鏃ユ湡鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        lastUpdatedUserId: [
-          { required: true, message: "鏈�鍚庢洿鏂颁汉id涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        lastUpdatedUserName: [
-          { required: true, message: "鏈�鍚庢洿鏂颁汉濮撳悕涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        lastUpdatedDateTime: [
-          { required: true, message: "鏈�鍚庢洿鏂版椂闂翠笉鑳戒负绌�", trigger: "blur" }
-        ],
-        isDeleted: [
-          { required: true, message: "鏄惁鍒犻櫎涓嶈兘涓虹┖", trigger: "blur" }
-        ]
+      
       }
     };
   },
diff --git a/src/views/index.vue b/src/views/index.vue
index e5ed322..d2d2ec6 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -1,191 +1,98 @@
 <template>
-  <div class="app-container home">
-    <el-row :gutter="20">
-      <el-col :sm="24" :lg="12" style="padding-left: 20px">
-        <h2>RuoYi-Vue-Plus鍚庡彴绠$悊妗嗘灦</h2>
-        <p>
-          RuoYi-Vue-Plus 鏄熀浜� RuoYi-Vue 閽堝 鍒嗗竷寮忛泦缇� 鍦烘櫙鍗囩骇(涓嶅吋瀹瑰師妗嗘灦)
-          <br/>
-          * 鍓嶇寮�鍙戞鏋� Vue銆丒lement UI<br/>
-          * 鍚庣寮�鍙戞鏋� Spring Boot<br/>
-          * 瀹瑰櫒妗嗘灦 Undertow 鍩轰簬 XNIO 鐨勯珮鎬ц兘瀹瑰櫒<br/>
-          * 鏉冮檺璁よ瘉妗嗘灦 Sa-Token銆丣wt 鏀寔澶氱粓绔璇佺郴缁�<br/>
-          * 鍏崇郴鏁版嵁搴� MySQL 閫傞厤 8.X 鏈�浣� 5.7<br/>
-          * 鍏崇郴鏁版嵁搴� Oracle 閫傞厤 11g 12c<br/>
-          * 鍏崇郴鏁版嵁搴� PostgreSQL 閫傞厤 13 14<br/>
-          * 鍏崇郴鏁版嵁搴� SQLServer 閫傞厤 2017 2019<br/>
-          * 缂撳瓨鏁版嵁搴� Redis 閫傞厤 6.X 鏈�浣� 4.X<br/>
-          * 鏁版嵁搴撴鏋� Mybatis-Plus 蹇�� CRUD 澧炲姞寮�鍙戞晥鐜�<br/>
-          * 鏁版嵁搴撴鏋� p6spy 鏇村己鍔茬殑 SQL 鍒嗘瀽<br/>
-          * 澶氭暟鎹簮妗嗘灦 dynamic-datasource 鏀寔涓讳粠涓庡绉嶇被鏁版嵁搴撳紓鏋�<br/>
-          * 搴忓垪鍖栨鏋� Jackson 缁熶竴浣跨敤 jackson 楂樻晥鍙潬<br/>
-          * Redis瀹㈡埛绔� Redisson 鎬ц兘寮哄姴銆丄PI涓板瘜<br/>
-          * 鍒嗗竷寮忛檺娴� Redisson 鍏ㄥ眬銆佽姹侷P銆侀泦缇D 澶氱闄愭祦<br/>
-          * 鍒嗗竷寮忛攣 Lock4j 娉ㄨВ閿併�佸伐鍏烽攣 澶氱澶氭牱<br/>
-          * 鍒嗗竷寮忓箓绛� Redisson 鎷︽埅閲嶅鎻愪氦<br/>
-          * 鍒嗗竷寮忛摼璺拷韪� SkyWalking 鏀寔閾捐矾杩借釜銆佺綉鏍煎垎鏋愩�佸害閲忚仛鍚堛�佸彲瑙嗗寲<br/>
-          * 鍒嗗竷寮忎换鍔¤皟搴� Xxl-Job 楂樻�ц兘 楂樺彲闈� 鏄撴墿灞�<br/>
-          * 鍒嗗竷寮忔枃浠跺瓨鍌� Minio 鏈湴瀛樺偍<br/>
-          * 鍒嗗竷寮忎簯瀛樺偍 涓冪墰銆侀樋閲屻�佽吘璁� 浜戝瓨鍌�<br/>
-          * 鐩戞帶妗嗘灦 SpringBoot-Admin 鍏ㄦ柟浣嶆湇鍔$洃鎺�<br/>
-          * 鏍¢獙妗嗘灦 Validation 澧炲己鎺ュ彛瀹夊叏鎬� 涓ヨ皑鎬�<br/>
-          * Excel妗嗘灦 Alibaba EasyExcel 鎬ц兘浼樺紓 鎵╁睍鎬у己<br/>
-          * 鏂囨。妗嗘灦 SpringDoc銆乯avadoc 鏃犳敞瑙i浂鍏ヤ镜鍩轰簬java娉ㄩ噴<br/>
-          * 宸ュ叿绫绘鏋� Hutool銆丩ombok 鍑忓皯浠g爜鍐椾綑 澧炲姞瀹夊叏鎬�<br/>
-          * 浠g爜鐢熸垚鍣� 閫傞厤MP銆丼pringDoc瑙勮寖鍖栦唬鐮� 涓�閿敓鎴愬墠鍚庣浠g爜<br/>
-          * 閮ㄧ讲鏂瑰紡 Docker 瀹瑰櫒缂栨帓 涓�閿儴缃蹭笟鍔¢泦缇�<br/>
-          * 鍥介檯鍖� SpringMessage Spring鏍囧噯鍥介檯鍖栨柟妗�<br/>
-        </p>
-        <p>
-          <b>褰撳墠鐗堟湰:</b> <span>v{{ version }}</span>
-        </p>
-        <p>
-          <el-tag type="danger">&yen;鍏嶈垂寮�婧�</el-tag>
-        </p>
-        <p>
-          <el-button
-            type="primary"
-            size="mini"
-            icon="el-icon-cloudy"
-            plain
-            @click="goTarget('https://gitee.com/dromara/RuoYi-Vue-Plus')"
-            >璁块棶鐮佷簯</el-button
-          >
-          <el-button
-            type="primary"
-            size="mini"
-            icon="el-icon-cloudy"
-            plain
-            @click="goTarget('https://github.com/dromara/RuoYi-Vue-Plus')"
-          >璁块棶GitHub</el-button
-          >
-          <el-button
-            type="primary"
-            size="mini"
-            icon="el-icon-cloudy"
-            plain
-            @click="goTarget('https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4106467&doc_id=1469725')"
-          >鏇存柊鏃ュ織</el-button
-          >
-        </p>
-      </el-col>
+  <div class="dashboard-editor-container">
 
-      <el-col :sm="24" :lg="12" style="padding-left: 50px">
-        <el-row>
-          <el-col :span="12">
-            <h2>鎶�鏈�夊瀷</h2>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6">
-            <h4>鍚庣鎶�鏈�</h4>
-            <ul>
-              <li>SpringBoot</li>
-              <li>Sa-Token</li>
-              <li>JWT</li>
-              <li>MyBatis</li>
-              <li>Druid</li>
-              <li>Jackson</li>
-              <li>...</li>
-            </ul>
-          </el-col>
-          <el-col :span="6">
-            <h4>鍓嶇鎶�鏈�</h4>
-            <ul>
-              <li>Vue</li>
-              <li>Vuex</li>
-              <li>Element-ui</li>
-              <li>Axios</li>
-              <li>Sass</li>
-              <li>Quill</li>
-              <li>...</li>
-            </ul>
-          </el-col>
-        </el-row>
+    <panel-group @handleSetLineChartData="handleSetLineChartData" />
+
+    <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
+      <line-chart :chart-data="lineChartData" />
+    </el-row>
+
+    <el-row :gutter="32">
+      <el-col :xs="24" :sm="24" :lg="8">
+        <div class="chart-wrapper">
+          <raddar-chart />
+        </div>
+      </el-col>
+      <el-col :xs="24" :sm="24" :lg="8">
+        <div class="chart-wrapper">
+          <pie-chart />
+        </div>
+      </el-col>
+      <el-col :xs="24" :sm="24" :lg="8">
+        <div class="chart-wrapper">
+          <bar-chart />
+        </div>
       </el-col>
     </el-row>
-    <el-divider />
+
+    
   </div>
 </template>
 
 <script>
+import PanelGroup from './dashboard/PanelGroup'
+import LineChart from './dashboard/LineChart'
+import RaddarChart from './dashboard/RaddarChart'
+import PieChart from './dashboard/PieChart'
+import BarChart from './dashboard/BarChart'
+
+const lineChartData = {
+  newVisitis: {
+    expectedData: [100, 120, 161, 134, 105, 160, 165],
+    actualData: [120, 82, 91, 154, 162, 140, 145]
+  },
+  messages: {
+    expectedData: [200, 192, 120, 144, 160, 130, 140],
+    actualData: [180, 160, 151, 106, 145, 150, 130]
+  },
+  purchases: {
+    expectedData: [80, 100, 121, 104, 105, 90, 100],
+    actualData: [120, 90, 100, 138, 142, 130, 130]
+  },
+  shoppings: {
+    expectedData: [130, 140, 141, 142, 145, 150, 160],
+    actualData: [120, 82, 91, 154, 162, 140, 130]
+  }
+}
+
 export default {
-  name: "Index",
+  name: 'Index',
+  components: {
+    PanelGroup,
+    LineChart,
+    RaddarChart,
+    PieChart,
+    BarChart
+  },
   data() {
     return {
-      // 鐗堟湰鍙�
-      version: "0.8.3",
-    };
+      lineChartData: lineChartData.newVisitis
+    }
   },
   methods: {
-    goTarget(href) {
-      window.open(href, "_blank");
-    },
-  },
-};
-</script>
-
-<style scoped lang="scss">
-.home {
-  blockquote {
-    padding: 10px 20px;
-    margin: 0 0 20px;
-    font-size: 17.5px;
-    border-left: 5px solid #eee;
-  }
-  hr {
-    margin-top: 20px;
-    margin-bottom: 20px;
-    border: 0;
-    border-top: 1px solid #eee;
-  }
-  .col-item {
-    margin-bottom: 20px;
-  }
-
-  ul {
-    padding: 0;
-    margin: 0;
-  }
-
-  font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
-  color: #676a6c;
-  overflow-x: hidden;
-
-  ul {
-    list-style-type: none;
-  }
-
-  h4 {
-    margin-top: 0px;
-  }
-
-  h2 {
-    margin-top: 10px;
-    font-size: 26px;
-    font-weight: 100;
-  }
-
-  p {
-    margin-top: 10px;
-
-    b {
-      font-weight: 700;
-    }
-  }
-
-  .update-log {
-    ol {
-      display: block;
-      list-style-type: decimal;
-      margin-block-start: 1em;
-      margin-block-end: 1em;
-      margin-inline-start: 0;
-      margin-inline-end: 0;
-      padding-inline-start: 40px;
+    handleSetLineChartData(type) {
+      this.lineChartData = lineChartData[type]
     }
   }
 }
-</style>
+</script>
 
+<style lang="scss" scoped>
+.dashboard-editor-container {
+  padding: 32px;
+  background-color: rgb(240, 242, 245);
+  position: relative;
+
+  .chart-wrapper {
+    background: #fff;
+    padding: 16px 16px 0;
+    margin-bottom: 32px;
+  }
+}
+
+@media (max-width:1024px) {
+  .chart-wrapper {
+    padding: 8px;
+  }
+}
+</style>
diff --git a/src/views/login.vue b/src/views/login.vue
index 485542f..20a5bd5 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="title">RuoYi-Flowable-Plus鍚庡彴绠$悊绯荤粺</h3>
+      <h3 class="title">閽変箰鍚庡彴绠$悊绯荤粺</h3>
       <el-form-item prop="username">
         <el-input
           v-model="loginForm.username"
@@ -23,7 +23,7 @@
           <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
         </el-input>
       </el-form-item>
-      <el-form-item prop="code" v-if="captchaEnabled">
+      <!-- <el-form-item prop="code" v-if="captchaEnabled">
         <el-input
           v-model="loginForm.code"
           auto-complete="off"
@@ -36,7 +36,7 @@
         <div class="login-code">
           <img :src="codeUrl" @click="getCode" class="login-code-img"/>
         </div>
-      </el-form-item>
+      </el-form-item> -->
       <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox>
       <el-form-item style="width:100%;">
         <el-button
@@ -56,7 +56,7 @@
     </el-form>
     <!--  搴曢儴  -->
     <div class="el-login-footer">
-      <span>Copyright 漏 2021-2023 KonBAI All Rights Reserved.</span>
+      <!-- <span>Copyright 漏 2021-2023 KonBAI All Rights Reserved.</span> -->
     </div>
   </div>
 </template>
diff --git a/src/views/register.vue b/src/views/register.vue
index b8bdbbb..43aa099 100644
--- a/src/views/register.vue
+++ b/src/views/register.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="register">
     <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
-      <h3 class="title">RuoYi-Vue-Plus鍚庡彴绠$悊绯荤粺</h3>
+      <h3 class="title">閽変箰鍚庡彴绠$悊绯荤粺</h3>
       <el-form-item prop="username">
         <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="璐﹀彿">
           <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue
index 2102df0..f9a0862 100644
--- a/src/views/system/dict/index.vue
+++ b/src/views/system/dict/index.vue
@@ -110,7 +110,7 @@
 
     <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="瀛楀吀缂栧彿" align="center" prop="dictId" />
+      <!-- <el-table-column label="瀛楀吀缂栧彿" align="center" prop="dictId" /> -->
       <el-table-column label="瀛楀吀鍚嶇О" align="center" prop="dictName" :show-overflow-tooltip="true" />
       <el-table-column label="瀛楀吀绫诲瀷" align="center" :show-overflow-tooltip="true">
         <template slot-scope="scope">
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index 91c582d..833feca 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -100,7 +100,7 @@
 
     <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="瑙掕壊缂栧彿" prop="roleId" width="120" />
+      <!-- <el-table-column label="瑙掕壊缂栧彿" prop="roleId" width="120" /> -->
       <el-table-column label="瑙掕壊鍚嶇О" prop="roleName" :show-overflow-tooltip="true" width="150" />
       <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true" width="150" />
       <el-table-column label="鏄剧ず椤哄簭" prop="roleSort" width="100" />
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index feecc02..925e2f6 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -139,7 +139,7 @@
 
         <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="50" align="center" />
-          <el-table-column label="鐢ㄦ埛缂栧彿" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
+          <!-- <el-table-column label="鐢ㄦ埛缂栧彿" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> -->
           <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
           <el-table-column label="鐢ㄦ埛鏄电О" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
           <el-table-column label="閮ㄩ棬" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
diff --git a/src/views/tool/gen/index.vue b/src/views/tool/gen/index.vue
index 8cd9c94..f51771b 100644
--- a/src/views/tool/gen/index.vue
+++ b/src/views/tool/gen/index.vue
@@ -278,7 +278,7 @@
           this.$modal.msgSuccess("鎴愬姛鐢熸垚鍒拌嚜瀹氫箟璺緞锛�" + row.genPath);
         });
       } else {
-        this.$download.zip("/tool/gen/batchGenCode?tables=" + tableNames, "dl.zip");
+        this.$download.zip("/tool/gen/batchGenCode?tables=" + tableNames, `${row.tableName}.zip`);
       }
     },
     /** 鍚屾鏁版嵁搴撴搷浣� */
diff --git a/vue.config.js b/vue.config.js
index f9b9a12..e88ca75 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -7,7 +7,7 @@
 
 const CompressionPlugin = require('compression-webpack-plugin')
 
-const name = process.env.VUE_APP_TITLE || 'RuoYi-Flowable-Plus鍚庡彴绠$悊绯荤粺' // 缃戦〉鏍囬
+const name = process.env.VUE_APP_TITLE || '閽変箰鍚庡彴绠$悊绯荤粺' // 缃戦〉鏍囬
 
 const port = process.env.port || process.env.npm_config_port || 80 // 绔彛
 
@@ -35,7 +35,7 @@
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `http://localhost:8080`,
+        target: `http://192.168.0.106:8081`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''

--
Gitblit v1.9.3