修改物流

master
fanfan 5 months ago
parent 6596fdfa77
commit a5203d352c
  1. 162
      src/views/order/modules/DeliveryFormEdit.vue

@ -0,0 +1,162 @@
<template>
<a-modal
:title="title"
:width="680"
:visible="visible"
:isLoading="isLoading"
:confirmLoading="isLoading"
:maskClosable="false"
@ok="handleSubmit"
@cancel="handleCancel"
>
<a-spin :spinning="isLoading">
<a-form-model ref="ruleForm" :model="record" :rules="rules" :label-col="labelCol" :wrapperCol="wrapperCol">
<div>
<a-form-model-item label="物流公司" prop="express_id">
<a-select v-model="record.express_id" placeholder="请选择物流公司">
<a-select-option v-for="(item, index) in expressList" :key="index" :value="item.express_id">{{
item.express_name
}}</a-select-option>
</a-select>
<div class="form-item-help">
<router-link target="_blank" :to="{ path: '/setting/delivery/express/index' }">物流公司管理</router-link>
</div>
</a-form-model-item>
<a-form-model-item label="物流单号" prop="express_no" extra="请手动录入物流单号或快递单号">
<a-input v-model="record.express_no" />
</a-form-model-item>
</div>
</a-form-model>
</a-spin>
</a-modal>
</template>
<script>
import { assignment } from '@/utils/util'
import * as Api from '@/api/order/delivery'
import * as ExpressApi from '@/api/setting/express'
import ClientEnum from '@/common/enum/Client'
import { PaymentMethodEnum } from '@/common/enum/payment'
import { DeliveryStatusEnum } from '@/common/enum/order'
import { GoodsItem } from '@/components/Table'
const rules = {
expressId: [{ required: true, message: '请选择物流公司', trigger: 'blur' }],
expressNo: [{ required: true, message: '请填写物流单号', trigger: 'blur' }],
}
export default {
components: {
GoodsItem,
},
data() {
return {
//
title: '订单发货',
//
labelCol: { span: 7 },
//
wrapperCol: { span: 13 },
// modal()
visible: false,
// modal() loading
isLoading: false,
//
rules,
// tab
//
expressList: [],
//
record: {},
}
},
computed: {},
beforeCreate() {
//
assignment(this, {
ClientEnum,
PaymentMethodEnum,
})
},
created() {
//
this.getExpressList()
},
methods: {
//
show(record) {
console.log(record, 'AAAAAAAAAAAAAAAAAA')
//
this.record = record
this.visible = true
},
//
getExpressList() {
this.isLoading = true
ExpressApi.all()
.then((result) => (this.expressList = result.data.list))
.finally(() => (this.isLoading = false))
},
//
handleSubmit(e) {
e.preventDefault()
//
this.$refs.ruleForm.validate((valid) => {
// api
valid && this.onFormSubmit()
})
},
//
handleCancel() {
this.visible = false
if (this.$refs.ruleForm) {
this.$refs.ruleForm.resetFields()
}
},
// api
onFormSubmit() {
this.isLoading = true
Api.updateDelivery({
delivery_id: this.record.delivery_id,
form: { express_no: this.record.express_no, express_id: this.record.express_id },
})
.then((result) => {
//
this.$message.success(result.message, 1.5)
//
this.handleCancel()
//
this.$emit('handleSubmit', true)
})
.finally(() => (this.isLoading = false))
},
},
}
</script>
<style lang="less" scoped>
/deep/.ant-modal-header {
border-bottom: none;
}
/deep/.ant-modal-footer {
border-top: none;
}
/deep/.ant-modal-body {
padding: 0px 24px;
}
/deep/.ant-tabs-bar {
margin-bottom: 22px;
}
.ant-table-wrapper {
margin-bottom: 30px;
}
.ant-form-item {
margin-bottom: 15px;
&:last-child {
margin-bottom: 5px;
}
}
</style>
Loading…
Cancel
Save