|
@@ -255,7 +255,7 @@
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-divider></el-divider>
|
|
<el-divider></el-divider>
|
|
- <el-row :gutter="20">
|
|
|
|
|
|
+ <el-row :gutter="20" v-if="send_type !== 'EXPRESS_DELIVERY'">
|
|
<el-col :span="8" :offset="6">
|
|
<el-col :span="8" :offset="6">
|
|
<el-form-item label="物流单号:" prop="tracking_number" v-if="deliveryForms.send_type !== 'SELF_PICKUP'">
|
|
<el-form-item label="物流单号:" prop="tracking_number" v-if="deliveryForms.send_type !== 'SELF_PICKUP'">
|
|
<el-input v-model="kdnCode" :minlength="1" :maxlength="20" :disabled="true"
|
|
<el-input v-model="kdnCode" :minlength="1" :maxlength="20" :disabled="true"
|
|
@@ -268,6 +268,28 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
+ <el-row :gutter="20" v-else>
|
|
|
|
+ <el-col :span="8">
|
|
|
|
+ <el-form-item label="快递公司:" prop="logistics_type">
|
|
|
|
+ <el-select v-model="deliveryForms.logistics_type" clearable :disabled="disabledType">
|
|
|
|
+ <el-option v-for="(item, index) in expressList" :key="index" :label="item.name"
|
|
|
|
+ :value="item.code"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="8">
|
|
|
|
+ <el-form-item label="物流单号:" prop="logistics_code">
|
|
|
|
+ <el-input v-model="deliveryForms.logistics_code" :minlength="1" :maxlength="20" :disabled="disabledType"
|
|
|
|
+ placeholder="请输入物流单号"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="8">
|
|
|
|
+ <el-form-item label="寄件人手机号:" prop="logistics_phone">
|
|
|
|
+ <el-input v-model="deliveryForms.logistics_phone" :minlength="1" :maxlength="20"
|
|
|
|
+ :disabled="disabledType" placeholder="请输入寄件人手机号后四位"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div v-if="
|
|
<div v-if="
|
|
@@ -414,6 +436,14 @@
|
|
</el-steps>
|
|
</el-steps>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-if="send_type == 'EXPRESS_DELIVERY' && logistics.length!==0">
|
|
|
|
+ <h3>快递状态:</h3>
|
|
|
|
+ <el-timeline :reverse="reverse">
|
|
|
|
+ <el-timeline-item v-for="(activity, index) in logistics" :key="index" :timestamp="activity.AcceptTime">
|
|
|
|
+ {{ activity.AcceptStation }}
|
|
|
|
+ </el-timeline-item>
|
|
|
|
+ </el-timeline>
|
|
|
|
+ </div>
|
|
<el-dialog title="扫码出库" :visible.sync="scanDialogVisible" width="30%" :close-on-click-modal="false">
|
|
<el-dialog title="扫码出库" :visible.sync="scanDialogVisible" width="30%" :close-on-click-modal="false">
|
|
<el-form ref="scanGoodsForm" :model="scanGoodsForm" inline>
|
|
<el-form ref="scanGoodsForm" :model="scanGoodsForm" inline>
|
|
<el-form-item label="sku" prop="bar_code">
|
|
<el-form-item label="sku" prop="bar_code">
|
|
@@ -500,13 +530,19 @@
|
|
></el-col>
|
|
></el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</el-form> -->
|
|
</el-form> -->
|
|
- <div class="footer">
|
|
|
|
|
|
+ <div class="footer" v-if="send_type !== 'EXPRESS_DELIVERY'">
|
|
<!-- <el-button type="primary"> 获取全部单号 </el-button> -->
|
|
<!-- <el-button type="primary"> 获取全部单号 </el-button> -->
|
|
<el-button type="primary" @click="saveErpWarehouseOut" :disabled="outType == 'check'"
|
|
<el-button type="primary" @click="saveErpWarehouseOut" :disabled="outType == 'check'"
|
|
v-if="kdnCode !== '' || deliveryForms.send_type == 'SELF_PICKUP'">发货
|
|
v-if="kdnCode !== '' || deliveryForms.send_type == 'SELF_PICKUP'">发货
|
|
</el-button>
|
|
</el-button>
|
|
<el-button @click="roBack2()">保存</el-button>
|
|
<el-button @click="roBack2()">保存</el-button>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="footer" v-else>
|
|
|
|
+ <!-- <el-button type="primary"> 获取全部单号 </el-button> -->
|
|
|
|
+ <el-button type="primary" @click="saveDelivery" :disabled="outType == 'check'">发货
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button @click="roBack2()">保存</el-button>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -517,6 +553,7 @@ import * as API_Setting from "@/api/setting";
|
|
import * as API_Auth from "@/api/auth";
|
|
import * as API_Auth from "@/api/auth";
|
|
import { RegExp } from "~/ui-utils";
|
|
import { RegExp } from "~/ui-utils";
|
|
import * as API_GoodsExchange from "@/api/goodsExchange";
|
|
import * as API_GoodsExchange from "@/api/goodsExchange";
|
|
|
|
+import * as API_Express from '@/api/express'
|
|
import { Foundation } from "~/ui-utils";
|
|
import { Foundation } from "~/ui-utils";
|
|
import {
|
|
import {
|
|
provinceAndCityData,
|
|
provinceAndCityData,
|
|
@@ -531,6 +568,7 @@ export default {
|
|
name: "orderOutbound",
|
|
name: "orderOutbound",
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ reverse: true,
|
|
btnType: false,
|
|
btnType: false,
|
|
disabledType: false,
|
|
disabledType: false,
|
|
// 列表loading状态
|
|
// 列表loading状态
|
|
@@ -554,6 +592,9 @@ export default {
|
|
adminList: [],
|
|
adminList: [],
|
|
kdnCode: "",
|
|
kdnCode: "",
|
|
deliveryForms: {
|
|
deliveryForms: {
|
|
|
|
+ logistics_type: "",
|
|
|
|
+ logistics_code: "",
|
|
|
|
+ logistics_phone: "",
|
|
send_type: '',
|
|
send_type: '',
|
|
selfPickupNum: '',
|
|
selfPickupNum: '',
|
|
remark: "",
|
|
remark: "",
|
|
@@ -586,6 +627,15 @@ export default {
|
|
appointment_time: [
|
|
appointment_time: [
|
|
{ required: true, message: "请选择上门时间", trigger: "blur" },
|
|
{ required: true, message: "请选择上门时间", trigger: "blur" },
|
|
],
|
|
],
|
|
|
|
+ logistics_type: [
|
|
|
|
+ { required: true, message: "请选择快递公司", trigger: "change" },
|
|
|
|
+ ],
|
|
|
|
+ logistics_code: [
|
|
|
|
+ { required: true, message: "请选填写快递单号", trigger: "blur" },
|
|
|
|
+ ],
|
|
|
|
+ logistics_phone: [
|
|
|
|
+ { required: true, message: "请选输入寄件人手机号后四位", trigger: "blur" },
|
|
|
|
+ ],
|
|
sender: {
|
|
sender: {
|
|
name: [
|
|
name: [
|
|
{ required: true, message: "请输入发货人姓名", trigger: "blur" },
|
|
{ required: true, message: "请输入发货人姓名", trigger: "blur" },
|
|
@@ -655,6 +705,9 @@ export default {
|
|
type: "",
|
|
type: "",
|
|
},
|
|
},
|
|
scanGoodsForm: {},
|
|
scanGoodsForm: {},
|
|
|
|
+ send_type: '',
|
|
|
|
+ expressList: [],//物流公司列表
|
|
|
|
+ logistics: [],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
@@ -704,8 +757,10 @@ export default {
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
/**/ this.id = this.$route.params.id;
|
|
/**/ this.id = this.$route.params.id;
|
|
|
|
+ this.send_type = this.$route.params.send_type
|
|
this.GET_WarehouseOutDetail();
|
|
this.GET_WarehouseOutDetail();
|
|
this.GET_AdministratorList();
|
|
this.GET_AdministratorList();
|
|
|
|
+ this.GET_ExpressList()
|
|
this.outType = this.$route.params.type;
|
|
this.outType = this.$route.params.type;
|
|
/* this.generateMap(regionData); */
|
|
/* this.generateMap(regionData); */
|
|
},
|
|
},
|
|
@@ -889,6 +944,7 @@ export default {
|
|
this.adminList = response.data;
|
|
this.adminList = response.data;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ //发货
|
|
saveErpWarehouseOut() {
|
|
saveErpWarehouseOut() {
|
|
this.$refs["ruleForm"].validate((valid) => {
|
|
this.$refs["ruleForm"].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
@@ -940,6 +996,60 @@ export default {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ //快递发货
|
|
|
|
+ saveDelivery() {
|
|
|
|
+ this.$refs["ruleForm"].validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ this.btnType = true;
|
|
|
|
+ const params = this.MixinClone(this.deliveryForms);
|
|
|
|
+ //发货详细地址
|
|
|
|
+ params.receiver.province_city_area_address =
|
|
|
|
+ params.receiver.province_name +
|
|
|
|
+ params.receiver.city_name +
|
|
|
|
+ params.receiver.area_name +
|
|
|
|
+ params.receiver.address;
|
|
|
|
+ //收货详细地址
|
|
|
|
+ params.sender.province_city_area_address =
|
|
|
|
+ params.sender.province_name +
|
|
|
|
+ params.sender.city_name +
|
|
|
|
+ params.sender.area_name +
|
|
|
|
+ params.sender.address;
|
|
|
|
+ //商品信息
|
|
|
|
+ const item = {};
|
|
|
|
+ this.product_list.map((el) => {
|
|
|
|
+ item.goods_name = el.goods_vo.name;
|
|
|
|
+ /* item.goods_price = el.product_vo.price; */
|
|
|
|
+ item.quantity = el.num;
|
|
|
|
+ item.unit = el.product_vo.unit;
|
|
|
|
+ return params.goods_list.push(item);
|
|
|
|
+ });
|
|
|
|
+ params.goods_num = this.product_list.reduce(
|
|
|
|
+ (sum, e) => sum + Number(e.orderNum || 0),
|
|
|
|
+ 0
|
|
|
|
+ );
|
|
|
|
+ params.total_weight = Number(params.total_weight);
|
|
|
|
+ params.total_volume = Number(params.total_volume);
|
|
|
|
+ params.declared_value = Number(params.declared_value);
|
|
|
|
+ //地址
|
|
|
|
+ params.send_address = this.send_address;
|
|
|
|
+ params.receive_address = this.receive_address;
|
|
|
|
+ params.order_code = this.id;
|
|
|
|
+ if (this.goodsExchangeAddForm.product_list.length == 0) {
|
|
|
|
+ return this.$message.error("请录入出库商品")
|
|
|
|
+ }
|
|
|
|
+ params.order_item_vos = this.goodsExchangeAddForm.product_list
|
|
|
|
+ API_order.outOrderSend(this.id, params).then((res) => {
|
|
|
|
+ this.$router.push({ name: "warehouseOut" });
|
|
|
|
+ });
|
|
|
|
+ API_order.queryLogistics({shipper_code:params.logistics_type,logistic_code: params.logistics_code, customer_name: params.logistics_phone }).then(res => {
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ console.log(this.deliveryForms);
|
|
|
|
+ this.$message.error("表单填写有误,请检查")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
// 选择批次
|
|
// 选择批次
|
|
async handleSelectWarehouseEntryBatch(items) {
|
|
async handleSelectWarehouseEntryBatch(items) {
|
|
const goodsData = await this.$EnwarehouseEntryBatch({
|
|
const goodsData = await this.$EnwarehouseEntryBatch({
|
|
@@ -1097,6 +1207,14 @@ export default {
|
|
this.deliveryForms.warehouse_id = res.warehouse_id
|
|
this.deliveryForms.warehouse_id = res.warehouse_id
|
|
this.deliveryForms.declared_value = Number(res.order_vo.real_price);
|
|
this.deliveryForms.declared_value = Number(res.order_vo.real_price);
|
|
this.goodsExchangeAddForm.product_list = res.order_item_vos
|
|
this.goodsExchangeAddForm.product_list = res.order_item_vos
|
|
|
|
+ if (this.send_type == 'EXPRESS_DELIVERY') {
|
|
|
|
+ this.deliveryForms.logistics_type = res.logistics_type
|
|
|
|
+ this.deliveryForms.logistics_code = res.logistics_code
|
|
|
|
+ this.deliveryForms.logistics_phone = res.logistics_phone
|
|
|
|
+ }
|
|
|
|
+ if (this.send_type == 'EXPRESS_DELIVERY' && res.logistics.length!==0) {
|
|
|
|
+ this.logistics = res.logistics
|
|
|
|
+ }
|
|
/* if (res.send_address && res.receiver_address) {
|
|
/* if (res.send_address && res.receiver_address) {
|
|
this.selectedOptions = res.send_address.split(",");
|
|
this.selectedOptions = res.send_address.split(",");
|
|
this.receiverOptions = res.receive_address.split(",");
|
|
this.receiverOptions = res.receive_address.split(",");
|
|
@@ -1120,6 +1238,12 @@ export default {
|
|
}
|
|
}
|
|
);
|
|
);
|
|
},
|
|
},
|
|
|
|
+ /** 获取物流公司列表 */
|
|
|
|
+ GET_ExpressList() {
|
|
|
|
+ API_Express.getExpressList(this.params).then(response => {
|
|
|
|
+ this.expressList = response.data
|
|
|
|
+ })
|
|
|
|
+ }
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
@@ -1158,7 +1282,7 @@ export default {
|
|
.bg-in {
|
|
.bg-in {
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
margin: 10px;
|
|
margin: 10px;
|
|
- padding:20px 55px 55px;
|
|
|
|
|
|
+ padding: 20px 55px 55px;
|
|
}
|
|
}
|
|
|
|
|
|
.flex {
|
|
.flex {
|
|
@@ -1232,7 +1356,8 @@ export default {
|
|
top: 50%;
|
|
top: 50%;
|
|
left: 50%;
|
|
left: 50%;
|
|
}
|
|
}
|
|
-/deep/.el-divider--horizontal{
|
|
|
|
|
|
+
|
|
|
|
+/deep/.el-divider--horizontal {
|
|
margin: 15px 0;
|
|
margin: 15px 0;
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|