| 
					
				 | 
			
			
				@@ -36,7 +36,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </a-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </a-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="table-page-search-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <a-row :gutter="15" type="flex" justify="space-between" align="middle"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <a-col :md="8" :sm="24" style="text-align:left;"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -45,8 +45,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <a-col :md="16" :sm="24" style="text-align:right;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <a-dropdown> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <a-menu slot="overlay" @click="handleMenuClick"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-menu-item key="3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                全部仓库设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-menu-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <a-menu-item key="0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                仓库设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                部分仓库设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </a-menu-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <a-menu-item key="1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 删除已选项 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -75,19 +78,19 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </a-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <!-- 已选配件列表 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <s-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      class="sTable"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ref="table"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      size="small"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      :scroll="showTotal ? null :{ y: tableHeight }"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      :rowKey="(record) => record.id"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      :columns="columns"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      :data="loadData"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      :row-selection="{ columnWidth: 40 }"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      @rowSelection="rowSelectionFun"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      :pageSize="showTotal?10:30"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      class="sTable" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ref="table" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :scroll="showTotal ? null :{ y: tableHeight }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :rowKey="(record) => record.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :columns="columns" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :data="loadData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :row-selection="{ columnWidth: 40 }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      @rowSelection="rowSelectionFun" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :pageSize="showTotal?10:30" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       :defaultLoadData="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       bordered> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <!-- 产品编码 --> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,7 +137,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <template slot="warehouseBox" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <a-select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          style="width:100%;"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          style="width:100%;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           placeholder="请选择仓库" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           v-model="record.warehouseSn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           :showSearch="true" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -158,9 +161,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <!-- 总计 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <a-alert type="info" v-if="showTotal" banner :showIcon="false"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div slot="message" style="text-align: right;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              款数:<strong>{{ countData&&(countData.totalCategory || countData.totalCategory==0) ? countData.totalCategory : 0 }}</strong>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              数量:<strong>{{ countData&&(countData.totalQty || countData.totalQty==0) ? countData.totalQty : 0 }}</strong>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <span v-if="$hasPermissions('B_salesEdit_salesPrice')">总金额:<strong>{{ countData&&(countData.totalAmount || countData.totalAmount==0) ? toThousands(countData.totalAmount) : '0.00' }}</strong>;</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            款数:<strong>{{ countData&&(countData.totalCategory || countData.totalCategory==0) ? countData.totalCategory : 0 }}</strong>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            数量:<strong>{{ countData&&(countData.totalQty || countData.totalQty==0) ? countData.totalQty : 0 }}</strong>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span v-if="$hasPermissions('B_salesEdit_salesPrice')">总金额:<strong>{{ countData&&(countData.totalAmount || countData.totalAmount==0) ? toThousands(countData.totalAmount) : '0.00' }}</strong>;</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </a-alert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </template> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -169,389 +172,395 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <!-- 导入产品 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <importGuideModal :openModal="openGuideModal" :params="{salesBillSn: salesBillSn}" @close="closeGuideModel" @ok="hanldeOk" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <!-- 仓库设置 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <setWarehouse :show="openWarehouseModal" @ok="chooseWarehouseOk" @cancel="openWarehouseModal=false"></setWarehouse> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <setWarehouse :show="openWarehouseModal" :title="warehouseTit" @ok="chooseWarehouseOk" @cancel="openWarehouseModal=false;warehouseTit = ''"></setWarehouse> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { commonMixin } from '@/utils/mixin' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { STable, VSelect } from '@/components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import ImportGuideModal from './importGuideModal.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import setWarehouse from './setWarehouse.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import chooseWarehouse from '@/views/common/chooseWarehouse' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import ProductBrand from '@/views/common/productBrand.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import productTypeAll from '@/views/common/productTypeAll.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    salesDetailList,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    salesDetailInsert,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    salesDetailUpdateQty,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    salesDetailDel,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    salesDetailBatchDel,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    deleteAll,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    updateWarehouse,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    salesDetaiCount,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    salesBatchInsert } from '@/api/salesDetailNew' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    name: 'ProductList', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    mixins: [commonMixin], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    components: {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      STable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      VSelect, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ImportGuideModal, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      chooseWarehouse, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      setWarehouse, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ProductBrand, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      productTypeAll 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { commonMixin } from '@/utils/mixin' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { STable, VSelect } from '@/components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ImportGuideModal from './importGuideModal.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import setWarehouse from './setWarehouse.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import chooseWarehouse from '@/views/common/chooseWarehouse' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ProductBrand from '@/views/common/productBrand.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import productTypeAll from '@/views/common/productTypeAll.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  salesDetailList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  salesDetailInsert, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  salesDetailUpdateQty, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  salesDetailDel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  salesDetailBatchDel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  deleteAll, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  updateWarehouse, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  salesDetaiCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  salesBatchInsert } from '@/api/salesDetailNew' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'ProductList', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mixins: [commonMixin], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    STable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    VSelect, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ImportGuideModal, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chooseWarehouse, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setWarehouse, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ProductBrand, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    productTypeAll 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openModal: { //  弹框显示状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      openModal: { //  弹框显示状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      newLoading: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      detailData: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Object, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: function(){return null} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      warehouseSn: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    newLoading: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    detailData: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Object, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: function () { return null } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    warehouseSn: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    salesBillSn: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showTotal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      spinning: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 加载数据方法 必须为 Promise 对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loadData: parameter => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.disabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.queryParam.salesBillSn = this.salesBillSn || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.getCount() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return salesDetailList(Object.assign(parameter, this.queryParam, { showStock: true })).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const no = (data.pageNo - 1) * data.pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (var i = 0; i < data.list.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              data.list[i].no = no + i + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              data.list[i].qtyBackups = data.list[i].qty 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              data.list[i].warehouseBackups = data.list[i].warehouseSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.dataSource = data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.disabled = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      salesBillSn: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      showSearch: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      openWarehouseModal: false, // 打开仓库设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      openGuideModal: false, //  导入产品引导 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      delLoading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chooseDisabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      disabled: false, //  查询、重置按钮是否可操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      queryParam: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseSn: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productCode: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productBrandSn: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn1: '', //  产品一级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn2: '', //  产品二级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn3: '' //  产品三级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      showTotal:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      productType: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      rowSelectionInfo: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      warehouseDataList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      countData: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isInster: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      warehouseTit: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    selectTotal () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.rowSelectionInfo && this.rowSelectionInfo.selectedRowKeys.length || 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tableHeight () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return window.innerHeight - 395 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    columns () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const arr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '序号', dataIndex: 'no', width: '4%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品编码', dataIndex: 'productEntity.code', scopedSlots: { customRender: 'productCode' }, width: '13%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品名称', dataIndex: 'productEntity.name', scopedSlots: { customRender: 'productName' }, width: '20%', align: 'left' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // { title: '售价', dataIndex: 'price', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '销售数量', scopedSlots: { customRender: 'salesNums' }, width: '8%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '库存', dataIndex: 'stockQty', scopedSlots: { customRender: 'stockQty' }, width: '8%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '出库仓库', scopedSlots: { customRender: 'warehouseBox' }, width: '15%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '单位', dataIndex: 'productEntity.unit', width: '6%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // { title: '售价小计', dataIndex: 'totalAmount', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '操作', scopedSlots: { customRender: 'action' }, width: '10%', align: 'center' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.$hasPermissions('B_salesEdit_salesPrice')) { // 售价权限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        arr.splice(3, 0, { title: '售价', dataIndex: 'price', width: '8%', align: 'right', customRender: text => ((text || text == 0) ? this.toThousands(text) : '--') }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        arr.splice(7, 0, { title: '售价小计', dataIndex: 'totalAmount', width: '8%', align: 'right', customRender: text => ((text || text == 0) ? this.toThousands(text) : '--') }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return arr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    filterOption (input, option) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    warehouseLoad (sn, list) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.warehouseDataList = list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 表格选中项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rowSelectionFun (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.rowSelectionInfo = obj || null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openCpModal () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit('openCpModal', 0, 'productNormalList') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        spinning: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 加载数据方法 必须为 Promise 对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        loadData: parameter => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.disabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.queryParam.salesBillSn = this.salesBillSn || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.getCount() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return salesDetailList(Object.assign(parameter, this.queryParam, {showStock: true})).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getCount () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      salesDetaiCount(Object.assign(this.queryParam, { showStock: true })).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.countData = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleBatchDelAll () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (_this.dataSource.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.$message.warning('暂无可删除的已选产品!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$confirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: '提示', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content: '确认要删除全部已选产品吗?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        centered: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onOk () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          deleteAll({ salesBillSn: _this.salesBillSn }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              data = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              const no = (data.pageNo - 1) * data.pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              for (var i = 0; i < data.list.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                data.list[i].no = no + i + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                data.list[i].qtyBackups = data.list[i].qty 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                data.list[i].warehouseBackups = data.list[i].warehouseSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              this.dataSource = data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$emit('insterOk', 'normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.disabled = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        showSearch: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        openWarehouseModal: false, // 打开仓库设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        openGuideModal: false, //  导入产品引导 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        delLoading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        chooseDisabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        disabled: false, //  查询、重置按钮是否可操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        queryParam: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          warehouseSn: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          productCode: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          productName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          productBrandSn: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          productTypeSn1: '', //  产品一级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          productTypeSn2: '', //  产品二级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          productTypeSn3: '' //  产品三级分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        productType: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        rowSelectionInfo: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        warehouseDataList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        countData: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        isInster: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      selectTotal () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return this.rowSelectionInfo && this.rowSelectionInfo.selectedRowKeys.length || 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      tableHeight(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return window.innerHeight - 395 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      columns () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const arr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { title: '序号', dataIndex: 'no', width: '4%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { title: '产品编码', dataIndex: 'productEntity.code', scopedSlots: { customRender: 'productCode' }, width: '13%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { title: '产品名称', dataIndex: 'productEntity.name', scopedSlots: { customRender: 'productName' }, width: '20%', align: 'left' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // { title: '售价', dataIndex: 'price', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { title: '销售数量', scopedSlots: { customRender: 'salesNums' }, width: '8%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { title: '库存', dataIndex: 'stockQty', scopedSlots: { customRender: 'stockQty' }, width: '8%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { title: '出库仓库', scopedSlots: { customRender: 'warehouseBox' }, width: '15%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { title: '单位', dataIndex: 'productEntity.unit', width: '6%', align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // { title: '售价小计', dataIndex: 'totalAmount', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { title: '操作', scopedSlots: { customRender: 'action' }, width: '10%', align: 'center' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (this.$hasPermissions('B_salesEdit_salesPrice')) { // 售价权限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          arr.splice(3, 0, { title: '售价', dataIndex: 'price', width: '8%', align: 'right', customRender: text => ((text || text == 0) ? this.toThousands(text) : '--') }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          arr.splice(7, 0, { title: '售价小计', dataIndex: 'totalAmount', width: '8%', align: 'right', customRender: text => ((text || text == 0) ? this.toThousands(text) : '--') }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 批量删除已选产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleBatchDel () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!_this.rowSelectionInfo || (_this.rowSelectionInfo && _this.rowSelectionInfo.selectedRowKeys.length < 1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.$message.warning('请先选择要删除的产品后再进行批量操作!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const obj = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.rowSelectionInfo && _this.rowSelectionInfo.selectedRows.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        obj.push(item.salesBillDetailSn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$confirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: '提示', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content: '已选产品' + obj.length + '项,确认要批量删除吗?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        centered: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onOk () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          salesDetailBatchDel({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            salesBillSn: _this.salesBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            salesBillDetailSnList: obj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$emit('insterOk', 'normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return arr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 设置单个出库仓库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleWarehouseBox (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const snArr = [row.salesBillDetailSn] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const ajax_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseSn: row.warehouseSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesBillDetailSnList: snArr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesBillSn: this.salesBillSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setWarehouseInfo(ajax_data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      filterOption (input, option) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      warehouseLoad(sn,list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.warehouseDataList = list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 表格选中项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      rowSelectionFun (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.rowSelectionInfo = obj || null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      openCpModal(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$emit('openCpModal', 0, 'productNormalList') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      getCount(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        salesDetaiCount(Object.assign(this.queryParam, {showStock: true})).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if(res.status == 200){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.countData = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleBatchDelAll () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (_this.dataSource.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          _this.$message.warning('暂无可删除的已选产品!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chooseWarehouseOk (sn) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const snArr = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.rowSelectionInfo.selectedRows.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        snArr.push(item.salesBillDetailSn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const ajax_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseSn: sn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesBillDetailSnList: snArr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesBillSn: _this.salesBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        allFlag: _this.warehouseTit ? true : undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.setWarehouseInfo(ajax_data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setWarehouseInfo (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      updateWarehouse(data).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$confirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          title: '提示', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          content: '确认要删除全部已选产品吗?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          centered: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          onOk () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            deleteAll({ salesBillSn: _this.salesBillSn }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$emit('insterOk','normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 批量删除已选产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleBatchDel () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.openWarehouseModal = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  产品分类  change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changeProductType (val, opt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn1 = val[0] ? val[0] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn2 = val[1] ? val[1] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn3 = val[2] ? val[2] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleMenuClick (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (e.key == 0) { // 仓库设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!_this.rowSelectionInfo || (_this.rowSelectionInfo && _this.rowSelectionInfo.selectedRowKeys.length < 1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          _this.$message.warning('请先选择要删除的产品后再进行批量操作!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const obj = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.rowSelectionInfo && _this.rowSelectionInfo.selectedRows.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          obj.push(item.salesBillDetailSn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$confirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          title: '提示', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          content: '已选产品' + obj.length + '项,确认要批量删除吗?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          centered: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          onOk () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            salesDetailBatchDel({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              salesBillSn: _this.salesBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              salesBillDetailSnList: obj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$emit('insterOk','normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 设置单个出库仓库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleWarehouseBox (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const snArr = [row.salesBillDetailSn] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const ajax_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          warehouseSn: row.warehouseSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesBillDetailSnList: snArr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesBillSn: this.salesBillSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.setWarehouseInfo(ajax_data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      chooseWarehouseOk (sn) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const snArr = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.rowSelectionInfo.selectedRows.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          snArr.push(item.salesBillDetailSn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const ajax_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          warehouseSn: sn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesBillDetailSnList: snArr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesBillSn: _this.salesBillSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.$message.warning('请先选择要设置的产品!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.openWarehouseModal = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.setWarehouseInfo(ajax_data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      setWarehouseInfo (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (e.key == 1) { // 删除已选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.handleBatchDel() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (e.key == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.$refs.table.clearSelected() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.warehouseTit = '全部仓库设置' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.openWarehouseModal = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.handleBatchDelAll() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 已选产品  blur 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onCellBlur (val, record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //  光标移出,值发生改变再调用编辑接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (val && val != record.qtyBackups) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        updateWarehouse(data).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesDetailUpdateQty({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          salesBillDetailSn: record.salesBillDetailSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          qty: record.qty, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          salesBillSn: _this.salesBillSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.$emit('insterOk', 'normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          _this.openWarehouseModal = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //  产品分类  change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      changeProductType (val, opt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productTypeSn1 = val[0] ? val[0] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productTypeSn2 = val[1] ? val[1] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productTypeSn3 = val[2] ? val[2] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleMenuClick (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (e.key == 0) { // 仓库设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (!_this.rowSelectionInfo || (_this.rowSelectionInfo && _this.rowSelectionInfo.selectedRowKeys.length < 1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _this.$message.warning('请先选择要设置的产品!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _this.openWarehouseModal = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else if (e.key == 1) { // 删除已选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.handleBatchDel() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.handleBatchDelAll() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 已选产品  blur 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      onCellBlur (val, record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //  光标移出,值发生改变再调用编辑接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (val && val != record.qtyBackups) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        record.qty = record.qtyBackups 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 重置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resetSearchForm (flag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productCode = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productName = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.warehouseSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productBrandSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn1 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn2 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn3 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.productType = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.clearSelected() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.refresh(!!flag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 删除产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleDel (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$confirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: '提示', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content: '确认要删除吗?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        centered: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        closable: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onOk () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.delLoading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesDetailUpdateQty({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            salesBillDetailSn: record.salesBillDetailSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            qty: record.qty, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            salesBillSn: _this.salesBillSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          salesDetailDel({ salesBillDetailSn: row.salesBillDetailSn, salesBillSn: _this.salesBillSn }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              _this.$emit('insterOk','normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$emit('insterOk', 'normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.delLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          record.qty = record.qtyBackups 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 重置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      resetSearchForm (flag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productCode = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productName = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.warehouseSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productBrandSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productTypeSn1 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productTypeSn2 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.queryParam.productTypeSn3 = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.productType = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$refs.table.clearSelected() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$refs.table.refresh(!!flag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 删除产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleDel (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$confirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          title: '提示', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          content: '确认要删除吗?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          centered: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          closable: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          onOk () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _this.delLoading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            salesDetailDel({ salesBillDetailSn: row.salesBillDetailSn, salesBillSn: _this.salesBillSn }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$refs.table.refresh(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _this.$emit('insterOk','normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              _this.delLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              _this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 添加产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      insterProduct (row, promotionFlag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log(row, promotionFlag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 防止多次添加产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (this.isInster) { return } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.saveNewProduct(row, promotionFlag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 保存添加的产品到销售列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      saveNewProduct (row, promotionFlag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$message.loading('正在添加产品...', 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.isInster = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        salesDetailInsert({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          packQty: row.productPackQty, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          productSn: row.productSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          showCost: row.lastStockCost, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          price: row.productPrice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          origPrice: row.productPrice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          promotionGiftsAmount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          usePromotionGiftsAmount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          qty: row.salesNums, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesBillSn: this.detailData.salesBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesBillNo: this.detailData.salesBillNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          purchaseBillSn: this.detailData.purchaseBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          purchaseBillNo: this.detailData.purchaseBillNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          stockSn: row.stockSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          promotableFlag: row.isJoinActivityProduct || 0, // 可促销标记 有活动的传1,没活动的传0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          promotionFlag: promotionFlag, // 促销标记 正品传0,促销品传1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          warehouseSn: row.warehouseSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$message.success('产品添加成功', 2.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.resetSearchForm(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$emit('insterOk','normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.isInster = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }).catch(err => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.isInster = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      closeGuideModel () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.openGuideModal = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 批量导入产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      hanldeOk (data, salesPromoSn) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesBillSn: this.detailData.salesBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          salesBillDetailList: data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 添加产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    insterProduct (row, promotionFlag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(row, promotionFlag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 防止多次添加产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.isInster) { return } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.saveNewProduct(row, promotionFlag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 保存添加的产品到销售列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    saveNewProduct (row, promotionFlag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$message.loading('正在添加产品...', 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.isInster = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      salesDetailInsert({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        packQty: row.productPackQty, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productSn: row.productSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        showCost: row.lastStockCost, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        price: row.productPrice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        origPrice: row.productPrice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        promotionGiftsAmount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        usePromotionGiftsAmount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qty: row.salesNums, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesBillSn: this.detailData.salesBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesBillNo: this.detailData.salesBillNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        purchaseBillSn: this.detailData.purchaseBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        purchaseBillNo: this.detailData.purchaseBillNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stockSn: row.stockSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        promotableFlag: row.isJoinActivityProduct || 0, // 可促销标记 有活动的传1,没活动的传0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        promotionFlag: promotionFlag, // 促销标记 正品传0,促销品传1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseSn: row.warehouseSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$message.success('产品添加成功', 2.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.resetSearchForm(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$emit('insterOk', 'normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        salesBatchInsert(params).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$message.success('产品导入成功', 2.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.resetSearchForm(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$emit('insterOk','normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.isInster = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).catch(err => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.isInster = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    closeGuideModel () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.openGuideModal = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 批量导入产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    hanldeOk (data, salesPromoSn) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesBillSn: this.detailData.salesBillSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salesBillDetailList: data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      salesBatchInsert(params).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$message.success('产品导入成功', 2.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.resetSearchForm(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$emit('insterOk', 'normal') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <style lang="less"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -562,4 +571,4 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     display:flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |