作者 朱兆平

update:

1. 电子运单界面优化
... ... @@ -12,12 +12,15 @@
<el-row>
<el-col :span="4">
<el-form-item label-width="30px" label=" " prop="bill.waybillNum">
<el-input v-model="form.bill.waybillNum" auto-complete="off" placeholder="主运单号(必填)"></el-input>
<el-input v-model="form.bill.waybillNum" auto-complete="off" placeholder="主运单号(必填)" @input="handleInput"></el-input>
</el-form-item>
</el-col>
<el-col style="margin-left: 30px" :span="2">
<el-form-item>
<el-input v-model="form.bill.origin" auto-complete="off" placeholder="起始站" size="mini"></el-input>
<el-input
minlength="3" maxlength="3" onkeyup="this.value=this.value.toUpperCase()"
@keyup.native="form.bill.origin.replace(/[^A-Za-z]/g,'')"
v-model="form.bill.origin" auto-complete="off" placeholder="起始站" size="mini"></el-input>
</el-form-item>
</el-col>
<el-col style="margin-left: 30px" :span="2">
... ... @@ -344,8 +347,9 @@
<el-col style="width: 95%">
<el-form-item>
<el-input minlength="3" maxlength="3" onkeyup="this.value=this.value.toUpperCase()"
@keyup.native="form.bill.destination.replace(/[^A-Za-z]/g,'')"
v-model="form.bill.destination" auto-complete="off" placeholder="到达站" size="mini"></el-input>
@keyup.native="form.rtg.destinationAirport.replace(/[^A-Za-z]/g,'')"
@input.native="value => form.rtg.destinationAirport.replace(/[^A-Za-z]/g,'').toUpperCase()"
v-model="form.rtg.destinationAirport" auto-complete="off" placeholder="到达站" size="mini"></el-input>
</el-form-item>
</el-col>
</el-row>
... ... @@ -445,7 +449,11 @@
<el-row style="margin-bottom: -5px">
<el-col style="width: 95%">
<el-form-item>
<el-input auto-complete="off" placeholder="目的地机场" size="mini"></el-input>
<el-input minlength="3" maxlength="3" onkeyup="this.value=this.value.toUpperCase()"
@keyup.native="form.bill.destination.replace(/[^A-Za-z]/g,'')"
v-model="form.bill.destination" auto-complete="off" placeholder="目的地机场" size="mini">
</el-input>
</el-form-item>
</el-col>
</el-row>
... ... @@ -1210,8 +1218,8 @@ Handling Information
<el-row style="margin-bottom: -5px">
<el-col style="width: 95%">
<el-form-item>
<el-input minlength="3" maxlength="3" onkeyup="this.value=this.value.toUpperCase()"
@keyup.native="addForm.cvd.cvd_currency_code.replace(/[^A-Za-z]/g,'')"
<el-input minlength="3" maxlength="3"
@input.native="value => addForm.cvd.cvd_currency_code.replace(/[^A-Za-z]/g,'').toUpperCase()"
v-model="addForm.cvd.cvd_currency_code" auto-complete="off" placeholder="货币单位" size="mini"></el-input>
</el-form-item>
</el-col>
... ... @@ -1272,8 +1280,8 @@ Handling Information
<el-row>
<el-col style="width: 95%">
<el-form-item>
<el-input minlength="3" maxlength="3" onkeyup="this.value=this.value.toUpperCase()"
@keyup.native="addForm.hbs.hbs_destination.replace(/[^A-Za-z]/g,'')"
<el-input minlength="3" maxlength="3"
@input.native="value => addForm.hbs.hbs_destination = value.replace(/[^A-Za-z]/g, '').toUpperCase()"
v-model="addForm.hbs.hbs_destination" auto-complete="off" placeholder="到达站" size="mini"></el-input>
</el-form-item>
</el-col>
... ... @@ -1898,12 +1906,23 @@ Handling Information
</div>
</el-col>
<el-col :span="6">
<el-tooltip class="item" effect="dark" content="可以将整体的尺寸信息复制进来,一行一个尺寸信息,系统会自动识别" placement="top-start">
<el-tooltip class="item" effect="dark" placement="top-start">
<div slot="content">可以将整体的尺寸信息复制进来,一行一个尺寸信息,系统会自动识别,如:
<br/>
10x20x30x40
<br/>
10X20X30X40
<br/>
10x20x30/40
<br/>
10*20*30*40
</div>
<el-input
:autosize="{ minRows: 7, maxRows: 20}"
resize = "vertical"
type="textarea"
placeholder="快速尺寸信息录入生成"
placeholder="快速尺寸信息录入生成,每行一条如:10x20x30x40或10x20x30/40或10*20*30*40"
v-model="dimension_textarea"
@change="convertAndCalculateVolume"
>
... ... @@ -1962,7 +1981,7 @@ Handling Information
},
bill:{
destination:'',
origin:'',
origin:'CGO',
quantity_density:'',
quantity_picecs:'',
//体积
... ... @@ -2035,7 +2054,7 @@ Handling Information
ppd_weight_amount:'',
},
ref:{
ref_address:'CGOFDEE',
ref_address:'CGOFD1E',
ref_file_reference:'',
ref_participant_airport:'',
ref_participant_code:'',
... ... @@ -2107,13 +2126,27 @@ Handling Information
oci_csrc_info: ""
},
acc_info:{
acc_info:'',
acc_info:'FREIGHT PREPAID',
acc_info_id:'GEN',
},
apply_formRules:{
bill:{
waybillNum: [
{ required: true, message: '请输入主运单号', trigger: 'blur' },
// 新增的格式校验规则
{
validator: (rule, value, callback) => {
const reg = /^\d{3}-\d{8}$/; // 定义正则表达式
if (value && !reg.test(value)) {
callback(new Error('主运单号格式不正确,应为3位数字-后跟8位数字')); // 如果格式不正确,则返回错误信息
} else {
callback(); // 如果格式正确或值为空,则通过校验
}
},
trigger: 'blur'
}
],
},
},
... ... @@ -2208,6 +2241,10 @@ Handling Information
}
},
methods:{
handleInput(value) {
// 这里可以进一步处理输入值,例如去空格等
this.form.bill.waybillNum = value.trim();
},
//标签页
handleClick(tab, event) {
console.log(tab, event);
... ... @@ -2463,7 +2500,8 @@ Handling Information
//新增主运单
addFwb() {
this.form.rtg.destinationCarrier=this.form.flt.cariier;
this.form.rtg.destinationAirport=this.form.bill.destination;
alert(this.form.rtd.dimensions)
// this.form.rtg.destinationAirport=this.form.bill.destinationAirport;
this.form.rtd.rtd_gross_weight=this.form.bill.quantity_weight;
this.form.rtd.rtd_number_pieces=this.form.bill.quantity_picecs;
this.form.rtd.rtd_volume=this.form.bill.quantity_volume;
... ... @@ -2617,6 +2655,7 @@ Handling Information
text = text.replaceAll("cm","");
text = text.replaceAll("X","x");
text = text.replaceAll("-","x");
text = text.replace(/\//g, 'x');
//去掉空白字符
text = text.replaceAll("/\s/g","");
const lines = text.split('\n');
... ... @@ -2645,6 +2684,16 @@ Handling Information
dim_form.vol = dim_form.long * dim_form.wide * dim_form.height * dim_form.pic / 1000000;
let measurement_info = {
dim_measurement_code:'CMT',
//尺寸信息
dim_measurement_info:"" + dim_form.long + "-" + dim_form.wide + "-" + dim_form.height + "/" + dim_form.pic,
dim_weight:'',
dim_weightcode:'',
};
_this.form.rtd.dimensions.push(measurement_info)
_this.gridData.push(dim_form)
totalVolume += dim_form.vol;
... ... @@ -2667,10 +2716,10 @@ Handling Information
converted: output.trim(),
totalVolume: totalVolume
};
}).catch(() => {
}).catch((e) => {
this.$message({
type: 'info',
message: '已取消'
type: 'error',
message: '已取消'+e.message
});
});
},
... ...