Просмотр исходного кода

Merge branch 'feature/EK-3320' of guanli/ngds-backend-ele into develop

Tyler 1 месяц назад
Родитель
Сommit
cf3d00c43b
5 измененных файлов с 94 добавлено и 6 удалено
  1. 17 0
      src/api/shop.js
  2. 6 2
      src/components/Tinymce/index.vue
  3. 2 1
      src/lang/en.js
  4. 2 1
      src/lang/zh.js
  5. 67 2
      src/views/shop/order-list.vue

+ 17 - 0
src/api/shop.js

@@ -197,6 +197,23 @@ export function orderDetail(query) {
 
 
 
+export function updateOrderRemark(query) {
+  return request({
+    url: '/v1/shop/order-invoice-remark',
+    method: 'post',
+    data: query,
+    params: query
+  })
+}
+export function orderInvoiceExport(query) {
+  return request({
+    url: '/v1/shop/order-invoice-export/'+query,
+    method: 'get',
+    data: query,
+    params: query
+  })
+}
+
 
 
 

+ 6 - 2
src/components/Tinymce/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div :class="{fullscreen:fullscreen}" class="tinymce-container" :style="{width:containerWidth}">
     <textarea :id="tinymceId" class="tinymce-textarea" />
-    <div class="editor-custom-btn-container">
+    <div v-if="editorImageShow" class="editor-custom-btn-container">
       <editorImage color="#1890ff" class="editor-upload-btn" :request-route="uploadUri" @successCBK="imageSuccessCBK" />
     </div>
   </div>
@@ -60,7 +60,11 @@ export default {
     requestRoute: {
       type: String,
       default: ''
-    }
+    },
+      editorImageShow: {
+          type: Boolean,
+          default: true
+      }
   },
   data() {
     return {

+ 2 - 1
src/lang/en.js

@@ -860,7 +860,8 @@ export default {
     availableCountries: "Available countries",
     modifyAvailableCountries: "Modify available countries",
     imagePreview: 'Image Preview',
-    AutoMaintenance: 'Auto Maintenance'
+    AutoMaintenance: 'Auto Maintenance',
+    invoice: "Invoice"
   },
 
   // Administrator management

+ 2 - 1
src/lang/zh.js

@@ -850,7 +850,8 @@ export default {
     availableCountries: "可购买国家",
     modifyAvailableCountries: "修改可购买国家",
     imagePreview: '图片预览',
-    AutoMaintenance: '自动分期'
+    AutoMaintenance: '自动分期',
+    invoice: "发票"
   },
 
   // 管理员管理

+ 67 - 2
src/views/shop/order-list.vue

@@ -25,6 +25,8 @@
                   {{ $t('common.action') }}<i class="el-icon-arrow-down el-icon--right"></i>
                 </el-button>
                 <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item command="remark" v-if="scope.row.COUNTRY.value === 'UAE'" @click.native="handleEditRemark(scope.row)" >{{ $t('table.remark') }}</el-dropdown-item>
+                  <el-dropdown-item command="edit" v-if="scope.row.COUNTRY.value === 'UAE'" @click.native="handleInvoiceExport(scope.row)">{{ $t('shop.invoice') }}</el-dropdown-item>
                   <el-dropdown-item command="edit" @click.native="handleDel(scope.row)" v-if="permission.hasPermission(`shop/edit`)">{{ $t('shop.deleteOrder') }}</el-dropdown-item>
                   <!-- <el-dropdown-item command="edit" @click.native="handleEdit(scope.row)" v-if="permission.hasPermission(`shop/edit`)">Edit order&lt;!&ndash; 编辑订单 &ndash;&gt;</el-dropdown-item>
                   <el-dropdown-item command="delivery" @click.native="handleShowDeliveryDialog(scope.row)" v-if="permission.hasPermission(`shop/order-delivery`) && scope.row['STATUS'] === '1' && scope.row['DELIVERY_STATUS'] === '0' ">deliver goods&lt;!&ndash; 发货 &ndash;&gt;</el-dropdown-item>
@@ -55,6 +57,21 @@
           <el-button type="primary" @click.native="handleDelivery">{{ $t('shop.deliverGoods') }}<!-- 发货 --></el-button>
         </div>
       </el-dialog>
+
+      <el-dialog :title="$t('table.remark')" :visible.sync="dialogRemark"><!-- 备注 -->
+          <Tinymce
+              v-if="dialogRemark"
+                  v-model="orderRemark"
+                  :toolbar="['undo redo | bold italic underline | bullist numlist | removeformat']"
+                  :menubar="false"
+                  :editorImageShow="false"
+                  :height="300"
+          />
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="dialogRemark = false">{{ $t('table.cancel') }}<!-- 取 消 --></el-button>
+          <el-button type="primary" @click.native="saveRemark">{{ $t('common.confirm') }}</el-button>
+        </div>
+      </el-dialog>
     </div>
   </template>
 
@@ -65,11 +82,19 @@
   import permission from '@/utils/permission'
   import Pagination from '@/components/Pagination'
   import filterHelper from '@/utils/filterHelper'
-  import { orderList, orderListExport, orderListExportPdf, deleteOrder } from '@/api/shop'
+  import {
+    orderList,
+    orderListExport,
+    orderListExportPdf,
+    deleteOrder,
+    updateOrderRemark,
+    orderInvoiceExport
+  } from '@/api/shop'
+  import Tinymce from '@/components/Tinymce'
 
   export default {
     name: 'shop_order-list',
-    components: {FilterUser, Pagination},
+    components: {FilterUser, Pagination, Tinymce},
     mounted () {
       // let system =  getOperatingSystem()
       // if (system == "Android" || system == 'ios') {
@@ -102,6 +127,9 @@
           expressCompany: '',
           orderTrackNo: '',
         },
+        dialogRemark: false,
+        orderRemark: '',
+        remarkOrderSn: '',
       }
     },
     methods: {
@@ -232,6 +260,43 @@
           })
         })
       },
+      handleEditRemark(row) {
+        this.orderRemark = ''
+        this.dialogRemark = true
+        this.remarkOrderSn = row.SN.value
+        this.orderRemark = row.INVOICE_REMARK != null || row.INVOICE_REMARK !== '' ? row.INVOICE_REMARK : ''
+        this.$forceUpdate()
+      },
+      saveRemark(){
+        updateOrderRemark({orderSn: this.remarkOrderSn, invoiceRemark: this.orderRemark}).then(response => {
+          this.$message({
+            message: response.data,
+            type: 'success'
+          })
+          this.dialogRemark = false
+          this.orderRemark = ''
+          this.getData(this.currentPage, this.pageSize)
+        }).catch(err => {
+          this.$message({
+            message: err,
+            type: 'error'
+          })
+        })
+      },
+      handleInvoiceExport(row) {
+        orderInvoiceExport(row.SN.value).then(response => {
+          this.$message({
+            message: response.data,
+            type: 'success'
+          })
+          console.log( response)
+        }).catch(err => {
+          this.$message({
+            message: err,
+            type: 'error'
+          })
+        })
+      }
     }
   }
   </script>