Browse Source

订单备注

e 5 years ago
parent
commit
ed80b36f85

+ 15 - 0
src/api/order.js

@@ -16,3 +16,18 @@ export function getDetail(query) {
   })
 }
 
+export function getRemarks(query) {
+  return request({
+    url: '/order/cmOrderRemark/remarksView',
+    method: 'get',
+    params: query
+  })
+}
+
+export function saveRemarks(query) {
+  return request({
+    url: '/order/cmOrderRemark/addRemarks',
+    method: 'post',
+    data: query
+  })
+}

+ 0 - 74
src/views/order/components/discount.vue

@@ -1,74 +0,0 @@
-<template>
-  <el-dialog :title="dialogTitle" :visible.sync="dialogFormVisible">
-    <el-form ref="dataForm" :rules="rules" :model="dialog" label-position="left" label-width="220px" style="width:360px; margin:0 auto;">
-      <el-form-item label="商品分类" prop="classifyID">
-        <el-select v-model="dialog.classifyID" placeholder="商品分类" :label="dialog.productClassifyName" clearable class="filter-item" :value="dialog.classifyID*1">
-          <template v-for="item in classify">
-            <el-option v-if="item.status*1 === 1" :key="item.id" :label="item.classifyName" :value="item.id" />
-          </template>
-        </el-select>
-      </el-form-item>
-      <el-form-item :label="'市场价(' + dialog.normalPrice + '),修改为:'" prop="normalPrice">
-        <el-input v-model="dialog.normalPrice" />
-      </el-form-item>
-      <el-form-item :label="'成本价(' + dialog.costPrice + '),修改为:'" prop="costPrice">
-        <el-input v-model="dialog.costPrice" />
-      </el-form-item>
-      <el-form-item :label="'售价(' + dialog.retailPrice + '),修改为:'" prop="retailPrice">
-        <el-input v-model="dialog.retailPrice" />
-      </el-form-item>
-      <el-form-item :label="'起订量(' + dialog.minBuyNumber + '),修改为:'" prop="minBuyNumber">
-        <el-input v-model="dialog.minBuyNumber" />
-      </el-form-item>
-    </el-form>
-    <div slot="footer" class="dialog-footer">
-      <el-button @click="dialogFormVisible = false">
-        关闭
-      </el-button>
-      <el-button type="primary" @click="updateGoods">
-        确认
-      </el-button>
-    </div>
-  </el-dialog>
-</template>
-
-<script>
-export default {
-  props: {
-    dialogTitle: {
-      type: String,
-      default: '编辑经理折扣'
-    },
-    dialogFormVisible: {
-      type: Boolean,
-      default: false
-    },
-    dialog: {
-      type: Object,
-      default: {
-        id: '',
-        classifyID: 0,
-        normalPrice: '',
-        costPrice: '',
-        retailPrice: '',
-        minBuyNumber: '',
-        productClassifyName: ''
-      }
-    },
-
-    dialog: {
-      id: '',
-      classifyID: 0,
-      normalPrice: '',
-      costPrice: '',
-      retailPrice: '',
-      minBuyNumber: '',
-      productClassifyName: ''
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>

+ 111 - 0
src/views/order/components/remarks.vue

@@ -0,0 +1,111 @@
+<template>
+  <el-dialog :title="dialogTitle" :visible.sync="dialogFormVisible">
+    <div>
+      <div v-for="item in remarkList" :key="item.id" class="info">
+        <div class="clearfix">
+          <span class="title">{{ item.sysUserName }}</span>
+          <time class="time">{{ item.createDate }}</time>
+        </div>
+        <p class="content">{{ item.remarks }}</p>
+      </div>
+    </div>
+    <el-form label-position="left" label-width="100px">
+      <el-form-item label="备注" prop="remark">
+        <el-input v-model="remark" type="textarea" />
+      </el-form-item>
+    </el-form>
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="dialogFormVisible = false">关闭</el-button>
+      <el-button type="primary" @click="submitRemark">确认</el-button>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+import { saveRemarks } from '@/api/order'
+export default {
+  props: {
+    dialogTitle: {
+      type: String,
+      default: '备注'
+    },
+    isVisible: {
+      type: Boolean,
+      default: false
+    },
+    orderId: {
+      type: Number,
+      default: 0
+    },
+    remarkList: {
+      type: Array,
+      default() {
+        return []
+      }
+    }
+  },
+  data: function() {
+    return {
+      listLoading: true,
+      remark: ''
+    }
+  },
+  computed: {
+    dialogFormVisible: {
+      get() {
+        return this.isVisible
+      },
+      set(val) {
+        this.$emit('update:isVisible', val)
+      }
+    }
+  },
+  created() {
+
+  },
+  methods: {
+    submitRemark() {
+      if (this.remark) {
+        saveRemarks({ remarks: this.remark, orderID: this.orderId }).then(response => {
+          this.$notify({
+            title: response.code * 1 === 1 ? 'Success' : 'Error',
+            message: response.msg,
+            type: response.code * 1 === 1 ? 'success' : 'error',
+            duration: 2000
+          })
+          this.dialogFormVisible = false
+        })
+      } else {
+        this.dialogFormVisible = false
+      }
+    }
+  }
+}
+</script>
+
+<style scoped>
+  .clearfix:before,
+  .clearfix:after {
+      display: table;
+      content: "";
+  }
+  .clearfix:after {
+      clear: both
+  }
+  .info{
+    margin-bottom: 20px;
+    border-bottom: 1px dashed #DCDFE6;
+  }
+  .time {
+    font-size: 13px;
+    color: #999;
+    float: right;
+  }
+  .title {
+    line-height: 12px;
+    color: blue;
+  }
+  .content{
+    margin-top: 13px;
+  }
+</style>

+ 19 - 4
src/views/order/detail.vue

@@ -42,7 +42,7 @@
               功能<i class="el-icon-arrow-down el-icon--right" />
             </el-button>
             <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item>备注</el-dropdown-item>
+              <el-dropdown-item><div @click="RemarksOrder(order.orderID)">备注</div></el-dropdown-item>
               <el-dropdown-item>发货记录</el-dropdown-item>
               <el-dropdown-item>收退款记录</el-dropdown-item>
               <el-dropdown-item>退款(退货)记录</el-dropdown-item>
@@ -52,7 +52,7 @@
       </el-row>
     </el-card>
 
-    <el-card class="box-card">
+    <el-card v-if="order" class="box-card">
       <el-row :gutter="24" class="box-row">
         <el-col :span="6">收货人: {{ order.bpOrderUserinfo.shouHuoRen }}</el-col>
         <el-col :span="6">手机: {{ order.bpOrderUserinfo.mobile }}</el-col>
@@ -86,7 +86,7 @@
       </el-row>
     </el-card>
 
-    <el-card class="box-card">
+    <el-card v-if="order" class="box-card">
       <div v-for="shopOrder in order.newShopOrders" :key="shopOrder.shopOrderID" class="order-item">
         <el-row :gutter="22" class="box-row">
           <el-col :span="7">子订单号(ID): {{ shopOrder.shopOrderNo + '(' + shopOrder.shopOrderID + ')' }}</el-col>
@@ -123,12 +123,17 @@
         </el-row>
       </div>
     </el-card>
+
+    <Remarks dialog-title="订单备注信息" :is-visible.sync="dialogRemarksVisible" :order-id="dialogRemarksOrderId" :remark-list="dialogRemarkList" />
+
   </div>
 </template>
 
 <script>
-import { getDetail } from '@/api/order'
+import { getDetail, getRemarks } from '@/api/order'
+import Remarks from './components/remarks'
 export default {
+  components: { Remarks },
   data() {
     return {
       activeIndex: '2',
@@ -137,6 +142,9 @@ export default {
       returnValue: 0,
       returnedPurchaseFee: 0,
       bpClauses: null,
+      dialogRemarkList: [],
+      dialogRemarksVisible: false,
+      dialogRemarksOrderId: 0,
       statusObj: {
         '0': '待确认',
         '4': '交易完成',
@@ -176,6 +184,13 @@ export default {
       }).catch(() => {
         this.listLoading = false
       })
+    },
+    RemarksOrder: function(id) {
+      getRemarks({ orderID: id }).then(response => {
+        this.dialogRemarkList = response.data
+      })
+      this.dialogRemarksOrderId = id
+      this.dialogRemarksVisible = true
     }
   }
 }

+ 16 - 3
src/views/order/list.vue

@@ -116,7 +116,7 @@
               功能<i class="el-icon-arrow-down el-icon--right" />
             </el-button>
             <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item>备注</el-dropdown-item>
+              <el-dropdown-item><div @click="RemarksOrder(row.orderID)">备注</div></el-dropdown-item>
               <el-dropdown-item>发货记录</el-dropdown-item>
               <el-dropdown-item>收退款记录</el-dropdown-item>
               <el-dropdown-item>退款(退货)记录</el-dropdown-item>
@@ -128,20 +128,26 @@
 
     <pagination v-show="total>0" :total="total" :page.sync="listQuery.index" :limit.sync="listQuery.pageSize" @pagination="fetchData" />
 
+    <Remarks dialog-title="订单备注信息" :is-visible.sync="dialogRemarksVisible" :order-id="dialogRemarksOrderId" :remark-list="dialogRemarkList" />
+
   </div>
 </template>
 
 <script>
-import { getList } from '@/api/order'
+import { getList, getRemarks } from '@/api/order'
 import Pagination from '@/components/Pagination'
+import Remarks from './components/remarks'
 export default {
-  components: { Pagination },
+  components: { Pagination, Remarks },
   data() {
     return {
       list: null,
       listLoading: true,
       total: 0,
       searchTimeVal: '',
+      dialogRemarkList: [],
+      dialogRemarksVisible: false,
+      dialogRemarksOrderId: 0,
       listQuery: {
         index: 1,
         pageSize: 20,
@@ -191,6 +197,13 @@ export default {
     },
     handleFilter() {
       this.fetchData()
+    },
+    RemarksOrder: function(id) {
+      getRemarks({ orderID: id }).then(response => {
+        this.dialogRemarkList = response.data
+      })
+      this.dialogRemarksOrderId = id
+      this.dialogRemarksVisible = true
     }
   }
 }