From 29b5ffe318b8ab32865ebebedd865ea2aa3f6c7e Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期三, 06 九月 2023 17:45:31 +0800
Subject: [PATCH] 供应商列表相关bug修复及样式调整

---
 src/components/makepager/pager/PagerView.vue         |   13 +
 src/views/supplierManage/supplier/index.vue          |  132 +++++-----
 src/components/makepager/TableCommonView.vue         |   41 ++
 src/assets/style/index.scss                          |  161 +++++++------
 src/views/supplierManage/supplier/AddNewProduct.vue  |   69 +++--
 src/components/layout/components/appHeader/index.vue |    1 
 src/views/purchaseManage/purchase/index.vue          |  171 +++++++-------
 src/components/makepager/CommonFormTableView.vue     |  114 +++++----
 src/components/layout/components/AppMain.vue         |    2 
 9 files changed, 373 insertions(+), 331 deletions(-)

diff --git a/src/assets/style/index.scss b/src/assets/style/index.scss
index bed3e65..d4cf06e 100644
--- a/src/assets/style/index.scss
+++ b/src/assets/style/index.scss
@@ -12,117 +12,126 @@
   outline: 0;
 }
 // 闂磋窛
-.margin_left_3px{
-  margin-left:3px;
+.margin_left_3px {
+  margin-left: 3px;
 }
-.margin_left_5px{
-  margin-left:5px;
+.margin_left_5px {
+  margin-left: 5px;
 }
-.margin_left_10px{
-  margin-left:10px;
+.margin_left_10px {
+  margin-left: 10px;
 }
-.margin_left_15px{
-  margin-left:15px;
+.margin_left_15px {
+  margin-left: 15px;
 }
-.margin_left_20px{
-  margin-left:20px;
+.margin_left_20px {
+  margin-left: 20px;
 }
-.margin_right_5px{
-  margin-right:5px;
+.margin_right_5px {
+  margin-right: 5px;
 }
-.margin_right_10px{
-  margin-right:10px;
+.margin_right_10px {
+  margin-right: 10px;
 }
-.margin_right_15px{
-  margin-right:15px!important;
+.margin_right_15px {
+  margin-right: 15px !important;
 }
-.margin_right_20px{
-  margin-right:20px;
+.margin_right_20px {
+  margin-right: 20px;
 }
-.margin_right_40px{
-  margin-right:40px;
+.margin_right_40px {
+  margin-right: 40px;
 }
-.margin_top_10px{
-  margin-top:10px;
+.margin_top_10px {
+  margin-top: 10px;
 }
-.margin_top_20px{
-  margin-top:20px;
+.margin_top_20px {
+  margin-top: 20px;
 }
-.margin_top_30px{
-  margin-top:30px;
+.margin_top_30px {
+  margin-top: 30px;
 }
-.margin_top_35px{
-  margin-top:35px;
+.margin_top_35px {
+  margin-top: 35px;
 }
-.margin_top_40px{
-  margin-top:40px;
+.margin_top_40px {
+  margin-top: 40px;
 }
-.margin_bottom_2px{
-  margin-bottom:2px;
+.margin_bottom_2px {
+  margin-bottom: 2px;
 }
-.margin_bottom_10px{
-  margin-bottom:10px!important;
+.margin_bottom_10px {
+  margin-bottom: 10px !important;
 }
-.margin_bottom_15px{
-  margin-bottom:15px!important;
+.margin_bottom_15px {
+  margin-bottom: 15px !important;
 }
-.margin_bottom_20px{
-  margin-bottom:20px!important;
+.margin_bottom_20px {
+  margin-bottom: 20px !important;
 }
-.margin_bottom_30px{
-  margin-bottom:30px!important;
+.margin_bottom_30px {
+  margin-bottom: 30px !important;
 }
-.margin_bottom_40px{
-  margin-bottom:40px!important;
+.margin_bottom_40px {
+  margin-bottom: 40px !important;
 }
-.margin_bottom_50px{
-  margin-bottom:50px!important;
+.margin_bottom_50px {
+  margin-bottom: 50px !important;
 }
-// 
-.float_left{
-  float:left;
+//
+.float_left {
+  float: left;
 }
-.float_right{
-  float:right;
+.float_right {
+  float: right;
 }
-// 
-.line_height_32px{
-  line-height:32px;
+//
+.line_height_32px {
+  line-height: 32px;
 }
-.text_indent_20{
-  text-indent:20px;
+.text_indent_20 {
+  text-indent: 20px;
 }
-.text_indent_30{
-  text-indent:30px;
+.text_indent_30 {
+  text-indent: 30px;
 }
 // 瀛椾綋澶у皬
-.font_size_12{
-  font-size:12px;
+.font_size_12 {
+  font-size: 12px;
 }
-.font_size_13{
-  font-size:13px;
+.font_size_13 {
+  font-size: 13px;
 }
-.font_size_14{
-  font-size:14px;
+.font_size_14 {
+  font-size: 14px;
 }
-.font_size_15{
-  font-size:15px;
+.font_size_15 {
+  font-size: 15px;
 }
-.font_size_16{
-  font-size:16px;
+.font_size_16 {
+  font-size: 16px;
 }
-.font_size_18{
-  font-size:18px;
+.font_size_18 {
+  font-size: 18px;
 }
-.font_size_20{
-  font-size:20px!important;
+.font_size_20 {
+  font-size: 20px !important;
 }
-.font_size_30{
-  font-size:30px!important;
+.font_size_30 {
+  font-size: 30px !important;
 }
-.font_size_40{
-  font-size:40px!important;
+.font_size_40 {
+  font-size: 40px !important;
 }
-.cursor_pointer{
+.cursor_pointer {
   cursor: pointer;
-}
\ No newline at end of file
+}
+
+.btn-pager {
+  display: flex;
+  margin-top: 10px;
+  // background: #fff;
+  .page {
+    margin-left: auto;
+  }
+}
diff --git a/src/components/layout/components/AppMain.vue b/src/components/layout/components/AppMain.vue
index e0694e9..1572948 100644
--- a/src/components/layout/components/AppMain.vue
+++ b/src/components/layout/components/AppMain.vue
@@ -33,7 +33,7 @@
   width: calc(100% - 210px);
   .app-main-content {
     width: 100%;
-    overflow-y: auto;
+    overflow-y: hidden;
   }
 }
 </style>
diff --git a/src/components/layout/components/appHeader/index.vue b/src/components/layout/components/appHeader/index.vue
index 71492a6..e83742e 100644
--- a/src/components/layout/components/appHeader/index.vue
+++ b/src/components/layout/components/appHeader/index.vue
@@ -41,6 +41,7 @@
   line-height: 55px;
   background-color: #fff;
   margin-bottom: 10px;
+  margin-left: -10px;
   .header-title {
     margin-left: 16px;
     font-size: 16px;
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 348fce9..41cbeef 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -1,12 +1,20 @@
 <template>
   <div class="page-view">
-    <el-form ref="form" :model="tableList" :show-message="false" label-position="right"
-    >
-      <el-table :data="tableList.tableData" style="width: 100%"
-      :show-summary="showSummary.show"
-      :summary-method="getSummaries"
-      :span-method="arraySpanMethod">
-        <el-table-column type="index" v-if="tableList.tableColumn.length>0" label="缂栧彿" width="50" align="center"></el-table-column>
+    <el-form ref="form" :model="tableList" :show-message="false" label-position="right">
+      <el-table
+        :data="tableList.tableData"
+        style="width: 100%"
+        :show-summary="showSummary.show"
+        :summary-method="getSummaries"
+        :span-method="arraySpanMethod"
+      >
+        <el-table-column
+          type="index"
+          v-if="tableList.tableColumn.length > 0"
+          label="缂栧彿"
+          width="50"
+          align="center"
+        ></el-table-column>
         <el-table-column
           v-for="(item, i) in tableList.tableColumn"
           :key="i"
@@ -47,7 +55,7 @@
                   v-model="scope.row[item.prop]"
                   :fetch-suggestions="querySearchAsync"
                   value-key="name"
-                  style='width:calc(100% - 70px)'
+                  style="width: calc(100% - 70px)"
                   size="mini"
                   @select="
                     (val) => {
@@ -55,13 +63,13 @@
                     }
                   "
                 ></el-autocomplete>
-                <div class="common-select-btn" @click="selClientClick(scope.row, item.prop,scope)">
+                <div class="common-select-btn" @click="selClientClick(scope.row, item.prop, scope)">
                   <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
                 </div>
-                <div class="common-select-btn" @click="clearupClient(scope.row,scope)">
+                <div class="common-select-btn" @click="clearupClient(scope.row, scope)">
                   <i class="el-icon-remove-outline" title="娓呴櫎"></i>
                 </div>
-                <div class="common-select-btn" v-if="scope.$index!=0" @click="deleteClient(scope.row,scope)">
+                <div class="common-select-btn" v-if="scope.$index != 0" @click="deleteClient(scope.row, scope)">
                   <i class="el-icon-delete" title="鍒犻櫎"></i>
                 </div>
               </div>
@@ -102,9 +110,9 @@
               :prop="'tableData.' + scope.$index + '.' + item.prop"
               :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
             >
-             <template v-if="item.multiply">
+              <template v-if="item.multiply">
                 <el-input-number
-                  :value="scope.row[showSummary.multiply[0]]*scope.row[showSummary.multiply[1]]"
+                  :value="scope.row[showSummary.multiply[0]] * scope.row[showSummary.multiply[1]]"
                   placeholder=""
                   :disabled="item.disabled"
                   :min="0"
@@ -118,22 +126,22 @@
                     }
                   "
                 ></el-input-number>
-             </template>
-             <template v-else>
-              <el-input-number
-                v-model="scope.row[item.prop]"
-                placeholder=""
-                :min="0"
-                :precision="2"
-                :controls="false"
-                size="mini"
-                style="width: 100%; margin-right: 5px"
-                @change="
-                  (val) => {
-                    commonInputChange(val, item.prop, scope.row)
-                  }
-                "
-              ></el-input-number>
+              </template>
+              <template v-else>
+                <el-input-number
+                  v-model="scope.row[item.prop]"
+                  placeholder=""
+                  :min="0"
+                  :precision="2"
+                  :controls="false"
+                  size="mini"
+                  style="width: 100%; margin-right: 5px"
+                  @change="
+                    (val) => {
+                      commonInputChange(val, item.prop, scope.row)
+                    }
+                  "
+                ></el-input-number>
               </template>
             </el-form-item>
             <span v-else>{{ scope.row[item.prop] }}</span>
@@ -158,7 +166,7 @@
 </template>
 
 <script>
-import { getProductListFromGrpc,getProductList } from "@/api/productManage/product"
+import { getProductListFromGrpc, getProductList } from "@/api/productManage/product"
 import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
 export default {
   name: "CommmonFormTableView",
@@ -168,9 +176,9 @@
       type: Boolean,
       default: false
     },
-    sign:{
-      type:String,
-      default:''
+    sign: {
+      type: String,
+      default: ""
     },
     productTableList: {
       type: Object,
@@ -192,7 +200,7 @@
           total: false,
           refundable: false,
           sumProp: [],
-          multiply:[],
+          multiply: [],
           titleProp: ["#", "浜у搧鍚嶇О"],
           mergeNumber: 1
         }
@@ -201,7 +209,7 @@
     recalculateShow: {
       type: [Boolean],
       defalut: true
-    },
+    }
   },
   data() {
     return {
@@ -221,15 +229,15 @@
     this.tableList = this.productTableList
   },
   computed: {},
-  watch:{
-    productTableList(){
+  watch: {
+    productTableList() {
       this.tableList = this.productTableList
     }
   },
   methods: {
     // 浜у搧鍚嶇О
     async getProductList() {
-      let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc;
+      let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc
       await fn({
         page: 1,
         pageSize: 100
@@ -298,7 +306,7 @@
         }
         if (column.property === "total") {
           this.total = sums[index]
-          this.$emit('getSummaries',this.total)
+          this.$emit("getSummaries", this.total)
         }
       })
       return sums
@@ -394,7 +402,7 @@
       }
       this.$emit("selCommonName", selRow)
     },
-    selClientClick(row, prop,scope) {
+    selClientClick(row, prop, scope) {
       console.log(row, prop)
       this.productIndex = scope.$index
       this.editSelCommonConfig.title = "浜у搧鍚嶇О"
@@ -426,21 +434,20 @@
             ite.unit = item.unit
             ite.deliveryTime = item.deliveryTime
             ite.shippingDuration = item.shippingDuration
-            this.$set(this.tableList.tableData,index,ite)
+            this.$set(this.tableList.tableData, index, ite)
             this.$forceUpdate()
           }
         })
-        
-       
-        console.log(this.tableList.tableData,'=====chanp')
+
+        console.log(this.tableList.tableData, "=====chanp")
       }
     },
     // 娓呴櫎宸查�夋嫨鐢ㄦ埛
-    clearupClient(row,scope) {
+    clearupClient(row, scope) {
       this.productIndex = scope.$index
       this.tableList.tableData.map((ite, index) => {
         console.log(scope.$index)
-        if (scope.$index  && scope.$index  >= 0) {
+        if (scope.$index && scope.$index >= 0) {
           if (index === this.productIndex) {
             ite.name = ""
             ite.amount = 1
@@ -462,14 +469,13 @@
       })
       this.$emit("clearupProduct", this.tableList.tableData)
     },
-    deleteClient(row,scope){
-      if(this.tableList.tableData.length==1){
-        this.$message.error('鑷冲皯淇濈暀涓�鏉★紝涓嶈兘鍒櫎浜嗭紒')
-        return true;
+    deleteClient(row, scope) {
+      if (this.tableList.tableData.length == 1) {
+        this.$message.error("鑷冲皯淇濈暀涓�鏉★紝涓嶈兘鍒櫎浜嗭紒")
+        return true
       }
-      this.tableList.tableData.splice(scope.$index,1)
-    },
-    
+      this.tableList.tableData.splice(scope.$index, 1)
+    }
   }
 }
 </script>
@@ -477,7 +483,7 @@
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style lang="scss" scoped>
 .page-view {
-  min-width:100px;
+  min-width: 100px;
   .el-form-item {
     margin-bottom: 0;
     .custom-name {
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index ac0e306..be81c3c 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -6,12 +6,17 @@
       :data="tableList.tableInfomation"
       tooltip-effect="dark"
       style="width: 100%"
+      :height="'calc(100% - 0px)'"
+      :max-height="tableList.maxHeight"
       :lazy="tableList.lazy"
-      :show-summary="showSummary.show"
-      :summary-method="getSummaries"
-      :span-method="arraySpanMethod"
       @selection-change="handleSelectionChange"
-      :header-cell-style="{ background: '#ECF4FF', color: '#666' }"
+      :header-cell-style="{ background: '#f1f3f8', color: '#000009' }"
+      :highlight-current-row="tableList.highlight"
+      :row-class-name="tableRowClassName"
+      @row-click="tableRowClick"
+      :row-key="tableList.key"
+      :default-expand-all="tableList.isDefaultExpandAll"
+      :tree-props="{ children: 'child', hasChildren: 'hasChildren' }"
     >
       <el-table-column v-if="tableList.selectBox" type="selection" width="40"> </el-table-column>
       <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"> </el-table-column>
@@ -122,6 +127,13 @@
           totalName: "鏈〉鎬昏"
         }
       }
+    },
+    // 閫変腑鐨勬牱寮�
+    selectClassRow: {
+      type: Object,
+      default: () => {
+        return {}
+      }
     }
   },
   data() {
@@ -130,10 +142,6 @@
   computed: {},
   mounted() {},
   methods: {
-    tableRowClick(row) {
-      console.log(row)
-      this.$emit("tableRowClick", row)
-    },
     handleReserve(row) {
       return row._id ? row._id : row.id
     },
@@ -267,6 +275,18 @@
     // 鍏叡璇︽儏
     selCommonClick(row) {
       this.$emit("selCommonClick", row)
+    },
+    // 鍗曢�夎鐩稿叧
+    tableRowClassName({ row }) {
+      if (Object.keys(this.selectClassRow).length > 0) {
+        if (row.id == this.selectClassRow.id) {
+          return "onSelect"
+        }
+      }
+      this.$emit("tableRowClassName", row)
+    },
+    tableRowClick(row) {
+      this.$emit("tableRowClick", row)
     }
   }
 }
@@ -278,6 +298,7 @@
   // margin-top: 20px;
   margin-right: 10px;
   // margin-bottom: 40px;
+  height: 100%;
   .blue {
     width: 70px;
     text-align: center;
@@ -311,8 +332,8 @@
   }
 }
 ::v-deep {
-  .el-table__footer-wrapper  {
-    tbody td.el-table__cell{
+  .el-table__footer-wrapper {
+    tbody td.el-table__cell {
       background-color: #fff;
       font-weight: bold;
     }
diff --git a/src/components/makepager/pager/PagerView.vue b/src/components/makepager/pager/PagerView.vue
index df8eae2..ac30707 100644
--- a/src/components/makepager/pager/PagerView.vue
+++ b/src/components/makepager/pager/PagerView.vue
@@ -1,6 +1,7 @@
 <template>
   <div class="page-view">
     <el-pagination
+      background
       :current-page="pagerOptions.currPage"
       :page-sizes="pageSizes"
       :page-size="pagerOptions.pageSize"
@@ -9,6 +10,16 @@
       v-on="$listeners"
     >
     </el-pagination>
+    <!-- :current-page.sync="searchParam.page"
+        :page-size="searchParam.pageSize"
+        background
+        :page-sizes="[15, 30]"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="total"
+        @current-change="changePage"
+        @size-change="handleSizeChange"
+        @prev-click="prevPage"
+        @next-click="nextPage" -->
   </div>
 </template>
 
@@ -22,7 +33,7 @@
     },
     layout: {
       type: String,
-      default: "total, sizes, prev, pager, next"
+      default: "total, sizes, prev, pager, next, jumper"
     },
     pagerOptions: {
       type: Object,
diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue
index 7f4dfa0..9154e05 100644
--- a/src/views/purchaseManage/purchase/index.vue
+++ b/src/views/purchaseManage/purchase/index.vue
@@ -15,7 +15,7 @@
       </div>
       <template>
         <TableCommonView
-         class="content-table"
+          class="content-table"
           ref="tableListRef"
           :table-list="tableList"
           @selCommonClick="selCommonClick"
@@ -23,15 +23,15 @@
           <template slot="tableButton">
             <el-table-column label="鐘舵��" width="120">
               <template slot-scope="scope">
-               {{ getpurchaseStatus(scope.row.status) }}
+                {{ getpurchaseStatus(scope.row.status) }}
               </template>
             </el-table-column>
             <el-table-column label="鎿嶄綔" width="120" fixed="right">
               <template slot-scope="scope">
-                <el-button type="text"  size="small" @click="editClick(scope.row)"  style="margin-right: 5px"
+                <el-button type="text" size="small" @click="editClick(scope.row)" style="margin-right: 5px"
                   >缂栬緫</el-button
                 >
-                <el-button  @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button>
+                <el-button @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button>
               </template>
             </el-table-column>
           </template>
@@ -41,48 +41,45 @@
         </div>
       </template>
     </div>
-    
+
     <!-- 鏂板缓/缂栬緫閿�鍞嚎绱� -->
     <!-- <AddSalesLeadDialog v-if="editSalesLeadConfig.visible" :edit-rightContent-config="editSalesLeadConfig" /> -->
     <!-- 璇︽儏 -->
-    <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail"  />
+    <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" />
     <!-- 鏂板缓/缂栬緫 -->
     <AddPurchase v-if="editConfig.visible" :edit-common-config="editConfig" />
   </div>
 </template>
 
 <script>
-
 import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
-import {
-  getPurchaseList,getPurchaseInfo,submitPurchase, 
-} from "@/api/purchaseManage/purchase";
+import { getPurchaseList, getPurchaseInfo, submitPurchase } from "@/api/purchaseManage/purchase"
 import DetailSupplier from "@/views/purchaseManage/purchase/DetailSupplier"
 import AddPurchase from "@/views/purchaseManage/purchase/components/AddPurchase"
-import { getDataByType } from "@/api/data";
+import { getDataByType } from "@/api/data"
 export default {
   name: "SupplierManage",
   props: {},
-  components: { DetailSupplier,AddPurchase },
+  components: { DetailSupplier, AddPurchase },
   mixins: [pageMixin],
   computed: {},
   data() {
     return {
-      tableLoading:false,
+      tableLoading: false,
       tableList: {}, // 鍒楄〃
       selValueList: [],
       commonDetail: {
         visible: false,
         infomation: {}
       },
-      search:'',
-      editRow:{},
+      search: "",
+      editRow: {},
       editConfig: {
         visible: false,
         title: "鍒涘缓",
         infomation: {}
       },
-      purchaseStatusList:getDataByType('purchaseStatus'),
+      purchaseStatusList: getDataByType("purchaseStatus")
     }
   },
   created() {
@@ -94,11 +91,11 @@
       if (val) {
         for (let i in this.purchaseStatusList) {
           if (this.purchaseStatusList[i].id == val) {
-            return this.purchaseStatusList[i].name;
+            return this.purchaseStatusList[i].name
           }
         }
       } else {
-        return "--";
+        return "--"
       }
     },
     setTable() {
@@ -107,13 +104,13 @@
         selectIndex: true,
         tableColumn: [
           { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true },
-          { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true},
+          { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true },
           { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 },
           { label: "渚涘簲鍟嗗悕绉�", prop: "contact", min: 130 },
           { label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 },
           { label: "鏀惰揣浠撳簱", prop: "warehouse", min: 130 },
           { label: "缁忓姙浜�", prop: "handledBy", min: 130 },
-          { label: "鍒跺崟浜�", prop: "creator", min: 130 },
+          { label: "鍒跺崟浜�", prop: "creator", min: 130 }
         ]
       }
     },
@@ -138,11 +135,11 @@
     // 鎼滅储
     searchClick(val, content) {
       console.log(val, content)
-      this.search =  content
+      this.search = content
       this.getData()
     },
     resetClick() {
-      this.search = ''
+      this.search = ""
       this.getData()
     },
     // 鏂板缓
@@ -152,89 +149,88 @@
       this.editConfig.visible = true
       this.editConfig.title = "鍒涘缓"
       this.editConfig.infomation = {
-        productList:[],
-        purchaseTypeId:'',
-        supplierId:'',
-        supplierName:'',
-        orderSource:'鎵嬪姩鍒涘缓',
-        name:'',
-        contact:'',
-        phone:'',
-          signingDate:'',
-          deliveryDate:'',
-          remark:'',
-          wholeDiscountType:null,
-          wholeDiscount:0,
-          priceAdjustmentType:null,
-          priceAdjustment:0,
-          realTotalPrice:0,
-       }
+        productList: [],
+        purchaseTypeId: "",
+        supplierId: "",
+        supplierName: "",
+        orderSource: "鎵嬪姩鍒涘缓",
+        name: "",
+        contact: "",
+        phone: "",
+        signingDate: "",
+        deliveryDate: "",
+        remark: "",
+        wholeDiscountType: null,
+        wholeDiscount: 0,
+        priceAdjustmentType: null,
+        priceAdjustment: 0,
+        realTotalPrice: 0
+      }
     },
-    
+
     // 缂栬緫
-    editClick(row){
-      this.tableLoading=true
-      getPurchaseInfo({id:row.ID}).then((res) => {
+    editClick(row) {
+      this.tableLoading = true
+      getPurchaseInfo({ id: row.ID }).then((res) => {
         if (res.code == 200) {
-          this.tableLoading=false
+          this.tableLoading = false
           this.editConfig.visible = true
           this.editConfig.title = "缂栬緫"
-          this.editConfig.infomation = { 
-            productList:res.data.productList,
-            supplierName:res.data.purchase.supplier.name,
-            ...res.data.purchase,
-           }
-        }else{
-          this.$message.error(res.msg?res.msg+',':''+'鑾峰彇淇℃伅澶辫触锛�')
+          this.editConfig.infomation = {
+            productList: res.data.productList,
+            supplierName: res.data.purchase.supplier.name,
+            ...res.data.purchase
+          }
+        } else {
+          this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�")
         }
       })
-      setTimeout(()=>{
-        this.tableLoading=false
-      },3000)
+      setTimeout(() => {
+        this.tableLoading = false
+      }, 3000)
       // this.editRow = row;
       // this.$refs.add.islook = true;
-      
     },
     // 纭鍙戣揣
     submitClick(row) {
-        this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", {
-          confirmButtonText: "纭畾",
-          cancelButtonText: "鍙栨秷",
-          type: "warning"
-        })
-          .then(() => {
-            console.log("dddd")
-            submitPurchase({ id: row.ID }).then((response) => {
-              if (response.code === 200) {
-                this.$message.success("鎻愪氦鎴愬姛")
-                this.getData()
-              } else {
-                this.$message.warning("鎻愪氦澶辫触")
-              }
-            })
+      this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          console.log("dddd")
+          submitPurchase({ id: row.ID }).then((response) => {
+            if (response.code === 200) {
+              this.$message.success("鎻愪氦鎴愬姛")
+              this.getData()
+            } else {
+              this.$message.warning("鎻愪氦澶辫触")
+            }
           })
-          .catch(() => {})
+        })
+        .catch(() => {})
     },
-    
+
     // 璇︽儏
     selCommonClick(row) {
       console.log(row)
-      this.tableLoading=true
-      getPurchaseInfo({id:row.ID}).then((res) => {
+      this.tableLoading = true
+      getPurchaseInfo({ id: row.ID }).then((res) => {
         if (res.code == 200) {
-          this.tableLoading=false
+          this.tableLoading = false
           this.commonDetail.visible = true
-          this.commonDetail.infomation = { 
-            productList:res.data.productList,
+          this.commonDetail.infomation = {
+            productList: res.data.productList,
             ...res.data.purchase
-           }
-        }else{
-          this.$message.error(res.msg?res.msg+',':''+'鑾峰彇淇℃伅澶辫触锛�')
+          }
+        } else {
+          this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�")
         }
       })
-      setTimeout(()=>{
-        this.tableLoading=false
-      },3000)
+      setTimeout(() => {
+        this.tableLoading = false
+      }, 3000)
     }
   }
 }
@@ -243,10 +239,10 @@
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style lang="scss" scoped>
 .rightContent {
-  width:100%;
-  height:calc(100% - 10px);
+  width: 100%;
+  height: calc(100% - 10px);
   .content-box {
-    height:100%;
+    height: 100%;
     .supplier-search {
       display: flex;
       align-items: center;
@@ -255,11 +251,12 @@
         margin-right: 20px;
       }
     }
-    .content-table{
+    .content-table {
       // height:calc(100% - 60px - 42px);
     }
     .btn-pager {
       display: flex;
+      // background: #fff;
       .page {
         margin-left: auto;
       }
diff --git a/src/views/supplierManage/supplier/AddNewProduct.vue b/src/views/supplierManage/supplier/AddNewProduct.vue
index 0478e65..d5e590c 100644
--- a/src/views/supplierManage/supplier/AddNewProduct.vue
+++ b/src/views/supplierManage/supplier/AddNewProduct.vue
@@ -14,6 +14,7 @@
         <div class="basic-info-title">浜у搧淇℃伅</div>
         <div class="basic-info-view">
           <CommonFormTableView
+            ref="productTable"
             :product-table-list="productTableList"
             :detail-enter="detailEnter"
             @inputContent="inputContent"
@@ -78,41 +79,45 @@
     },
     // 淇濆瓨
     saveClick() {
-      console.log(this.editConfig.infomation)
-      for (let i = 0; i < this.tableData.length; i++) {
-        if (this.tableData[i].name.length === 0) {
-          this.isNoProduct = true
-          break
-        } else {
-          this.isNoProduct = false
-        }
-      }
-      if (this.isNoProduct) {
-        this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖")
-      } else {
-        if (this.editConfig.title === "娣诲姞") {
-          createProduct({
-            list: this.tableData
-          }).then((res) => {
-            console.log(res)
-            this.editConfig.visible = false
-            if (res.code === 200) {
-              this.$message.success("娣诲姞鎴愬姛")
-              this.$parent.getProductList()
+      this.$refs.productTable.$refs.form.validate((valid) => {
+        if (valid) {
+          console.log(this.editConfig.infomation)
+          for (let i = 0; i < this.tableData.length; i++) {
+            if (this.tableData[i].name.length === 0) {
+              this.isNoProduct = true
+              break
+            } else {
+              this.isNoProduct = false
             }
-          })
-        } else {
-          const params = this.saveParams()
-          updateProduct(params).then((res) => {
-            console.log(res)
-            this.editConfig.visible = false
-            if (res.code === 200) {
-              this.$message.success("缂栬緫鎴愬姛")
-              this.$parent.getProductList()
+          }
+          if (this.isNoProduct) {
+            this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖")
+          } else {
+            if (this.editConfig.title === "娣诲姞") {
+              createProduct({
+                list: this.tableData
+              }).then((res) => {
+                console.log(res)
+                this.editConfig.visible = false
+                if (res.code === 200) {
+                  this.$message.success("娣诲姞鎴愬姛")
+                  this.$parent.getProductList()
+                }
+              })
+            } else {
+              const params = this.saveParams()
+              updateProduct(params).then((res) => {
+                console.log(res)
+                this.editConfig.visible = false
+                if (res.code === 200) {
+                  this.$message.success("缂栬緫鎴愬姛")
+                  this.$parent.getProductList()
+                }
+              })
             }
-          })
+          }
         }
-      }
+      })
     },
     saveParams() {
       let data = this.editConfig.infomation
diff --git a/src/views/supplierManage/supplier/index.vue b/src/views/supplierManage/supplier/index.vue
index 2562d39..d5d4eb0 100644
--- a/src/views/supplierManage/supplier/index.vue
+++ b/src/views/supplierManage/supplier/index.vue
@@ -13,49 +13,30 @@
         </div>
       </div>
       <template>
-        <el-table
-          ref="tableSupplier"
-          border
-          :data="tableList.tableInfomation"
-          tooltip-effect="dark"
-          style="width: 100%"
-          :lazy="tableList.lazy"
-          highlight-current-row
-          @row-click="tableRowClick"
-          :header-cell-style="{ background: '#ECF4FF', color: '#666' }"
-        >
-          <el-table-column type="index" label="搴忓彿" width="50"> </el-table-column>
-          <el-table-column
-            v-for="(item, i) in tableList.tableColumn"
-            :key="i"
-            :prop="item.prop"
-            :label="item.label"
-            :width="item.width"
-            :min-width="item.min"
-            show-overflow-tooltip
-            :sortable="item.sortable"
+        <div class="list-view">
+          <TableCommonView
+            ref="tableSupplier"
+            :table-list="tableList"
+            @selCommonClick="selCommonClick"
+            @tableRowClick="tableRowClick"
           >
-            <template slot-scope="scope">
-              <div v-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div>
-              <span
-                v-else-if="item.isCommonClick && scope.row[item.prop]"
-                class="sel-name"
-                @click="selCommonClick(scope.row)"
-                >{{ scope.row[item.prop] }}</span
-              >
-              <span v-else>{{ scope.row[item.prop] ? scope.row[item.prop] : "--" }}</span>
+            <template slot="tableButton">
+              <el-table-column label="鎿嶄綔" width="100">
+                <template slot-scope="scope">
+                  <el-button
+                    v-if="scope.row.status === 0"
+                    @click="enableClick(scope.row, '鍚敤')"
+                    type="text"
+                    size="small"
+                    >鍚敤</el-button
+                  >
+                  <el-button v-else @click="enableClick(scope.row, '鍋滅敤')" type="text" size="small">鍋滅敤</el-button>
+                  <el-button @click="modifyClick(scope.row)" type="text" size="small">淇敼</el-button>
+                </template>
+              </el-table-column>
             </template>
-          </el-table-column>
-          <el-table-column label="鎿嶄綔" width="100">
-            <template slot-scope="scope">
-              <el-button v-if="scope.row.status === 0" @click="enableClick(scope.row, '鍚敤')" type="text" size="small"
-                >鍚敤</el-button
-              >
-              <el-button v-else @click="enableClick(scope.row, '鍋滅敤')" type="text" size="small">鍋滅敤</el-button>
-              <el-button @click="modifyClick(scope.row)" type="text" size="small">淇敼</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
+          </TableCommonView>
+        </div>
         <div class="btn-pager">
           <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
         </div>
@@ -79,22 +60,24 @@
         </div>
       </div>
       <template>
-        <TableCommonView
-          ref="tableListProduct"
-          :table-list="productTableList"
-          @selCommonClick="selCommonClick"
-          @getSelectArray="getSelectArray"
-        >
-          <template slot="tableButton">
-            <el-table-column label="鎿嶄綔" width="170">
-              <template slot-scope="scope">
-                <el-button @click="raleteClick(scope.row)" type="text" size="small">鐩稿叧渚涘簲鍟�</el-button>
-                <el-button @click="editClick(scope.row)" type="text" size="small">淇敼</el-button>
-                <el-button @click="delClick(scope.row)" type="text" size="small">鍒犻櫎</el-button>
-              </template>
-            </el-table-column>
-          </template>
-        </TableCommonView>
+        <div class="list-view">
+          <TableCommonView
+            ref="tableListProduct"
+            :table-list="productTableList"
+            @selCommonClick="selCommonClick"
+            @getSelectArray="getSelectArray"
+          >
+            <template slot="tableButton">
+              <el-table-column label="鎿嶄綔" width="170">
+                <template slot-scope="scope">
+                  <el-button @click="raleteClick(scope.row)" type="text" size="small">鐩稿叧渚涘簲鍟�</el-button>
+                  <el-button @click="editClick(scope.row)" type="text" size="small">淇敼</el-button>
+                  <el-button @click="delClick(scope.row)" type="text" size="small">鍒犻櫎</el-button>
+                </template>
+              </el-table-column>
+            </template>
+          </TableCommonView>
+        </div>
         <div class="btn-pager">
           <PagerView class="page" :pager-options="productPagerOptions" v-on="pagerEvents" />
         </div>
@@ -169,6 +152,7 @@
       this.tableList = {
         tableInfomation: [],
         selectIndex: true,
+        highlight: true,
         ref: "tableListRef",
         tableColumn: [
           { label: "渚涘簲鍟嗙紪鍙�", prop: "number", min: 190, isCommonClick: true },
@@ -237,7 +221,7 @@
             this.supplierId = 0
           }
           this.$nextTick(() => {
-            this.$refs.tableSupplier.setCurrentRow(this.tableList.tableInfomation[0])
+            this.$refs.tableSupplier.$refs.table.setCurrentRow(this.tableList.tableInfomation[0])
           })
           this.getProductList()
         }
@@ -367,8 +351,16 @@
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style lang="scss" scoped>
 .rightContent {
+  height: 100%;
+  background: #f0f2f5;
+  padding: 10px;
   .top {
     margin-bottom: 20px;
+    height: 55%;
+    background: #fff;
+    .list-view {
+      height: calc(100% - 120px);
+    }
     .supplier-search {
       display: flex;
       align-items: center;
@@ -381,14 +373,20 @@
       color: $color-primary;
       cursor: pointer;
     }
-    .btn-pager {
-      display: flex;
-      .page {
-        margin-left: auto;
-      }
-    }
+    // .btn-pager {
+    //   display: flex;
+    //   .page {
+    //     margin-left: auto;
+    //   }
+    // }
   }
   .bottom {
+    margin-top: 20px;
+    height: calc(40% - 0px);
+    background: #fff;
+    .list-view {
+      height: calc(100% - 120px);
+    }
     .product-search {
       display: flex;
       align-items: center;
@@ -398,12 +396,6 @@
       .add-view {
         margin-left: 20px;
         margin-right: 20px;
-      }
-    }
-    .btn-pager {
-      display: flex;
-      .page {
-        margin-left: auto;
       }
     }
   }

--
Gitblit v1.8.0