From 1308d4d7a162d3cabd0fe4f639b6d7f5dd376584 Mon Sep 17 00:00:00 2001
From: wyg <wu1555611@163.com>
Date: 星期二, 18 六月 2024 09:30:18 +0800
Subject: [PATCH] '基础数据仓库初次提交'

---
 src/views/basicData/location/index.vue |  777 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 760 insertions(+), 17 deletions(-)

diff --git a/src/views/basicData/location/index.vue b/src/views/basicData/location/index.vue
index b3759a5..fa079dd 100644
--- a/src/views/basicData/location/index.vue
+++ b/src/views/basicData/location/index.vue
@@ -1,40 +1,783 @@
 <template>
   <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>
+       <el-menu
+          class="sidebar-el-menu"
+          background-color="white"
+          text-color="#7a8297"
+          active-text-color="#2d8cf0"
+        >
+          <div v-for="(item, index) in leftListdata" :key="item.werksId">
+            <!-- 涓�绾ц彍鍗� -->
+            <el-menu-item
+              :index="index.toString()"
+                :class="{ 'is-active': currentIndex === index.toString() }"
+              v-if="item.detailList == null"
+              @click="handleClick(item, index.toString())"
+            >
+              <span slot="title">{{ item.werksName }}</span>
+            </el-menu-item>
+            <!-- 浜岀骇鑿滃崟 -->
+            <el-submenu
+              :index="index.toString()"
+              v-else
+            >
+              <template #title>
+                <span>{{ item.werksName }}</span>
+              </template>
+              <el-menu-item-group :class="{ 'is-active': currentIndex === index.toString() }">
+                <el-menu-item
+                  v-for="(it, subIndex) in item.detailList"
+                  :key="it.warehouseId"
+                  :index="`${index}-${subIndex}`"
+                  :class="{ 'is-active': currentIndex === `${index}-${subIndex}` }"
+                  @click="handleClick(it, `${index}-${subIndex}`)"
+                >
+                  {{ it.warehouseName }}
+                </el-menu-item>
+              </el-menu-item-group>
+            </el-submenu>
+          </div>
+        </el-menu>
+      </div>
+    </el-card>
+    <!-- 鍙充晶 -->
+    <el-card class="box-card2">
+      <div class="box1">
+        <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"
+        />
+      </div>
+    </el-card>
+
+    <!-- 娣诲姞鎴栦慨鏀瑰簱浣嶅璇濇 -->
+    <el-dialog
+      :title="title"
+      v-if="open"
+      :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-select
+            v-model="form.werks"
+            placeholder="璇烽�夋嫨宸ュ巶"
+            style="width: 100%"
+          >
+            <el-option
+              v-for="dict in werksList"
+              :key="dict.werks"
+              :label="dict.werksName"
+              :value="dict.werks"
+            >
+            </el-option>
+          </el-select>
+        </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>
-export default {
+import {
+  listLocation,
+  getLocation,
+  delLocation,
+  addLocation,
+  updateLocation,
+  listWaresList,
+  listwerkshouse,
+} 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,
+        warehouseName:undefined,
+        werks:undefined,
+        lgort:undefined,
+        type: undefined,
+        state: undefined,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      werksList: [],
+      leftListdata: [],
+      currentIndex: null,
+      defaultProps: {
+        children: "detailList",
+        label: "werksName",
+      },
+      // 琛ㄥ崟鏍¢獙
+      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();
+    this.leftList();
+  },
+  methods: {
+    /** 鏌ヨ搴撲綅鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listLocation(this.queryParams).then((response) => {
+        this.locationList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    leftList() {
+      listWaresList().then((res) => {
+        console.log(res, "宸︿晶鏁版嵁淇℃伅");
+        this.leftListdata = res.data;
+      });
+
+      listwerkshouse({
+        pageNum: 1,
+        pageSize: 99,
+      }).then((res) => {
+        console.log(res, "宸ュ巶");
+        this.werksList = res.rows;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    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`
+      );
+    },
+      handleClick(item, index) {
+      this.currentIndex = index;
+      if (item.lgort) {
+         this.queryParams.lgort = item.lgort;
+         this.getList();
+      }else{
+           this.queryParams.werks = item.werks;
+      this.getList();
+      }
+      console.log(item); // 澶勭悊鐐瑰嚮浜嬩欢锛屽彲浠ュ湪杩欓噷鑾峰彇鍒板綋鍓嶇偣鍑昏鐨勪俊鎭�
+    },
+  },
+};
 </script>
 
+
 <style scoped>
-.box{
+.box {
   width: 100%;
   height: calc(100vh - 124px);
   display: flex;
-  padding: 20px;
+  padding: 20px 10px 0;
+  background-color: #f0f0f0;
 }
-.box-card1{
+.box-card1 {
   width: 20%;
   height: 100%;
-  background-color: #4b0f0f;
+  background-color: #fff;
+  margin-right: 10px;
 }
-.box-card2{
+.box-card2 {
   width: 80%;
   height: 100%;
-  background-color: #58c8eb;
+  background-color: #fff;
+}
+.box1 {
+  width: 100%;
+  height: 100%;
+}
+
+.is-active {
+  background-color: #2d8cf0 !important; /* 楂樹寒棰滆壊 */
+}
+
+::v-deep .el-menu-item {
+  border: none !important; /* 浣跨敤 !important 鏉ョ‘淇濊鐩栭粯璁ゆ牱寮� */
+}
+
+/* 濡傛灉杈规鏄敱 submenu 寮曡捣鐨勶紝鍙互杩欐牱鍐� */
+::v-deep .el-submenu .el-submenu__title {
+  border: none !important;
+}
+
+::v-deep .box-card1 > .el-card__body{
+  padding: 20px 0 10px 10px  !important;
 }
 </style>
 

--
Gitblit v1.9.3