| 
					
				 | 
			
			
				@@ -0,0 +1,177 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div v-if="isShow"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <a-modal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      centered 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      class="salesRecord-price-modal" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :footer="null" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :maskClosable="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :title="modalTit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      v-model="isShow" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      @cancle="isShow=false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :width="960"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="baseData" style="line-height: 28px;margin-bottom: 10px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div>产品编码:{{ baseData.code }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div>产品名称:{{ baseData.name }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div style="display: flex;padding-bottom: 15px;align-items: center;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span>选择客户:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div style="width: 40%;"><custList ref="custList" @change="custChange" placeholder="输入客户名称搜索" v-model="queryParam.buyerSn"></custList></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div style="padding: 0 15px;color: #999;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-button type="primary" @click="handelSearch(1)">查询</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-button type="default" style="margin-left: 5px" @click="reset">重置</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 表格 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          class="sTable" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ref="table" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :rowKey="(record) => record.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :columns="columns" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :dataSource="list" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :loading="loading" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :pagination="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          bordered> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </a-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 分页 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <tablePagination 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ref="tablePagination" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :total="paginationProps.total" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :current="paginationProps.current" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :pageSize="paginationProps.pageSize" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @changePageSize="changePageSize" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @changePage="changePage" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </a-modal> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { salesRecordlList } from '@/api/salesDetail.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { STable } from '@/components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import tablePagination from '@/views/common/tablePagination.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import custList from '@/views/common/custList.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'SalesRecordModal', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { STable, tablePagination, custList }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openModal: { //  弹框显示状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    itemId: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: [Number, String], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    modalTit () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return '销售记录' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isShow: this.openModal, //  是否打开弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      queryParam: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        productSn: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        buyerSn: undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 表头 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      columns: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '销售时间', dataIndex: 'salesBillEntity.createDate', width: 250, align: 'center', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '销售价(¥)', dataIndex: 'price', width: 150, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '销售数量', dataIndex: 'qty', width: 150, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '客户名称', dataIndex: 'salesBillEntity.buyerName', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      list: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      paginationProps: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        total: 0, //  分页总条数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        current: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageSize: 20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      baseData: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    reset () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.buyerSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.custList.setData(undefined) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getDetail(this.baseData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 客户 change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    custChange (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.buyerSn = obj.key || undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  获取详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getDetail (row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.queryParam.productSn = row.productSn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.handelSearch(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.baseData = row 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 查询列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handelSearch (pageNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.paginationProps.current = pageNo || this.paginationProps.current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageNo: this.paginationProps.current, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageSize: this.paginationProps.pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 开始查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.loading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      salesRecordlList({ ...params, ...this.queryParam }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const data = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.total = Number(res.data.count) || 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.current = data.pageNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.list = data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.total = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.current = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.paginationProps.pageSize = 20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  分页  一页多少条change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changePageSize (current, pageSize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.paginationProps.current = current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.paginationProps.pageSize = pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.handelSearch() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  分页 页码change 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changePage (current) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.paginationProps.current = current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.handelSearch() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  watch: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  父页面传过来的弹框状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openModal (newValue, oldValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.isShow = newValue 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  重定义的弹框状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    isShow (newValue, oldValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!newValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$emit('close') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.paginationProps.total = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.paginationProps.current = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.paginationProps.pageSize = 20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.curTab = '1' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.queryParam.buyerSn = undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$refs.custList.setData(undefined) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="less"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .salesRecord-price-modal{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .ant-modal-body { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      padding: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |