Browse Source

feat:线下销售订单新增时增加工单类型选择

Moss 1 year ago
parent
commit
50e30e407f
2 changed files with 45 additions and 6 deletions
  1. 9 0
      src/api/order.js
  2. 36 6
      src/views/mallManagement/order/offline_order_list/index.vue

+ 9 - 0
src/api/order.js

@@ -323,4 +323,13 @@ export function offlineOrderExamine(params) {
     method: 'post',
     params
   })
+}
+
+// 工单类型列表
+export function getOrderTypeList(data) {
+  return request({
+    url: `/order/smalltype/list`,
+    method: 'post',
+    data
+  })
 }

+ 36 - 6
src/views/mallManagement/order/offline_order_list/index.vue

@@ -32,7 +32,19 @@
                 <el-input v-model="formData.saleMobile" autocomplete="off" placeholder="请输入业务员电话"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="6">
+              <el-form-item label="工单类型" prop="orderSmallType">
+                <el-select v-model="formData.orderSmallType" placeholder="请选择">
+                  <el-option
+                    v-for="item in orderTypeList"
+                    :key="item.id"
+                    :label="item.orderSmallTypeText"
+                    :value="item.id">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
               <el-form-item label="销售类型" prop="salesType">
                 <el-radio-group v-model="formData.salesType" disabled>
                   <el-radio :label="''">线下销售</el-radio>
@@ -230,12 +242,12 @@
           <el-descriptions-item label="业务员电话">
             {{detailData.saleMobile}}
           </el-descriptions-item>
+          <el-descriptions-item label="工单类型">
+            {{detailData.orderDetails[0].orderSmallTypeText}}
+          </el-descriptions-item>
           <el-descriptions-item label="销售类型">
             线下销售
           </el-descriptions-item>
-          <el-descriptions-item label="">
-            
-          </el-descriptions-item>
         </el-descriptions>
         <el-descriptions border title="" :column="4" :colon="false" labelStyle="width: 8%" contentStyle="width: 17%" style="margin-top: -1px">
           <el-descriptions-item label="客户姓名">
@@ -375,7 +387,7 @@ import { lbsAmapRegion } from '@/api/common.js'
 import TemplatePage from '@/components/template/template-page-1.vue'
 import import_mixin from '@/components/template/import_mixin.js'
 import { required, mobileRequired, mobile } from '@/components/template/rules_verify.js'
-import { getOfflineOrderList, offlineOrderListExport, offlineOrderSave, getOfflineOrderDetail, offlineOrderExamine } from "@/api/order";
+import { getOfflineOrderList, offlineOrderListExport, offlineOrderSave, getOfflineOrderDetail, offlineOrderExamine, getOrderTypeList } from "@/api/order";
 import { getGoodsSpecList } from '@/api/goods'
 import operation_mixin from '@/components/template/operation_mixin.js'
 import geographicalPosi from '@/components/geographicalPosi/index.vue'
@@ -430,6 +442,7 @@ export default {
       formData: {
         saleName: '', // 业务员
         saleMobile: '', // 业务员电话
+        orderSmallType: '', // 工单类型
         salesType: '', // 销售类型
         receUserName: '', // 客户名称
         recePhone: '', // 客户电话
@@ -449,6 +462,7 @@ export default {
         fileUrl: '', // 附件
       },
       formRules: {
+        orderSmallType: [{ required: true, message: '请选择工单类型', trigger: 'change' }],
         receUserName: [{ required: true, message: '请输入客户名称', trigger: 'blur' }],
         recePhone: [{ required: true, message: '请输入客户电话', trigger: 'blur' }],
         payType: [{ required: true, message: '请选择支付方式', trigger: 'change' }],
@@ -457,6 +471,7 @@ export default {
       formVisible: false,
 
       examineStatus: '',
+      orderTypeList: [],
       provinceList: [],
       cityList: [],
       areaList: [],
@@ -588,6 +603,7 @@ export default {
           this.pageType = type;
       		this.formCancel()
       		this.$nextTick(()=>{
+            this.getOrderTypeList();
             this.getGoodsSpecList();
             this.getinitlbslist();
       			this.formType = type
@@ -597,6 +613,8 @@ export default {
       			} else if(type == 'edit'){
       				this.formDialogType = 1
       				getOfflineOrderDetail({ orderId }).then(res => {
+                res.data.orderSmallType = res.data.orderDetails[0]?.orderSmallType;
+                res.data.orderSmallTypeText = res.data.orderDetails[0]?.orderSmallTypeText;
                 this.goodsList = res.data.orderDetails;
       				  Object.assign(this.formData, res.data)
       				})
@@ -621,7 +639,8 @@ export default {
     formConfirm(cancel) {
       this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
         if (valid) {
-          offlineOrderSave({...this.formData, orderDetails: this.goodsList}).then(res => {
+          let orderSmallTypeText = this.orderTypeList.find(o => o.id == this.formData.orderSmallType).orderSmallTypeText;
+          offlineOrderSave({...this.formData, orderSmallTypeText, orderDetails: this.goodsList}).then(res => {
             if(this.formData.payType == 'WECHAT' && this.formDialogType == 0) {
               offlineOrderExamine({
                 orderId: res.data,
@@ -795,6 +814,17 @@ export default {
       })
     },
 
+    // 获取工单类型列表
+    getOrderTypeList() {
+      getOrderTypeList({
+        pageNum: 1,
+        pageSize: -1,
+        params: [{param: "a.status", compare: "=", value: true}]
+      }).then(res => {
+        this.orderTypeList = res.data.records;
+      })
+    },
+
     // 获取规格列表
     getGoodsSpecList() {
       getGoodsSpecList({