sunny 1 месяц назад
Родитель
Сommit
6a9cb9fa36

+ 11 - 1
src/App.vue

@@ -74,7 +74,8 @@
   background-color: #f3f3f4;
 }
 .border-card {
-  padding: 15px;background-color: #fff;
+  padding: 15px;
+  background-color: #fff;
 }
 .editButton{
   background-color: #23c6c8 !important;
@@ -93,6 +94,15 @@
     border-color: #41ba9c;
     color: #FFF;
 }
+.openText{
+  color:#67C23A
+}
+.closeText{
+  color:#E6A23C
+}
+.plusText{
+  color:#23c6c8
+}
 .editText{
   color:#11A983
 }

+ 118 - 105
src/views/basicSetting/express.vue

@@ -1,68 +1,103 @@
-rookieCode<template>
-  <div class="app-container calendar-list-container">
-
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="物流公司名称" v-model="listQuery.logisticsName">
-      </el-input>
-      <el-select v-model="listQuery.status" clearable placeholder="状态" class="filter-item" style="width: 200px;">
-                <el-option :key="item.type" v-for="item in statusList" :label="item.name" :value="item.type">
-                </el-option>
+<template>
+  <div class="app-container">
+    <!-- 查询表单 -->
+    <el-form :model="listQuery" size="small" :inline="true" label-position="top">
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="物流公司名称">
+            <el-input clearable placeholder="物流公司名称" v-model="listQuery.logisticsName"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="状态">
+            <el-select v-model="listQuery.status" clearable placeholder="状态" style="width: 100%">
+              <el-option :key="item.type" v-for="item in statusList" 
+                :label="item.name" :value="item.type">
+              </el-option>
             </el-select>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleQuery">查找</el-button>
-      <el-button class="filter-item" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
-      <el-button class="filter-item" type="primary" icon="el-icon-plus" @click="handleCreate">添加</el-button>
-      <el-button class="filter-item" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-    </div>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="搜索">
+            <el-button style="width: 100%;" type="primary" icon="el-icon-search"
+              @click="handleQuery">搜索</el-button>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="重置">
+            <el-button style="width: 100%;" icon="el-icon-refresh" type="primary"
+              @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <!-- 操作按钮 -->
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" class="editButton" size="small" icon="el-icon-plus"
+          @click="handleCreate">添加</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="warning" icon="el-icon-download" size="small" @click="handleDownload">导出</el-button>
+      </el-col>
+    </el-row>
 
     <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
+    <div class="border-card">
+      <el-table height="450" size="small" :data="list" v-loading="listLoading"
+        element-loading-text="正在查询中。。。" border fit highlight-current-row>
 
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
+        <el-table-column type="index" label="序号" header-align="center" align="center">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="100px" label="物流公司名称" prop="logisticsName">
-      </el-table-column>
+        <el-table-column align="center" min-width="150px" label="物流公司名称" prop="logisticsName">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="80px" label="快递查询代码" prop="queryCode">
-      </el-table-column>
+        <el-table-column align="center" min-width="120px" label="快递查询代码" prop="queryCode">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="80px" label="菜鸟代码" prop="rookieCode">
-      </el-table-column>
+        <el-table-column align="center" min-width="120px" label="菜鸟代码" prop="rookieCode">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="50px" label="状态">
+        <el-table-column align="center" min-width="80px" label="状态">
           <template slot-scope="props">
             <span v-if="props.row.status == 0" style="color: #67C23A;font-weight: bold;">启用</span>
             <span v-if="props.row.status == 1" style="color: #E6A23C;font-weight: bold;">停用</span>
           </template>
-      </el-table-column>
-      <!-- <el-table-column align="center" min-width="150px" label="备注" prop="remarks">
-      </el-table-column> -->
+        </el-table-column>
 
-      <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-          <el-button v-if="scope.row.status == 1" type="success" size="small"
-                        @click="changeState(scope.row.id, scope.row.status)">启用</el-button>
-          <el-button v-if="scope.row.status == 0" type="warning" size="small"
-                        @click="changeState(scope.row.id, scope.row.status)">停用</el-button>
-          <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
+        <el-table-column align="center" label="操作" width="280" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button type="text" icon="el-icon-edit" class="editText" size="small"
+              @click="handleUpdate(scope.row)">编辑</el-button>
+            <el-button v-if="scope.row.status == 1" type="text" icon="el-icon-circle-check" 
+              class="openText" size="small" @click="changeState(scope.row.id, scope.row.status)">启用</el-button>
+            <el-button v-if="scope.row.status == 0" type="text" icon="el-icon-circle-close" 
+              class="closeText" size="small" @click="changeState(scope.row.id, scope.row.status)">停用</el-button>
+            <el-button type="text" icon="el-icon-delete" class="deleteText" size="small"
+              @click="handleDelete(scope.row)">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
 
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
+      <!-- 分页 -->
+      <div class="pagination-container">
+        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+          :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
+          layout="total, sizes, prev, pager, next, jumper" :total="total">
+        </el-pagination>
+      </div>
     </div>
 
     <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="600px">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="110px">
+    <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"
+      width="70%">
+      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left"
+        label-width="110px" style='margin: 0 50px;'>
         <el-form-item label="物流公司名称" prop="logisticsName">
           <el-input v-model="dataForm.logisticsName" placeholder="请输入物流公司名称"></el-input>
         </el-form-item>
@@ -72,11 +107,6 @@ rookieCode<template>
         <el-form-item label="菜鸟代码" prop="rookieCode">
           <el-input v-model="dataForm.rookieCode" placeholder="请输入菜鸟代码"></el-input>
         </el-form-item>
-        <!-- <el-form-item label="备注" prop="remarks">
-          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入备注"
-            v-model="dataForm.remarks">
-          </el-input>
-        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取消</el-button>
@@ -84,35 +114,29 @@ rookieCode<template>
         <el-button v-else type="primary" @click="updateData">确定</el-button>
       </div>
     </el-dialog>
-
   </div>
 </template>
+
 <script>
 import { listExpress, createExpress, updateExpress, deleteExpress, setState } from '@/api/express'
-import waves from '@/directive/waves' // 水波纹指令
+import waves from '@/directive/waves'
 
 export default {
   directives: { waves },
   data() {
     return {
-      list: undefined,
-      total: undefined,
-      listLoading: true,
+      list: [],
+      total: 0,
+      listLoading: false,
       statusList: [
-                {
-                    type: 0,
-                    name: '启用'
-                },
-                {
-                    type: 1,
-                    name: '停用'
-                },
-            ],
+        { type: 0, name: '启用' },
+        { type: 1, name: '停用' },
+      ],
       listQuery: {
         page: 1,
         limit: 10,
-        logisticsName: undefined,
-        status: undefined,
+        logisticsName: '',
+        status: '',
       },
       dataForm: {
         logisticsName: undefined,
@@ -137,13 +161,12 @@ export default {
     this.getList()
   },
   methods: {
-    /** 重置按钮操作 */
     resetQuery() {
       this.listQuery = {
         page: 1,
         limit: 10,
-        logisticsName: undefined,
-        status: undefined,
+        logisticsName: '',
+        status: '',
       };
       this.handleQuery();
     },
@@ -191,7 +214,6 @@ export default {
       this.$refs['dataForm'].validate((valid) => {
         if (valid) {
           createExpress(this.dataForm).then(response => {
-            this.list.unshift(response.data.data)
             this.dialogFormVisible = false
             this.$notify({
               title: '成功',
@@ -216,13 +238,6 @@ export default {
       this.$refs['dataForm'].validate((valid) => {
         if (valid) {
           updateExpress(this.dataForm).then(() => {
-            for (const v of this.list) {
-              if (v.id === this.dataForm.id) {
-                const index = this.list.indexOf(v)
-                this.list.splice(index, 1, this.dataForm)
-                break
-              }
-            }
             this.dialogFormVisible = false
             this.$notify({
               title: '成功',
@@ -236,38 +251,36 @@ export default {
       })
     },
     handleDelete(row) {
-      this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteExpress({id:row.id}).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
+      this.$confirm('确认删除吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        deleteExpress({ id: row.id }).then(response => {
+          this.$notify({
+            title: '成功',
+            message: '删除成功',
+            type: 'success',
+            duration: 2000
           })
-        }).catch(() => {
-  
+          this.getList()
         })
+      }).catch(() => { })
     },
     handleDownload() {
       window.location.href = process.env.BASE_API + '/logistics-company/export';
     },
     changeState(id, status) {
-            setState({ id: id, status: status }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
+      setState({ id: id, status: status }).then(response => {
+        this.$notify({
+          title: '成功',
+          message: '状态修改成功',
+          type: 'success',
+          duration: 2000
+        })
+        this.getList()
+      })
+    },
   }
 }
 </script>

+ 110 - 92
src/views/basicSetting/store.vue

@@ -1,67 +1,102 @@
-contactsId<template>
-  <div class="app-container calendar-list-container">
+<template>
+  <div class="app-container">
+    <!-- 查询表单 -->
+    <el-form :model="listQuery" size="small" :inline="true" label-position="top">
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="门店编号">
+            <el-input clearable placeholder="门店编号" v-model="listQuery.storeCode"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="门店名称">
+            <el-input clearable placeholder="门店名称" v-model="listQuery.storeName"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="联系人">
+            <el-input clearable placeholder="联系人" v-model="listQuery.contactsId"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
 
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="门店编号" v-model="listQuery.storeCode">
-      </el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="门店名称" v-model="listQuery.storeName">
-      </el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="联系人" v-model="listQuery.contactsId">
-      </el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleQuery">查找</el-button>
-      <el-button class="filter-item" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
-      <el-button class="filter-item" type="primary" icon="el-icon-plus" @click="handleCreate">添加</el-button>
-      <el-button class="filter-item" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-    </div>
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="搜索">
+            <el-button style="width: 100%;" type="primary" icon="el-icon-search"
+              @click="handleQuery">搜索</el-button>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="重置">
+            <el-button style="width: 100%;" icon="el-icon-refresh" type="primary"
+              @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
 
-    <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
+    <!-- 操作按钮 -->
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" class="editButton" size="small" icon="el-icon-plus"
+          @click="handleCreate">添加</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="warning" icon="el-icon-download" size="small" @click="handleDownload">导出</el-button>
+      </el-col>
+    </el-row>
 
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
+    <!-- 查询结果 -->
+    <div class="border-card">
+      <el-table height="450" size="small" :data="list" v-loading="listLoading"
+        element-loading-text="正在查询中。。。" border fit highlight-current-row>
 
-      <el-table-column align="center" min-width="100px" label="门店编号" prop="storeCode">
-      </el-table-column>
+        <el-table-column type="index" label="序号" header-align="center" align="center">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="100px" label="门店名称" prop="storeName">
-      </el-table-column>
+        <el-table-column align="center" min-width="100px" label="门店编号" prop="storeCode">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="80px" label="联系人" prop="contactsId">
-      </el-table-column>
+        <el-table-column align="center" min-width="150px" label="门店名称" prop="storeName">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="80px" label="联系电话" prop="contactsPhone">
-      </el-table-column>
+        <el-table-column align="center" min-width="80px" label="联系人" prop="contactsId">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="200px" label="门店地址" prop="storeAddress">
-      </el-table-column>
+        <el-table-column align="center" min-width="100px" label="联系电话" prop="contactsPhone">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="100px" label="创建时间" prop="createDate">
-      </el-table-column>
+        <el-table-column align="center" min-width="200px" label="门店地址" prop="storeAddress">
+        </el-table-column>
 
-      <!-- <el-table-column align="center" min-width="150px" label="备注" prop="remarks">
-      </el-table-column> -->
+        <el-table-column align="center" min-width="150px" label="创建时间" prop="createDate">
+        </el-table-column>
 
-      <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-          <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
+        <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button type="text" icon="el-icon-edit" class="editText" size="small"
+              @click="handleUpdate(scope.row)">编辑</el-button>
+            <el-button type="text" icon="el-icon-delete" class="deleteText" size="small"
+              @click="handleDelete(scope.row)">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
 
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
+      <!-- 分页 -->
+      <div class="pagination-container">
+        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+          :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
+          layout="total, sizes, prev, pager, next, jumper" :total="total">
+        </el-pagination>
+      </div>
     </div>
 
     <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="600px">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px">
+    <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"
+      width="70%">
+      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left"
+        label-width="100px" style='margin: 0 50px;'>
         <el-form-item label="门店编号" prop="storeCode">
           <el-input v-model="dataForm.storeCode" placeholder="请输入门店编号"></el-input>
         </el-form-item>
@@ -72,16 +107,12 @@ contactsId<template>
           <el-input v-model="dataForm.contactsId" placeholder="请输入联系人"></el-input>
         </el-form-item>
         <el-form-item label="联系电话" prop="contactsPhone">
-          <el-input v-model="dataForm.contactsPhone" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')" placeholder="请输入联系电话"></el-input>
+          <el-input v-model="dataForm.contactsPhone" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"
+            placeholder="请输入联系电话"></el-input>
         </el-form-item>
         <el-form-item label="门店地址" prop="storeAddress">
           <el-input v-model="dataForm.storeAddress" placeholder="请输入门店地址"></el-input>
         </el-form-item>
-        <!-- <el-form-item label="备注" prop="remarks">
-          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入备注"
-            v-model="dataForm.remarks">
-          </el-input>
-        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取消</el-button>
@@ -89,26 +120,26 @@ contactsId<template>
         <el-button v-else type="primary" @click="updateData">确定</el-button>
       </div>
     </el-dialog>
-
   </div>
 </template>
+
 <script>
 import { listStore, createStore, updateStore, deleteStore } from '@/api/store'
-import waves from '@/directive/waves' // 水波纹指令
+import waves from '@/directive/waves'
 
 export default {
   directives: { waves },
   data() {
     return {
-      list: undefined,
-      total: undefined,
-      listLoading: true,
+      list: [],
+      total: 0,
+      listLoading: false,
       listQuery: {
         page: 1,
         limit: 10,
-        storeCode: undefined,
-        storeName: undefined,
-        contactsId: undefined,
+        storeCode: '',
+        storeName: '',
+        contactsId: '',
       },
       dataForm: {
         storeCode: undefined,
@@ -127,8 +158,6 @@ export default {
       rules: {
         storeCode: [
           { required: true, message: "门店编号不能为空", trigger: "blur" },
-          // { min: 11, max: 11, message: "门店编号必须为11位", trigger: "blur" },
-          // { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{11,}$/, message: "门店编号必须为11位字母加数字", trigger: "blur" }
         ],
         storeName: [{ required: true, message: '门店名称不能为空', trigger: 'blur' }],
         contactsId: [{ required: true, message: '联系人不能为空', trigger: 'blur' }],
@@ -141,14 +170,13 @@ export default {
     this.getList()
   },
   methods: {
-    /** 重置按钮操作 */
     resetQuery() {
       this.listQuery = {
         page: 1,
         limit: 10,
-        storeCode: undefined,
-        storeName: undefined,
-        contactsId: undefined,
+        storeCode: '',
+        storeName: '',
+        contactsId: '',
       };
       this.handleQuery();
     },
@@ -198,7 +226,6 @@ export default {
       this.$refs['dataForm'].validate((valid) => {
         if (valid) {
           createStore(this.dataForm).then(response => {
-            this.list.unshift(response.data.data)
             this.dialogFormVisible = false
             this.$notify({
               title: '成功',
@@ -223,13 +250,6 @@ export default {
       this.$refs['dataForm'].validate((valid) => {
         if (valid) {
           updateStore(this.dataForm).then(() => {
-            for (const v of this.list) {
-              if (v.id === this.dataForm.id) {
-                const index = this.list.indexOf(v)
-                this.list.splice(index, 1, this.dataForm)
-                break
-              }
-            }
             this.dialogFormVisible = false
             this.$notify({
               title: '成功',
@@ -243,23 +263,21 @@ export default {
       })
     },
     handleDelete(row) {
-      this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteStore({id:row.id}).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
+      this.$confirm('确认删除吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        deleteStore({ id: row.id }).then(response => {
+          this.$notify({
+            title: '成功',
+            message: '删除成功',
+            type: 'success',
+            duration: 2000
           })
-        }).catch(() => {
-  
+          this.getList()
         })
+      }).catch(() => { })
     },
     handleDownload() {
       window.location.href = process.env.BASE_API + '/store-info/export';

+ 204 - 263
src/views/basicSetting/supplier.vue

@@ -1,75 +1,114 @@
 <template>
-    <div class="app-container calendar-list-container">
+    <div class="app-container">
+        <!-- 查询表单 -->
+        <el-form :model="listQuery" size="small" :inline="true" label-position="top">
+            <el-row :gutter="20">
+                <el-col :span="6">
+                    <el-form-item label="供应商名称">
+                        <el-input clearable placeholder="供应商名称" v-model="listQuery.supplierName"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="供应商编号">
+                        <el-input clearable placeholder="供应商编号" v-model="listQuery.supplierNum"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="申请部门">
+                        <treeselect 
+                            v-model="listQuery.responsibleDept" 
+                            :options="categoryOptions"
+                            :normalizer="normalizer" 
+                            placeholder="申请部门" 
+                            style="width: 100%" 
+                        />
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="是否启用">
+                        <el-select v-model="listQuery.isEnable" clearable placeholder="是否启用" style="width: 100%">
+                            <el-option :key="item.type" v-for="item in goodsStatusList" 
+                                :label="item.name" :value="item.type">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+            </el-row>
 
-        <!-- 查询和其他操作 -->
-        <div class="filter-container">
-            <el-input clearable class="filter-item" style="width: 200px;" placeholder="供应商名称"
-                v-model="listQuery.supplierName"></el-input>
-                <el-input clearable class="filter-item" style="width: 200px;" placeholder="供应商编号"
-                v-model="listQuery.supplierNum"></el-input>
-            <!-- <el-select class="filter-item" style="width: 200px" v-model="listQuery.typeId" filterable placeholder="供应商类别">
-                <el-option v-for="item in brandOptions" :key="item.value" :label="item.label" :value="item.value">
-                </el-option>
-            </el-select> -->
-            <treeselect class="filter-item" default-expand-all v-model="listQuery.responsibleDept" :options="categoryOptions"
-                :normalizer="normalizer" placeholder="申请部门" style="width: 200px" />
-            
-            <el-select v-model="listQuery.isEnable" clearable placeholder="是否启用" class="filter-item" style="width: 200px;">
-                <el-option :key="item.type" v-for="item in goodsStatusList" :label="item.name" :value="item.type">
-                </el-option>
-            </el-select>
+            <el-row :gutter="20">
+                <el-col :span="6">
+                    <el-form-item label="搜索">
+                        <el-button style="width: 100%;" type="primary" icon="el-icon-search"
+                            @click="handleQuery">搜索</el-button>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="重置">
+                        <el-button style="width: 100%;" icon="el-icon-refresh" type="primary"
+                            @click="resetQuery">重置</el-button>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+        </el-form>
 
-            <el-button class="filter-item" type="primary" v-waves icon="el-icon-search"
-                @click="handleQuery">查找</el-button>
-                <el-button class="filter-item" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
-            <el-button class="filter-item" type="primary" @click="handleAdd" icon="el-icon-plus">添加</el-button>
-            <el-button class="filter-item" v-waves icon="el-icon-download" @click="handleDownLoad">导出</el-button>
-        </div>
+        <!-- 操作按钮 -->
+        <el-row :gutter="10" class="mb8">
+            <el-col :span="1.5">
+                <el-button type="primary" class="editButton" size="small" icon="el-icon-plus"
+                    @click="handleAdd">添加</el-button>
+            </el-col>
+            <el-col :span="1.5">
+                <el-button type="warning" icon="el-icon-download" size="small" @click="handleDownLoad">导出</el-button>
+            </el-col>
+        </el-row>
 
         <!-- 查询结果 -->
-        <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-            highlight-current-row>
-            <el-table-column type="index" label="序号" header-align="center" align="center">
-            </el-table-column>
-            <el-table-column align="center" min-width="120px" label="供应商编号" prop="supplierNum">
-            </el-table-column>
-            <el-table-column align="center" min-width="200px" label="供应商名称" prop="supplierName">
-            </el-table-column>
-            <!-- <el-table-column align="center" min-width="80px" label="供应商类别" prop="typeName">
-            </el-table-column> -->
-            <el-table-column align="center" min-width="80px" label="地域" prop="supplierPurchasAddress">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="联系人" prop="supplierContact">
-            </el-table-column>
-            <el-table-column align="center" min-width="80px" label="申请部门" prop="deptName">
-            </el-table-column>
-            <el-table-column align="center" min-width="180px" label="登记时间" prop="addTime">
-            </el-table-column>
-            <el-table-column align="center" min-width="100px" label="是否启用">
-                <template slot-scope="props">
-                    <span v-if="props.row.isEnable == 0" style="color: #67C23A;font-weight: bold;">启用</span>
-                    <span v-if="props.row.isEnable == 1" style="color: #E6A23C;font-weight: bold;">停用</span>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
-                <template slot-scope="scope">
-                    <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-                    <el-button v-if="scope.row.isEnable == 1" type="success" size="small"
-                        @click="changeState(scope.row.id, scope.row.isEnable)">启用</el-button>
-                    <el-button v-if="scope.row.isEnable == 0" type="warning" size="small"
-                        @click="changeState(scope.row.id, scope.row.isEnable)">停用</el-button>
-                    <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
+        <div class="border-card">
+            <el-table height="450" size="small" :data="list" v-loading="listLoading" 
+                element-loading-text="正在查询中。。。" border fit highlight-current-row>
+                <el-table-column type="index" label="序号" header-align="center" align="center">
+                </el-table-column>
+                <el-table-column align="center" min-width="120px" label="供应商编号" prop="supplierNum">
+                </el-table-column>
+                <el-table-column align="center" min-width="200px" label="供应商名称" prop="supplierName">
+                </el-table-column>
+                <el-table-column align="center" min-width="80px" label="地域" prop="supplierPurchasAddress">
+                </el-table-column>
+                <el-table-column align="center" min-width="80px" label="联系人" prop="supplierContact">
+                </el-table-column>
+                <el-table-column align="center" min-width="80px" label="申请部门" prop="deptName">
+                </el-table-column>
+                <el-table-column align="center" min-width="180px" label="登记时间" prop="addTime">
+                </el-table-column>
+                <el-table-column align="center" min-width="80px" label="是否启用">
+                    <template slot-scope="props">
+                        <span v-if="props.row.isEnable == 0" style="color: #67C23A;font-weight: bold;">启用</span>
+                        <span v-if="props.row.isEnable == 1" style="color: #E6A23C;font-weight: bold;">停用</span>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
+                    <template slot-scope="scope">
+                        <el-button type="text" icon="el-icon-edit" class="editText" size="small" 
+                            @click="handleUpdate(scope.row)">编辑</el-button>
+                        <el-button v-if="scope.row.isEnable == 1" type="text" icon="el-icon-circle-check" 
+                            class="openText" size="small" @click="changeState(scope.row.id, scope.row.isEnable)">启用</el-button>
+                        <el-button v-if="scope.row.isEnable == 0" type="text" icon="el-icon-circle-close" 
+                            class="closeText" size="small" @click="changeState(scope.row.id, scope.row.isEnable)">停用</el-button>
+                        <el-button type="text" icon="el-icon-delete" class="deleteText" size="small" 
+                            @click="handleDelete(scope.row)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
 
-        <!-- 分页 -->
-        <div class="pagination-container">
-            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-                layout="total, sizes, prev, pager, next, jumper" :total="total">
-            </el-pagination>
+            <!-- 分页 -->
+            <div class="pagination-container">
+                <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+                    :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
+                    layout="total, sizes, prev, pager, next, jumper" :total="total">
+                </el-pagination>
+            </div>
         </div>
+
         <!-- 添加或修改对话框 -->
         <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"
             width="70%">
@@ -85,7 +124,8 @@
                         </el-form-item>
                         <el-form-item label="类别" prop="typeId">
                             <el-select style="width: 100%" v-model="dataForm.typeId" filterable placeholder="请选择类别">
-                                <el-option v-for="item in brandOptions" :key="item.value" :label="item.label" :value="item.value">
+                                <el-option v-for="item in brandOptions" :key="item.value" :label="item.label" 
+                                    :value="item.value">
                                 </el-option>
                             </el-select>
                         </el-form-item>
@@ -93,10 +133,11 @@
                             <el-input v-model="dataForm.supplierPurchasAddress" placeholder="请输入地域"></el-input>
                         </el-form-item>
                         <el-form-item label="注册资本金" prop="registeredCapital">
-                            <el-input v-model="dataForm.registeredCapital" placeholder="请输入注册资本金(万元)"></el-input>
+                            <el-input v-model="dataForm.registeredCapital" placeholder="请输入注册资本金 (万元)"></el-input>
                         </el-form-item>
                         <el-form-item label="银行卡号" prop="bankCardNo">
-                            <el-input v-model="dataForm.bankCardNo" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')" placeholder="请输入银行卡号"></el-input>
+                            <el-input v-model="dataForm.bankCardNo" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')" 
+                                placeholder="请输入银行卡号"></el-input>
                         </el-form-item>
                         <el-form-item label="银行名称" prop="bankCardName">
                             <el-input v-model="dataForm.bankCardName" placeholder="请输入银行名称"></el-input>
@@ -118,36 +159,35 @@
                             <el-input v-model="dataForm.supplierContact" placeholder="请输入联系人"></el-input>
                         </el-form-item>
                         <el-form-item label="联系电话" prop="supplierPhone">
-                            <el-input v-model="dataForm.supplierPhone" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')" placeholder="请输入联系电话"></el-input>
+                            <el-input v-model="dataForm.supplierPhone" 
+                                onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')" 
+                                placeholder="请输入联系电话"></el-input>
                         </el-form-item>
                         <el-form-item label="单位地址" prop="supplierAddress">
                             <el-input v-model="dataForm.supplierAddress" placeholder="请输入单位地址"></el-input>
                         </el-form-item>
                         <el-form-item label="申请部门" prop="responsibleDept">
-                            <treeselect default-expand-all v-model="dataForm.responsibleDept" :options="categoryOptions"
-                                :normalizer="normalizer" placeholder="请选择申请部门" />
+                            <treeselect default-expand-all v-model="dataForm.responsibleDept" 
+                                :options="categoryOptions" :normalizer="normalizer" 
+                                placeholder="请选择申请部门" style="width: 100%" />
                         </el-form-item>
                         <el-form-item label="申请事由" prop="supplierRemark">
-                            <el-input
-                                type="textarea"
-                                :autosize="{ minRows: 2, maxRows: 4}"
-                                placeholder="请输入申请事由"
-                                v-model="dataForm.supplierRemark">
+                            <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}"
+                                placeholder="请输入申请事由" v-model="dataForm.supplierRemark">
                             </el-input>
                         </el-form-item>
                     </el-tab-pane>
                     <el-tab-pane label="营业执照" name="second">
-                       
                         <el-form-item label="名称" prop="businessName">
                             <el-input v-model="dataForm.businessName" placeholder="请输入名称"></el-input>
                         </el-form-item>
                         <el-form-item label="开始日期" prop="businessStartTime">
-                            <el-date-picker style="width: 100%;" v-model="dataForm.businessStartTime" type="date" value-format="yyyy-MM-dd"
-                                placeholder="选择日期"></el-date-picker>
+                            <el-date-picker style="width: 100%;" v-model="dataForm.businessStartTime" type="date" 
+                                value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
                         </el-form-item>
                         <el-form-item label="结束日期" prop="businessEndTime">
-                            <el-date-picker style="width: 100%;" v-model="dataForm.businessEndTime" type="date" value-format="yyyy-MM-dd"
-                                placeholder="选择日期"></el-date-picker>
+                            <el-date-picker style="width: 100%;" v-model="dataForm.businessEndTime" type="date" 
+                                value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
                         </el-form-item>
                         <el-form-item style="width: 800px" label="附件" prop="businessFile">
                             <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card"
@@ -183,12 +223,12 @@
                             <el-input v-model="dataForm.qualifiedName" placeholder="请输入名称"></el-input>
                         </el-form-item>
                         <el-form-item label="开始日期" prop="qualifiedStartTime">
-                            <el-date-picker style="width: 100%;" v-model="dataForm.qualifiedStartTime" type="date" value-format="yyyy-MM-dd"
-                                placeholder="选择日期"></el-date-picker>
+                            <el-date-picker style="width: 100%;" v-model="dataForm.qualifiedStartTime" type="date" 
+                                value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
                         </el-form-item>
                         <el-form-item label="结束日期" prop="qualifiedEndTime">
-                            <el-date-picker style="width: 100%;" v-model="dataForm.qualifiedEndTime" type="date" value-format="yyyy-MM-dd"
-                                placeholder="选择日期"></el-date-picker>
+                            <el-date-picker style="width: 100%;" v-model="dataForm.qualifiedEndTime" type="date" 
+                                value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
                         </el-form-item>
                         <el-form-item style="width: 800px" label="附件" prop="qualifiedFile">
                             <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card"
@@ -202,7 +242,6 @@
                         </el-form-item>
                     </el-tab-pane>
                 </el-tabs>
-
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button @click="dialogFormVisible = false">取消</el-button>
@@ -210,35 +249,27 @@
                 <el-button v-else type="primary" @click="updateData">确定</el-button>
             </div>
         </el-dialog>
-
     </div>
 </template>
+
 <script>
-import { createSupplier, updateSupplier, listSupplier, deleteSupplier, typeListSupplier,setStateSupplier } from "@/api/supplier";
+import { createSupplier, updateSupplier, listSupplier, deleteSupplier, typeListSupplier, setStateSupplier } from "@/api/supplier";
 import { listDept } from "@/api/dept";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-import waves from "@/directive/waves"; // 水波纹指令
+import waves from "@/directive/waves";
 
 export default {
     components: { Treeselect },
     directives: { waves },
     data() {
         return {
-       
-            // 树选项
             categoryOptions: [],
             activeName: 'first',
             brandOptions: [],
             goodsStatusList: [
-                {
-                    type: 0,
-                    name: '启用'
-                },
-                {
-                    type: 1,
-                    name: '停用'
-                },
+                { type: 0, name: '启用' },
+                { type: 1, name: '停用' },
             ],
             list: [],
             total: 0,
@@ -255,7 +286,6 @@ export default {
             dataForm: {
                 supplierName: undefined,
                 supplierNum: undefined,
-                supplierNum: undefined,
                 typeId: undefined,
                 supplierPurchasAddress: undefined,
                 registeredCapital: undefined,
@@ -268,24 +298,20 @@ export default {
                 supplierAddress: undefined,
                 responsibleDept: undefined,
                 supplierRemark: undefined,
-
                 businessName: undefined,
                 businessStartTime: undefined,
                 businessEndTime: undefined,
                 businessFile: undefined,
-                businessFiles:[],
-
-                financeFileId:undefined,
+                businessFiles: [],
+                financeFileId: undefined,
                 financeFiles: [],
-
-                auditFileId:undefined,
+                auditFileId: undefined,
                 auditFiles: [],
-
                 qualifiedName: undefined,
                 qualifiedStartTime: undefined,
                 qualifiedEndTime: undefined,
                 qualifiedFile: undefined,
-                qualifiedFiles:[],
+                qualifiedFiles: [],
             },
             dialogFormVisible: false,
             dialogStatus: '',
@@ -299,11 +325,7 @@ export default {
                 supplierPurchasAddress: [{ required: true, message: "请填写地域", trigger: "blur" }],
                 registeredCapital: [
                     { required: true, message: "请填写注册资本金", trigger: "blur" },
-                    {
-                        pattern: /^(([1-9]{1}\d{0,9})|(0{1}))(\.\d{1,2})?$/,
-                        message: "请输入合法的金额数字,最多两位小数",
-                        trigger: "blur"
-                    }
+                    { pattern: /^(([1-9]{1}\d{0,9})|(0{1}))(\.\d{1,2})?$/, message: "请输入合法的金额数字,最多两位小数", trigger: "blur" }
                 ],
                 bankCardNo: [{ required: true, message: "请填写银行卡号", trigger: "blur" }],
                 bankCardName: [{ required: true, message: "请填写银行名称", trigger: "blur" }],
@@ -319,7 +341,6 @@ export default {
                 businessEndTime: [{ required: true, message: "请选择结束日期", trigger: "blur" }],
                 businessFile: [{ required: true, message: "请上传营业执照", trigger: "blur" }],
             },
-            dialogListVisible: false,
             fileImgUrl: this.upLoadUrl,
         }
     },
@@ -329,41 +350,30 @@ export default {
         this.getList();
     },
     methods: {
-        handleDownLoad(){
+        handleDownLoad() {
             window.location.href = process.env.BASE_API + '/supplier-info/export';
         },
         changeState(id, isEnable) {
             setStateSupplier({ id: id, isEnable: isEnable }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
+                this.$notify({ title: '成功', message: '状态修改成功', type: 'success', duration: 2000 });
+                this.getList();
+            });
         },
         getListDept() {
             listDept().then(response => {
                 this.categoryOptions = this.handleTree(response.data.data, "deptId");
             });
         },
-        /** 转换部门数据结构 */
         normalizer(node) {
             if (node.children && !node.children.length) {
                 delete node.children;
             }
-            return {
-                id: node.deptId,
-                label: node.deptName,
-                children: node.children
-            };
+            return { id: node.deptId, label: node.deptName, children: node.children };
         },
         handleClick(tab, event) {
             console.log(tab, event);
         },
         handleRemoveFile(file, fileList, type) {
-            console.log(file, fileList, type);
             if (type == "financeFiles") {
                 let financeFiles = [];
                 for (let i in fileList) {
@@ -371,7 +381,7 @@ export default {
                     financeFiles.push(id);
                 }
                 this.dataForm.financeFileId = financeFiles.join(",");
-            }else{
+            } else {
                 let auditFiles = [];
                 for (let i in fileList) {
                     let id = fileList[i].response.data.id;
@@ -379,55 +389,44 @@ export default {
                 }
                 this.dataForm.auditFileId = auditFiles.join(",");
             }
-           
         },
         beforeUploadFile(file) {
-            console.log(file);
             const size = file.size / 1024 / 1024;
-            console.log(size);
             if (size > 10) {
-                this.$message.error("文件大小不能超过10MB!");
+                this.$message.error("文件大小不能超过 10MB!");
                 return false;
             }
         },
         handleFileSuccess(res, file, fileList, type) {
-            console.log(res, file, fileList, type);
             if (type == "financeFiles") {
                 let financeFiles = [];
                 for (let i in fileList) {
                     let response = fileList[i].response;
                     if (response.errno && response.errno != "0") {
-                        this.$message.error("该文件上传失败,已被移除,请重新上传!");
-                        // 上传失败移除该 file 对象
+                        this.$message.error("该文件上传失败,已被移除,请重新上传!");
                         financeFiles.splice(i, 1);
-                    } 
-                    else {
+                    } else {
                         let id = fileList[i].response.data.id;
                         financeFiles.push(id);
                     }
                 }
                 this.dataForm.financeFileId = financeFiles.join(",");
-            }else{
+            } else {
                 let auditFiles = [];
                 for (let i in fileList) {
                     let response = fileList[i].response;
                     if (response.errno && response.errno != "0") {
-                        this.$message.error("该文件上传失败,已被移除,请重新上传!");
-                        // 上传失败移除该 file 对象
+                        this.$message.error("该文件上传失败,已被移除,请重新上传!");
                         auditFiles.splice(i, 1);
-                    } 
-                    else {
+                    } else {
                         let id = fileList[i].response.data.id;
                         auditFiles.push(id);
                     }
                 }
                 this.dataForm.auditFileId = auditFiles.join(",");
             }
-           
         },
-
         handleRemoveImg(file, fileList, type) {
-            console.log(file, fileList, type);
             if (type == "qualifiedFiles") {
                 let qualifiedFiles = [];
                 for (let i in fileList) {
@@ -435,7 +434,7 @@ export default {
                     qualifiedFiles.push(id);
                 }
                 this.dataForm.qualifiedFile = qualifiedFiles.join(",");
-            }else{
+            } else {
                 let businessFiles = [];
                 for (let i in fileList) {
                     let id = fileList[i].response.data.id;
@@ -443,27 +442,21 @@ export default {
                 }
                 this.dataForm.businessFile = businessFiles.join(",");
             }
-            
         },
         beforeUploadImg(file) {
             const isJPGs = file.type === "image/jpeg";
             console.log(isJPGs);
         },
         handleExceed(files, fileList) {
-            this.$message.warning(
-                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
-                } 个文件`
-            );
+            this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length} 个文件`);
         },
         handleImgSucess(res, file, fileList, type) {
-            console.log(res, file, fileList, type);
             if (type == "qualifiedFiles") {
                 let qualifiedFiles = [];
                 for (let i in fileList) {
                     let response = fileList[i].response;
                     if (response.errno && response.errno != "0") {
-                        this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                        // 上传失败移除该 file 对象
+                        this.$message.error("该图片上传失败,已被移除,请重新上传!");
                         fileList.splice(i, 1);
                     } else {
                         let id = fileList[i].response.data.id;
@@ -471,13 +464,12 @@ export default {
                     }
                 }
                 this.dataForm.qualifiedFile = qualifiedFiles.join(",");
-            }else{
+            } else {
                 let businessFiles = [];
                 for (let i in fileList) {
                     let response = fileList[i].response;
                     if (response.errno && response.errno != "0") {
-                        this.$message.error("该图片上传失败,已被移除,请重新上传!");
-                        // 上传失败移除该 file 对象
+                        this.$message.error("该图片上传失败,已被移除,请重新上传!");
                         businessFiles.splice(i, 1);
                     } else {
                         let id = fileList[i].response.data.id;
@@ -491,7 +483,6 @@ export default {
             this.dataForm = {
                 supplierName: undefined,
                 supplierNum: undefined,
-                supplierNum: undefined,
                 typeId: undefined,
                 supplierPurchasAddress: undefined,
                 registeredCapital: undefined,
@@ -504,33 +495,27 @@ export default {
                 supplierAddress: undefined,
                 responsibleDept: undefined,
                 supplierRemark: undefined,
-
                 businessName: undefined,
                 businessStartTime: undefined,
                 businessEndTime: undefined,
                 businessFile: undefined,
-                businessFiles:[],
-
-                financeFileId:undefined,
+                businessFiles: [],
+                financeFileId: undefined,
                 financeFiles: [],
-
-                auditFileId:undefined,
+                auditFileId: undefined,
                 auditFiles: [],
-
                 qualifiedName: undefined,
                 qualifiedStartTime: undefined,
                 qualifiedEndTime: undefined,
                 qualifiedFile: undefined,
-                qualifiedFiles:[],
+                qualifiedFiles: [],
             };
         },
         handleAdd() {
             this.activeName = 'first';
             this.resetForm();
-
             this.dialogFormVisible = true;
             this.dialogStatus = "create";
-
             this.$nextTick(() => {
                 this.$refs["dataForm"].clearValidate();
             });
@@ -538,20 +523,12 @@ export default {
         createData() {
             this.$refs["dataForm"].validate((valid) => {
                 if (valid) {
-                    console.log(this.dataForm);
-                    createSupplier(this.dataForm)
-                        .then((response) => {
-                            this.getList();
-                            this.dialogFormVisible = false;
-                            this.$notify({
-                                title: "成功",
-                                message: "创建成功",
-                                type: "success",
-                                duration: 2000,
-                            });
-                            this.reload();
-                        })
-                        .catch(() => { });
+                    createSupplier(this.dataForm).then((response) => {
+                        this.getList();
+                        this.dialogFormVisible = false;
+                        this.$notify({ title: "成功", message: "创建成功", type: "success", duration: 2000 });
+                        this.reload();
+                    }).catch(() => { });
                 }
             });
         },
@@ -562,14 +539,10 @@ export default {
                 let files = this.dataForm.businessFiles;
                 this.dataForm.businessFiles = [];
                 for (let i in files) {
-                    let url = files[i].url;
-                    let name = files[i].oldName;
-                    let id = files[i].id;
-
                     this.dataForm.businessFiles.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url,id:id } },
+                        name: files[i].oldName,
+                        url: files[i].url,
+                        response: { error: "0", data: { url: files[i].url, id: files[i].id } },
                     });
                 }
             }
@@ -577,14 +550,10 @@ export default {
                 let files = this.dataForm.qualifiedFiles;
                 this.dataForm.qualifiedFiles = [];
                 for (let i in files) {
-                    let url = files[i].url;
-                    let name = files[i].oldName;
-                    let id = files[i].id;
-
                     this.dataForm.qualifiedFiles.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url,id:id } },
+                        name: files[i].oldName,
+                        url: files[i].url,
+                        response: { error: "0", data: { url: files[i].url, id: files[i].id } },
                     });
                 }
             }
@@ -592,14 +561,10 @@ export default {
                 let files = this.dataForm.financeFiles;
                 this.dataForm.financeFiles = [];
                 for (let i in files) {
-                    let url = files[i].url;
-                    let name = files[i].oldName;
-                    let id = files[i].id;
-
                     this.dataForm.financeFiles.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url,id:id } },
+                        name: files[i].oldName,
+                        url: files[i].url,
+                        response: { error: "0", data: { url: files[i].url, id: files[i].id } },
                     });
                 }
             }
@@ -607,85 +572,60 @@ export default {
                 let files = this.dataForm.auditFiles;
                 this.dataForm.auditFiles = [];
                 for (let i in files) {
-                    let url = files[i].url;
-                    let name = files[i].oldName;
-                    let id = files[i].id;
-
                     this.dataForm.auditFiles.push({
-                        name: name,
-                        url: url,
-                        response: { error: "0", data: { url: url,id:id } },
+                        name: files[i].oldName,
+                        url: files[i].url,
+                        response: { error: "0", data: { url: files[i].url, id: files[i].id } },
                     });
                 }
             }
-            this.dialogStatus = 'update'
-            this.dialogFormVisible = true
+            this.dialogStatus = 'update';
+            this.dialogFormVisible = true;
             this.$nextTick(() => {
-                this.$refs['dataForm'].clearValidate()
-            })
+                this.$refs['dataForm'].clearValidate();
+            });
         },
         updateData() {
             this.$refs['dataForm'].validate((valid) => {
                 if (valid) {
                     updateSupplier(this.dataForm).then(() => {
-                        this.dialogFormVisible = false
-                        this.$notify({
-                            title: '成功',
-                            message: '更新成功',
-                            type: 'success',
-                            duration: 2000
-                        })
-                        this.getList()
-                    })
-
+                        this.dialogFormVisible = false;
+                        this.$notify({ title: '成功', message: '更新成功', type: 'success', duration: 2000 });
+                        this.getList();
+                    });
                 }
-
-            })
+            });
         },
         handleDelete(row) {
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                deleteSupplier({ id: row.id }).then(response => {
-                    this.$notify({
-                        title: '成功',
-                        message: '删除成功',
-                        type: 'success',
-                        duration: 2000
-                    })
-                    this.getList();
-                })
-            }).catch(() => {
-
-            })
-
+            this.$confirm('确认删除吗?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' })
+                .then(() => {
+                    deleteSupplier({ id: row.id }).then(response => {
+                        this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 });
+                        this.getList();
+                    });
+                }).catch(() => { });
         },
         getTypeList() {
-            // 获取供应商类别
             typeListSupplier().then(response => {
                 this.brandOptions = response.data.data.map((item) => {
-                    return { value: item.typeId, label: item.typeName }
+                    return { value: item.typeId, label: item.typeName };
                 });
             }).catch(() => {
                 this.brandOptions = [];
-            })
+            });
         },
         getList() {
-            this.listLoading = true
+            this.listLoading = true;
             listSupplier(this.listQuery).then(response => {
-                this.list = response.data.data.items
-                this.total = response.data.data.total
-                this.listLoading = false
-            }).catch(() => { })
+                this.list = response.data.data.items;
+                this.total = response.data.data.total;
+                this.listLoading = false;
+            }).catch(() => { });
         },
-
         handleQuery() {
-            this.listQuery.page = 1
-            this.getList()
+            this.listQuery.page = 1;
+            this.getList();
         },
-        /** 重置按钮操作 */
         resetQuery() {
             this.listQuery = {
                 page: 1,
@@ -699,16 +639,17 @@ export default {
             this.handleQuery();
         },
         handleSizeChange(val) {
-            this.listQuery.limit = val
-            this.getList()
+            this.listQuery.limit = val;
+            this.getList();
         },
         handleCurrentChange(val) {
-            this.listQuery.page = val
-            this.getList()
+            this.listQuery.page = val;
+            this.getList();
         },
     }
 }
 </script>
+
 <style>
 .good-img {
     width: 50px;

+ 110 - 84
src/views/basicSetting/warehouse.vue

@@ -1,64 +1,102 @@
-adminId<template>
-  <div class="app-container calendar-list-container">
+<template>
+  <div class="app-container">
+    <!-- 查询表单 -->
+    <el-form :model="listQuery" size="small" :inline="true" label-position="top">
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="仓库编号">
+            <el-input clearable placeholder="仓库编号" v-model="listQuery.warehouseCode"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="仓库名称">
+            <el-input clearable placeholder="仓库名称" v-model="listQuery.warehouseName"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="管理员">
+            <el-input clearable placeholder="管理员" v-model="listQuery.adminId"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
 
-    <!-- 查询和其他操作 -->
-    <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="仓库编号" v-model="listQuery.warehouseCode">
-      </el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="仓库名称" v-model="listQuery.warehouseName">
-      </el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="管理员" v-model="listQuery.adminId">
-      </el-input>
-      <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleQuery">查找</el-button>
-      <el-button class="filter-item" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
-      <el-button class="filter-item" type="primary" icon="el-icon-plus" @click="handleCreate">添加</el-button>
-      <el-button class="filter-item" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
-    </div>
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="搜索">
+            <el-button style="width: 100%;" type="primary" icon="el-icon-search"
+              @click="handleQuery">搜索</el-button>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="重置">
+            <el-button style="width: 100%;" icon="el-icon-refresh" type="primary"
+              @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <!-- 操作按钮 -->
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" class="editButton" size="small" icon="el-icon-plus"
+          @click="handleCreate">添加</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="warning" icon="el-icon-download" size="small" @click="handleDownload">导出</el-button>
+      </el-col>
+    </el-row>
 
     <!-- 查询结果 -->
-    <el-table size="small" :data="list" v-loading="listLoading" element-loading-text="正在查询中。。。" border fit
-      highlight-current-row>
+    <div class="border-card">
+      <el-table height="450" size="small" :data="list" v-loading="listLoading"
+        element-loading-text="正在查询中。。。" border fit highlight-current-row>
 
-      <el-table-column type="index" label="序号" header-align="center" align="center">
-      </el-table-column>
+        <el-table-column type="index" label="序号" header-align="center" align="center">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="100px" label="仓库编号" prop="warehouseCode">
-      </el-table-column>
+        <el-table-column align="center" min-width="100px" label="仓库编号" prop="warehouseCode">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="100px" label="仓库名称" prop="warehouseName">
-      </el-table-column>
+        <el-table-column align="center" min-width="100px" label="仓库名称" prop="warehouseName">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="80px" label="管理员" prop="adminId">
-      </el-table-column>
+        <el-table-column align="center" min-width="80px" label="管理员" prop="adminId">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="80px" label="联系电话" prop="adminPhone">
-      </el-table-column>
+        <el-table-column align="center" min-width="80px" label="联系电话" prop="adminPhone">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="200px" label="仓库地址" prop="warehouseAddress">
-      </el-table-column>
+        <el-table-column align="center" min-width="200px" label="仓库地址" prop="warehouseAddress">
+        </el-table-column>
 
-      <el-table-column align="center" min-width="150px" label="备注" prop="remarks">
-      </el-table-column>
+        <el-table-column align="center" min-width="150px" label="备注" prop="remarks">
+        </el-table-column>
 
-      <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
-          <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
+        <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button type="text" icon="el-icon-edit" class="editText" size="small"
+              @click="handleUpdate(scope.row)">编辑</el-button>
+            <el-button type="text" icon="el-icon-delete" class="deleteText" size="small"
+              @click="handleDelete(scope.row)">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
 
-    <!-- 分页 -->
-    <div class="pagination-container">
-      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
-        layout="total, sizes, prev, pager, next, jumper" :total="total">
-      </el-pagination>
+      <!-- 分页 -->
+      <div class="pagination-container">
+        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+          :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" :page-size="listQuery.limit"
+          layout="total, sizes, prev, pager, next, jumper" :total="total">
+        </el-pagination>
+      </div>
     </div>
 
     <!-- 添加或修改对话框 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="600px">
-      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px">
+    <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"
+      width="70%">
+      <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left"
+        label-width="100px" style='margin: 0 50px;'>
         <el-form-item label="仓库编号" prop="warehouseCode">
           <el-input v-model="dataForm.warehouseCode" placeholder="请输入仓库编号"></el-input>
         </el-form-item>
@@ -69,7 +107,8 @@ adminId<template>
           <el-input v-model="dataForm.adminId" placeholder="请输入仓库管理员"></el-input>
         </el-form-item>
         <el-form-item label="联系电话" prop="adminPhone">
-          <el-input v-model="dataForm.adminPhone" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')" placeholder="请输入联系电话"></el-input>
+          <el-input v-model="dataForm.adminPhone" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"
+            placeholder="请输入联系电话"></el-input>
         </el-form-item>
         <el-form-item label="仓库地址" prop="warehouseAddress">
           <el-input v-model="dataForm.warehouseAddress" placeholder="请输入仓库地址"></el-input>
@@ -86,26 +125,26 @@ adminId<template>
         <el-button v-else type="primary" @click="updateData">确定</el-button>
       </div>
     </el-dialog>
-
   </div>
 </template>
+
 <script>
 import { listWarehouse, createWarehouse, updateWarehouse, deleteWarehouse } from '@/api/warehouse'
-import waves from '@/directive/waves' // 水波纹指令
+import waves from '@/directive/waves'
 
 export default {
   directives: { waves },
   data() {
     return {
-      list: undefined,
-      total: undefined,
-      listLoading: true,
+      list: [],
+      total: 0,
+      listLoading: false,
       listQuery: {
         page: 1,
         limit: 10,
-        warehouseCode: undefined,
-        warehouseName: undefined,
-        adminId: undefined,
+        warehouseCode: '',
+        warehouseName: '',
+        adminId: '',
       },
       dataForm: {
         warehouseCode: undefined,
@@ -124,8 +163,6 @@ export default {
       rules: {
         warehouseCode: [
           { required: true, message: "仓库编号不能为空", trigger: "blur" },
-          // { min: 11, max: 11, message: "仓库编号必须为11位", trigger: "blur" },
-          // { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{11,}$/, message: "仓库编号必须为11位字母加数字", trigger: "blur" }
         ],
         warehouseName: [{ required: true, message: '仓库名称不能为空', trigger: 'blur' }],
         adminId: [{ required: true, message: '管理员不能为空', trigger: 'blur' }],
@@ -138,14 +175,13 @@ export default {
     this.getList()
   },
   methods: {
-    /** 重置按钮操作 */
     resetQuery() {
       this.listQuery = {
         page: 1,
         limit: 10,
-        warehouseCode: undefined,
-        warehouseName: undefined,
-        adminId: undefined,
+        warehouseCode: '',
+        warehouseName: '',
+        adminId: '',
       };
       this.handleQuery();
     },
@@ -195,7 +231,6 @@ export default {
       this.$refs['dataForm'].validate((valid) => {
         if (valid) {
           createWarehouse(this.dataForm).then(response => {
-            this.list.unshift(response.data.data)
             this.dialogFormVisible = false
             this.$notify({
               title: '成功',
@@ -220,13 +255,6 @@ export default {
       this.$refs['dataForm'].validate((valid) => {
         if (valid) {
           updateWarehouse(this.dataForm).then(() => {
-            for (const v of this.list) {
-              if (v.id === this.dataForm.id) {
-                const index = this.list.indexOf(v)
-                this.list.splice(index, 1, this.dataForm)
-                break
-              }
-            }
             this.dialogFormVisible = false
             this.$notify({
               title: '成功',
@@ -240,23 +268,21 @@ export default {
       })
     },
     handleDelete(row) {
-      this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteWarehouse({id:row.id}).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
+      this.$confirm('确认删除吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        deleteWarehouse({ id: row.id }).then(response => {
+          this.$notify({
+            title: '成功',
+            message: '删除成功',
+            type: 'success',
+            duration: 2000
           })
-        }).catch(() => {
-  
+          this.getList()
         })
+      }).catch(() => { })
     },
     handleDownload() {
       window.location.href = process.env.BASE_API + '/warehouse-info/export';

+ 0 - 14
src/views/goodsManage/brand.vue

@@ -180,17 +180,6 @@
 </template>
 
 <style>
-.border-card {
-  background: #fff;
-  border: 1px solid #dcdfe6;
-  border-radius: 4px;
-  padding: 20px;
-  margin-bottom: 20px;
-}
-
-.mb8 {
-  margin-bottom: 8px;
-}
 
 .avatar-uploader .el-upload {
   border: 1px dashed #d9d9d9;
@@ -223,9 +212,6 @@
   display: inline-block;
 }
 
-.editButton {
-  margin-bottom: 10px;
-}
 </style>
 
 <script>

+ 1 - 34
src/views/goodsManage/goodsTypeList.vue

@@ -340,37 +340,4 @@ export default {
     }
   }
 };
-</script>
-
-<style>
-.border-card {
-  background: #fff;
-  border: 1px solid #dcdfe6;
-  border-radius: 4px;
-  padding: 20px;
-  margin-bottom: 20px;
-}
-
-.mb8 {
-  margin-bottom: 8px;
-}
-
-.editButton {
-  margin-bottom: 10px;
-}
-
-.editText {
-  color: #409EFF;
-  margin: 0 5px;
-}
-
-.plusText {
-  color: #23c6c8;
-  margin: 0 5px;
-}
-
-.deleteText {
-  color: #F56C6C;
-  margin: 0 5px;
-}
-</style>
+</script>