howie 3 éve
szülő
commit
e872fdd7dd

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 21119 - 1
package-lock.json


+ 41 - 2
src/api/basic_data/logistics.js

@@ -1,9 +1,48 @@
 import request from '@/utils/request'
-
+var qs = require('qs');
 export function getList(params) {
   return request({
     url: '/admin/user/mch/list',
     method: 'get',
     params
   })
-}
+}
+
+
+export function getLogisticsList(params) {
+  return request({
+    url: '/logistics/list',
+    method: 'get',
+    params
+  })
+}
+
+
+export function addInof(params) {
+  return request({
+    url: '/logistics/add',
+    method: 'post',
+    data: params
+  })
+}
+
+
+export function updateInfo(params) {
+  return request({
+    url: '/logistics/update',
+    method: 'post',
+    data: params
+  })
+}
+
+
+export function deleteInfo(params) {
+  return request({
+    url: '/logistics/delete',
+    method: 'post',
+    data: params,
+    // headers: {
+    //   'Content-Type': 'application/x-www-form-urlencoded'
+    // }
+  })
+}

+ 30 - 1
src/api/basic_data/material.js

@@ -6,4 +6,33 @@ export function getList(params) {
     method: 'get',
     params
   })
-}
+}
+
+
+export function getMaterialList(params) {
+  return request({
+    url: '/k3/material/list',
+    method: 'get',
+    params
+  })
+}
+
+
+export function getMaterialDetail(params) {
+  return request({
+    url: '/k3/material/detail',
+    method: 'get',
+    params
+  })
+}
+
+
+export function getMachineLlist(params) {
+  return request({
+    url: '/machine-record/list',
+    method: 'get',
+    params
+  })
+}
+
+

+ 10 - 1
src/api/basic_data/supplier.js

@@ -6,4 +6,13 @@ export function getList(params) {
     method: 'get',
     params
   })
-}
+}
+
+
+export function getSupplierList(params) {
+  return request({
+    url: '/supplier/list',
+    method: 'get',
+    params
+  })
+}

+ 118 - 2
src/api/basic_data/warehouse.js

@@ -1,9 +1,125 @@
 import request from '@/utils/request'
 
+
+
 export function getList(params) {
   return request({
-    url: '/admin/user/mch/list',
+    url: '/stock/list',
+    method: 'get',
+    params
+  })
+}
+
+export function getStockDetail(params) {
+  return request({
+    url: '/stock/detail',
+    method: 'get',
+    params
+  })
+}
+
+
+export function getListReserve(params) {
+  return request({
+    url: '/stock/listReserve',
+    method: 'get',
+    params
+  })
+}
+
+
+
+
+export function getListStock(params) {
+  return request({
+    url: '/stock/listStock',
+    method: 'get',
+    params
+  })
+}
+
+export function addStock(params) {
+  return request({
+    url: '/stock/addStock',
+    method: 'post',
+    data: params
+  })
+}
+export function updateStock(params) {
+  return request({
+    url: '/stock/updateStock',
+    method: 'post',
+    data: params
+  })
+}
+export function deleteStock(params) {
+  return request({
+    url: '/stock/deleteStock',
+    method: 'get',
+    params
+  })
+}
+
+
+
+
+
+export function getListToll(params) {
+  return request({
+    url: '/stock/listToll',
+    method: 'get',
+    params
+  })
+}
+
+export function getDetail(params) {
+  return request({
+    url: '/stock/detailToll',
+    method: 'get',
+    params
+  })
+}
+
+
+export function updateToll(params) {
+  return request({
+    url: '/stock/updateToll',
+    method: 'post',
+    data: params
+  })
+}
+
+
+export function addToll(params) {
+  return request({
+    url: '/stock/addToll',
+    method: 'post',
+    data: params
+  })
+}
+
+
+export function deleteToll(params) {
+  return request({
+    url: '/stock/deleteToll',
+    method: 'get',
+    params
+  })
+}
+// 导入
+// /stock/importToll
+// 导出
+
+
+///stock/exportToll
+
+
+// 经销商列表
+
+export function getCustomerList(params) {
+  return request({
+    url: '/customer/list',
     method: 'get',
     params
   })
-}
+}

+ 1 - 0
src/main.js

@@ -30,6 +30,7 @@ Vue.prototype.$warningNotify = warningNotify;
 import ExportButton from '@/components/Common/export-button.vue'
 Vue.component('ExportButton', ExportButton);
 
+
 /**
  * If you don't want to use mock-server
  * you want to use MockJs for mock api

+ 70 - 0
src/mixin/index.js

@@ -0,0 +1,70 @@
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      listLoading: false, // 加载
+      screenForm: {}, // 筛选表单数据
+      dataList: [], // 表格数据
+      ids: [], // 多选数据id
+    }
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+    // Windows全局打印
+    hanlePrint() {
+      window.print()
+    },
+    // 筛选全部数据
+    hanleSelectAll(selection) {
+      this.ids = selection.map((k) => {
+        return k.id;
+      });
+      console.log(this.ids);
+    },
+
+    /**
+     * @description  单条数据删除 或者 全部数据删除
+     * @author zhou
+     * @param {*} id 删除单条数据传
+     * @return {*}  Promise.resolve(ids)
+     */
+    hanleDeleteAllPromise(id) {
+      return new Promise((resolve, reject) => {
+        const ids = id ? [id] : this.ids
+        if (!ids.length) {
+          this.$errorMsg("请选择删除内容");
+          return;
+        }
+        resolve(ids)
+      })
+    }
+  }
+
+
+}

+ 4 - 2
src/styles/index.scss

@@ -193,7 +193,9 @@ div:focus {
   }
 
 }
-
+.el-popover-left {
+  margin-left: 10px;
+}
 // 上传照片样式
 .avatar-uploader .el-upload {
   border: 1px dashed #d9d9d9;
@@ -357,4 +359,4 @@ div:focus {
       }
     }
   }
-}
+}

+ 238 - 106
src/views/basic_data/logistics/logistics_list.vue

@@ -2,19 +2,30 @@
   <div class="app-container">
     <!-- 筛选条件 -->
     <div>
-      <el-form label-width="70px" size="small" label-position="left">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="70px"
+        size="small"
+        label-position="left"
+      >
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="物流公司" prop="account">
-              <el-input placeholder="请输入物流公司名称"></el-input>
+            <el-form-item label="物流公司" prop="customerTel">
+              <el-input
+                placeholder="请输入物流公司名称"
+                v-model="screenForm.customerTel"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="客服电话" prop="nickname">
-              <el-input placeholder="请输入客服电话"></el-input>
+            <el-form-item label="客服电话" prop="logisticsCompany">
+              <el-input
+                placeholder="请输入客服电话"
+                v-model="screenForm.logisticsCompany"
+              ></el-input>
             </el-form-item>
           </el-col>
-
           <el-col :xs="24" :sm="12" :lg="12" class="tr">
             <el-form-item label="">
               <el-button size="small" @click="resetScreenForm">清空</el-button>
@@ -29,14 +40,35 @@
     <!-- 按钮 -->
     <div class="btn-group clearfix">
       <div class="fl">
-        <el-button type="primary" size="small">新增</el-button>
-        <el-button type="primary" size="small">编辑</el-button>
-        <el-button type="primary" size="small">删除</el-button>
+        <el-button type="primary" size="small" @click="hanleAdd"
+          >新增</el-button
+        >
+        <el-popconfirm
+          confirm-button-text="好的"
+          cancel-button-text="不用了"
+          icon="el-icon-info"
+          icon-color="red"
+          title="内容确定删除吗?"
+          @onConfirm="hanleDelete"
+        >
+          <el-button
+            type="primary"
+            size="small"
+            slot="reference"
+            class="el-popover-left"
+            >删除</el-button
+          >
+        </el-popconfirm>
       </div>
       <div class="fr">
-        <el-button type="primary" size="small">导入</el-button>
-        <el-button type="primary" size="small">导出</el-button>
-        <el-button type="primary" size="small">打印</el-button>
+        <!-- <ExportButton :exUrl="'/logistics/export'" :exParams="exParams" /> -->
+
+        <el-button type="primary" size="small" @click="handleExport"
+          >导出</el-button
+        >
+        <el-button type="primary" size="small" @click="hanlePrint"
+          >打印</el-button
+        >
       </div>
     </div>
     <!-- 列表 -->
@@ -46,6 +78,8 @@
           v-loading="listLoading"
           :data="dataList"
           element-loading-text="Loading"
+          @select="hanleSelect"
+          @select-all="hanleSelectAll"
           border
           fit
           highlight-current-row
@@ -55,82 +89,118 @@
           <el-table-column
             align="center"
             label="物流公司名称"
-            prop="name"
+            prop="logisticsCompany"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="物流公司代码"
-            prop="code"
+            prop="logisticsNumber"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="提货人"
-            prop="consignee"
+            prop="pickName"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="提货人电话"
-            prop="consigneePhone"
+            prop="pickTel"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="客服电话"
-            prop="customerService"
+            prop="customerTel"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="创建人"
-            prop="createUser"
+            prop="createBy"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="创建时间"
-            prop="createDate"
+            prop="createTime"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="更新人"
-            prop="updateUser"
+            prop="updateBy"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="更新时间"
-            prop="updateDate"
+            prop="updateTime"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
           <el-table-column
             align="center"
             label="操作"
             min-width="160"
             show-overflow-tooltip
           >
-            <el-button type="text" class="textColor" @click="editFn"
-              >编辑</el-button
-            >
-            <el-button type="text" class="textColor">删除</el-button>
+            <template slot-scope="scope">
+              <el-button
+                type="text"
+                class="textColor"
+                @click="hanleDetail(scope.row)"
+                >详情</el-button
+              >
+              <el-button
+                type="text"
+                class="textColor"
+                @click="editFn(scope.row.id, scope.row)"
+                >编辑</el-button
+              >
+              <el-popconfirm
+                confirm-button-text="好的"
+                cancel-button-text="不用了"
+                icon="el-icon-info"
+                icon-color="red"
+                title="内容确定删除吗?"
+                @onConfirm="hanleDelete(scope.row.id)"
+              >
+                <el-button
+                  slot="reference"
+                  type="text"
+                  class="textColor el-popover-left"
+                  >删除</el-button
+                >
+              </el-popconfirm>
+            </template>
           </el-table-column>
         </el-table>
       </div>
       <!-- 分页 -->
       <div class="fr">
         <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
           :current-page="currentPage"
           :page-sizes="[10, 20, 30, 50]"
           :page-size="10"
@@ -140,7 +210,6 @@
         </el-pagination>
       </div>
     </div>
-
     <!-- 弹窗 -->
     <el-dialog
       title="提货车辆档案"
@@ -151,134 +220,197 @@
     >
       <el-form ref="form" :model="diaLogForm" label-width="100px">
         <el-form-item label="物流公司名称">
-          <el-input v-model="diaLogForm.name"></el-input>
+          <el-input v-model="diaLogForm.logisticsCompany"></el-input>
         </el-form-item>
         <el-form-item label="物流公司代码">
-          <el-input v-model="diaLogForm.code"></el-input>
+          <el-input v-model="diaLogForm.logisticsNumber"></el-input>
         </el-form-item>
         <el-form-item label="提货人">
-          <el-input v-model="diaLogForm.consignee"></el-input>
+          <el-input v-model="diaLogForm.pickName"></el-input>
         </el-form-item>
         <el-form-item label="提货人电话">
-          <el-input v-model="diaLogForm.consigneePhone"></el-input>
+          <el-input v-model="diaLogForm.pickTel"></el-input>
         </el-form-item>
         <el-form-item label="客服电话">
-          <el-input v-model="diaLogForm.sparePhone"></el-input>
+          <el-input v-model="diaLogForm.customerTel"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="showDialogForm = false">取 消</el-button>
-        <el-button type="primary" @click="showDialogForm = false"
-          >确 定</el-button
-        >
+        <el-button @click="hanleCancel">取 消</el-button>
+        <el-button type="primary" @click="handelInfo">确 定</el-button>
       </div>
     </el-dialog>
   </div>
 </template>
 
 <script>
+import Mixin from "@/mixin/index";
+import {
+  getLogisticsList,
+  addInof,
+  updateInfo,
+  deleteInfo,
+} from "@/api/basic_data/logistics";
+import { downloadFiles } from "@/utils/util";
 export default {
+  mixins: [Mixin],
   data() {
     return {
-      currentPage: 1, // 当前页码
-      pageSize: 10, // 每页数量
-      listTotal: 0, // 列表总数
+      type: 1, // 1 ,2, 3
       diaLogForm: {
-        name: "",
-        code: "",
-        consignee: "",
-        consigneePhone: "",
-        customerService: "",
+        id: null,
+        customerTel: "",
+        logisticsCompany: "",
+        logisticsNumber: "",
+        pickName: "",
+        pickTel: "",
       },
       showDialogForm: false,
-      dataList: [
-        {
-          num: "1",
-          name: "嘉贤",
-          code: "1212",
-          consignee: "",
-          consigneePhone: "",
-          customerService: "12345678901",
-          createUser: "",
-          createDate: "",
-          updateUser: "",
-          updateDate: "",
-        },
-        {
-          num: "1",
-          name: "嘉贤",
-          code: "1212",
-          consignee: "",
-          consigneePhone: "",
-          customerService: "12345678901",
-          createUser: "",
-          createDate: "",
-          updateUser: "",
-          updateDate: "",
-        },
-        {
-          num: "1",
-          name: "嘉贤",
-          code: "1212",
-          consignee: "",
-          consigneePhone: "",
-          customerService: "12345678901",
-          createUser: "",
-          createDate: "",
-          updateUser: "",
-          updateDate: "",
-        },
-        {
-          num: "1",
-          name: "嘉贤",
-          code: "1212",
-          consignee: "",
-          consigneePhone: "",
-          customerService: "12345678901",
-          createUser: "",
-          createDate: "",
-          updateUser: "",
-          updateDate: "",
-        },
-      ],
-      searchForm: {
+      screenForm: {
         name: "",
         username: "",
         telephone: "",
+        customerTel: "",
+        logisticsCompany: "",
       },
+      ids: [],
     };
   },
   methods: {
-    editFn() {
+    //显示新增弹框
+    hanleAdd() {
+      this.type = 2;
+      this.showDialogForm = true;
+    },
+    //显示编辑,编辑数据初始化
+    editFn(id, row) {
+      this.type = 1;
+      this.diaLogForm = {
+        id,
+        customerTel: row.customerTel,
+        logisticsCompany: row.logisticsCompany,
+        logisticsNumber: row.logisticsNumber,
+        pickName: row.pickName,
+        pickTel: row.pickTel,
+      };
+      this.showDialogForm = true;
+    },
+    // 初始化数据
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        customerTel: this.screenForm.customerTel,
+        logisticsCompany: this.screenForm.logisticsCompany,
+      };
+      getLogisticsList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+        console.log(this.dataList, 1233);
+      });
+    },
+    //新增数据或者编辑数据请求接口  type 1 为编辑  type 2 新增
+    handelInfo() {
+      if (this.type === 1) {
+        const params = {
+          ...this.diaLogForm,
+        };
+        updateInfo(params).then((res) => {
+          this.$successMsg("编辑成功");
+          this.showDialogForm = false;
+          this.getList();
+          this.hanleCancel();
+        });
+        this.diaLogForm.id = null;
+      } else if (this.type === 2) {
+        addInof(this.diaLogForm).then((res) => {
+          this.$successMsg("保存成功");
+          this.showDialogForm = false;
+          this.hanleCancel();
+          this.getList();
+        });
+      } else {
+        this.showDialogForm = false;
+      }
+    },
+
+    //查看详情
+    hanleDetail(detail) {
+      this.type = 3;
       this.showDialogForm = true;
+      this.diaLogForm = detail;
+      this.hanleCancel();
+    },
+    // 导出文档
+    handleExport() {
+      let screenData = {
+        customerTel: this.diaLogForm.customerTel,
+        logisticsCompany: this.diaLogForm.logisticsCompany,
+      };
+      downloadFiles("/logistics/export", screenData);
+    },
+    // 筛选部分数据或者单个
+    hanleSelect(selection) {
+      this.ids = selection.map((k) => {
+        return k.id;
+      });
+    },
+    // 删除数据
+    hanleDelete(id) {
+      this.hanleDeleteAllPromise(id).then((ids) => {
+        deleteInfo(ids).then(() => {
+          this.$successMsg("删除成功");
+          this.getList();
+        });
+      });
+    },
+    // 取消按钮重置数据
+    hanleCancel() {
+      this.diaLogForm = {
+        id: null,
+        customerTel: "",
+        logisticsCompany: "",
+        logisticsNumber: "",
+        pickName: "",
+        pickTel: "",
+      };
+      this.showDialogForm = false;
     },
   },
 };
 </script>
-
 <style lang="scss" scoped>
 .textColor {
   color: black;
 }
+
 ::v-deep .el-date-editor {
   width: 100%;
 }
+
 ::v-deep .el-select {
   width: 100%;
 }
+
 ::v-deep .el-col-9 .el-button {
   padding: 5px;
 }
+
 ::v-deep .el-dialog__header {
   background-color: #dddddd;
 }
+
 .base {
   padding: 20px 20px 0;
 }
+
 .table {
   margin-top: 12px;
 }
+
 .right {
   float: right;
 }
-</style>
+</style>

+ 27 - 15
src/views/basic_data/material/components/material_list-detail.vue

@@ -8,9 +8,9 @@
         <span>信息</span>
       </div>
       <el-row>
-        <el-col :span="8"><span>创建组织</span><input type="text" /></el-col>
-        <el-col :span="8"><span>使用组织</span><input type="text" /></el-col>
-        <el-col :span="8"><span>编码</span><input type="text" /></el-col>
+        <el-col :span="8"><span>创建组织</span><input type="text" v-model="detail.updateBy" /></el-col>
+        <el-col :span="8"><span>使用组织</span><input type="text" v-model="detail.useOrgId" /></el-col>
+        <el-col :span="8"><span>编码</span><input type="text"  v-model="detail.useOrgNumber"/></el-col>
       </el-row>
       <el-row>
         <el-col :span="8"><span>名称</span><input type="text" /></el-col>
@@ -64,7 +64,7 @@
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">物料分组</span><input type="text" />
+              ><span class="marg-r">物料分组</span><input type="text" v-model="detail.materialGroupNumber"/>
             </el-col>
           </el-row>
           <el-row>
@@ -122,14 +122,17 @@
             <el-row>
               <el-col :span="8"
                 ><span class="marg-r">允许采购</span><input type="checkbox"
+                  :checked="detail.isPurchase"
               /></el-col>
               <el-col :span="8"
                 ><span class="marg-r">允许销售</span><input type="checkbox"
+                  :checked="detail.isSale"
               /></el-col>
             </el-row>
             <el-row>
               <el-col :span="8"
                 ><span class="marg-r">允许库存</span><input type="checkbox"
+                 :checked="detail.isInventory"
               /></el-col>
               <el-col :span="8"
                 ><span class="marg-r">允许生产</span><input type="checkbox"
@@ -409,7 +412,7 @@
         <br />
         <el-table
           v-loading="listLoading"
-          :data="dataList"
+          :data="detail.items"
           element-loading-text="Loading"
           :header-cell-style="{
             'background-color': '#e8e8e8',
@@ -420,63 +423,63 @@
           <el-table-column
             align="center"
             label="序号"
-            prop="nname"
+            prop="id"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="内机编码"
-            prop="bianma"
+            prop="innerMachineNumber"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="内机名称"
-            prop="selectname"
+            prop="innerMachineName"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="型号"
-            prop="person"
+            prop="orgNumber"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="内机体积"
-            prop="createdata"
+            prop="innerMachineVolume"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="外机编码"
-            prop="updateperson"
+            prop="outsideMachineNumber"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="外机名称"
-            prop="update"
+            prop="outsideMachineName"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="型号"
-            prop="update"
+            prop="outsideMachineType"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="外机体积"
-            prop="update"
+            prop="outsideMachineVolume"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
@@ -535,6 +538,15 @@
 
 <script>
 export default {
+  props:{
+    detail:{
+      type:Object,
+      default:{}
+    }
+  },
+  created() {
+      console.log(this.detail);
+  },
   methods: {
     goBack() {
       console.log(this.$parent);
@@ -645,4 +657,4 @@ export default {
     margin-bottom: 0;
   }
 }
-</style>
+</style>

+ 69 - 26
src/views/basic_data/material/machine_list.vue

@@ -2,26 +2,44 @@
   <div class="app-container">
     <!-- 筛选条件 -->
     <div>
-      <el-form label-width="70px" size="small" label-position="left">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="70px"
+        size="small"
+        label-position="left"
+      >
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="名称" prop="account">
-              <el-input placeholder="请输入名称"></el-input>
+            <el-form-item label="名称" prop="name">
+              <el-input
+                placeholder="请输入名称"
+                v-model="screenForm.name"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="型号" prop="nickname">
-              <el-input placeholder="请输入型号"></el-input>
+            <el-form-item label="型号" prop="type">
+              <el-input
+                placeholder="请输入型号"
+                v-model="screenForm.name"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="编码" prop="account">
-              <el-input placeholder="请输入编码"></el-input>
+            <el-form-item label="编码" prop="number">
+              <el-input
+                placeholder="请输入编码"
+                v-model="screenForm.number"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="体积" prop="nickname">
-              <el-input placeholder="请输入体积"></el-input>
+            <el-form-item label="体积" prop="volume">
+              <el-input
+                placeholder="请输入体积"
+                v-model="screenForm.volume"
+              ></el-input>
             </el-form-item>
           </el-col>
 
@@ -65,98 +83,98 @@
           <el-table-column
             align="center"
             label="内机名称"
-            prop="name"
+            prop="innerMachineName"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="内机型号"
-            prop="number"
+            prop="innerMachineType"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="编码"
-            prop="code"
+            prop="innerMachineNumber"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="内机体积"
-            prop="volume"
+            prop="innerMachineVolume"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="外机名称"
-            prop="outName"
+            prop="outsideMachineName"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="外机型号"
-            prop="outNumber"
+            prop="outsideMachineType"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="外机编码"
-            prop="updateUser"
+            prop="outsideMachineNumber"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="外机体积"
-            prop="outVolume"
+            prop="outsideMachineVolume"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="配件1"
-            prop="partsOne"
+            prop="parts1"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="配件2"
-            prop="partsTwo"
+            prop="parts2"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="创建人"
-            prop="create"
+            prop="createBy"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="创建时间"
-            prop="createDate"
+            prop="createTime"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="更新人"
-            prop="update"
+            prop="updateBy"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="更新时间"
-            prop="updateDate"
+            prop="updateTime"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
@@ -177,6 +195,8 @@
       <!-- 分页 -->
       <div class="fr">
         <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
           :current-page="currentPage"
           :page-sizes="[10, 20, 30, 50]"
           :page-size="10"
@@ -262,7 +282,10 @@
 </template>
 
 <script>
+import Mixin from "@/mixin/index";
+import { getMachineLlist } from "@/api/basic_data/material";
 export default {
+  mixins: [Mixin],
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -380,8 +403,10 @@ export default {
         },
       ],
       searchForm: {
-        positionName: "",
-        storeName: "",
+        name: "",
+        number: "",
+        type: "",
+        volume: "",
       },
     };
   },
@@ -389,6 +414,24 @@ export default {
     editFn() {
       this.showDialogForm = true;
     },
+    // 初始化数据
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        name: this.screenForm.name,
+        number: this.screenForm.number,
+        type: this.screenForm.type,
+        volume: this.screenForm.volume,
+      };
+      getMachineLlist(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+        console.log(this.dataList, 1233);
+      });
+    },
   },
 };
 </script>
@@ -397,4 +440,4 @@ export default {
 ::v-deep .el-select {
   width: 100%;
 }
-</style>
+</style>

+ 53 - 54
src/views/basic_data/material/material_list.vue

@@ -3,11 +3,20 @@
     <div v-if="isShow">
       <!-- 筛选条件 -->
       <div>
-        <el-form label-width="70px" size="small" label-position="left">
+        <el-form
+          ref="screenForm"
+          :model="screenForm"
+          label-width="70px"
+          size="small"
+          label-position="left"
+        >
           <el-row :gutter="20">
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="关键字" prop="account">
-                <el-input placeholder="请输入关键字"></el-input>
+              <el-form-item label="关键字" prop="keyword">
+                <el-input
+                  placeholder="请输入关键字"
+                  v-model="screenForm.keyword"
+                ></el-input>
               </el-form-item>
             </el-col>
 
@@ -43,13 +52,13 @@
             <el-table-column
               align="center"
               label="使用组织"
-              prop="usename"
+              prop="useOrgId"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="编码"
-              prop="bianMa"
+              prop="number"
               min-width="100"
               label-class-name="bianma"
               class-name="fontstyle"
@@ -64,15 +73,20 @@
             <el-table-column
               align="center"
               label="规格型号"
-              prop="model"
+              prop="specification"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="数据状态"
-              prop="dataState"
+              prop="forbidStatus"
               min-width="100"
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                  <el-tag type="success" v-if="scope.row.forbidStatus=='A'">正常</el-tag>
+                  <el-tag type="danger" v-else>禁用</el-tag>
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="是否维护商城资料"
@@ -104,10 +118,12 @@
               min-width="160"
               show-overflow-tooltip
             >
-              <el-button type="text" class="textColor" @click="editFn"
-                >编辑</el-button
+              <template slot-scope="scope">
+              <el-button type="text" class="textColor" @click="hanleDetail(scope.row.id)"
+                >详情</el-button
               >
               <el-button type="text" class="textColor">删除</el-button>
+              </template>
             </el-table-column>
           </el-table>
         </div>
@@ -124,65 +140,48 @@
         </div>
       </div>
     </div>
-    <MaterialListDetail v-else />
+    <MaterialListDetail v-else  :detail='detail'/>
   </div>
 </template>
 
 <script>
+import Mixin from "@/mixin/index";
+import { getMaterialList,getMaterialDetail } from "@/api/basic_data/material";
 import MaterialListDetail from "./components/material_list-detail.vue";
 export default {
+  mixins: [Mixin],
   data() {
     return {
       isShow: true,
-      dataList: [
-        {
-          usename: "广州格匠机电工程有限公司",
-          bianMa: "0021",
-          name: "电器",
-          model: "KFR-50LW/(50530)FNh",
-          dataState: "已审核",
-          maintainData: "是",
-          maintainFiles: "是",
-          baseCompany: "Pcs",
-          used: "否",
-        },
-        {
-          usename: "广州格匠机电工程有限公司",
-          bianMa: "0021",
-          name: "电器",
-          model: "KFR-50LW/(50530)FNh",
-          dataState: "已审核",
-          maintainData: "是",
-          maintainFiles: "是",
-          baseCompany: "Pcs",
-          used: "否",
-        },
-        {
-          usename: "广州格匠机电工程有限公司",
-          bianMa: "0021",
-          name: "电器",
-          model: "KFR-50LW/(50530)FNh",
-          dataState: "已审核",
-          maintainData: "是",
-          maintainFiles: "是",
-          baseCompany: "Pcs",
-          used: "否",
-        },
-      ], // 列表数据
-
       screenForm: {
         // 筛选表单数据
-        name: "", // 名称
+        keyword: "", // 名称
       },
-      currentPage: 1, // 当前页码
-      pageSize: 10, // 每页数量
-      listTotal: 0, // 列表总数
     };
   },
   components: { MaterialListDetail },
   methods: {
-    editFn() {
-      this.isShow = false;
+    hanleDetail(id) {
+
+      getMaterialDetail({id}).then((res)=>{
+            console.log(res);
+            this.detail = res.data
+          this.isShow = false;
+      })
+
+    },
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        keyword: this.screenForm.keyword,
+      };
+      getMaterialList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      });
     },
   },
 };
@@ -195,4 +194,4 @@ export default {
 // ::v-deep .bianma {
 //   color: #409eff;
 // }
-</style>
+</style>

+ 69 - 20
src/views/basic_data/supplier/supplier_list.vue

@@ -3,18 +3,18 @@
     <div v-if="isShow">
       <!-- 筛选条件 -->
       <div>
-        <el-form label-width="70px" size="small" label-position="left">
+        <el-form ref="screenForm" :model="screenForm" label-width="70px" size="small" label-position="left">
           <el-row :gutter="20">
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="关键字" prop="account">
-                <el-input placeholder="请输入关键字"></el-input>
+              <el-form-item label="关键字" prop="name">
+                <el-input placeholder="请输入关键字" v-model="screenForm.name" ></el-input>
               </el-form-item>
             </el-col>
 
             <el-col :xs="24" :sm="12" :lg="18" class="tr">
               <el-form-item label="">
-                <el-button size="small">清空</el-button>
-                <el-button size="small" type="primary">搜索</el-button>
+                <el-button size="small" @click="resetScreenForm">清空</el-button>
+                <el-button size="small" type="primary"  @click="submitScreenForm">搜索</el-button>
               </el-form-item>
             </el-col>
           </el-row>
@@ -41,7 +41,7 @@
             <el-table-column
               align="center"
               label="编码"
-              prop="bianMa"
+              prop="number"
               min-width="100"
               label-class-name="bianma"
               class-name="fontstyle"
@@ -49,7 +49,7 @@
             <el-table-column
               align="center"
               label="使用组织"
-              prop="useZh"
+              prop="useOrgId"
               min-width="100"
             ></el-table-column>
             <el-table-column
@@ -61,13 +61,13 @@
             <el-table-column
               align="center"
               label="简称"
-              prop="jc"
+              prop="shortName"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="供应商分组"
-              prop="gongYing"
+              prop="groupName"
               min-width="100"
             ></el-table-column>
             <el-table-column
@@ -86,14 +86,15 @@
         </div>
 
         <div class="fr">
-          <el-pagination
-            :current-page="currentPage"
-            :page-sizes="[10, 20, 30, 50]"
-            :page-size="10"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="listTotal"
-          >
-          </el-pagination>
+           <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal">
+        </el-pagination>
         </div>
       </div>
     </div>
@@ -103,15 +104,17 @@
 
 <script>
 import SupplierListDetail from "./components/supplier_list-detail.vue";
+import { getSupplierList } from "@/api/basic_data/supplier";
 export default {
   data() {
     return {
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
+      listLoading: false,
       isShow: true,
-      searchForm: {
-        name: "",
+      screenForm: { // 筛选表单数据
+            name:''
       },
       dataList: [
         {
@@ -145,13 +148,59 @@ export default {
       ],
     };
   },
+
   components: {
     SupplierListDetail,
   },
+  created() {
+      this.getList()
+  },
   methods: {
     editFn() {
       this.isShow = false;
     },
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        auditName: "",
+        groupName: "",
+        name: this.screenForm.name,
+        number: "",
+        shortName: "",
+        useOrgName: "",
+        useOrgNumber: "",
+      };
+      getSupplierList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
   },
 };
 </script>
@@ -163,4 +212,4 @@ export default {
 .fr {
   margin-top: 20px;
 }
-</style>
+</style>

+ 128 - 40
src/views/basic_data/warehouse/components/warehouse_list-detail.vue

@@ -8,9 +8,16 @@
         <span>组织信息</span>
       </div>
       <el-row>
-        <el-col :span="8"><span>创建组织</span><input type="text" /></el-col>
-        <el-col :span="8"><span>编码</span><input type="text" /></el-col>
-        <el-col :span="8"><span>名称</span><input type="text" /></el-col>
+        <el-col :span="8"
+          ><span>创建组织</span
+          ><input type="text" v-model="detail.createOrgName"
+        /></el-col>
+        <el-col :span="8"
+          ><span>编码</span><input type="text" v-model="detail.useOrgNumber"
+        /></el-col>
+        <el-col :span="8"
+          ><span>名称</span><input type="text" v-model="detail.name"
+        /></el-col>
       </el-row>
     </el-card>
     <el-card class="box-card">
@@ -24,21 +31,25 @@
           </div>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">仓库属性</span
-              ><select name="" id="" class="selectStyle2">
+              ><span class="marg-r">仓库属性</span>
+              <!-- <select name="" id="" class="selectStyle2">
                 <option value="">普通仓库</option>
-              </select></el-col
-            >
+              </select>
+               -->
+              <input type="text" v-model="detail.stockProperty" />
+            </el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r color">供应商</span><input type="text"
+              ><span class="marg-r color">供应商</span
+              ><input v-model="detail.supplierName" type="text"
             /></el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
               ><span class="marg-r color">客户</span
               ><textarea
+                v-model="detail.customerName"
                 name=""
                 id=""
                 cols="30"
@@ -51,6 +62,7 @@
             <el-col :span="24"
               ><span class="marg-r">仓库地址</span
               ><textarea
+                v-model="detail.address"
                 class="textareaStyle"
                 name=""
                 id=""
@@ -61,18 +73,21 @@
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r color">仓库负责人</span><input type="text"
+              ><span class="marg-r color">仓库负责人</span
+              ><input v-model="detail.principalName" type="text"
             /></el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">联系电话</span><input type="text" />
+              ><span class="marg-r">联系电话</span
+              ><input type="text" v-model="detail.tel" />
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
               ><span class="marg-r">描述</span
               ><textarea
+                v-model="detail.description"
                 class="textareaStyle"
                 name=""
                 id=""
@@ -83,30 +98,35 @@
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">分组</span><input type="text"
+              ><span class="marg-r">分组</span
+              ><input v-model="detail.groupName" type="text"
             /></el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">管易仓</span><input type="checkbox"
+              ><span class="marg-r">管易仓</span
+              ><input v-model="detail.gysStock" type="checkbox"
             /></el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">管易仓编码</span><input type="text"
+              ><span class="marg-r">管易仓编码</span
+              ><input v-model="detail.gysStockNumber" type="text"
             /></el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">第三方仓储类型</span
-              ><select name="" id="" class="selectStyle2">
+              ><span class="marg-r">第三方仓储类型</span>
+              <input type="text" v-model="detail.thirdStockType" />
+              <!-- <select name="" id="" class="selectStyle2">
                 <option value="">正常</option>
-              </select></el-col
-            >
+              </select> -->
+            </el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">第三方仓库编码</span><input type="text"
+              ><span class="marg-r">第三方仓库编码</span
+              ><input v-model="detail.thirdStockNo" type="text"
             /></el-col>
           </el-row>
         </div>
@@ -116,17 +136,20 @@
           </div>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">库存状态类型</span><input type="text"
-            /></el-col>
+              ><span class="marg-r">库存状态类型</span>
+              <input type="text" v-model="stockStatusType" />
+            </el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r color">默认库存状态</span><input type="text"
+              ><span class="marg-r color">默认库存状态</span
+              ><input v-model="detail.defStockStatusName" type="text"
             /></el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r color">默认收料状态</span><input type="text"
+              ><span class="marg-r color">默认收料状态</span
+              ><input v-model="detail.defReceiveStatusName" type="text"
             /></el-col>
           </el-row>
           <div class="base-header">
@@ -141,60 +164,78 @@
             <el-row>
               <el-col :span="8"
                 ><span class="marg-r">允许即时库存负库存</span
-                ><input type="checkbox"
+                ><input
+                  type="checkbox"
+                  :checked="detail.allowMinusQty !== 'false' ? false : true"
               /></el-col>
               <el-col :span="8"
-                ><span class="marg-r">允许MRP计划</span><input type="checkbox"
+                ><span class="marg-r">允许MRP计划</span
+                ><input
+                  type="checkbox"
+                  :checked="detail.allowMrpPlan !== 'false' ? false : true"
               /></el-col>
             </el-row>
             <el-row>
               <el-col :span="8"
-                ><span class="marg-r">允许锁库</span><input type="checkbox"
+                ><span class="marg-r">允许锁库</span
+                ><input
+                  type="checkbox"
+                  :checked="detail.allowLock !== 'false' ? false : true"
               /></el-col>
               <el-col :span="8"
-                ><span class="marg-r">参与预警</span><input type="checkbox"
+                ><span class="marg-r">参与预警</span
+                ><input
+                  type="checkbox"
+                  :checked="detail.availableAlert !== 'false' ? false : true"
               /></el-col>
             </el-row>
             <el-row>
               <el-col :span="8"
-                ><span class="marg-r">启用仓位管理</span><input type="checkbox"
+                ><span class="marg-r">启用仓位管理</span
+                ><input
+                  type="checkbox"
+                  :checked="detail.openLocation !== 'false' ? false : true"
               /></el-col>
               <el-col :span="8"
-                ><span class="marg-r">参与拣货</span><input type="checkbox"
+                ><span class="marg-r">参与拣货</span
+                ><input
+                  type="checkbox"
+                  :checked="detail.availablePicking !== 'false' ? false : true"
               /></el-col>
             </el-row>
             <el-row>
               <el-col :span="8"
                 ><span class="marg-r">不参与可发量统计</span
-                ><input type="checkbox"
+                ><input
+                  type="checkbox"
+                  :checked="detail.notExpQty !== 'false' ? false : true"
               /></el-col>
               <el-col :span="8"> </el-col>
             </el-row>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r">拣货优先级(1~9999)</span><input type="text"
+              ><span class="marg-r">拣货优先级(1~9999)</span
+              ><input v-model="detail.sortingPriority" type="text"
             /></el-col>
           </el-row>
           <el-row>
             <el-col :span="24"
-              ><span class="marg-r color">仓位维度数据列表显示格式</span
-              ><select name="" id="" class="selectStyle2">
-                <option value="">正常</option>
-              </select></el-col
-            >
+              ><span class="marg-r color">仓位维度数据列表显示格式</span>
+              <input type="text" v-model="detail.loclistFormatter" />
+            </el-col>
           </el-row>
-          <div class="base-header">
+          <!-- <div class="base-header">
             <span>状态</span>
-          </div>
-          <el-row>
+          </div> -->
+          <!-- <el-row>
             <el-col :span="24"
               ><span class="marg-r">数据状态</span
               ><select name="" id="" class="selectStyle2">
                 <option value="">暂存</option>
               </select></el-col
             >
-          </el-row>
+          </el-row> -->
         </div>
         <div></div>
       </div>
@@ -203,7 +244,54 @@
 </template>
 
 <script>
+import { type } from "os";
+
 export default {
+  props: {
+    detail: {
+      type: Object,
+      default: {},
+    },
+  },
+  computed: {
+    stockStatusType() {
+      let typeStr = "";
+      const typeArr = this.detail.stockStatusType.split(",");
+      for (let i = 0; i < typeArr.length; i++) {
+        switch (typeArr[i]) {
+          case "1":
+            typeStr += "1待检";
+            break;
+          case "2":
+            typeStr += "2冻结";
+            break;
+          case "3":
+            typeStr += "3退回";
+            break;
+          case "4":
+            typeStr += "4在途";
+            break;
+          case "5":
+            typeStr += "5收货";
+            break;
+          case "6":
+            typeStr += "6废品";
+            break;
+          case "7":
+            typeStr += "7不良";
+            break;
+          case "8":
+            typeStr += "8外借";
+            break;
+          default:
+            typeStr += "0可用";
+            break;
+        }
+      }
+      console.log(typeStr);
+      return typeStr;
+    },
+  },
   methods: {
     goBack() {
       console.log(this.$parent);
@@ -285,4 +373,4 @@ export default {
     margin-bottom: 0;
   }
 }
-</style>
+</style>

+ 30 - 9
src/views/basic_data/warehouse/warehouse_book.vue

@@ -7,8 +7,9 @@
       <!-- 列表 -->
       <div class="">
         <el-table
-          v-loading="listLoading"
+         v-loading="listLoading"
           :data="dataList"
+
           element-loading-text="Loading"
           border
           fit
@@ -18,14 +19,14 @@
           <el-table-column
             align="center"
             label="序号"
-            prop="num"
+           type="index"
             min-width="60"
             show-overflow-tooltip
           />
           <el-table-column
             align="center"
             label="仓库"
-            prop="store"
+            prop="stockName"
             min-width="160"
             show-overflow-tooltip
           />
@@ -39,23 +40,23 @@
           <el-table-column
             align="center"
             label="最大预约单量"
-            prop="maxNum"
+            prop="number"
             min-width="160"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.maxNum"></el-input>
+              <el-input v-model="scope.row.number"></el-input>
             </template>
           </el-table-column>
           <el-table-column
             align="center"
             label="最大预约台数"
-            prop="maxSets"
+            prop="towerNum"
             min-width="160"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.maxSets"></el-input>
+              <el-input v-model="scope.row.towerNum"></el-input>
             </template>
           </el-table-column>
 
@@ -77,7 +78,10 @@
 </template>
 
 <script>
+import Mixin from "@/mixin/index";
+import { getListReserve } from "@/api/basic_data/warehouse";
 export default {
+  mixins: [Mixin],
   data() {
     return {
       dataList: [
@@ -112,8 +116,25 @@ export default {
       ],
     };
   },
+  created() {
+    this.getList();
+  },
+  methods: {
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+      };
+      getListReserve(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+        console.log(this.dataList, 1233);
+      });
+    },
+  },
 };
 </script>
 
-<style lang="scss" scoped>
-</style>
+<style lang="scss" scoped></style>

+ 279 - 70
src/views/basic_data/warehouse/warehouse_cost.vue

@@ -33,11 +33,20 @@
 
     <!-- 筛选条件 -->
     <div>
-      <el-form label-width="70px" size="small" label-position="left">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="70px"
+        size="small"
+        label-position="left"
+      >
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="条件" prop="account">
-              <el-input placeholder="请输入筛选条件"></el-input>
+            <el-form-item label="条件" prop="customerName">
+              <el-input
+                placeholder="请输入筛选条件"
+                v-model="screenForm.customerName"
+              ></el-input>
             </el-form-item>
           </el-col>
 
@@ -55,20 +64,65 @@
     <!-- 按钮 -->
     <div class="btn-group clearfix">
       <div class="fl">
-        <el-button type="primary" size="small">新增</el-button>
-        <el-button type="primary" size="small">编辑</el-button>
-        <el-button type="primary" size="small">删除</el-button>
+        <el-button
+          type="primary"
+          size="small"
+          @click="
+            () => {
+              (showDialog = true), (type = 1);
+            }
+          "
+          >新增</el-button
+        >
+        <el-button
+          type="primary"
+          size="small"
+          @click="
+            () => {
+              (showDialog = true), (type = 2);
+            }
+          "
+          >编辑</el-button
+        >
+        <el-popconfirm
+          confirm-button-text="好的"
+          cancel-button-text="不用了"
+          icon="el-icon-info"
+          icon-color="red"
+          title="内容确定删除吗?"
+          @onConfirm="hanleDeleteAll"
+        >
+          <el-button
+            type="primary"
+            size="small"
+            slot="reference"
+            class="el-popover-left"
+            >删除</el-button
+          >
+        </el-popconfirm>
       </div>
       <div class="fr">
-        <el-button type="primary" size="small">导入</el-button>
-        <el-button type="primary" size="small">导出</el-button>
-        <el-button type="primary" size="small">打印</el-button>
+        <el-upload
+          class="import-btn"
+          :action="baseURL + 'student/import'"
+          :http-request="handleImport"
+          :file-list="importFileList"
+        >
+          <el-button type="primary" size="small">导入</el-button>
+        </el-upload>
+        <el-button type="primary" size="small" @click="handleExport"
+          >导出</el-button
+        >
+        <el-button type="primary" size="small" @click="hanlePrint"
+          >打印</el-button
+        >
       </div>
     </div>
 
     <div class="mymain-container">
       <!-- 列表 -->
       <div class="table">
+        <!-- startprint -->
         <el-table
           v-loading="listLoading"
           :data="dataList"
@@ -77,20 +131,21 @@
           fit
           highlight-current-row
           stripe
+          @select-all="hanleSelectAll"
         >
           <el-table-column type="selection" align="center" min-width="100" />
 
           <el-table-column
             align="center"
             label="经销商编码"
-            prop="bianma"
+            prop="customerNumber"
             min-width="160"
             show-overflow-tooltip
           />
           <el-table-column
             align="center"
             label="经销商名称"
-            prop="dealerName"
+            prop="customerName"
             min-width="160"
             show-overflow-tooltip
           />
@@ -104,35 +159,35 @@
           <el-table-column
             align="center"
             label="收费规则(每立方米)"
-            prop="rule"
+            prop="toll"
             min-width="160"
             show-overflow-tooltip
           />
           <el-table-column
             align="center"
             label="创建人"
-            prop="createMan"
+            prop="createBy"
             min-width="160"
             show-overflow-tooltip
           />
           <el-table-column
             align="center"
             label="创建时间"
-            prop="createDate"
+            prop="createTime"
             min-width="160"
             show-overflow-tooltip
           />
           <el-table-column
             align="center"
             label="更新人"
-            prop="updateMan"
+            prop="updateBy"
             min-width="160"
             show-overflow-tooltip
           />
           <el-table-column
             align="center"
             label="更新时间"
-            prop="updateDate"
+            prop="updateTime"
             min-width="160"
             show-overflow-tooltip
           />
@@ -142,12 +197,38 @@
             min-width="160"
             show-overflow-tooltip
           >
-            <el-button type="text" class="textColor" @click="editFn"
-              >编辑</el-button
-            >
-            <el-button type="text" class="textColor">删除</el-button>
+            <template slot-scope="scope">
+              <el-button
+                type="text"
+                class="textColor"
+                @click="hanleDetail(scope.row)"
+                >详情</el-button
+              >
+              <el-button
+                type="text"
+                class="textColor"
+                @click="editFn(scope.row.id, scope.row)"
+                >编辑</el-button
+              >
+              <el-popconfirm
+                confirm-button-text="好的"
+                cancel-button-text="不用了"
+                icon="el-icon-info"
+                icon-color="red"
+                title="内容确定删除吗?"
+                @onConfirm="hanleDelete(scope.row.id)"
+              >
+                <el-button
+                  slot="reference"
+                  type="text"
+                  class="textColor el-popover-left"
+                  >删除</el-button
+                >
+              </el-popconfirm>
+            </template>
           </el-table-column>
         </el-table>
+        <!-- endprint -->
       </div>
       <!-- 分页 -->
       <div class="fr">
@@ -173,16 +254,25 @@
       <el-form :model="dialogForm" label-width="100px" label-position="right">
         <el-form-item label="经销商编码">
           <el-select
-            v-model="dialogForm.bianma"
+            v-model="dialogForm.customerNumber"
             placeholder="请选择活动区域"
             class="inputStyle"
+            v-el-select-loadmore="loadMore"
           >
-            <el-option label="区域一" value="shanghai"></el-option>
-            <el-option label="区域二" value="beijing"></el-option>
+            <el-option
+              v-for="item in customerList"
+              :key="item.id"
+              :label="item.number"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
+
         <el-form-item label="经销商名称">
-          <el-input v-model="dialogForm.name" class="inputStyle"></el-input>
+          <el-input
+            v-model="dialogForm.customerName"
+            class="inputStyle"
+          ></el-input>
         </el-form-item>
         <el-form-item label="仓库存放" class="sty">
           <el-input
@@ -190,77 +280,196 @@
             class="inputStyle"
           />天内可免费受存储管理费用. 当超过
           <el-input
-            v-model="dialogForm.day"
+            v-model="dialogForm.freeDay"
             class="inputStyle"
           />天后,按每立方米
-          <el-input v-model="dialogForm.money" class="inputStyle" />
+          <el-input v-model="dialogForm.toll" class="inputStyle" />
           元/天计算
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="showDialog = false">取 消</el-button>
-        <el-button type="primary" @click="showDialog = false">确 定</el-button>
+        <el-button type="primary" @click="hanleInfo">确 定</el-button>
       </div>
     </el-dialog>
   </div>
 </template>
 
 <script>
+import Mixin from "@/mixin/index";
+import { findElem, downloadFiles, handleImport } from "@/utils/util";
+
+import {
+  getListToll,
+  getDetail,
+  updateToll,
+  addToll,
+  deleteToll,
+  getCustomerList,
+} from "@/api/basic_data/warehouse";
 export default {
+  mixins: [Mixin],
   data() {
     return {
+      sleectBox: {
+        currentPage: 1, // 当前页码
+        pageSize: 10, // 每页数量
+        listTotal: 0, // 列表总数
+      },
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
+      importLoading: false, // 导入加载loading
+      importFileList: [], // 导入列表
       dialogForm: {
-        bianma: "",
-        name: "",
-        day: "",
-        freeDay: "",
-        money: "",
+        customerName: "",
+        customerNumber: "",
+        freeDay: 0,
+        toll: 0,
       },
       showDialog: false,
-      dataList: [
-        {
-          num: "1",
-          bianma: "1002",
-          dealerName: "佛山市禅城区梁云冷气经营部",
-          rule: "0.1",
-          freeDay: "123",
-          createMan: "张三",
-          createDate: "2000/01/01",
-          updateMan: "张三",
-          updateDate: "2020/01/01",
-        },
-        {
-          num: "1",
-          bianma: "1002",
-          dealerName: "佛山市禅城区梁云冷气经营部",
-          rule: "0.1",
-          freeDay: "123",
-          createMan: "张三",
-          createDate: "2000/01/01",
-          updateMan: "张三",
-          updateDate: "2020/01/01",
-        },
-        {
-          num: "1",
-          bianma: "1002",
-          dealerName: "佛山市禅城区梁云冷气经营部",
-          rule: "0.1",
-          freeDay: "123",
-          createMan: "张三",
-          createDate: "2000/01/01",
-          updateMan: "张三",
-          updateDate: "2020/01/01",
-        },
-      ],
+      dataList: [],
+      screenForm: {
+        customerName: "",
+        freeDay: "",
+        toll: "",
+      },
+      type: null, // 1 新增  2 修改  null 详情
     };
   },
+  created() {
+    this.getList();
+    this.getCustomerList();
+  },
+  directives: {
+    "el-select-loadmore": {
+      bind(el, binding) {
+        // 获取element-ui定义好的scroll盒⼦
+        const SELECTWRAP_DOM = el.querySelector(
+          ".el-select-dropdown .el-select-dropdown__wrap"
+        );
+        SELECTWRAP_DOM.addEventListener("scroll", function () {
+          /**
+           * scrollHeight 获取元素内容⾼度(只读)
+           * scrollTop 获取或者设置元素的偏移值,常⽤于, 计算滚动条的位置, 当⼀个元素的容器没有产⽣垂直⽅向的滚动条, 那它的scrollTop的值默认为0.
+           * clientHeight 读取元素的可见⾼度(只读)
+           * 如果元素滚动到底, 下⾯等式返回true, 没有则返回false:
+           * ele.scrollHeight - ele.scrollTop === ele.clientHeight;
+           */
+          const condition =
+            this.scrollHeight - this.scrollTop <= this.clientHeight;
+          if (condition) {
+            console.log("到底", binding);
+          }
+        });
+      },
+    },
+  },
   methods: {
-    editFn() {
+    editFn(id, row) {
+      this.type = 2;
+      this.diaLogForm = {
+        id,
+        customerName: row.customerName,
+        customerNumber: row.customerNumber,
+        freeDay: row.freeDay,
+        toll: row.toll,
+      };
       this.showDialog = true;
     },
+    hanleInfo() {
+      if (this.type === 1) {
+        addToll(this.diaLogForm).then((res) => {
+          this.$successMsg("保存成功");
+          console.log(params, 123);
+          this.getList();
+        });
+      } else if (this.type === 2) {
+        const params = {
+          ...this.diaLogForm,
+        };
+        console.log(params, 123);
+        updateToll(params).then((res) => {
+          this.$successMsg("编辑成功");
+          this.getList();
+        });
+        this.diaLogForm.id = null;
+      }
+      this.showDialog = false;
+    },
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        customerName: this.screenForm.customerName,
+        freeDay: this.screenForm.freeDay,
+        toll: this.screenForm.toll,
+      };
+      getListToll(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      });
+    },
+    loadmore() {
+      this.sleectBox.currentPage++;
+      console.log(1233);
+      this.getCustomerList();
+    },
+    getCustomerList() {
+      let params = {
+        pageNum: this.sleectBox.currentPage,
+        pageSize: this.sleectBox.pageSize,
+        keyword: "",
+      };
+      getCustomerList(params).then((res) => {
+        this.customerList = res.data.records;
+        // this.listTotal = res.data.total;
+      });
+    },
+    hanleDetail(detail) {
+      this.type = null;
+      this.showDialogForm = true;
+      this.diaLogForm = detail;
+    },
+
+    handleExport() {
+      let screenData = {
+        customerName: this.screenForm.customerName,
+        freeDay: this.screenForm.freeDay,
+        toll: this.screenForm.toll,
+      };
+      downloadFiles("/stock/exportToll", screenData);
+    },
+    // 删除数据
+    hanleDelete(id) {
+      deleteToll({ id }).then((res) => {
+        this.$successMsg("删除成功");
+        this.getList();
+      });
+    },
+    // 导入
+    async handleImport(param) {
+      this.importLoading = true;
+      const file = param.file;
+      console.log(file, 123);
+      const formData = new FormData();
+      formData.append("file", file);
+      let result = await handleImport("/stock/importToll", formData);
+      this.importLoading = false;
+      this.importFileList = [];
+      if (result.code == 200) {
+        this.$alert(result.message, "导入成功", {
+          confirmButtonText: "确定",
+        });
+        this.getList();
+      } else {
+        this.$alert(result.message, "导入失败", {
+          confirmButtonText: "确定",
+        });
+      }
+    },
   },
 };
 </script>
@@ -317,5 +526,5 @@ export default {
 .main {
   padding: 12px;
 }
-</style>>
-
+</style>
+>

+ 114 - 76
src/views/basic_data/warehouse/warehouse_list.vue

@@ -3,14 +3,22 @@
     <div v-if="isShow">
       <!-- 筛选条件 -->
       <div>
-        <el-form label-width="70px" size="small" label-position="left">
+        <el-form
+          ref="screenForm"
+          :model="screenForm"
+          label-width="70px"
+          size="small"
+          label-position="left"
+        >
           <el-row :gutter="20">
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="关键字" prop="account">
-                <el-input placeholder="请输入关键字"></el-input>
+              <el-form-item label="关键字" prop="name">
+                <el-input
+                  placeholder="请输入关键字"
+                  v-model="screenForm.name"
+                ></el-input>
               </el-form-item>
             </el-col>
-
             <el-col :xs="24" :sm="12" :lg="18" class="tr">
               <el-form-item label="">
                 <el-button size="small" @click="resetScreenForm"
@@ -43,7 +51,7 @@
             <el-table-column
               align="center"
               label="编码"
-              prop="bianMa"
+              prop="number"
               min-width="100"
               label-class-name="bianma"
               class-name="fontstyle"
@@ -63,51 +71,83 @@
             <el-table-column
               align="center"
               label="仓库负责人"
-              prop="storeUser"
+              prop="principalName"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="仓库属性"
-              prop="storeAttribute"
+              prop="stockProperty"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="第三方仓储类型"
-              prop="storeType"
+              prop="gysStockNumber"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="数据状态"
-              prop="dataState"
+              prop="documentStatus"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="允许即时库存负库存"
-              prop="allow"
+              prop="allowMinusQty"
               min-width="100"
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                <el-tag
+                  type="success"
+                  v-if="scope.row.allowMinusQty !== 'false'"
+                  >是</el-tag
+                >
+                <el-tag type="danger" v-else>否</el-tag>
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="启用仓位管理"
-              prop="openStore"
+              prop="openLocation"
               min-width="100"
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                <el-tag type="success" v-if="scope.row.openLocation !== 'false'"
+                  >是</el-tag
+                >
+                <el-tag type="danger" v-else>否</el-tag>
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="不参与可发量统计"
-              prop="noStatistics"
+              prop="notExpQty"
               min-width="100"
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                <el-tag type="success" v-if="scope.row.notExpQty !== 'false'"
+                  >是</el-tag
+                >
+                <el-tag type="danger" v-else>否</el-tag>
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="参与预警"
-              prop="warning"
+              prop="availableAlert"
               min-width="100"
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                <el-tag
+                  type="success"
+                  v-if="scope.row.availableAlert !== 'false'"
+                  >是</el-tag
+                >
+                <el-tag type="danger" v-else>否</el-tag>
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="操作"
@@ -115,16 +155,43 @@
               min-width="160"
               show-overflow-tooltip
             >
-              <el-button type="text" class="textColor" @click="editFn"
-                >编辑</el-button
-              >
-              <el-button type="text" class="textColor">删除</el-button>
+              <template slot-scope="scope">
+                <el-button
+                  type="text"
+                  class="textColor"
+                  @click="hanleDetail(scope.row.id)"
+                  >详情</el-button
+                >
+                <!-- <el-button
+                  type="text"
+                  class="textColor"
+                  @click="editFn(scope.row.id, scope.row)"
+                  >编辑</el-button
+                >
+                <el-popconfirm
+                  confirm-button-text="好的"
+                  cancel-button-text="不用了"
+                  icon="el-icon-info"
+                  icon-color="red"
+                  title="内容确定删除吗?"
+                  @onConfirm="hanleDelete(scope.row.id)"
+                >
+                  <el-button
+                    slot="reference"
+                    type="text"
+                    class="textColor el-popover-left"
+                    >删除</el-button
+                  >
+                </el-popconfirm> -->
+              </template>
             </el-table-column>
           </el-table>
         </div>
         <!-- 分页 -->
         <div class="fr">
           <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
             :current-page="currentPage"
             :page-sizes="[10, 20, 30, 50]"
             :page-size="10"
@@ -135,83 +202,54 @@
         </div>
       </div>
     </div>
-    <WarehouseListDetail v-else />
+    <WarehouseListDetail v-else :detail="detail" />
   </div>
 </template>
 
 <script>
+import { getList, getStockDetail } from "@/api/basic_data/warehouse";
+import Mixin from "@/mixin/index";
 import WarehouseListDetail from "./components/warehouse_list-detail.vue";
 export default {
+  mixins: [Mixin],
   data() {
     return {
       isShow: true,
-      dataList: [
-        {
-          bianMa: "BXGM001",
-          name: "冰箱美国仓",
-          address: "",
-          storeUser: "",
-          storeAttribute: "普通仓库",
-          storeType: "",
-          dataState: "已审核",
-          allow: "否",
-          openStore: "否",
-          noStatistics: "否",
-          warning: "是",
-        },
-        {
-          bianMa: "BXGM001",
-          name: "冰箱美国仓",
-          address: "",
-          storeUser: "",
-          storeAttribute: "普通仓库",
-          storeType: "",
-          dataState: "已审核",
-          allow: "否",
-          openStore: "否",
-          noStatistics: "否",
-          warning: "是",
-        },
-        {
-          bianMa: "BXGM001",
-          name: "冰箱美国仓",
-          address: "",
-          storeUser: "",
-          storeAttribute: "普通仓库",
-          storeType: "",
-          dataState: "已审核",
-          allow: "否",
-          openStore: "否",
-          noStatistics: "否",
-          warning: "是",
-        },
-      ], // 列表数据
-
       screenForm: {
         // 筛选表单数据
         name: "", // 名称
       },
-      currentPage: 1, // 当前页码
-      pageSize: 10, // 每页数量
-      listTotal: 0, // 列表总数
+      detail: {},
     };
   },
   components: {
     WarehouseListDetail,
   },
+
   methods: {
     editFn() {
       this.isShow = false;
     },
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        name: this.screenForm.name,
+      };
+      getList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      });
+    },
+    //查看详情
+    hanleDetail(id) {
+      getStockDetail({ id }).then((res) => {
+        this.detail = res.data;
+      });
+      this.isShow = false
+    },
   },
 };
 </script>
-
-<style lang="scss" scoped>
-// ::v-deep .fontstyle {
-//   color: #0909ff;
-// }
-// ::v-deep .bianma {
-//   color: #409eff;
-// }
-</style>

+ 166 - 75
src/views/basic_data/warehouse/warehouse_site.vue

@@ -2,16 +2,28 @@
   <div class="app-container">
     <!-- 筛选条件 -->
     <div>
-      <el-form label-width="70px" size="small" label-position="left">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="70px"
+        size="small"
+        label-position="left"
+      >
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="仓库名称" prop="account">
-              <el-input placeholder="请输入仓库名称"></el-input>
+              <el-input
+                placeholder="请输入仓库名称"
+                v-model="screenForm.name"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="仓位名称" prop="nickname">
-              <el-input placeholder="请输入仓位名称"></el-input>
+              <el-input
+                placeholder="请输入仓位名称"
+                v-model="screenForm.storeName"
+              ></el-input>
             </el-form-item>
           </el-col>
 
@@ -29,8 +41,10 @@
     <!-- 按钮 -->
     <div class="btn-group clearfix">
       <div class="fl">
-        <el-button type="primary" size="small">新增</el-button>
-        <el-button type="primary" size="small">编辑</el-button>
+        <el-button type="primary" size="small" @click="showDialogForm = true,type=1"
+          >新增</el-button
+        >
+        <el-button type="primary" size="small" @click="showDialogForm = true,type=2">编辑</el-button>
         <el-button type="primary" size="small">删除</el-button>
       </div>
     </div>
@@ -49,66 +63,76 @@
           <el-table-column
             align="center"
             label="序号"
-            prop="num"
-            min-width="60"
+            type="index"
+            width="60"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="仓库名称"
-            prop="storeName"
+            prop="name"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="仓位名称"
-            prop="positionName"
+            prop="kingDeeStocks.name"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+            <!-- <template slot-scope="scope">
+            {{scope.row.kingDeeStocks.name}}
+          </template> -->
+          </el-table-column>
           <el-table-column
             align="center"
             label="库存警戒线"
-            prop="alert"
+            prop="stockCordon"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="库存充足"
-            prop="adequate"
+            prop="status"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+            <template slot-scope="scope">
+                <el-tag type="success" v-if="scope.row.status===1">充足</el-tag>
+                <el-tag type="danger" v-else>不充足</el-tag>
+            </template>
+          </el-table-column>
           <el-table-column
             align="center"
             label="创建人"
-            prop="createUser"
+            prop="createBy"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="创建时间"
-            prop="createDate"
+            prop="createTime"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="更新人"
-            prop="updateUser"
+            prop="updateBy"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="更新时间"
-            prop="updateDate"
+            prop="updateTime"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+          </el-table-column>
 
           <el-table-column
             align="center"
@@ -116,10 +140,36 @@
             min-width="160"
             show-overflow-tooltip
           >
-            <el-button type="text" class="textColor" @click="editFn"
-              >编辑</el-button
-            >
-            <el-button type="text" class="textColor">删除</el-button>
+      <template slot-scope="scope">
+              <el-button
+                type="text"
+                class="textColor"
+                @click="hanleDetail(scope.row)"
+                >详情</el-button
+              >
+              <el-button
+                type="text"
+                class="textColor"
+                @click="editFn(scope.row.id, scope.row)"
+                >编辑</el-button
+              >
+              <el-popconfirm
+                confirm-button-text="好的"
+                cancel-button-text="不用了"
+                icon="el-icon-info"
+                icon-color="red"
+                title="内容确定删除吗?"
+                @onConfirm="hanleDelete(scope.row.id)"
+              >
+                <el-button
+                  slot="reference"
+                  type="text"
+
+                  class="textColor el-popover-left"
+                  >删除</el-button
+                >
+              </el-popconfirm>
+            </template>
           </el-table-column>
         </el-table>
       </div>
@@ -144,16 +194,18 @@
       :show-close="false"
       :close-on-click-modal="false"
     >
-      <el-form ref="form" :model="diaLogForm" label-width="100px">
+      <el-form
+        ref="diaLogForm"
+        :model="diaLogForm"
+        label-width="70px"
+        size="small"
+        label-position="left"
+      >
         <el-form-item label="仓库名称">
-          <el-input v-model="diaLogForm.storeName"></el-input>
+          <el-input v-model="diaLogForm.name"></el-input>
         </el-form-item>
         <el-form-item label="仓位名称">
-          <el-select
-            v-model="diaLogForm.positionName"
-            multiple
-            placeholder="请选择"
-          >
+          <el-select v-model="diaLogForm.name" multiple placeholder="请选择">
             <el-option
               v-for="item in options"
               :key="item.value"
@@ -164,16 +216,19 @@
           </el-select>
         </el-form-item>
         <el-form-item label="库存警戒线">
-          <el-input v-model="diaLogForm.alert"></el-input>
+          <el-input v-model="diaLogForm.stockCordon"></el-input>
         </el-form-item>
-        <el-form-item label="库存状态"> - </el-form-item>
+        <!-- <el-form-item label="库存状态">
+          <el-radio v-model="diaLogForm.status" label="1">充足</el-radio>
+          <el-radio v-model="diaLogForm.status" label="2">补充足</el-radio>
+        </el-form-item> -->
         <el-form-item label="备注">
-          <el-input type="textarea" v-model="diaLogForm.text"></el-input>
+          <el-input type="textarea" v-model="diaLogForm.remark"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="showDialogForm = false">取 消</el-button>
-        <el-button type="primary" @click="showDialogForm = false"
+        <elshowDialogForm @click="showDialogForm = false">取 消</elshowDialogForm = false-button>
+        <el-button type="primary" @click="hanleInfo"
           >确 定</el-button
         >
       </div>
@@ -182,7 +237,10 @@
 </template>
 
 <script>
+import Mixin from "@/mixin/index";
+import { getListStock,addStock,updateStock,deleteStock } from "@/api/basic_data/warehouse";
 export default {
+  mixins: [Mixin],
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -211,57 +269,90 @@ export default {
         },
       ],
       diaLogForm: {
-        storeName: "",
-        positionName: [],
-        alert: "",
-        text: "",
+      id:null,
+      name: "",
+      remark: "",
+    	status: 1,
+    	stockCordon: 0,
+      stockIds: [],
+      updateBy: "",
+    	updateTime: ""
       },
       showDialogForm: false,
-      dataList: [
-        {
-          num: "1",
-          storeName: "万豪仓",
-          positionName: "万豪普通仓",
-          alert: "122台",
-          adequate: "充足",
-          createUser: "LID",
-          createDate: "2022-05-12 12:00",
-          updateUser: "LID",
-          updateDate: "2022-05-24 12:08",
-        },
-        {
-          num: "1",
-          storeName: "万豪仓",
-          positionName: "万豪普通仓",
-          alert: "122台",
-          adequate: "充足",
-          createUser: "LID",
-          createDate: "2022-05-12 12:00",
-          updateUser: "LID",
-          updateDate: "2022-05-24 12:08",
-        },
-        {
-          num: "1",
-          storeName: "万豪仓",
-          positionName: "万豪普通仓",
-          alert: "122台",
-          adequate: "充足",
-          createUser: "LID",
-          createDate: "2022-05-12 12:00",
-          updateUser: "LID",
-          updateDate: "2022-05-24 12:08",
-        },
-      ],
       searchForm: {
-        positionName: "",
+        name: "",
         storeName: "",
       },
+      type:null,
     };
   },
   methods: {
     addFn() {
       this.showDialogForm = true;
     },
+     //显示编辑,编辑数据初始化
+    editFn(id, row) {
+      this.type = 2;
+      this.diaLogForm = {
+      id,
+      name: row.name,
+      remark: row.remark,
+    	status: row.status,
+    	stockCordon: row.stockCordon,
+      stockIds: row.stockIds === undefined? [] : row.stockIds,
+      };
+      this.showDialogForm = true;
+    },
+    hanleInfo() {
+      if (this.type===1) {
+          addStock(this.diaLogForm).then((res) => {
+          this.$successMsg("保存成功");
+          this.showDialogForm = false;
+          this.getList();
+        });
+      }else{
+        const params = {
+              ...this.diaLogForm
+        }
+        console.log(params,123);
+         updateStock(params).then(res=>{
+           this.$successMsg("保存成功");
+          this.showDialogForm = false;
+          this.getList();
+         })
+      }
+        this.diaLogForm = {
+              name: "",
+              remark: "",
+              status: 0,
+              stockCordon: 0,
+              stockIds: [],
+              updateBy: "",
+              updateTime: ""
+        }
+    },
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        name: this.screenForm.name,
+        storeName: this.screenForm.storeName,
+      };
+      getListStock(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+        console.log(this.dataList, 1233);
+      });
+    },
+     // 删除数据
+    hanleDelete(id) {
+        deleteStock({id}).then(res=>{
+            this.$successMsg("删除成功");
+                  this.getList();
+        })
+    }
   },
 };
 </script>
@@ -288,4 +379,4 @@ export default {
 .right {
   float: right;
 }
-</style>
+</style>

+ 9 - 8
src/views/merchant/merchant_list.vue

@@ -32,7 +32,7 @@
               </el-select>
             </el-form-item>
           </el-col>
-          
+
           <el-col :xs="24" :sm="12" :lg="18" class="tr">
             <el-form-item label="">
               <el-button size="small" @click="resetScreenForm">清空</el-button>
@@ -101,7 +101,7 @@
         </el-pagination>
       </div>
     </div>
-    
+
     <!-- 详情弹窗 -->
     <el-dialog
       title="详情"
@@ -144,8 +144,8 @@
           <el-button type="primary" @click="submitmainForm">保存</el-button>
         </el-form-item> -->
       </el-form>
-      
-    
+
+
     <!-- 重置密码 -->
     <el-dialog append-to-body title="重置密码" :visible.sync="resetFormVisible" :show-close="false" width="500px" :close-on-click-modal="false">
       <el-form ref="resetForm" :model="resetForm" :rules="resetFormRules" label-position="left" label-width="100px">
@@ -183,7 +183,7 @@ import { getToken } from '@/utils/auth'
 
 export default {
   // components:{MERCHANT_DETAIL},
-  
+
   data() {
     var validatePass = (rule, value, callback) => {
       if (value === '') {
@@ -220,7 +220,7 @@ export default {
         chargePerson: '', // 负责人
         phone: '', // 联系电话
         kingdeeId: '',
-        kingdeeName: '',          
+        kingdeeName: '',
         email: '', // 电子邮箱
         address: '', // 地址
         newPassword: '', // 新密码
@@ -230,7 +230,7 @@ export default {
       passwordType1: 'password',
       passwordType2: 'password',
 
-      
+
       resetFormVisible: false,
       resetForm: {
         newPassword: '', // 新密码
@@ -246,7 +246,7 @@ export default {
       },
 
       formLoading: false,
-    
+
 
       detailDiaLog:false,//详情弹窗
       isOpen: false, // 是否展开条件筛选
@@ -405,6 +405,7 @@ export default {
         email: this.screenForm.email,
         status: this.screenForm.status,
       };
+
       getList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott