emis-frontend/src/views/emis/emisTmsSiteBatch/emisTmsSiteBatchForm.vue
2024-08-04 23:39:57 +08:00

275 lines
9.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div >
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12">
<el-form-item label="批次号" prop="batchNo">
<el-input v-model="form.batchNo" placeholder="请输入批次号" disabled/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="批次名称" prop="batchName">
<el-input v-model="form.batchName" placeholder="请输入批次名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="运输方式" prop="transType">
<el-select v-model="form.transType" placeholder="运输方式" clearable filterable>
<el-option
v-for="item in dict.type.emis_biz_shipping_method"
v-bind:key="item.value"
v-bind:label="item.label"
v-bind:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="起始网点" prop="startSiteCode">
<EmisSiteSimplePicker1 v-model="form.startSiteCode" :placeholder="$t('起始网点')" isInitiated="true" @onChange="onDestSiteChange"></EmisSiteSimplePicker1>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('下一网点')" prop="nextSiteCode">
<span slot="label">
<span style="color: red">{{ $t('下一网点') }}</span>
</span>
<EmisGetNextSitePicker :placeholder="$t('请选择')" v-model="form.destSite" ></EmisGetNextSitePicker>
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.transType==1">
<el-form-item label="航空单号" prop="airBilllNo">
<el-input v-model="form.airBilllNo" placeholder="请输入航空单号" />
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.transType==2">
<el-form-item label="车牌号" prop="carNo">
<el-input v-model="form.carNo" placeholder="请输入车牌号" />
</el-form-item>
</el-col>
<el-col :span="8" v-if="form.transType==3">
<el-form-item label="船次号" prop="shipNo">
<el-input v-model="form.shipNo" placeholder="请输入船次号" />
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="预计发出时间" prop="etd">
<el-date-picker clearable
v-model="form.etd"
type="date"
value-format="yyyy-MM-dd"
placeholder="预计发出时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="预计到达时间" prop="eta">
<el-date-picker clearable
v-model="form.eta"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择预计到达时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="目的国家" prop="destCountry">
<el-input v-model="form.destCountry" placeholder="请输入目的国家" />
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="目的国家名称" prop="destCountryName">
<el-input v-model="form.destCountryName" placeholder="请输入目的国家名称" />
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="包数" prop="packNum">
<el-input v-model="form.packNum" placeholder="请输入包数" />
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="总件数" prop="totalParcelQty">
<el-input v-model="form.totalParcelQty" placeholder="请输入总件数" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总运单数" prop="totalWaybillQty">
<el-input v-model="form.totalWaybillQty" placeholder="请输入总运单数" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总体积" prop="totalVolume">
<el-input v-model="form.totalVolume" placeholder="请输入总体积" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总重量" prop="totalWeight">
<el-input v-model="form.totalWeight" placeholder="请输入总重量" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="8">
<el-form-item label="操作员" prop="opMan">
<el-input v-model="form.opMan" placeholder="请输入操作员" />
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="12">
</el-col>
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { getTmsGroupBatchNo,listEmisTmsSiteBatch, getEmisTmsSiteBatch, delEmisTmsSiteBatch, addEmisTmsSiteBatch, updateEmisTmsSiteBatch } from "@/api/emis/emisTmsSiteBatch";
import EmisGetNextSitePicker from '@/views/emis/EmisBaseTools/EmisGetNextSitePicker.vue';
export default {
name: "emisTmsSiteBatchForm",
props:{
id:{
type:Number
}
},
components: { EmisGetNextSitePicker },
dicts: ['emis_biz_shipping_method'
],
data() {
return {
emisTmsSiteBatchOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除标志(0代表存在不能为空", trigger: "blur" }
],
}
};
},
watch: {
"id": {
handler (newValue, oldValue) {
this.id = newValue;
this.initData();
},
deep: true
}
},
created() {
this.initData();
},
methods: {
async initData() {
if(this.id !=null) {
this.loading = true;
getEmisTmsSiteBatch(this.id).then(response => {
this.form = response.data;
this.loading = false;
});
}else{
this.reset();
let response = await getTmsGroupBatchNo();
if(!response || response.code != 200){
this.$modal.msgError(response && response.msg || "未知错误");
return;
}
this.form.batchNo=response.data;
}
// this.getTreeselect();
},
// 取消按钮
cancel() {
this.reset();
this.$emit("on-cancel");
},
// 表单重置
reset() {
this.form = {
id: null,
batchNo: null,
batchName: null,
batchDate: null,
batchType: null,
transType: null,
startSiteCode: null,
nextSiteCode: null,
airBilllNo: null,
etd: null,
eta: null,
packNum: null,
carNo: null,
shipNo: null,
clearanceResStatus: null,
declareResStatus: null,
destCountry: null,
destCountryName: null,
totalParcelQty: null,
totalWaybillQty: null,
totalVolume: null,
totalWeight: null,
opMan: null,
remark: null,
tenantId: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createSite: null,
updateSite: null
};
this.resetForm("form");
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmisTmsSiteBatch(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
addEmisTmsSiteBatch(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
}
}
});
},
}
};
</script>