Browse Source

修改标签发送弹出框

gongwencan 8 months ago
parent
commit
b82eb3ea8d

+ 3 - 0
src/api/DeliveryTypeApi.js

@@ -0,0 +1,3 @@
+import BaseCurdApi from './BaseCurdApi'
+
+export default new BaseCurdApi('/shipping/method')

+ 10 - 0
src/api/TagDistributeApi.js

@@ -4,6 +4,16 @@ class TagDistributeApi extends BaseCurdApi {
   constructor () {
     super('/tag/distribution')
   }
+
+  save = (data) => this.api({
+    url: `${this.basePath}/method`,
+    method: 'PUT',
+    data: {
+      id: data.id,
+      deliveryMethodId: data.deliveryMethodId,
+      deliveryOrderNo: data.deliveryOrderNo
+    }
+  })
 }
 
 export default new TagDistributeApi()

+ 1 - 5
src/components/DialogMaterialDetail.vue

@@ -11,9 +11,7 @@
         :model="data"
         label-width="105px"
       >
-        <el-collapse v-model="activeCollapseName" class="form-collapse">
-          <el-collapse-item title="物料详情" name="1" class="form-collapse-item">
-            <div class="overflow-auto" style="padding:0 10px;">
+      <div class="overflow-auto" style="padding:0 10px;">
                 <el-row
                   :gutter="$$Constant.LAYOUT_GAP"
                 >
@@ -109,8 +107,6 @@
                   </el-col>
                 </el-row>
             </div>
-          </el-collapse-item>
-        </el-collapse>
       </el-form>
 
     </el-dialog>

+ 21 - 10
src/components/DialogTagDistribute.vue

@@ -1,7 +1,7 @@
 <template>
     <el-dialog
       :visible.sync="visible"
-      :title="发货方式"
+     :title="`${operatorType.name}发货方式`"
       append-to-body
       width="750px"
     >
@@ -15,18 +15,29 @@
         :gutter="$$Constant.LAYOUT_GAP"
         >
         <el-col :span="12">
-          <el-form-item label="发货方式">
-            <el-input v-model="data.goodsCode" readonly/>
-          </el-form-item>
+            <el-form-item label="发货方式" :rules="[{
+                required: true,
+                message: '请选择发货方式'
+              }]">
+                <my-select
+                  v-model="data.deliveryMethodId"
+                  :options="optionGroup.DeliveryType ? optionGroup.DeliveryType.list : []"
+                ></my-select>
+            </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="发货单号">
-            <el-input v-model="data.orderNo" />
+            <el-input v-model="data.deliveryOrderNo" :disabled="data.deliveryMethodId === '1'"/>
           </el-form-item>
         </el-col>
         </el-row>
       </el-form>
-
+      <template #footer>
+      <div class="flex center dialog-footer">
+        <el-button @click="onCloseBtnClick">取消</el-button>
+        <el-button type="primary" @click="onSaveBtnClick">确定</el-button>
+      </div>
+    </template>
     </el-dialog>
   </template>
 
@@ -38,10 +49,10 @@ export default {
   name: 'DialogTagDistribute',
   extends: BaseCurdEditor(TagDistribute),
   props: {
-    // optionGroup: {
-    //   required: true,
-    //   type: Object
-    // }
+    optionGroup: {
+      required: true,
+      type: Object
+    }
   }
 }
 </script>

+ 23 - 0
src/entries/DeliveryType.js

@@ -0,0 +1,23 @@
+import BaseCurdEntry from './BaseCurdEntry'
+import deliveryTypeApi from '@@/api/DeliveryTypeApi'
+
+export default class DeliveryType extends BaseCurdEntry {
+  id
+
+  name
+
+  constructor (id, name) {
+    super()
+
+    this.id = id
+    this.name = name
+  }
+
+  static get $$name () {
+    return 'DeliveryType'
+  }
+
+  static get $$api () {
+    return deliveryTypeApi
+  }
+}

+ 8 - 0
src/entries/TagDistribute.js

@@ -6,6 +6,8 @@ import Provider from './Provider'
 
 import TagApplyState from './TagApplyState'
 
+import DeliveryType from './DeliveryType'
+
 export default class TagDistribute extends BaseCurdEntry {
   id
 
@@ -55,6 +57,10 @@ export default class TagDistribute extends BaseCurdEntry {
 
   operatorName
 
+  deliveryMethodId
+
+  deliveryOrderNo
+
   static get $$name () {
     return 'TagDistribute'
   }
@@ -74,6 +80,8 @@ export default class TagDistribute extends BaseCurdEntry {
       getQuery: () => ({})
     }, {
       Target: Provider
+    }, {
+      Target: DeliveryType
     }]
   ]
 

+ 11 - 1
src/views/TagDistribute.vue

@@ -140,6 +140,11 @@
           />
         </div>
       </el-card>
+      <dialog-tag-distribute
+      ref="editor"
+      :optionGroup="optionGroup"
+      @saved="loadList"
+    ></dialog-tag-distribute>
     </div>
   </template>
 
@@ -149,7 +154,12 @@ import TagDistribute from '@@/entries/TagDistribute'
 
 export default {
   name: 'TagDistribute',
-  extends: BaseCurdList(TagDistribute)
+  extends: BaseCurdList(TagDistribute),
+  methods: {
+    onOpenDetailEditorBtnClick (data) {
+      this.onOpenEditorBtnClick(data, data.tagApplyStateId === '3')
+    }
+  }
 }
 </script>