Parcourir la source

订单管理:发货

liqianyi il y a 3 ans
Parent
commit
689ebb396c
2 fichiers modifiés avec 85 ajouts et 7 suppressions
  1. 18 0
      src/api/sale.js
  2. 67 7
      src/views/modules/order/order.vue

+ 18 - 0
src/api/sale.js

@@ -51,3 +51,21 @@ export function getDispatchList (params) {
     params: params
   })
 }
+
+// 订单发货
+export function deliverOrder (data) {
+  return request({
+    url: request.adornUrl(`/biz-service/order/deliver`),
+    method: 'post',
+    data
+  })
+}
+
+// 订单送达
+export function arrivedOrder (data) {
+  return request({
+    url: request.adornUrl(`/biz-service/order/arrived`),
+    method: 'post',
+    data
+  })
+}

+ 67 - 7
src/views/modules/order/order.vue

@@ -71,11 +71,18 @@
         label="合同交期">
       </el-table-column>
       <el-table-column
-        prop="state"
+        prop="-"
         header-align="center"
         align="center"
         :formatter="formatState"
-        label="当前状态">
+        label="审批状态">
+      </el-table-column>
+      <el-table-column
+        prop="-"
+        header-align="center"
+        align="center"
+        :formatter="formatOrderState"
+        label="订单状态">
       </el-table-column>
       <el-table-column
         prop="approver"
@@ -104,11 +111,13 @@
         fixed="right"
         header-align="center"
         align="center"
-        width="150"
+        width="180"
         label="操作">
         <template slot-scope="scope">
           <el-button v-if="isAuth('order:ctl:info')" type="text" size="small" @click="detailHandle(scope.row.orderId)">查看</el-button>
-          <el-button v-if="isAuth('order:ctl:editor') && Number(scope.row.state) < 2" type="text" size="small" @click="addOrUpdateHandle(scope.row.orderId,false)">编辑</el-button>
+          <el-button v-if="isAuth('order:ctl:editor') && Number(scope.row.orderState) < 2" type="text" size="small" @click="addOrUpdateHandle(scope.row.orderId,false)">编辑</el-button>
+          <el-button v-if="isAuth('order:ctl:deliver') && Number(scope.row.orderState) === 3" type="text" size="small" @click="deliverHandle(scope.row.orderId)">发货</el-button>
+          <el-button v-if="isAuth('order:ctl:arrived') && Number(scope.row.orderState) === 4 " type="text" size="small" @click="arrivedHandle(scope.row.orderId)">送达</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -130,7 +139,7 @@
 <script>
   import AddOrUpdate from './order-add-or-update'
   import Detail from './order-detail'
-  import { getOrderList } from '@/api/sale'
+  import { getOrderList, deliverOrder, arrivedOrder } from '@/api/sale'
   import CusComponent from '../common/cus-component'
   export default {
     name: 'order',
@@ -154,7 +163,24 @@
         totalPage: 0,
         dataListLoading: false,
         dataListSelections: [],
-        optionsState: [],
+        optionsState: [ ],
+        optionsOrderState: [
+          {
+            code: '1', value: '未开始'
+          },
+          {
+            code: '2', value: '进行中'
+          },
+          {
+            code: '3', value: '已完成'
+          },
+          {
+            code: '4', value: '已发货'
+          },
+          {
+            code: '5', value: '已送达'
+          }
+        ],
         optionsCustomer: []
       }
     },
@@ -208,18 +234,52 @@
           this.$refs.addOrUpdate.init(id, disable)
         })
       },
-      // 转换属性“状态”
+      // 转换属性“审批状态”
       formatState (row) {
         if (!row.state) return ''
         const item1 = this.optionsState.find((item) => item.code === row.state.toString())
         return item1 ? item1.value : ''
       },
+      // 转换属性“订单状态”
+      formatOrderState (row) {
+        if (!row.orderState) return ''
+        const item1 = this.optionsOrderState.find((item) => item.code === row.orderState.toString())
+        return item1 ? item1.value : ''
+      },
       // 详情
       detailHandle (id) {
         this.detailVisible = true
         this.$nextTick(() => {
           this.$refs.detail.init(id)
         })
+      },
+      // 发货
+      deliverHandle (orderId) {
+        if (!orderId) return
+        this.$confirm(`确定发货?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          deliverOrder({orderId: orderId}).then(({data}) => {
+            if (data && data.code === '200') {
+              this.$message({
+                message: '操作成功',
+                type: 'success',
+                duration: 1500,
+                onClose: () => {
+                  this.getDataList()
+                }
+              })
+            } else {
+              this.$message.error(data.msg)
+            }
+          })
+        }).catch(() => {})
+      },
+      // 送达
+      arrivedHandle (orderId) {
+        // todo
       }
     }
   }