Pārlūkot izejas kodu

feat: 退订详情

zh 2 gadi atpakaļ
vecāks
revīzija
ec77a84ec2

+ 10 - 0
src/api/supply/salesReturnOrder.js

@@ -56,3 +56,13 @@ export function refundTradeListV2Export(data, name) {
     name
   })
 }
+
+
+// 退订单-详情
+export function getRefundDetail(data) {
+  return request({
+    url: `/v2/refund/detail`,
+    method: 'post',
+    params: data
+  })
+}

+ 7 - 6
src/views/supply/salesReturnOrder/commercial.vue

@@ -9,7 +9,7 @@
   >
     <popu v-if="visible">
       <el-page-header slot="head" content="订单信息" @back="handleClose" />
-      <sales-return-order-detail />
+      <sales-return-order-detail v-if="visible" :refund-order-id="refundOrderId" type="commercial" />
     </popu>
   </template-page>
 </template>
@@ -52,7 +52,7 @@ export default {
         'selection-change': this.selectionChange
       },
       recordSelected: [],
-
+      refundOrderId: null,
       detailsId: ''
     }
   },
@@ -75,13 +75,13 @@ export default {
     operation() {
       return (h, { row, index, column }) => {
         return (
-          <div class="operation-btns">
+          <div class='operation-btns'>
             <el-button
-              size="mini"
-              type="text"
+              size='mini'
+              type='text'
               onClick={() => {
                 this.visible = true
-                this.detailsId = row.id
+                this.refundOrderId = row.refundOrderId
               }}
             >
               查看
@@ -91,6 +91,7 @@ export default {
       }
     },
     handleClose() {
+      this.refundOrderId = null
       this.addOff(() => {
         this.visible = false
       })()

+ 8 - 6
src/views/supply/salesReturnOrder/policy.vue

@@ -9,7 +9,7 @@
   >
     <popu v-if="visible">
       <el-page-header slot="head" content="订单信息" @back="handleClose" />
-      <sales-return-order-detail />
+      <sales-return-order-detail v-if="visible" :refund-order-id="refundOrderId" type="policy" />
     </popu>
   </template-page>
 </template>
@@ -53,7 +53,8 @@ export default {
       },
       recordSelected: [],
 
-      detailsId: ''
+      detailsId: '',
+      refundOrderId: null
     }
   },
   methods: {
@@ -75,13 +76,13 @@ export default {
     operation() {
       return (h, { row, index, column }) => {
         return (
-          <div class="operation-btns">
+          <div class='operation-btns'>
             <el-button
-              size="mini"
-              type="text"
+              size='mini'
+              type='text'
               onClick={() => {
                 this.visible = true
-                this.detailsId = row.id
+                this.refundOrderId = row.refundOrderId
               }}
             >
               查看
@@ -91,6 +92,7 @@ export default {
       }
     },
     handleClose() {
+      this.refundOrderId = null
       this.addOff(() => {
         this.visible = false
       })()

+ 7 - 6
src/views/supply/salesReturnOrder/retail.vue

@@ -9,7 +9,7 @@
   >
     <popu v-if="visible">
       <el-page-header slot="head" content="订单信息" @back="handleClose" />
-      <sales-return-order-detail />
+      <sales-return-order-detail v-if="visible" :refund-order-id="refundOrderId" type="retail" />
     </popu>
   </template-page>
 </template>
@@ -52,7 +52,7 @@ export default {
         'selection-change': this.selectionChange
       },
       recordSelected: [],
-
+      refundOrderId: null,
       detailsId: ''
     }
   },
@@ -75,13 +75,13 @@ export default {
     operation() {
       return (h, { row, index, column }) => {
         return (
-          <div class="operation-btns">
+          <div class='operation-btns'>
             <el-button
-              size="mini"
-              type="text"
+              size='mini'
+              type='text'
               onClick={() => {
                 this.visible = true
-                this.detailsId = row.id
+                this.refundOrderId = row.refundOrderId
               }}
             >
               查看
@@ -91,6 +91,7 @@ export default {
       }
     },
     handleClose() {
+      this.refundOrderId = null
       this.addOff(() => {
         this.visible = false
       })()

+ 130 - 84
src/views/supply/salesReturnOrder/salesReturnOrderDetail.vue

@@ -6,80 +6,72 @@
       <el-row>
         <el-col :span="8" class="item">
           <div class="label">销售退货单</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refundOrderId }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">订单日期</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refOrderDate }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">销售订单</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refOrderId }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">经销商编号</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.customerNumber }}</div>
         </el-col>
         <el-col :span="16" class="item">
           <div class="label">经销商名称</div>
-          <div class="value">{{ detailData.id }}</div>
-        </el-col>
-        <el-col :span="8" class="item">
-          <div class="label">销售政策编码</div>
-          <div class="value">{{ detailData.id }}</div>
-        </el-col>
-        <el-col :span="16" class="item">
-          <div class="label">销售政策</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.customerName }}</div>
         </el-col>
       </el-row>
       <!-- 政策订单 -->
-      <el-row v-if="moduleType === 1">
+      <el-row v-if="type === 'policy'">
         <el-col :span="8" class="item">
           <div class="label">销售政策编码</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.policyCode }}</div>
         </el-col>
         <el-col :span="16" class="item">
           <div class="label">销售政策</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.policyTitle }}</div>
         </el-col>
         <el-col :span="24" class="item">
           <div class="label">格力回复</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.geLiNote }}</div>
         </el-col>
       </el-row>
       <!-- 零售订单 -->
-      <el-row v-if="moduleType === 2">
-        <el-col :span="8" class="item">
+      <el-row v-if="type === 'retail'">
+        <!-- <el-col :span="8" class="item">
           <div class="label">产品大类</div>
           <div class="value">{{ detailData.id }}</div>
-        </el-col>
-        <el-col :span="16" class="item">
+        </el-col> -->
+        <el-col :span="24" class="item">
           <div class="label">销售订单类型</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ orderType[detailData.refundOrderType] }}</div>
         </el-col>
       </el-row>
       <!-- 商用工程订单 -->
-      <el-row v-if="moduleType === 3">
+      <el-row v-if="type === 'commercial'">
         <el-col :span="8" class="item">
           <div class="label">工程信息编码</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refEnginRecordNo }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">工程项目名称</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refProjectName }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">工程信息单类型</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refProjectType }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">厂工程编码</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refFactoryNo }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">使用单位</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refUseUnit }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label" />
@@ -87,11 +79,11 @@
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">联系人</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refLinkman }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">固定电话</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refTel }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">移动电话</div>
@@ -99,7 +91,7 @@
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">不扣押金</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.takeDeposit?'不扣':'扣' }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">文件编码</div>
@@ -107,57 +99,57 @@
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">业务员</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.serviceName }}</div>
         </el-col>
         <el-col :span="24" class="item">
           <div class="label">格力回复</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.geLiNote }}</div>
         </el-col>
         <el-col :span="24" class="item">
           <div class="label">格力内部备注</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.geLiInnerNote }}</div>
         </el-col>
       </el-row>
       <el-row>
         <el-col :span="24" class="item">
           <div class="label">备注</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.remark }}</div>
         </el-col>
         <el-col :span="6" class="item">
           <div class="label">制单人</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.createBy }}</div>
         </el-col>
         <el-col :span="6" class="item">
           <div class="label">制单日期</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.createTime }}</div>
         </el-col>
         <el-col :span="6" class="item">
           <div class="label">审核人</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.examineBy }}</div>
         </el-col>
         <el-col :span="6" class="item">
           <div class="label">审核日期</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.examineTime }}</div>
         </el-col>
         <el-col :span="6" class="item">
           <div class="label">最后更新人</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.updateBy }}</div>
         </el-col>
         <el-col :span="6" class="item">
           <div class="label">最后更新日期</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.updateTime }}</div>
         </el-col>
         <el-col :span="6" class="item">
           <div class="label">关闭人</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refundBy }}</div>
         </el-col>
         <el-col :span="6" class="item">
           <div class="label">关闭日期</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.refundTime }}</div>
         </el-col>
         <el-col :span="24" class="item">
           <div class="label">审核说明</div>
-          <div class="value">{{ detailData.id }}</div>
+          <div class="value">{{ detailData.examineRemark }}</div>
         </el-col>
       </el-row>
     </div>
@@ -173,7 +165,19 @@
 </template>
 
 <script>
+import { getRefundDetail } from '@/api/supply/salesReturnOrder'
+
 export default {
+  props: {
+    refundOrderId: {
+      type: String,
+      default: null
+    },
+    type: {
+      type: String,
+      default: null
+    }
+  },
   data() {
     return {
       moduleType: 1,
@@ -185,6 +189,12 @@ export default {
         size: 'mini',
         'summary-method': this.$getSummaries,
         'show-summary': true
+      },
+      orderType: {
+        TRADE: '商用',
+        HOME: '家用',
+        RETAIL: '零售单',
+        RETAIL_POLICY: '销售政策单'
       }
     }
   },
@@ -194,143 +204,179 @@ export default {
         {
           columnAttributes: {
             label: '序号',
-            prop: '',
-            type: 'index'
+            prop: 'index'
+          },
+          render: (h, { props, index }) => {
+            return <div>{index + 1}</div>
           }
         },
         {
           columnAttributes: {
             label: '销售类型',
-            prop: 'materialName'
+            prop: 'saleTypeName',
+            width: 200
           }
         },
         {
           columnAttributes: {
             label: '存货编码',
-            prop: 'materialName'
+            prop: 'k3CategoryNumber',
+            width: 200
           }
         },
         {
           columnAttributes: {
             label: '物料代码',
-            prop: 'materialName'
+            prop: 'materialOldNumber',
+            width: 200
           }
+
         },
         {
           columnAttributes: {
             label: '产品名称',
-            prop: 'materialName'
+            prop: 'materialName',
+            width: 200
           }
         },
         {
           columnAttributes: {
             label: '规格型号',
-            prop: 'materialName',
+            prop: 'specification',
             width: 300
           }
         },
         {
           columnAttributes: {
             label: '单位',
-            prop: 'materialName'
+            prop: 'unit',
+            width: 200
           }
         },
         {
           columnAttributes: {
             label: '单价',
-            prop: 'materialName'
+            prop: 'price',
+            width: 200
           }
         },
-        {
-          columnAttributes: {
-            label: '工程信息数量',
-            prop: 'materialName',
-            width: 120
+        ...(() => {
+          return this.type !== 'commercial' ? [{
+            columnAttributes: {
+              label: '数量',
+              prop: 'qty',
+              width: 120
+            }
+          }] : [
+            {
+              columnAttributes: {
+                label: '工程信息数量',
+                prop: 'enginNum',
+                width: 120
 
-          }
-        },
-        {
-          columnAttributes: {
-            label: '已订数量',
-            prop: 'materialName'
-          }
-        },
-        {
-          columnAttributes: {
-            label: '本次订货数量',
-            prop: 'materialName',
-            width: 120
-          }
-        },
+              }
+            },
+            {
+              columnAttributes: {
+                label: '数量',
+                prop: 'qty',
+                width: 120
+              }
+            }
+          ]
+        })(),
         {
           columnAttributes: {
             label: '订单金额',
-            prop: 'materialName'
+            prop: 'totalAmount',
+            width: 120
           }
         },
         {
           columnAttributes: {
             label: '返利类型',
-            prop: 'materialName'
+            prop: 'customerWalletName2',
+            width: 120
           }
         },
         {
           columnAttributes: {
             label: '使用返利金额',
-            prop: 'materialName',
+            prop: 'payRebateAmount',
             width: 120
           }
         },
         {
           columnAttributes: {
             label: '格力折扣',
-            prop: 'materialName'
+            prop: 'discAmount',
+            width: 120
           }
         },
         {
           columnAttributes: {
             label: '现金钱包',
-            prop: 'materialName'
+            prop: 'customerWalletName',
+            width: 120
           }
         },
         {
           columnAttributes: {
             label: '实付金额',
-            prop: 'materialName'
+            prop: 'payAmount',
+            width: 120
           }
         },
         {
           columnAttributes: {
             label: '直调',
-            prop: 'materialName'
+            prop: 'directTransferStatus',
+            width: 120
+          }, render: (h, { row }) => {
+            const { directTransferStatus } = row
+            return <div>{directTransferStatus ? '是' : '否'}</div>
           }
         },
         {
           columnAttributes: {
             label: '直调数量',
-            prop: 'materialName'
+            prop: 'directTransferQty',
+            width: 120
           }
         },
         {
           columnAttributes: {
             label: '原订单数量',
-            prop: 'materialName'
+            prop: 'oldQty',
+            width: 120
           }
         },
         {
           columnAttributes: {
             label: '备注',
-            prop: 'materialName'
+            prop: 'remark',
+            width: 200
           }
         },
         {
           columnAttributes: {
             label: '税率',
-            prop: 'materialName'
+            prop: 'tax',
+            width: 120
           }
         }
       ]
     }
+  },
+  mounted() {
+    getRefundDetail({ refundOrderId: this.refundOrderId }).then(res => {
+      res.data.items.forEach(item => {
+        item.sums1 = ['directTransferQty', 'enginNum', 'hasSendQty', 'oldQty', 'qty', 'rebateRate', 'tax']
+        item.sums2 = ['orgPrice', 'payAmount', 'payRebateAmount', 'price', 'totalAmount']
+      })
+      this.detailData = res.data
+      this.policyData = res.data.items
+    })
   }
 }
 </script>

+ 4 - 3
src/views/supply/salesReturnOrder/salesReturnOrderList.vue

@@ -9,7 +9,7 @@
   >
     <popu v-if="visible">
       <el-page-header slot="head" content="订单信息" @back="handleClose" />
-      <sales-return-order-detail />
+      <sales-return-order-detail v-if="visible" :refund-order-id="refundOrderId" />
     </popu>
   </template-page>
 </template>
@@ -52,7 +52,7 @@ export default {
         'selection-change': this.selectionChange
       },
       recordSelected: [],
-
+      refundOrderId: null,
       detailsId: ''
     }
   },
@@ -81,7 +81,7 @@ export default {
               type='text'
               onClick={ () => {
                 this.visible = true
-                this.detailsId = row.id
+                this.refundOrderId = row.refundOrderId
               }}
             >
                   查看
@@ -91,6 +91,7 @@ export default {
       }
     },
     handleClose() {
+      this.refundOrderId = null
       this.addOff(() => {
         this.visible = false
       })()