diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/0/c/0c6792b66c9573faf6f7f102bb584f282187174b b/wms_pro/hd/.idea/sonarlint/issuestore/0/c/0c6792b66c9573faf6f7f102bb584f282187174b
deleted file mode 100644
index 0f45d7f8..00000000
--- a/wms_pro/hd/.idea/sonarlint/issuestore/0/c/0c6792b66c9573faf6f7f102bb584f282187174b
+++ /dev/null
@@ -1,11 +0,0 @@
-
-u	java:S116%"[Rename this field "local_table_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�ֵ������
-p	java:S116*"VRename this field "api_address" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�ԛ������
-n	java:S116/"TRename this field "sync_type" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(���������
-t	java:S1164"ZRename this field "external_system" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�Ĥ������
-q	java:S1169"WRename this field "mapping_json" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�Ύ������
-s	java:S116>"YRename this field "last_update_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(���������
-p	java:S116C"[Rename this field "last_update_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�Ȯ�
-u	java:S116H"[Rename this field "last_update_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(��Λ�����
-B
-java:S1948N"&Make "dtos" transient or serializable.(���d8�����1
\ No newline at end of file
diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/3/8/3828de74f3f9d1252984dd2c3524e61bc6632160 b/wms_pro/hd/.idea/sonarlint/issuestore/3/8/3828de74f3f9d1252984dd2c3524e61bc6632160
deleted file mode 100644
index e69de29b..00000000
diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/6/3/6380d92563f750329b625bda0586fc4ba3b71943 b/wms_pro/hd/.idea/sonarlint/issuestore/6/3/6380d92563f750329b625bda0586fc4ba3b71943
deleted file mode 100644
index 3f8b72a5..00000000
--- a/wms_pro/hd/.idea/sonarlint/issuestore/6/3/6380d92563f750329b625bda0586fc4ba3b71943
+++ /dev/null
@@ -1,2 +0,0 @@
-
-r	java:S117A"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�̘������8����1
\ No newline at end of file
diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/9/0/9019fde59766868f22fd17bff1ddac61f4908ef3 b/wms_pro/hd/.idea/sonarlint/issuestore/9/0/9019fde59766868f22fd17bff1ddac61f4908ef3
deleted file mode 100644
index ef8a8000..00000000
--- a/wms_pro/hd/.idea/sonarlint/issuestore/9/0/9019fde59766868f22fd17bff1ddac61f4908ef3
+++ /dev/null
@@ -1,5 +0,0 @@
-
-k	java:S117]"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�������
-f	java:S117a"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�쁵
-d
-java:S3252b"OUse static access with "cn.hutool.core.text.CharSequenceUtil" for "isNotBlank".(���q
\ No newline at end of file
diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/index.pb b/wms_pro/hd/.idea/sonarlint/issuestore/index.pb
index 0f42689b..7c852ae0 100644
--- a/wms_pro/hd/.idea/sonarlint/issuestore/index.pb
+++ b/wms_pro/hd/.idea/sonarlint/issuestore/index.pb
@@ -33,19 +33,11 @@ m
 =nladmin-system/src/main/java/org/nl/common/TableDataInfo.java,a/8/a85494925056ae5a2edbd2ec7eee55976b36080f
 w
 Gnladmin-system/src/main/java/org/nl/common/domain/entity/PageQuery.java,4/c/4c2e7c33185348f635f5a9dbcc6943e1266cd690
-�
-mnladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/IBmExternalFieldMappingService.java,6/3/6380d92563f750329b625bda0586fc4ba3b71943
-�
-unladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/impl/BmExternalFieldMappingServiceImpl.java,9/0/9019fde59766868f22fd17bff1ddac61f4908ef3
 �
 fnladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dto/RequestMappingParam.java,b/9/b9d6f798f97296813c3841cfa2a60c772c87530a
 �
 _nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dto/MappingQuery.java,8/6/866203b5eb8727cc6dfd1175f534632b5b301cf2
 �
 ]nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dto/MappingDto.java,e/4/e4d40d63f40ac834a65cd47f2b9ab2436efb39d1
-�
-inladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/BmExternalFieldMapping.java,0/c/0c6792b66c9573faf6f7f102bb584f282187174b
-�
-vnladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/mapper/BmExternalFieldMappingMapper.java,3/8/3828de74f3f9d1252984dd2c3524e61bc6632160
 �
 ynladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/mapper/xml/BmExternalFieldMappingMapper.xml,8/5/8579f2942008652ebd59f8eed6fafca608a42516
\ No newline at end of file
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/controller/BmSupplierController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/controller/BmSupplierController.java
new file mode 100644
index 00000000..10f39d0a
--- /dev/null
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/controller/BmSupplierController.java
@@ -0,0 +1,61 @@
+
+package org.nl.wms.base_manage.supplier.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.nl.common.TableDataInfo;
+import org.nl.common.domain.entity.PageQuery;
+import org.nl.wms.base_manage.supplier.service.IBmSupplierService;
+import org.nl.wms.base_manage.supplier.service.dao.BmSupplier;
+import org.nl.wms.base_manage.supplier.service.dto.SupplierQuery;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+
+
+/**
+ * @author zhouz
+ * @date 2021-12-06
+ **/
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/api/bmSupplier")
+@Slf4j
+public class BmSupplierController {
+
+    @Autowired
+    private IBmSupplierService supplierService;
+
+    @GetMapping
+    public ResponseEntity<Object> getAll(SupplierQuery query, PageQuery page) {
+        return new ResponseEntity<>(TableDataInfo.build(supplierService.page(page.build(), query.build())), HttpStatus.OK);
+    }
+
+    @PostMapping
+    public ResponseEntity<Object> create(@Validated @RequestBody BmSupplier dto) {
+        supplierService.save(dto);
+        return new ResponseEntity<>(HttpStatus.CREATED);
+    }
+
+
+    @PutMapping
+    public ResponseEntity<Object> update(@Validated @RequestBody BmSupplier dto) {
+        supplierService.update(dto, new LambdaUpdateWrapper<BmSupplier>().eq(BmSupplier::getSupp_id, dto.getSupp_id()));
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+
+    @DeleteMapping
+    public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
+        if (ids.length > 0) {
+            supplierService.removeByIds(Arrays.asList(ids));
+        }
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/IBmSupplierService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/IBmSupplierService.java
new file mode 100644
index 00000000..1c264ffc
--- /dev/null
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/IBmSupplierService.java
@@ -0,0 +1,14 @@
+
+package org.nl.wms.base_manage.supplier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.nl.wms.base_manage.supplier.service.dao.BmSupplier;
+
+/**
+* @description 服务接口
+* @author zhouz
+* @date 2021-12-06
+**/
+public interface IBmSupplierService extends IService<BmSupplier> {
+
+}
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/BmSupplier.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/BmSupplier.java
new file mode 100644
index 00000000..18613838
--- /dev/null
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/BmSupplier.java
@@ -0,0 +1,161 @@
+package org.nl.wms.base_manage.supplier.service.dao;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author zhouz
+ * @description /
+ * @date 2021-12-06
+ **/
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("bm_supplier")
+public class BmSupplier implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 供应商标识
+     */
+    private Long supp_id;
+
+    /**
+     * 供应商编码
+     */
+    private String supp_code;
+
+    /**
+     * 供应商名称
+     */
+    private String supp_name;
+
+    /**
+     * 法人代表
+     */
+    private String jurid_name;
+
+    /**
+     * 税务登记号
+     */
+    private String tax_no;
+
+    /**
+     * 工商注册号
+     */
+    private String register_no;
+
+    /**
+     * 经营许可证号
+     */
+    private String manage_lice_no;
+
+    /**
+     * 营业执照
+     */
+    private String busi_char_name;
+
+    /**
+     * 行政区划
+     */
+    private Long area_id;
+
+    /**
+     * 邮政编码
+     */
+    private String zip_code;
+
+    /**
+     * 公司电话
+     */
+    private String corp_tele_no;
+
+    /**
+     * 公司地址
+     */
+    private String corp_address;
+
+    /**
+     * 创建人
+     */
+    private String create_id;
+
+    /**
+     * 创建人姓名
+     */
+    private String create_name;
+
+    /**
+     * 创建时间
+     */
+    private String create_time;
+
+    /**
+     * 修改人
+     */
+    private String update_id;
+
+    /**
+     * 修改人姓名
+     */
+    private String update_name;
+
+    /**
+     * 修改时间
+     */
+    private String update_time;
+
+    /**
+     * 启用时间
+     */
+    private String is_used_time;
+
+    /**
+     * 是否启用
+     */
+    private String is_used;
+
+    /**
+     * 是否删除
+     */
+    private String is_delete;
+
+    /**
+     * 外部标识
+     */
+    private String ext_id;
+
+    /**
+     * 条码打印起始值
+     */
+    private String barcode_print;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 分类标识
+     */
+    private Long class_id;
+
+    /**
+     * 分类编码
+     */
+    private String class_code;
+
+    /**
+     * 分类名称
+     */
+    private String class_name;
+
+    /**
+     * 资金计划履约天数
+     */
+    private BigDecimal honour_days;
+}
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/BmSupplierMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/BmSupplierMapper.java
new file mode 100644
index 00000000..6433ee0f
--- /dev/null
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/BmSupplierMapper.java
@@ -0,0 +1,21 @@
+package org.nl.wms.base_manage.supplier.service.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.nl.wms.base_manage.field_mapping.service.dao.BmExternalFieldMapping;
+import org.nl.wms.base_manage.supplier.service.dao.BmSupplier;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 同步字段映射表 Mapper 接口
+ * </p>
+ *
+ * @author generator
+ * @since 2024-03-06
+ */
+public interface BmSupplierMapper extends BaseMapper<BmSupplier> {
+
+}
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/xml/BmSupplierMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/xml/BmSupplierMapper.xml
new file mode 100644
index 00000000..95b9dfa6
--- /dev/null
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/xml/BmSupplierMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.nl.wms.base_manage.supplier.service.dao.mapper.BmSupplierMapper">
+
+</mapper>
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dto/SupplierQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dto/SupplierQuery.java
new file mode 100644
index 00000000..ad6fe522
--- /dev/null
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dto/SupplierQuery.java
@@ -0,0 +1,27 @@
+package org.nl.wms.base_manage.supplier.service.dto;
+
+import lombok.Data;
+import org.nl.common.domain.entity.BaseQuery;
+import org.nl.common.domain.entity.QParam;
+import org.nl.common.enums.QueryTEnum;
+import org.nl.wms.base_manage.supplier.service.dao.BmSupplier;
+
+/*
+ * @author ZZQ
+ * @Date 2023/5/4 19:49
+ */
+@Data
+public class SupplierQuery extends BaseQuery<BmSupplier> {
+
+
+    private String local_table_name;
+    private String search;
+
+    @Override
+    public void paramMapping() {
+        super.doP.put("local_table_name", QParam.builder().k(new String[]{"local_table_name"}).type(QueryTEnum.EQ).build());
+        super.doP.put("search", QParam.builder().k(new String[]{"local_field_name", "external_field_name"}).type(QueryTEnum.EQ).build());
+    }
+
+
+}
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/impl/BmSupplierServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/impl/BmSupplierServiceImpl.java
new file mode 100644
index 00000000..9694a93a
--- /dev/null
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/impl/BmSupplierServiceImpl.java
@@ -0,0 +1,25 @@
+
+package org.nl.wms.base_manage.supplier.service.impl;
+
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.nl.wms.base_manage.supplier.service.IBmSupplierService;
+import org.nl.wms.base_manage.supplier.service.dao.BmSupplier;
+import org.nl.wms.base_manage.supplier.service.dao.mapper.BmSupplierMapper;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * @author zhouz
+ * @description 服务实现
+ * @date 2021-12-06
+ **/
+@Service
+@RequiredArgsConstructor
+@Slf4j
+public class BmSupplierServiceImpl extends ServiceImpl<BmSupplierMapper, BmSupplier> implements IBmSupplierService {
+
+}
diff --git a/wms_pro/qd/src/api/wms/base_manage/material/material.js b/wms_pro/qd/src/api/wms/base_manage/material/material.js
index 49773f2c..a5973358 100644
--- a/wms_pro/qd/src/api/wms/base_manage/material/material.js
+++ b/wms_pro/qd/src/api/wms/base_manage/material/material.js
@@ -26,7 +26,7 @@ export function edit(data) {
 
 export function excelImport(data) {
   return request({
-    url: 'api/mdMeMaterialbase/excelImport',
+    url: 'api/bmMaterial/excelImport',
     method: 'post',
     data
   })
diff --git a/wms_pro/qd/src/api/wms/base_manage/supplier/supplier.js b/wms_pro/qd/src/api/wms/base_manage/supplier/supplier.js
new file mode 100644
index 00000000..c0e91d1c
--- /dev/null
+++ b/wms_pro/qd/src/api/wms/base_manage/supplier/supplier.js
@@ -0,0 +1,27 @@
+import request from '@/utils/request'
+
+export function add(data) {
+  return request({
+    url: 'api/bmSupplier',
+    method: 'post',
+    data
+  })
+}
+
+export function del(ids) {
+  return request({
+    url: 'api/bmSupplier',
+    method: 'delete',
+    data: ids
+  })
+}
+
+export function edit(data) {
+  return request({
+    url: 'api/bmSupplier',
+    method: 'put',
+    data
+  })
+}
+
+export default { add, edit, del }
diff --git a/wms_pro/qd/src/views/wms/base_manage/supplier/index.vue b/wms_pro/qd/src/views/wms/base_manage/supplier/index.vue
new file mode 100644
index 00000000..41d16c9a
--- /dev/null
+++ b/wms_pro/qd/src/views/wms/base_manage/supplier/index.vue
@@ -0,0 +1,354 @@
+<template>
+  <div class="app-container">
+    <!--工具栏-->
+    <div class="head-container">
+      <el-input
+        v-model="query.search"
+        clearable
+        style="width: 300px"
+        size="mini"
+        placeholder="输入供应商编码或名称"
+        prefix-icon="el-icon-search"
+        class="filter-item"
+      />
+      <rrOperation/>
+      <!--如果想在工具栏加入更多按钮，可以使用插槽方式， slot = 'left' or 'right'-->
+      <crudOperation :permission="permission"/>
+      <!--表单组件-->
+      <el-dialog
+        :close-on-click-modal="false"
+        :before-close="crud.cancelCU"
+        :visible.sync="crud.status.cu > 0"
+        :title="crud.status.title"
+        width="1200px"
+      >
+        <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="130px">
+          <el-row :gutter="20">
+            <el-col :span="8">
+              <el-form-item label="供应商编码" prop="supp_code">
+                <el-input v-model="form.supp_code" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="供应商名称 " prop="supp_name">
+                <el-input v-model="form.supp_name" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="法人代表">
+                <el-input v-model="form.jurid_name" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="8">
+              <el-form-item label="税务登记号">
+                <el-input v-model="form.tax_no" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="工商注册号">
+                <el-input v-model="form.register_no" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="经营许可证号">
+                <el-input v-model="form.manage_lice_no" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="8">
+              <el-form-item label="营业执照">
+                <el-input v-model="form.busi_char_name" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="条码打印起始值">
+                <el-input v-model="form.barcode_print" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="邮政编码">
+                <el-input v-model="form.zip_code" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="8">
+              <el-form-item label="公司电话">
+                <el-input v-model="form.corp_tele_no" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="公司地址">
+                <el-input v-model="form.corp_address" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="是否启用" prop="is_used">
+                <el-radio v-model="form.is_used" label="0">否</el-radio>
+                <el-radio v-model="form.is_used" label="1">是</el-radio>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="8">
+              <el-form-item label="外部标识">
+                <el-input v-model="form.ext_id" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="资金计划履约天数">
+                <el-input v-model="form.honour_days" style="width: 200px;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="基础分类" prop="class_id">
+                <treeselect
+                  v-model="form.class_id"
+                  :load-options="loadClass"
+                  :options="classes"
+                  style="width: 200px;"
+                  placeholder="请选择"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="备注">
+            <el-input v-model="form.remark" style="width: 600px;" type="textarea"/>
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="text" @click="crud.cancelCU">取消</el-button>
+          <el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
+        </div>
+      </el-dialog>
+      <!--表格渲染-->
+      <el-table
+        ref="table"
+        v-loading="crud.loading"
+        :data="crud.data"
+        size="mini"
+        style="width: 100%;"
+        @selection-change="crud.selectionChangeHandler"
+      >
+        <el-table-column prop="supp_code" label="供应商编码"/>
+        <el-table-column prop="supp_name" label="供应商名称 "/>
+        <el-table-column prop="corp_address" label="公司地址"/>
+        <el-table-column prop="corp_tele_no" label="公司电话"/>
+        <el-table-column prop="jurid_name" label="法人代表"/>
+        <el-table-column prop="update_optname" label="修改者"/>
+        <el-table-column prop="update_time" label="修改时间" width="150"/>
+        <el-table-column label="启用" align="center" prop="is_used">
+          <template slot-scope="scope">
+            <el-switch
+              v-model="scope.row.is_used"
+              active-color="#409EFF"
+              inactive-color="#F56C6C"
+              active-value="1"
+              inactive-value="0"
+              @change="changeEnabled(scope.row, scope.row.is_used)"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          v-permission="['admin','Supplierbase:edit','Supplierbase:del']"
+          label="操作"
+          width="150px"
+          lign="center"
+        >
+          <template slot-scope="scope">
+            <udOperation
+              :data="scope.row"
+              :permission="permission"
+            />
+          </template>
+        </el-table-column>
+      </el-table>
+      <!--分页组件-->
+      <pagination/>
+    </div>
+  </div>
+</template>
+
+<script>
+import crudSupplierbase from '@/api/wms/base_manage/supplier/supplier'
+import CRUD, {crud, form, header, presenter} from '@crud/crud'
+import crudOperation from '@crud/CRUD.operation'
+import udOperation from '@crud/UD.operation'
+import pagination from '@crud/Pagination'
+import rrOperation from '@crud/RR.operation'
+import crudClassstandard from '@/api/wms/basedata/master/classstandard'
+import Treeselect, {LOAD_CHILDREN_OPTIONS} from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+
+const defaultForm = {
+  supp_id: null,
+  supp_code: null,
+  supp_name: null,
+  jurid_name: null,
+  tax_no: null,
+  register_no: null,
+  manage_lice_no: null,
+  busi_char_name: null,
+  area_id: null,
+  zip_code: null,
+  corp_tele_no: null,
+  corp_address: null,
+  create_id: null,
+  create_name: null,
+  create_time: null,
+  update_optid: null,
+  update_optname: null,
+  update_time: null,
+  is_used_time: null,
+  is_used: '1',
+  is_delete: null,
+  ext_id: null,
+  barcode_print: null,
+  class_code: null,
+  remark: null,
+  honour_days: null
+}
+export default {
+  name: 'Supplier',
+  components: {pagination, crudOperation, rrOperation, udOperation, Treeselect},
+  mixins: [presenter(), header(), form(defaultForm), crud()],
+  // 数据字典
+  dicts: ['is_used'],
+  cruds() {
+    return CRUD({
+      title: '供应商',
+      url: 'api/bmSupplier',
+      optShow: {
+        add: true,
+        reset: true
+      },
+      idField: 'supp_id',
+      sort: 'supp_id,desc',
+      crudMethod: {...crudSupplierbase}
+    })
+  },
+  data() {
+    return {
+      permission: {},
+      classes: [],
+      rules: {
+        supp_code: [
+          {required: true, message: '不能为空', trigger: 'blur'}
+        ],
+        supp_name: [
+          {required: true, message: '不能为空', trigger: 'blur'}
+        ],
+        create_id: [
+          {required: true, message: '不能为空', trigger: 'blur'}
+        ],
+        create_name: [
+          {required: true, message: '不能为空', trigger: 'blur'}
+        ],
+        create_time: [
+          {required: true, message: '不能为空', trigger: 'blur'}
+        ],
+        is_used: [
+          {required: true, message: '不能为空', trigger: 'blur'}
+        ],
+        is_delete: [
+          {required: true, message: '不能为空', trigger: 'blur'}
+        ],
+        class_id: [
+          {required: true, message: '不能为空', trigger: 'blur'}
+        ]
+      }
+    }
+  },
+  methods: {
+    // 钩子：在获取表格数据之前执行，false 则代表不获取数据
+    [CRUD.HOOK.beforeRefresh]() {
+      return true
+    },
+    [CRUD.HOOK.afterToCU](crud, form) {
+      if (form.class_id != null) {
+        this.getSubTypes({'id': form.class_id, 'parent_id': "1704039126057226240"})
+      } else {
+        this.getClass()
+      }
+    },
+    getSubTypes(id) {
+      crudClassstandard.getClassSuperior2(id).then(res => {
+        const date = res.content
+        this.buildClass(date)
+        this.classes = date
+      })
+    },
+    buildClass(classes) {
+      classes.forEach(data => {
+        if (data.children) {
+          this.buildClass(data.children)
+        }
+        if (data.hasChildren && !data.children) {
+          data.children = null
+        }
+      })
+    },
+    getClass() {
+      crudClassstandard.queryClassById({enabled: true, 'class_idStr': '1704039126057226240'}).then(res => {
+        this.classes = res.content.map(function (obj) {
+          if (obj.hasChildren) {
+            obj.children = null
+          }
+          return obj
+        })
+      })
+    },
+    // 获取弹窗内部门数据
+    loadClass({action, parentNode, callback}) {
+      if (action === LOAD_CHILDREN_OPTIONS) {
+        crudClassstandard.getClass({pid: parentNode.id}).then(res => {
+          parentNode.children = res.content.map(function (obj) {
+            if (obj.hasChildren) {
+              obj.children = null
+            }
+            return obj
+          })
+          setTimeout(() => {
+            callback()
+          }, 100)
+        })
+      }
+    },
+    // 改变状态
+    changeEnabled(data, val) {
+      this.$confirm('此操作将 "' + this.dict.label.is_used[val] + '" ' + data.supp_code + ', 是否继续？', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        crudSupplierbase.edit(data).then(res => {
+          this.crud.notify(this.dict.label.is_used[val] + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
+        }).catch(() => {
+          if (data.is_used === '0') {
+            data.is_used = '1'
+            return
+          }
+          if (data.is_used === '1') {
+            data.is_used = '0'
+          }
+        })
+      }).catch(() => {
+        if (data.is_used === '0') {
+          data.is_used = '1'
+          return
+        }
+        if (data.is_used === '1') {
+          data.is_used = '0'
+        }
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>
