From 12e5839f8b2b958cbd3e0047ee5f9873ff65495d Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期五, 15 九月 2023 19:50:33 +0800
Subject: [PATCH] 仓库管理列表页

---
 src/assets/style/reset-element.scss                    |   14 +
 src/components/layout/components/appsidebar/index.scss |   12 
 src/views/warehouseManage/warehouse/index.vue          |  145 ++++++++++++++++
 src/components/layout/components/appsidebar/index.vue  |    6 
 src/views/warehouseManage/bussinessType/index.vue      |  139 +++++++++++++++
 src/router/warehouseManage/index.js                    |   29 ++-
 src/views/warehouseManage/position/index.vue           |  139 +++++++++++++++
 7 files changed, 466 insertions(+), 18 deletions(-)

diff --git a/src/assets/style/reset-element.scss b/src/assets/style/reset-element.scss
index 142ecc7..8ae9ff0 100644
--- a/src/assets/style/reset-element.scss
+++ b/src/assets/style/reset-element.scss
@@ -25,3 +25,17 @@
     padding: 0;
   }
 }
+
+// .el-menu-item {
+//   margin: 8px;
+//   border-radius: 6px;
+//   i {
+//     color: #fff;
+//   }
+// }
+// .el-menu-item:hover,
+// .el-menu-item:focus {
+//   background-color: #0e6ce6;
+//   background-position: center;
+//   width: 160px !important;
+// }
diff --git a/src/components/layout/components/appsidebar/index.scss b/src/components/layout/components/appsidebar/index.scss
index 339111c..42ced06 100644
--- a/src/components/layout/components/appsidebar/index.scss
+++ b/src/components/layout/components/appsidebar/index.scss
@@ -16,10 +16,12 @@
     .icon {
       color: #bfcbd9;
     }
-    .el-submenu__title:hover,
-    .el-menu-item:focus,
-    .el-menu-item:hover {
-      background-color: cornflowerblue;
-    }
+    // .el-submenu__title:hover,
+    // .el-menu-item:focus,
+    // .el-menu-item:hover {
+    //   min-width: 180px;
+    //   color: #fff;
+    //   background-color: #2a78fb !important;
+    // }
   }
 }
diff --git a/src/components/layout/components/appsidebar/index.vue b/src/components/layout/components/appsidebar/index.vue
index 7c6cca3..1ec6af7 100644
--- a/src/components/layout/components/appsidebar/index.vue
+++ b/src/components/layout/components/appsidebar/index.vue
@@ -46,9 +46,9 @@
             <i class="el-icon-box icon"></i>
             <span>浠撳簱绠$悊</span>
           </template>
-          <el-menu-item index="/productManage/product">浠撳簱</el-menu-item>
-          <el-menu-item index="/productManage/product">浣嶇疆</el-menu-item>
-          <el-menu-item index="/productManage/product">涓氬姟绫诲瀷</el-menu-item>
+          <el-menu-item index="/warehouseManage/warehouse">浠撳簱</el-menu-item>
+          <el-menu-item index="/warehouseManage/position">浣嶇疆</el-menu-item>
+          <el-menu-item index="/warehouseManage/bussinessType">涓氬姟绫诲瀷</el-menu-item>
           <!-- <el-menu-item index="/productManage/product">涓婃灦瑙勫垯</el-menu-item> -->
         </el-submenu>
       </el-menu>
diff --git a/src/router/warehouseManage/index.js b/src/router/warehouseManage/index.js
index b5b7f6c..5a7379d 100644
--- a/src/router/warehouseManage/index.js
+++ b/src/router/warehouseManage/index.js
@@ -1,23 +1,32 @@
 // const type from '@/router/deployCode'
 
-const product = (resolve) => require(["@/views/productManage/product/index"], resolve) // 浜у搧绠$悊
-const overviewList = (resolve) => require(["@/views/overview/OverviewListView"], resolve) // 姒傝堪鍒楄〃椤�
+const warehouse = (resolve) => require(["@/views/warehouseManage/warehouse/index"], resolve) // 浠撳簱
+const position = (resolve) => require(["@/views/warehouseManage/position/index"], resolve) // 浣嶇疆
+const bussinessType = (resolve) => require(["@/views/warehouseManage/bussinessType/index"], resolve) // 涓氬姟绫诲瀷
 
 const appconfig = [
   {
-    path: "/productManage/product",
-    name: "product",
-    component: product,
+    path: "/warehouseManage/warehouse",
+    name: "warehouse",
+    component: warehouse,
     meta: {
-      title: "浜у搧绠$悊"
+      title: "浠撳簱"
     }
   },
   {
-    path: "/overview/overviewList",
-    name: "overviewList",
-    component: overviewList,
+    path: "/warehouseManage/position",
+    name: "position",
+    component: position,
     meta: {
-      title: "閲囪喘鍏ュ簱"
+      title: "浣嶇疆"
+    }
+  },
+  {
+    path: "/warehouseManage/bussinessType",
+    name: "bussinessType",
+    component: bussinessType,
+    meta: {
+      title: "涓氬姟绫诲瀷"
     }
   }
 ]
diff --git a/src/views/warehouseManage/bussinessType/index.vue b/src/views/warehouseManage/bussinessType/index.vue
new file mode 100644
index 0000000..7eda06b
--- /dev/null
+++ b/src/views/warehouseManage/bussinessType/index.vue
@@ -0,0 +1,139 @@
+<template>
+  <div class="rightContent">
+    <div class="top">
+      <SearchCommonView
+        :add-title="'鏂板缓'"
+        :placeholder="'璇疯緭鍏ュ崟鍙�'"
+        :amount-view="false"
+        @addCommonClick="addBtnClick"
+        @searchClick="getList"
+      />
+    </div>
+    <div class="list-view">
+      <div class="table">
+        <TableCommonView
+          ref="tableListRef"
+          :table-list="tableList"
+          :show-checkcol="false"
+          @tableRowClick="tableRowClick"
+        ></TableCommonView>
+      </div>
+      <div class="btn-pager">
+        <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+      </div>
+    </div>
+    <!-- 鏂板缓/缂栬緫 -->
+    <AddScrapDialog v-if="editConfig.visible" :edit-common-config="editConfig" />
+  </div>
+</template>
+
+<script>
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import { getProductList } from "@/api/product/product"
+// import DetailProduct from "@/views/productManage/product/DetailProduct"
+import AddScrapDialog from "@/views/operate/scrap/AddScrapDialog"
+
+export default {
+  name: "WarehouseView",
+  props: {},
+  components: { AddScrapDialog },
+  mixins: [pageMixin],
+  computed: {},
+  data() {
+    return {
+      tableList: {},
+      searchOptions: [],
+      editConfig: {
+        visible: false,
+        title: "鏂板缓",
+        infomation: {}
+      }
+    }
+  },
+  created() {
+    this.setTable()
+    this.getData()
+  },
+  methods: {
+    setTable() {
+      this.tableList = {
+        tableInfomation: [],
+        selectBox: true,
+        showcol: this.showcol,
+        allcol: [],
+        tableColumn: this.setTableColumn(this.showcol)
+      }
+      let allcol = []
+      for (let i = 0; i < this.tableList.tableColumn.length; i++) {
+        if (!this.tableList.tableColumn[i].default) {
+          const label = this.tableList.tableColumn[i].label
+          allcol.push(label)
+        }
+      }
+      this.tableList.allcol = allcol
+    },
+    setTableColumn(showcol) {
+      console.log(showcol)
+      let tableColumn = [
+        {
+          label: "鍏ュ簱绫诲瀷",
+          prop: "id",
+          isShowColumn: true,
+          default: true
+        },
+        {
+          label: "浠撳簱",
+          prop: "deviceName",
+          isShowColumn: true,
+          default: true
+        }
+      ]
+      return tableColumn
+    },
+    selTableCol(val) {
+      this.showcol = val
+      this.tableList.tableColumn = this.setTableColumn(val)
+    },
+    // 璇锋眰鏁版嵁
+    async getData(val, content) {
+      await getProductList({
+        [val]: content,
+        page: this.pagerOptions.currPage,
+        pageSize: this.pagerOptions.pageSize
+      }).then((res) => {
+        if (res.data.code === 200) {
+          const list = res.data.data.list.map((item) => {
+            return {
+              ...item,
+              supplierNumber: item.supplier.number,
+              status: "鑽夌",
+              preTime: "2023-09-04 11:20:00"
+            }
+          })
+          this.tableList.tableInfomation = list || []
+          this.pagerOptions.totalCount = res.data.data.total
+        }
+      })
+    },
+    // 鎼滅储
+    getList(val) {
+      console.log(val)
+    },
+    // 琛岀偣鍑�
+    tableRowClick(row) {
+      console.log(row)
+      this.editConfig.visible = true
+      this.editConfig.title = "缂栬緫"
+      this.editConfig.infomation = { ...row }
+    },
+    // 鏂板缓
+    addBtnClick() {
+      this.editConfig.visible = true
+      this.editConfig.title = "鏂板缓"
+    }
+  }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped></style>
diff --git a/src/views/warehouseManage/position/index.vue b/src/views/warehouseManage/position/index.vue
new file mode 100644
index 0000000..eb15f44
--- /dev/null
+++ b/src/views/warehouseManage/position/index.vue
@@ -0,0 +1,139 @@
+<template>
+  <div class="rightContent">
+    <div class="top">
+      <SearchCommonView
+        :add-title="'鏂板缓'"
+        :placeholder="'璇疯緭鍏ュ崟鍙�'"
+        :amount-view="false"
+        @addCommonClick="addBtnClick"
+        @searchClick="getList"
+      />
+    </div>
+    <div class="list-view">
+      <div class="table">
+        <TableCommonView
+          ref="tableListRef"
+          :table-list="tableList"
+          :show-checkcol="false"
+          @tableRowClick="tableRowClick"
+        ></TableCommonView>
+      </div>
+      <div class="btn-pager">
+        <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+      </div>
+    </div>
+    <!-- 鏂板缓/缂栬緫 -->
+    <AddScrapDialog v-if="editConfig.visible" :edit-common-config="editConfig" />
+  </div>
+</template>
+
+<script>
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import { getProductList } from "@/api/product/product"
+// import DetailProduct from "@/views/productManage/product/DetailProduct"
+import AddScrapDialog from "@/views/operate/scrap/AddScrapDialog"
+
+export default {
+  name: "WarehouseView",
+  props: {},
+  components: { AddScrapDialog },
+  mixins: [pageMixin],
+  computed: {},
+  data() {
+    return {
+      tableList: {},
+      searchOptions: [],
+      editConfig: {
+        visible: false,
+        title: "鏂板缓",
+        infomation: {}
+      }
+    }
+  },
+  created() {
+    this.setTable()
+    this.getData()
+  },
+  methods: {
+    setTable() {
+      this.tableList = {
+        tableInfomation: [],
+        selectBox: true,
+        showcol: this.showcol,
+        allcol: [],
+        tableColumn: this.setTableColumn(this.showcol)
+      }
+      let allcol = []
+      for (let i = 0; i < this.tableList.tableColumn.length; i++) {
+        if (!this.tableList.tableColumn[i].default) {
+          const label = this.tableList.tableColumn[i].label
+          allcol.push(label)
+        }
+      }
+      this.tableList.allcol = allcol
+    },
+    setTableColumn(showcol) {
+      console.log(showcol)
+      let tableColumn = [
+        {
+          label: "浣嶇疆",
+          prop: "id",
+          isShowColumn: true,
+          default: true
+        },
+        {
+          label: "浣嶇疆绫诲瀷",
+          prop: "deviceName",
+          isShowColumn: true,
+          default: true
+        }
+      ]
+      return tableColumn
+    },
+    selTableCol(val) {
+      this.showcol = val
+      this.tableList.tableColumn = this.setTableColumn(val)
+    },
+    // 璇锋眰鏁版嵁
+    async getData(val, content) {
+      await getProductList({
+        [val]: content,
+        page: this.pagerOptions.currPage,
+        pageSize: this.pagerOptions.pageSize
+      }).then((res) => {
+        if (res.data.code === 200) {
+          const list = res.data.data.list.map((item) => {
+            return {
+              ...item,
+              supplierNumber: item.supplier.number,
+              status: "鑽夌",
+              preTime: "2023-09-04 11:20:00"
+            }
+          })
+          this.tableList.tableInfomation = list || []
+          this.pagerOptions.totalCount = res.data.data.total
+        }
+      })
+    },
+    // 鎼滅储
+    getList(val) {
+      console.log(val)
+    },
+    // 琛岀偣鍑�
+    tableRowClick(row) {
+      console.log(row)
+      this.editConfig.visible = true
+      this.editConfig.title = "缂栬緫"
+      this.editConfig.infomation = { ...row }
+    },
+    // 鏂板缓
+    addBtnClick() {
+      this.editConfig.visible = true
+      this.editConfig.title = "鏂板缓"
+    }
+  }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped></style>
diff --git a/src/views/warehouseManage/warehouse/index.vue b/src/views/warehouseManage/warehouse/index.vue
new file mode 100644
index 0000000..53637d9
--- /dev/null
+++ b/src/views/warehouseManage/warehouse/index.vue
@@ -0,0 +1,145 @@
+<template>
+  <div class="rightContent">
+    <div class="top">
+      <SearchCommonView
+        :add-title="'鏂板缓'"
+        :placeholder="'璇疯緭鍏ュ崟鍙�'"
+        :amount-view="false"
+        @addCommonClick="addBtnClick"
+        @searchClick="getList"
+      />
+    </div>
+    <div class="list-view">
+      <div class="table">
+        <TableCommonView
+          ref="tableListRef"
+          :table-list="tableList"
+          :show-checkcol="false"
+          @tableRowClick="tableRowClick"
+        ></TableCommonView>
+      </div>
+      <div class="btn-pager">
+        <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+      </div>
+    </div>
+    <!-- 鏂板缓/缂栬緫 -->
+    <AddScrapDialog v-if="editConfig.visible" :edit-common-config="editConfig" />
+  </div>
+</template>
+
+<script>
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import { getProductList } from "@/api/product/product"
+// import DetailProduct from "@/views/productManage/product/DetailProduct"
+import AddScrapDialog from "@/views/operate/scrap/AddScrapDialog"
+
+export default {
+  name: "WarehouseView",
+  props: {},
+  components: { AddScrapDialog },
+  mixins: [pageMixin],
+  computed: {},
+  data() {
+    return {
+      tableList: {},
+      searchOptions: [],
+      editConfig: {
+        visible: false,
+        title: "鏂板缓",
+        infomation: {}
+      }
+    }
+  },
+  created() {
+    this.setTable()
+    this.getData()
+  },
+  methods: {
+    setTable() {
+      this.tableList = {
+        tableInfomation: [],
+        selectBox: true,
+        showcol: this.showcol,
+        allcol: [],
+        tableColumn: this.setTableColumn(this.showcol)
+      }
+      let allcol = []
+      for (let i = 0; i < this.tableList.tableColumn.length; i++) {
+        if (!this.tableList.tableColumn[i].default) {
+          const label = this.tableList.tableColumn[i].label
+          allcol.push(label)
+        }
+      }
+      this.tableList.allcol = allcol
+    },
+    setTableColumn(showcol) {
+      console.log(showcol)
+      let tableColumn = [
+        {
+          label: "浠撳簱",
+          prop: "id",
+          isShowColumn: true,
+          default: true
+        },
+        {
+          label: "搴撳瓨浣嶇疆",
+          prop: "deviceName",
+          isShowColumn: true,
+          default: true
+        },
+        {
+          label: "鍦板潃",
+          prop: "id",
+          isShowColumn: true,
+          default: true
+        }
+      ]
+      return tableColumn
+    },
+    selTableCol(val) {
+      this.showcol = val
+      this.tableList.tableColumn = this.setTableColumn(val)
+    },
+    // 璇锋眰鏁版嵁
+    async getData(val, content) {
+      await getProductList({
+        [val]: content,
+        page: this.pagerOptions.currPage,
+        pageSize: this.pagerOptions.pageSize
+      }).then((res) => {
+        if (res.data.code === 200) {
+          const list = res.data.data.list.map((item) => {
+            return {
+              ...item,
+              supplierNumber: item.supplier.number,
+              status: "鑽夌",
+              preTime: "2023-09-04 11:20:00"
+            }
+          })
+          this.tableList.tableInfomation = list || []
+          this.pagerOptions.totalCount = res.data.data.total
+        }
+      })
+    },
+    // 鎼滅储
+    getList(val) {
+      console.log(val)
+    },
+    // 琛岀偣鍑�
+    tableRowClick(row) {
+      console.log(row)
+      this.editConfig.visible = true
+      this.editConfig.title = "缂栬緫"
+      this.editConfig.infomation = { ...row }
+    },
+    // 鏂板缓
+    addBtnClick() {
+      this.editConfig.visible = true
+      this.editConfig.title = "鏂板缓"
+    }
+  }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped></style>

--
Gitblit v1.8.0