lilei 2 anni fa
parent
commit
a796694fd3

+ 77 - 0
src/api/pickUp.js

@@ -0,0 +1,77 @@
+import { axios } from '@/utils/request'
+
+//  提货单列表  分页
+export const pickUpQueryPage = (params) => {
+  const url = `/pickUp/queryPage/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
+  return axios({
+    url: url,
+    data: params,
+    method: 'post'
+  })
+}
+// 保存提货单
+export const pickUpSave = (params) => {
+  return axios({
+    url: `/pickUp/save`,
+    data: params,
+    method: 'post'
+  })
+}
+// 提交提货单
+export const pickUpSubmit = (params) => {
+  return axios({
+    url: `/pickUp/submit`,
+    data: params,
+    method: 'post'
+  })
+}
+
+// 删除提货单
+export const pickUpDelete = (params) => {
+  return axios({
+    url: `/pickUp/deleteBySn/${params.pickUpSn}`,
+    data: params,
+    method: 'post'
+  })
+}
+// 再次编辑
+export const pickUpAgainEdit = (params) => {
+  return axios({
+    url: `/pickUp/againEdit/${params.pickUpSn}`,
+    data: params,
+    method: 'post'
+  })
+}
+
+// 提货单详情
+export const pickUpDetail = (params) => {
+  return axios({
+    url: `/pickUp/queryBySn/${params.pickUpSn}`,
+    method: 'get'
+  })
+}
+
+// 物流公司
+export const pickUpLogisticsList = (params) => {
+  return axios({
+    url: `/pickUp/queryLogisticsList`,
+    method: 'get'
+  })
+}
+// 提货-物流点
+export const pickUpPointList = (params) => {
+  return axios({
+    url: `/pickUp/queryLogisticsPointList`,
+    method: 'get'
+  })
+}
+// 销退单-列表
+export const pickUpDetailQueryList = (params) => {
+  return axios({
+    url: `/pickUp/queryPickUpSalesReturnList/${params.pickUpSn}`,
+    data: params,
+    method: 'post'
+  })
+}

+ 127 - 100
src/views/salesReturnManagement/billOfLading/add.vue

@@ -18,68 +18,68 @@
           <a-row>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
               <a-form-model-item label="申请人" prop="applyPersonSn">
-                <employee style="width: 100%;" id="billOfLading-Employee" v-model="form.applyPersonSn"></employee>
+                <employee style="width: 100%;" id="billOfLading-Employee" @change="employeeChange" v-model="form.applyPersonSn"></employee>
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <a-form-model-item label="主题" prop="code">
+              <a-form-model-item label="主题" prop="theme">
                 <a-input
-                  id="billOfLadingEdit-code"
+                  id="billOfLadingEdit-theme"
                   :maxLength="30"
-                  v-model.trim="form.code"
+                  v-model.trim="form.theme"
                   placeholder="请输入主题(最多30个字符)"
                   allowClear />
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <a-form-model-item label="物流公司" prop="origCode">
-                <a-input
-                  id="billOfLadingEdit-origCode"
-                  v-model.trim="form.origCode"
-                  placeholder="请选择物流公司"
-                  allowClear />
+              <a-form-model-item label="物流公司">
+                <logisticsCompany
+                  id="billOfLadingEdit-logisticsCompany"
+                  @change="ltcChange"
+                  v-model="form.logisticsCompany"
+                />
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <a-form-model-item label="物流点" prop="otherCode">
-                <a-input
-                  id="billOfLadingEdit-otherCode"
-                  v-model.trim="form.otherCode"
-                  placeholder="请选择物流点"
+              <a-form-model-item label="物流点">
+                <logisticsPoint
+                  ref="logisticsPoint"
+                  id="billOfLadingEdit-logisticsPoint"
+                  v-model.trim="form.logisticsPoint"
                   allowClear />
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
               <a-form-model-item label="发货方">
-                <dealerSubareaScopeList ref="dealerSubareaScopeList" id="billOfLadingEdit-buyerSn" @change="custChange" />
+                <dealerSubareaScopeList ref="dealerSubareaScopeList" id="billOfLadingEdit-senderName" @change="custChange" />
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <a-form-model-item label="收货人" prop="qrCode">
+              <a-form-model-item label="收货人">
                 <a-input
-                  id="billOfLadingEdit-qrCode"
+                  id="billOfLadingEdit-receiverName"
                   :maxLength="30"
-                  v-model.trim="form.qrCode"
+                  v-model.trim="form.receiverName"
                   placeholder="请输入收货人(最多30个字符)"
                   allowClear />
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <a-form-model-item label="电话" prop="qrCode">
+              <a-form-model-item label="电话">
                 <a-input
-                  id="billOfLadingEdit-qrCode"
+                  id="billOfLadingEdit-receiverPhone"
                   :maxLength="30"
-                  v-model.trim="form.qrCode"
+                  v-model.trim="form.receiverPhone"
                   placeholder="请输入电话(最多30个字符)"
                   allowClear />
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <a-form-model-item label="件数" prop="packQty">
+              <a-form-model-item label="件数">
                 <a-input-number
-                  id="billOfLadingEdit-packQty"
+                  id="billOfLadingEdit-goodsNum"
                   style="width:100%"
-                  v-model="form.packQty"
+                  v-model="form.goodsNum"
                   :precision="0"
                   :min="1"
                   :max="999999"
@@ -90,9 +90,9 @@
             <a-col :span="24">
               <a-form-model-item label="运费" :label-col="{span:2}" :wrapper-col="{span:20}">
                 <a-input
-                  id="billOfLadingEdit-qrCode"
+                  id="billOfLadingEdit-freight"
                   :maxLength="100"
-                  v-model.trim="form.qrCode"
+                  v-model.trim="form.freight"
                   placeholder="请输入运费(最多100个字符)"
                   allowClear />
               </a-form-model-item>
@@ -100,10 +100,10 @@
           </a-row>
           <a-row>
             <a-col :spna="24">
-              <a-form-model-item style="margin-bottom:0" label="备注" prop="size" :label-col="{span:2}" :wrapper-col="{span:20}">
+              <a-form-model-item style="margin-bottom:0" label="备注" :label-col="{span:2}" :wrapper-col="{span:20}">
                 <a-textarea
-                  v-model.trim="form.size"
-                  id="billOfLadingEdit-size"
+                  v-model.trim="form.remarks"
+                  id="billOfLadingEdit-remarks"
                   :maxLength="500"
                   allowClear
                   placeholder="请输入备注(最多500个字符)" />
@@ -114,7 +114,7 @@
                 <Upload
                   style="height: 100%;"
                   id="billOfLadingEdit-attachList"
-                  v-model="form.expenseAccountFilesList"
+                  v-model="form.attachmentList"
                   ref="attachList"
                   :fileSize="10"
                   :maxNums="10"
@@ -135,7 +135,7 @@
                       <span>{{ index+1 }}</span>
                     </template>
                     <!-- 单号 -->
-                    <template slot="salesReturnBillNo" slot-scope="text, record">
+                    <template slot="salesReturnNo" slot-scope="text, record">
                       <span>{{ record.salesReturnBillNo }}</span>
                     </template>
                     <!-- 操作 -->
@@ -176,7 +176,12 @@
         style="padding: 0 60px;">提交</a-button>
     </div>
     <!-- 关联销退单 -->
-    <selectXtModal ref="selXtModal" modalTit="选择销退单" :chooseData="chooseData" :openModal="showXtModal" @cancel="showXtModal=false"></selectXtModal>
+    <selectXtModal
+      ref="selXtModal"
+      modalTit="选择销退单"
+      :chooseData="chooseData"
+      :openModal="showXtModal"
+      @cancel="showXtModal=false"></selectXtModal>
     <!-- 选择审核人员 -->
     <chooseDepartUserModal :openModal="openDepartUserModal" @close="openDepartUserModal=false" @submit="handleSubmit"></chooseDepartUserModal>
   </div>
@@ -185,75 +190,58 @@
 <script>
 import { commonMixin } from '@/utils/mixin'
 import { STable, VSelect, Upload } from '@/components'
-import { productSave, productSnDetail } from '@/api/product'
+import { pickUpSave, pickUpSubmit, pickUpDetail, pickUpDetailQueryList } from '@/api/pickUp'
 import selectXtModal from './selectXtModal.vue'
 import employee from '../../expenseManagement/expenseReimbursement/employee.js'
+import logisticsCompany from './logisticsCompany.js'
+import logisticsPoint from './logisticsPoint'
 import chooseDepartUserModal from '../../expenseManagement/expenseReimbursement/chooseDepartUserModal.vue'
 import dealerSubareaScopeList from '@/views/common/dealerSubareaScopeList.vue'
 export default {
   name: 'ProductInfoEdit',
   mixins: [commonMixin],
-  components: { VSelect, Upload, STable, employee, dealerSubareaScopeList, chooseDepartUserModal, selectXtModal },
+  components: { VSelect, Upload, STable, employee, dealerSubareaScopeList, chooseDepartUserModal, selectXtModal, logisticsCompany, logisticsPoint },
   data () {
     return {
       spinning: false,
       showXtModal: false,
       openDepartUserModal: false,
+      pickUpSn: '',
       formItemLayout: {
         labelCol: { span: 4 },
         wrapperCol: { span: 16 }
       },
       attachAction: process.env.VUE_APP_API_BASE_URL + '/uploadGetFileInfo',
       form: {
-        applyPersonSn: '', // 申请人
-        applyPersonName: '',
-        code: '', //  产品编码
-        origCode: '', //  原厂编码
-        otherCode: '', // 其他编码
-        productBrandSn: undefined, //  产品品牌
-        productTypeSn1: '', //  产品一级分类
-        productTypeSn2: '', //  产品二级分类
-        productTypeSn3: '', //  产品三级分类
-        productType: [], //  产品分类
-        unit: undefined, //  单位
-        packQty: '', // 包装数
-        packQtyUnit: undefined, // 包装数单位
-        arrowFalg: undefined, // 是否箭冠产品
-        qrCode: '',
-        productMsg: '', //  产品图片
-        size: '', // 产品尺寸
-        weight: '', // 产品重量
-        color: undefined, // 颜色
-        boxSize: '', // 内核尺寸
-        description: '', // 产品说明
-        otherDesc: '' // 其他说明
+        applyPersonSn: undefined, // 申请人
+        applyPersonName: undefined,
+        theme: '', //  主题
+        logisticsCompany: undefined, //  物流公司
+        logisticsPoint: undefined, //  物流点
+        senderName: '', //  发货方
+        senderSn: '',
+        receiverName: '', //  收货人
+        receiverPhone: '', // 电话
+        goodsNum: '', // 件数
+        freight: '', // 运费
+        remarks: '',
+        attachmentList: '' // 附件
       },
+      attachList: [],
       rules: {
         applyPersonSn: [
           { required: true, message: '请选择申请人', trigger: 'blur' }
         ],
-        code: [
-          { required: true, message: '请输入产品编码', trigger: 'blur' }
-        ],
-        productBrandSn: [
-          { required: true, message: '请选择产品品牌', trigger: 'change' }
-        ],
-        productType: [
-          { required: true, message: '请选择产品分类', trigger: 'change' }
-        ],
-        unit: [
-          { required: true, message: '请选择单位', trigger: 'change' }
-        ],
-        arrowFalg: [
-          { required: true, message: '请选择是否为箭冠产品', trigger: 'change' }
+        theme: [
+          { required: true, message: '请输入主题', trigger: 'blur' }
         ]
       },
       chooseData: [],
       columns: [
         { title: '序号', scopedSlots: { customRender: 'no' }, width: '8%', align: 'center' },
-        { title: '总部销退单号', scopedSlots: { customRender: 'salesReturnBillNo' }, width: '15%', align: 'center' },
+        { title: '总部销退单号', scopedSlots: { customRender: 'salesReturnNo' }, width: '15%', align: 'center' },
         { title: '客户名称', dataIndex: 'buyerName', width: '20%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '申请退货数量', dataIndex: 'totalQty', width: '15%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '申请退货数量', dataIndex: 'totalBackStockQty', width: '15%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '审核时间', dataIndex: 'auditTime', width: '15%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '业务状态', dataIndex: 'billStatusDictValue', width: '15%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '12%', align: 'center' }
@@ -262,23 +250,49 @@ export default {
   },
   methods: {
     custChange (val) {
-      this.queryParam.buyerSn = val.key
+      this.form.senderSn = val.key
+      this.form.senderName = val.name
+    },
+    // 申请人员
+    employeeChange (v, r) {
+      this.$nextTick(() => {
+        this.$refs.ruleForm.validateField(['applyPersonSn'])
+      })
     },
     openSelModal () {
       this.showXtModal = true
     },
+    ltcChange (v, row) {
+      if (row) {
+        this.$refs.logisticsPoint.getList(row.logisticsPointList)
+        this.form.logisticsPoint = undefined
+      }
+    },
+    // 关联销售退货单
+    getReturnOrderList () {
+      pickUpDetailQueryList({ pickUpSn: this.$route.params.sn }).then(res => {
+        this.chooseData = []
+        res.data.map(item => {
+          this.chooseData.push(item.salesReturnBillEntity)
+        })
+      })
+    },
     //  详情
     getDetail () {
       this.spinning = true
       this.disabled = true
-      expenseAccountDetail({ expenseAccountSn: this.expenseAccountSn }).then(res => {
+      pickUpDetail({ pickUpSn: this.$route.params.sn }).then(res => {
         if (res.status == 200) {
           const data = res.data
           this.form = Object.assign(this.form, data)
           // 获取附件列表
-          this.form.expenseAccountFilesList = ''
-          this.attachList = res.data.expenseAccountFilesList
+          this.form.attachmentList = ''
+          this.attachList = res.data.attachmentList
           this.$refs.attachList.setFileList(this.attachList)
+          // 发货方
+          if (this.form.senderSn) {
+            this.$refs.dealerSubareaScopeList.getDetail(this.form.senderSn)
+          }
         } else {
           this.$refs.ruleForm.resetFields()
         }
@@ -286,33 +300,45 @@ export default {
         this.disabled = false
       })
     },
+    // 删除关联单
+    handleDel (row) {
+      const i = this.chooseData.findIndex(item => row.salesReturnBillNo == item.salesReturnBillNo)
+      this.chooseData.splice(i, 1)
+    },
+    // 获取关联单sn列表
+    getRtSnList () {
+      const ret = []
+      this.chooseData.map(item => {
+        ret.push({ salesReturnSn: item.salesReturnBillSn, salesReturnNo: item.salesReturnNo })
+      })
+      return ret
+    },
     // 提交
     handleSave (type) {
       const _this = this
       this.$refs.ruleForm.validate(valid => {
         if (valid) {
-          if (this.chooseData.length == 0) {
-            _this.$message.info('请选择销退单')
-          } else {
-            // 保存
-            if (type == 'save') {
-              const form = JSON.parse(JSON.stringify(_this.form))
-              form.id = _this.$route.params.id ? _this.$route.params.id : undefined
-              form.expenseAccountFilesList = _this.attachList
-              _this.spinning = true
-              productSave(form).then(res => {
-                if (res.status == 200) {
-                  _this.$message.success(res.message)
-                  _this.handleBack()
-                }
+          const form = JSON.parse(JSON.stringify(_this.form))
+          form.attachmentList = _this.attachList
+          form.pickUpSalesReturnList = this.getRtSnList()
+          _this.spinning = true
+          pickUpSave(form).then(res => {
+            if (res.status == 200) {
+              // 保存
+              if (type == 'save') {
+                _this.$message.success(res.message)
+                _this.handleBack()
                 _this.spinning = false
-              })
+              }
+              // 提交
+              if (type == 'submit') {
+                _this.openDepartUserModal = true
+                _this.pickUpSn = res.data.pickUpSn
+              }
+            } else {
+              _this.spinning = false
             }
-            // 提交
-            if (type == 'submit') {
-              _this.openDepartUserModal = true
-            }
-          }
+          })
         } else {
           return false
         }
@@ -321,7 +347,7 @@ export default {
     // 提交信息
     handleSubmit (data) {
       this.spinning = true
-      expenseAccountSubmit({ expenseAccountSn: this.$route.params.sn, ...data }).then(res => {
+      pickUpSubmit({ pickUpSn: this.$route.params.sn || this.pickUpSn, ...data }).then(res => {
         if (res.status == '200') {
           this.$message.success(res.message)
           this.handleBack()
@@ -342,11 +368,12 @@ export default {
     },
     pageInit () {
       this.attachList = []
-      this.form.expenseAccountFilesList = ''
+      this.form.attachmentList = ''
       this.$refs.attachList.setFileList('')
       this.$refs.ruleForm.resetFields()
-      if (this.$route.params.id) { //  编辑页
+      if (this.$route.params.sn) { //  编辑页
         this.getDetail()
+        this.getReturnOrderList()
       }
     }
   },

+ 58 - 53
src/views/salesReturnManagement/billOfLading/list.vue

@@ -12,7 +12,7 @@
             </a-col>
             <a-col :md="6" :sm="24">
               <a-form-item label="提货单号">
-                <a-input id="billOfLading-billNo" v-model.trim="queryParam.purchaseReturnBillNo" allowClear placeholder="请输入客户采退申请单号"/>
+                <a-input id="billOfLading-pickUpNo" v-model.trim="queryParam.pickUpNo" allowClear placeholder="请输入提货单号"/>
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
@@ -28,12 +28,12 @@
             <template v-if="advanced">
               <a-col :md="6" :sm="24">
                 <a-form-item label="物流点">
-                  <employee style="width: 100%;" id="billOfLading-Employee2" v-model="queryParam.applyPersonSn"></employee>
+                  <logisticsPoint style="width: 100%;" id="billOfLading-logisticsPoint" v-model="queryParam.logisticsPoint"></logisticsPoint>
                 </a-form-item>
               </a-col>
               <a-col :md="6" :sm="24">
                 <a-form-item label="发货方">
-                  <dealerSubareaScopeList ref="dealerSubareaScopeList" id="billOfLading-buyerSn" @change="custChange" />
+                  <dealerSubareaScopeList ref="dealerSubareaScopeList" id="billOfLading-senderSn" @change="custChange" />
                 </a-form-item>
               </a-col>
               <a-col :md="6" :sm="24">
@@ -44,10 +44,10 @@
               <a-col :md="6" :sm="24">
                 <a-form-item label="状态">
                   <v-select
-                    v-model="queryParam.billStatus"
-                    ref="billStatus"
-                    id="billOfLading-billStatus"
-                    code="SALES_RETURN_BILL_STATUS"
+                    v-model="queryParam.state"
+                    ref="state"
+                    id="billOfLading-state"
+                    code="PICK_UP_STATE"
                     placeholder="请选择状态"
                     allowClear></v-select>
                 </a-form-item>
@@ -83,11 +83,15 @@
         :defaultLoadData="false"
         bordered>
         <!-- 单号 -->
-        <template slot="salesReturnBillNo" slot-scope="text, record">
+        <template slot="pickUpNo" slot-scope="text, record">
           <div v-if="$hasPermissions('B_salesReturnDetail')">
-            <span class="link-bule" @click="handleDetail(record)">{{ record.salesReturnBillNo }}</span>
+            <span class="link-bule" @click="handleDetail(record)">{{ record.pickUpNo }}</span>
           </div>
-          <div v-else>{{ record.salesReturnBillNo }}</div>
+          <div v-else>{{ record.pickUpNo }}</div>
+        </template>
+        <!-- 关联单数 -->
+        <template slot="salesReturnNum" slot-scope="text, record">
+          <div>{{ record.salesReturnNum }}</div>
         </template>
         <!-- 操作 -->
         <template slot="action" slot-scope="text, record">
@@ -95,36 +99,38 @@
             size="small"
             type="link"
             class="button-warning"
-            v-if="record.billStatus == 'WAIT_AUDIT'"
+            v-if="record.state == 'WAIT_AUDIT'"
             @click="handleEexamine(record)"
             id="billOfLading-eexamine-btn">审核进度</a-button>
           <a-button
             size="small"
             type="link"
             class="button-warning"
-            v-if="record.billStatus == 'AUDIT_REJECT'"
+            v-if="record.state == 'AUDIT_REJECT'"
             @click="handleAginEdit(record)"
             id="billOfLading-eexamine-btn">再次编辑</a-button>
           <a-button
             size="small"
-            v-if="record.billStatus == 'WAIT_SUBMIT'"
+            v-if="record.state == 'WAIT_SUBMIT'"
             type="link"
             class="button-info"
             @click="handleEdit(record)"
             id="billOfLading-edit-btn">编辑</a-button>
           <a-button
             size="small"
-            v-if="record.billStatus == 'WAIT_SUBMIT'"
+            v-if="record.state == 'WAIT_SUBMIT'"
             type="link"
             class="button-error"
             @click="handleDel(record)"
             id="billOfLading-del-btn">删除</a-button>
-          <span v-if="record.billStatus == 'FINISH'">
+          <span v-if="record.state == 'AUDIT_PASS'">
             --
           </span>
         </template>
       </s-table>
     </a-spin>
+    <!-- 审核进度 -->
+    <verifyModal :openModal="visibleAudit" :itemSn="auditInfo&&auditInfo.pickUpSn" @close="visibleAudit=false"></verifyModal>
   </a-card>
 </template>
 
@@ -133,8 +139,10 @@ import { commonMixin } from '@/utils/mixin'
 import { STable, VSelect } from '@/components'
 import dealerSubareaScopeList from '@/views/common/dealerSubareaScopeList.vue'
 import employee from '../../expenseManagement/expenseReimbursement/employee.js'
+import verifyModal from './verifyModal.vue'
+import logisticsPoint from './logisticsPoint'
 import rangeDate from '@/views/common/rangeDate.vue'
-import { salesReturnList, salesReturnDel } from '@/api/salesReturn'
+import { pickUpQueryPage, pickUpDelete } from '@/api/pickUp'
 export default {
   name: 'BillOfLadingList',
   mixins: [commonMixin],
@@ -143,7 +151,9 @@ export default {
     VSelect,
     dealerSubareaScopeList,
     employee,
-    rangeDate
+    rangeDate,
+    logisticsPoint,
+    verifyModal
   },
   data () {
     return {
@@ -157,20 +167,20 @@ export default {
       queryParam: {
         beginDate: '',
         endDate: '',
-        beginAuditDate: '',
-        endAuditDate: '',
-        buyerSn: undefined, //  客户名称
+        auditBeginDate: '',
+        auditEndDate: '',
+        pickUpNo: '', // 提货单号
+        applyPersonSn: undefined, // 申请人
         salesReturnBillNo: undefined, //  总部销退单号
-        purchaseReturnBillNo: '',
-        billStatus: undefined, // 业务状态
-        shippingAddrProvinceSn: undefined,
-        salesReturnBillSource: undefined
+        logisticsPoint: undefined, // 物流点
+        senderSn: undefined, //  发货人
+        state: undefined // 业务状态
       },
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
         this.spinning = true
-        return salesReturnList(Object.assign(parameter, this.queryParam)).then(res => {
+        return pickUpQueryPage(Object.assign(parameter, this.queryParam)).then(res => {
           let data
           if (res.status == 200) {
             data = res.data
@@ -194,16 +204,16 @@ export default {
       const arr = [
         { title: '编号', dataIndex: 'no', width: '4%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '创建时间', dataIndex: 'createDate', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '提货单号', scopedSlots: { customRender: 'salesReturnBillNo' }, width: '10%', align: 'center' },
-        { title: '关联销退单', dataIndex: 'salesReturnBillSourceDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '申请人', dataIndex: 'purchaseReturnBillNo', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '主题', dataIndex: 'buyerName', width: '10%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '物流公司', dataIndex: 'buyerName2', width: '10%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '物流点', dataIndex: 'buyerName1', width: '10%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '发货方', dataIndex: 'purchaseReturnBillNo1', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '收货人', dataIndex: 'purchaseReturnBillNo2', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '审核时间', dataIndex: 'auditTime', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '状态', dataIndex: 'billStatusDictValue', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '提货单号', scopedSlots: { customRender: 'pickUpNo' }, width: '10%', align: 'center' },
+        { title: '关联销退单', dataIndex: 'salesReturnNum', scopedSlots: { customRender: 'salesReturnNum' }, width: '6%', align: 'center' },
+        { title: '申请人', dataIndex: 'applyPersonName', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '主题', dataIndex: 'theme', width: '10%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '物流公司', dataIndex: 'logisticsCompany', width: '10%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '物流点', dataIndex: 'logisticsPoint', width: '10%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '发货方', dataIndex: 'dealerEntity.dealerName', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '收货人', dataIndex: 'receiverName', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '审核时间', dataIndex: 'auditDate', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '状态', dataIndex: 'stateDictValue', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '6%', align: 'center' }
       ]
       return arr
@@ -217,11 +227,11 @@ export default {
     },
     //  审核时间  change
     dateExamineChange (date) {
-      this.queryParam.beginAuditDate = date[0]
-      this.queryParam.endAuditDate = date[1]
+      this.queryParam.auditBeginDate = date[0]
+      this.queryParam.auditEndDate = date[1]
     },
     custChange (val) {
-      this.queryParam.buyerSn = val.key
+      this.queryParam.senderSn = val.key
     },
     // 新增
     handleAdd () {
@@ -229,11 +239,11 @@ export default {
     },
     // 编辑
     handleEdit (row) {
-      this.$router.push({ name: 'billOfLadingEdit', params: { sn: row.salesReturnBillSn } })
+      this.$router.push({ name: 'billOfLadingEdit', params: { sn: row.pickUpSn } })
     },
     // 详情
     handleDetail (row) {
-      this.$router.push({ name: 'billOfLadingDetail', params: { sn: row.salesReturnBillSn } })
+      this.$router.push({ name: 'billOfLadingDetail', params: { sn: row.pickUpSn } })
     },
     // 删除
     handleDel (row) {
@@ -244,7 +254,7 @@ export default {
         centered: true,
         onOk () {
           _this.spinning = true
-          salesReturnDel({ salesReturnBillSn: row.salesReturnBillSn }).then(res => {
+          pickUpDelete({ pickUpSn: row.pickUpSn }).then(res => {
             if (res.status == 200) {
               _this.$message.success(res.message)
               _this.$refs.table.refresh()
@@ -272,21 +282,16 @@ export default {
       }
       this.queryParam.beginDate = ''
       this.queryParam.endDate = ''
-      this.queryParam.beginAuditDate = ''
-      this.queryParam.endAuditDate = ''
-      this.queryParam.buyerSn = undefined
+      this.queryParam.auditBeginDate = ''
+      this.queryParam.auditEndDate = ''
+      this.queryParam.pickUpNo = ''
+      this.queryParam.senderSn = undefined
+      this.queryParam.applyPersonSn = undefined
+      this.queryParam.logisticsPoint = undefined
       this.queryParam.salesReturnBillNo = ''
-      this.queryParam.purchaseReturnBillNo = ''
-      this.queryParam.billStatus = undefined
-      this.queryParam.salesReturnBillSource = undefined
-      this.queryParam.shippingAddrProvinceSn = undefined
+      this.queryParam.state = undefined
       this.$refs.table.refresh(true)
     },
-    filterOption (input, option) {
-      return (
-        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-      )
-    },
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调

+ 70 - 0
src/views/salesReturnManagement/billOfLading/logisticsCompany.js

@@ -0,0 +1,70 @@
+import { pickUpLogisticsList } from '@/api/pickUp'
+const LogisticsCompany = {
+  template: `
+      <a-select
+        :placeholder="placeholder"
+        :id="id"
+        allowClear
+        :value="defaultVal"
+        :showSearch="true"
+        @change="handleChange"
+        option-filter-prop="children"
+        :filter-option="filterOption">
+        <a-select-option v-for="item in list" :key="item.id" :value="item.logisticsCompany">
+        {{ item.logisticsCompany }}
+        </a-select-option>
+      </a-select>
+    `,
+  props: {
+    value: {
+      type: String,
+      defatut: ''
+    },
+    id: {
+      type: String,
+      default: ''
+    },
+    placeholder: {
+      type: String,
+      default: '请选择物流公司'
+    },
+  },
+  data() {
+    return {
+      defaultVal: this.value,
+      list: []
+    };
+  },
+  mounted() {
+    this.getList()
+  },
+  watch: {
+    value(newValue, oldValue) {
+      this.defaultVal = newValue
+    },
+  },
+  methods: {
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    handleChange(value) {
+      this.defaultVal = value;
+      const row = this.list.find(item => item.logisticsCompany == value)
+      this.$emit('change', value, row);
+      this.$emit('input', value);
+    },
+    getList () {
+      pickUpLogisticsList({}).then(res => {
+        if (res.status == 200) {
+          this.list = res.data
+        } else {
+          this.list = []
+        }
+      })
+    },
+  },
+};
+
+export default LogisticsCompany

+ 73 - 0
src/views/salesReturnManagement/billOfLading/logisticsPoint.js

@@ -0,0 +1,73 @@
+import { pickUpPointList } from '@/api/pickUp'
+const LogisticsPoint = {
+  template: `
+      <a-select
+        :placeholder="placeholder"
+        :id="id"
+        allowClear
+        :value="defaultVal"
+        :showSearch="true"
+        @change="handleChange"
+        option-filter-prop="children"
+        :filter-option="filterOption">
+        <a-select-option v-for="item in list" :key="item" :value="item">
+        {{ item }}
+        </a-select-option>
+      </a-select>
+    `,
+  props: {
+    value: {
+      type: String,
+      defatut: ''
+    },
+    id: {
+      type: String,
+      default: ''
+    },
+    placeholder: {
+      type: String,
+      default: '请选择物流点'
+    },
+  },
+  data() {
+    return {
+      defaultVal: this.value,
+      list: []
+    };
+  },
+  mounted() {
+    this.getList()
+  },
+  watch: {
+    value(newValue, oldValue) {
+      this.defaultVal = newValue
+    },
+  },
+  methods: {
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    handleChange(value) {
+      this.defaultVal = value;
+      this.$emit('change', value);
+      this.$emit('input', value);
+    },
+    getList (data) {
+      if(!data){
+        pickUpPointList({}).then(res => {
+          if (res.status == 200) {
+            this.list = res.data
+          } else {
+            this.list = []
+          }
+        })
+      }else{
+        this.list = data
+      }
+    },
+  },
+};
+
+export default LogisticsPoint

+ 3 - 2
src/views/salesReturnManagement/billOfLading/selectXtModal.vue

@@ -165,7 +165,6 @@ export default {
     // 取消
     handleCommonCancel () {
       this.$emit('cancel')
-      this.chooseData = []
     },
     // 重置
     resetSearchForm () {
@@ -174,7 +173,9 @@ export default {
         buyerSn: undefined
       }
       this.orginData = []
-      this.$refs.table.refresh(true)
+      if (this.$refs.table) {
+        this.$refs.table.refresh(true)
+      }
     }
   },
   watch: {

+ 97 - 0
src/views/salesReturnManagement/billOfLading/verifyModal.vue

@@ -0,0 +1,97 @@
+<template>
+  <a-modal
+    centered
+    :footer="null"
+    :maskClosable="false"
+    title="提货单审核进度"
+    v-model="isShow"
+    @cancel="isShow=false"
+    width="50%">
+    <p>说明:以下信息来自钉钉</p>
+    <a-spin :spinning="spinning" tip="Loading...">
+      <s-table
+        class="sTable fixPagination"
+        ref="table"
+        size="small"
+        :rowKey="(record) => record.id"
+        :columns="columns"
+        :data="loadData"
+        :scroll="{ y: 500 }"
+        :showPagination="false"
+        :defaultLoadData="true"
+        bordered>
+      </s-table>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import { STable } from '@/components'
+import { getProcessInstance } from '@/api/expenseManagement'
+export default {
+  name: 'VerifyModal',
+  components: { STable },
+  props: {
+    openModal: {
+      type: Boolean,
+      default: false
+    },
+    itemSn: {
+      type: [Number, String],
+      default: ''
+    }
+  },
+  data () {
+    return {
+      spinning: false,
+      isShow: this.openModal,
+      columns: [{ title: '序号', dataIndex: 'no', width: '8%', align: 'center' },
+        { title: '人员姓名', width: '12%', dataIndex: 'userName', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '人员类型', dataIndex: 'userType', width: '15%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '状态', dataIndex: 'state', width: '10%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '审批意见', dataIndex: 'remark', width: '20%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '附件', dataIndex: 'hasAttachments', width: '20%', align: 'center', customRender: function (text) { return text != '0' ? '请在钉钉中查看附件内容' : '--' } },
+        { title: '操作时间', dataIndex: 'date', width: '20%', align: 'center', customRender: function (text) { return text || '--' } }],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.spinning = true
+        delete parameter.tableId
+        delete parameter.index
+        return getProcessInstance({ businessType: 'PICK_UP', businessSn: this.itemSn }).then(res => {
+          let data
+          if (res.status == 200) {
+            data = res.data
+            const no = 0
+            for (var i = 0; i < data.length; i++) {
+              data[i].no = no + i + 1
+            }
+            this.disabled = false
+          } else {
+            this.isShow = false
+          }
+          this.spinning = false
+          return data
+        })
+      }
+    }
+  },
+  watch: {
+    openModal (nVal, oVal) {
+      this.isShow = nVal
+    },
+    isShow (nVal, oVal) {
+      if (!nVal) {
+        this.$emit('close')
+        this.$refs.table.clearTable()
+      } else {
+        this.$nextTick(() => {
+          this.$refs.table.refresh()
+        })
+      }
+    }
+  }
+}
+</script>
+
+<style>
+</style>