| 
					
				 | 
			
			
				@@ -0,0 +1,419 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="purchaseReturnEdit-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <a-page-header :ghost="false" :backIcon="false" class="purchaseReturnEdit-back" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- 自定义的二级文字标题 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <template slot="subTitle"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a id="purchaseReturnEdit-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </a-page-header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 基础信息 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <a-card size="small" :bordered="false" class="purchaseReturnEdit-cont"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <a-collapse :activeKey="['1']"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a-collapse-panel key="1" header="基础信息"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a-descriptions :column="3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-descriptions-item label="供应商名称">箭冠营销总部</a-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </a-descriptions> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </a-collapse-panel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </a-collapse> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </a-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 选择产品 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <a-card size="small" :bordered="false" class="purchaseReturnEdit-cont"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <a-collapse :activeKey="['1']"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a-collapse-panel key="1" header="选择产品"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!-- 筛选条件 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="table-page-search-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <a-form-item label="采购单号" prop="productCode"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <a-input id="purchaseReturnEdit-productCode" v-model="queryParam.productCode" placeholder="请输入采购单号" allowClear /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </a-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <a-form-item label="产品编码" prop="productCode"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <a-input id="purchaseReturnEdit-productCode" v-model="queryParam.productCode" placeholder="请输入产品编码" allowClear /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </a-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-col :md="6" :sm="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <a-form-item label="产品名称" prop="productName"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <a-input id="purchaseReturnEdit-productName" v-model="queryParam.productName" placeholder="请输入产品名称" allowClear /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </a-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a-col :md="6" :sm="24" style="margin-bottom: 24px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="purchaseReturnList-refresh">查询</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="purchaseReturnList-reset">重置</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </a-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </a-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!-- 列表 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="sTable" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ref="table" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :rowKey="(record) => record.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :columns="columns" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :dataSource="loadData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :scroll="{ x: 1280, y: 300 }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :pagination="paginationProps" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            bordered> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 数量 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template slot="putQty" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-input-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                id="purchaseReturnEdit-putQty" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model="record.putQty" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :precision="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :min="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :max="999999" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                placeholder="请输入" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style="width: 100%;" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 操作 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template slot="action" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-button size="small" type="primary" class="button-primary" @click="handleAdd(record)" id="purchaseReturnEdit-add-btn">添加</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </a-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </a-collapse-panel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </a-collapse> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </a-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 已选产品 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <a-card size="small" :bordered="false" class="purchaseReturnEdit-cont"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <a-collapse :activeKey="['1']"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a-collapse-panel key="1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template slot="header"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            已选产品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-button size="small" class="import-btn" id="purchaseReturnEdit-import-btn" @click.stop="handleImport">导入明细</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              class="import-btn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              id="purchaseReturnEdit-delAll-btn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @click.stop="handleDelAll" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              style="margin-left: 10px;">整单删除</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!-- 列表 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="sTable" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ref="chooseTable" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :rowKey="(record) => record.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :columns="chooseColumns" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :dataSource="chooseLoadData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :scroll="{ x: 1185, y: 300 }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :pagination="choosePaginationProps" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            bordered> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 退货数量 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template slot="outQty" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-input-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                id="purchaseReturnEdit-outQty" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model="record.outQty" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :precision="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :min="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :max="999999" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                placeholder="请输入" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @blur="e => outQtyChange(e.target.value, record)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style="width: 100%;" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 退货原因 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template slot="remarks" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                id="purchaseReturnEdit-remarks" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model="record.remarks" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :maxLength="30" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                placeholder="退货原因(最多30个字符)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @change="e => outQtyChange(e.target.value, record)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style="width: 100%;" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 操作 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template slot="action" slot-scope="text, record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-button size="small" type="primary" class="button-error" @click="handleDel(record)" id="purchaseReturnEdit-del-btn">删除</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </a-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </a-collapse-panel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </a-collapse> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </a-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <a-affix :offset-bottom="0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div style="text-align: center;width: 100%;background-color: #fff;padding: 30px 0;box-shadow: 0 0 20px #dcdee2;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a-button type="primary" id="purchaseReturnEdit-submit" size="large" @click="handleSubmit" style="padding: 0 60px;">提交</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </a-affix> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { STable, VSelect } from '@/components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { purchaseReturnPurchaseBillDetailList, purchaseReturnDetailList, purchaseReturnSave } from '@/api/purchaseReturn' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { STable, VSelect }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      queryParam: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productCode: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseSn: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brandSn: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn1: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn2: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn3: undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chooseQueryParam: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productCode: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productName: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      disabled: false, //  查询、重置按钮是否可操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chooseDisabled: false, //  查询、重置按钮是否可操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      advanced: false, // 高级搜索 展开/关闭 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      productBrandList: [], //  产品品牌  下拉数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      productTypeList: [], //  产品分类  下拉数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      productType: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      warehouseList: [], //  仓库  下拉数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 表头 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      columns: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '序号', dataIndex: 'no', width: 80, align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '采购单号', dataIndex: 'purchaseBillNo', width: 200, align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品编码', dataIndex: 'productEntity.code', width: 200, align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品名称', dataIndex: 'productEntity.name', align: 'center', ellipsis: true }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '采购总数', dataIndex: 'qty', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '退货数量', scopedSlots: { customRender: 'putQty' }, width: 200, align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '采购价', dataIndex: 'price', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '单位', dataIndex: 'productEntity.unit', width: 100, align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '操作', scopedSlots: { customRender: 'action' }, width: 100, align: 'center', fixed: 'right' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loadData: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pageNo: 1, //  分页页码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pageSize: 10, //  分页 每页多少条 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      paginationProps: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        showSizeChanger: true, //  是否可以改变 pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        total: 0, //  分页总条数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        current: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onShowSizeChange: (current, pageSize) => this.changePageSize(current, pageSize), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onChange: (current) => this.changePage(current) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 表头 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chooseColumns: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '序号', dataIndex: 'no', width: 80, align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '采购单号', dataIndex: 'purchaseBillNo', width: 200, align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品编码', dataIndex: 'productCode', width: 140, align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '产品名称', dataIndex: 'productName', align: 'center', ellipsis: true }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '采购总数', dataIndex: 'currentQty', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '退货数量', scopedSlots: { customRender: 'putQty' }, width: 100, align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '采购价', dataIndex: 'putCost', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '单位', dataIndex: 'unit', width: 100, align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '退货原因', scopedSlots: { customRender: 'remarks' }, width: 100, align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '操作', scopedSlots: { customRender: 'action' }, width: 100, align: 'center', fixed: 'right' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chooseLoadData: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      choosePageNo: 1, //  分页页码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      choosePageSize: 10, //  分页 每页多少条 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      choosePaginationProps: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        showSizeChanger: true, //  是否可以改变 pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        total: 0, //  分页总条数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        current: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onShowSizeChange: (current, pageSize) => this.changeChoosePageSize(current, pageSize), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onChange: (current) => this.changeChoosePage(current) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      productTotal: null //  合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  重置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resetSearchForm () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productCode = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productName = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.warehouseSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.brandSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn1 = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn2 = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productTypeSn3 = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.table.refresh(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 已选产品  重置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chooseResetSearchForm () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.chooseQueryParam.productCode = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.chooseQueryParam.productName = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getChooseProductList(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  添加/编辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleAdd (row, isEdit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        id: isEdit ? row.id : undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        storeCallOutSn: this.$route.params.sn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        outCost: row.putCost, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        outQty: isEdit ? row.outQty : 1, //  添加时调出数量默认为1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productSn: row.productSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productCode: row.productCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productOrigCode: row.productOrigCode || undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn1: row.productTypeSn1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn2: row.productTypeSn2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productTypeSn3: row.productTypeSn3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        brandSn: row.brandSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseSn: row.warehouseSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warehouseLocationSn: row.warehouseLocationSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      purchaseReturnSave(params).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.getChooseProductList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 双击快速添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleClickRow (record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        on: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          dblclick: (event) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.handleAdd(record) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 导入明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleImport () {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 整单删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleDelAll () {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleDel (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$confirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: '提示', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content: '删除后不可恢复,确定要进行删除吗?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        centered: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onOk () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          storeCallOutDetailDel({ id: row.id }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.getChooseProductList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleSubmit () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      storeCallOutSubmit({ id: this.$route.params.id }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$message.success(res.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _this.handleBack() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  导入明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleImport () {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  返回列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleBack () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$router.push({ path: '/purchasingManagement/purchaseReturn/list' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 选择产品  列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getPurchaseBillDetailList (pageNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageNo = this.pageNo || pageNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.disabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params = Object.assign({ pageNo: this.pageNo, pageSize: this.pageSize }, this.queryParam) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      purchaseReturnPurchaseBillDetailList(params).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const data = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.total = Number(res.data.count) || 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.current = this.pageNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const no = (data.pageNo - 1) * data.pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          for (var i = 0; i < data.list.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data.list[i].no = no + i + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.loadData = data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.disabled = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.total = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.current = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.loadData = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  已选产品 分页  一页多少条change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changeChoosePageSize (current, pageSize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.choosePageNo = current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.choosePageSize = pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getChooseProductList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  已选产品 分页 页码change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changeChoosePage (current) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.choosePageNo = current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getChooseProductList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 已选产品列表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getChooseProductList (pageNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.choosePageNo = this.choosePageNo || pageNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.chooseDisabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageNo: this.choosePageNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageSize: this.choosePageSize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        purchaseBillNo: this.$route.params.sn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      purchaseReturnDetailList(Object.assign(params, this.chooseQueryParam)).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const data = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.choosePaginationProps.total = Number(res.data.count) || 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.choosePaginationProps.current = data.pageNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const no = (data.pageNo - 1) * data.pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          for (var i = 0; i < data.list.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data.list[i].no = no + i + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.chooseLoadData = data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.chooseDisabled = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.choosePaginationProps.total = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.choosePaginationProps.current = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.chooseLoadData = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 已选产品 调出数量  change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    outQtyChange (val, record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.handleAdd(record, 'edit') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    filterOption (input, option) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeRouteEnter (to, from, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    next(vm => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      vm.getPurchaseBillDetailList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      vm.getChooseProductList(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // vm.getProductBrand() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // vm.getProductType() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="less"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .purchaseReturnEdit-wrap{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .purchaseReturnEdit-back{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      margin-bottom: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .purchaseReturnEdit-cont{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      margin-bottom: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .sub-title{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #808695; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-left: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .tag-txt{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #ed1c24; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .edit-circle-btn{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-left: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        i{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          vertical-align: text-bottom; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .import-btn{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-left: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |