This commit is contained in:
linfso 2024-05-13 20:30:47 +08:00
parent bb20faa94e
commit 134a150b1a

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form ref="form" size="small" :model="form" :rules="rules" label-width="100px">
<el-form ref="form" size="mini" :model="form" :rules="rules" label-width="100px">
<el-collapse v-model="activeNames">
<el-collapse-item title="" name="1">
<template slot="title">
@ -285,14 +285,6 @@
</el-col>
</el-row>
</el-collapse-item>
<el-row>
<el-col :span="12">
</el-col>
<el-col :span="12">
</el-col>
</el-row>
<el-collapse-item title="" name="3">
<template slot="title">
<div class="form-group-title"><span class="title">{{ $t('货物重量信息') }}</span>
@ -302,131 +294,102 @@
<el-col :span="12">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;padding: 0px 15px;">
<el-col :span="24"><div style="font-weight:600">货物信息</div></el-col>
<el-col :span="24"><div style="font-weight:600">货物信息</div></el-col>
<el-col :span="24">
<el-form-item label="" prop="goodsType" label-width="0px">
<GoodsPicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsPicker>
<el-table
class="cargoList"
:cell-style="{
'padding': '0px!important',
'padding-left': '0px!important',
'padding-right': '0px!important',
'font-size':'11px'
}"
:header-cell-style="{
'font-size':'11px'
}"
border
stripe
:data="form.cargoList"
size="mini"
style="width: 100%"
>
<!-- @cell-mouse-enter="handleCellEnter"
@cell-mouse-leave="handleCellLeave" -->
<!-- "goodsCode": "货物代码:eg 123",
"goodsName": "货物名称",
"cargoQty": "货物数量: 10",
"unit": "件",
"price": "1.2",
"currency": "CNY",
"nationArea": "中国",
"taxNo": "行邮税号",
"hscode": "海关编码",
"brand": "品牌",
"material": "材质",
"purpose": "用途",
"ingredients": "成分",
"goodsModel": "规格",
"orderNum": "序号",
"supplier": "供应商",
"isSave": "是否保存 1-保存"
-->
<el-table-column label="序号" align="center" width="50">
<template slot-scope="scope">
<span>{{ scope.$index+1 }} </span>
</template>
</el-table-column>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<!-- v-if="scope.row.isEdit" -->
<!-- <div v-else class="txt">{{scope.row.goodsName}}</div> -->
<el-form-item label="" prop="goodsType" label-width="0px">
<GoodsPicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsPicker>
<el-table
class="cargoList"
:cell-style="{
'padding': '0px!important',
'padding-left': '0px!important',
'padding-right': '0px!important',
'font-size':'11px'
}"
:header-cell-style="{
'font-size':'11px'
}"
border
stripe
:data="form.cargoList"
size="mini"
style="width: 100%"
@cell-mouse-enter="handleGoodsCellEnter"
@cell-mouse-leave="handleGoodsCellLeave"
>
<!-- @cell-mouse-enter="handleCellEnter"
@cell-mouse-leave="handleCellLeave" -->
<el-table-column prop="length" label="长(cm)" align="center" width="60">
<template slot-scope="scope">
<el-input v-model="scope.row.length" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="width" label="宽(cm)" align="center" width="60">
<template slot-scope="scope">
<el-input v-model="scope.row.width" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="height" label="高(cm)" align="center" width="60">
<template slot-scope="scope">
<el-input v-model="scope.row.height" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="cargoQty" label="件数" align="center" width="60">
<template slot-scope="scope">
<el-input v-model="scope.row.cargoQty" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="volumn" label="体积(m³)" align="center" width="80">
<template slot-scope="scope">
<el-input v-model="scope.row.volumn" size="mini" placeholder="" disabled></el-input>
</template>
</el-table-column>
<el-table-column prop="goodsName" label="描述" align="center" min-width="100">
<template slot-scope="scope">
<el-input v-model="scope.row.goodsName" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
</el-table>
<el-input v-model="form.goodsInfo" type="textarea" placeholder="" disabled />
</el-form-item>
</el-col>
<el-col :span="24" >
<el-table-column label="序号" align="center" width="50">
<template slot-scope="scope">
<span>{{ scope.$index+1 }} </span>
</template>
</el-table-column>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<!-- v-if="scope.row.isEdit" -->
<!-- <div v-else class="txt">{{scope.row.goodsName}}</div> -->
</el-col>
<el-col :span="12">
<el-form-item label="包装类型" prop="packType">
<el-select v-model="form.packType" placeholder="请选择">
<el-option
v-for="dict in dict.type.emis_tab_packing_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="件数" prop="parcelQty">
<el-input v-model="form.parcelQty" style="text-align: right;" placeholder="请输入件数" />
<el-table-column prop="length" label="长(cm)" align="center" width="60">
<template slot-scope="scope">
<el-input v-model="scope.row.length" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="width" label="宽(cm)" align="center" width="60">
<template slot-scope="scope">
<el-input v-model="scope.row.width" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="height" label="高(cm)" align="center" width="60">
<template slot-scope="scope">
<el-input v-model="scope.row.height" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="cargoQty" label="件数" align="center" width="60">
<template slot-scope="scope">
<el-input v-model="scope.row.cargoQty" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="volumn" label="体积(m³)" align="center" width="80">
<template slot-scope="scope">
<el-input v-model="scope.row.volumn" size="mini" placeholder="" disabled></el-input>
</template>
</el-table-column>
<el-table-column prop="goodsName" label="描述" align="center" min-width="100">
<template slot-scope="scope">
<el-input v-model="scope.row.goodsName" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
</el-table>
<el-input v-model="form.goodsInfo" type="textarea" placeholder="" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实际重量" prop="billWeight">
</el-col>
<el-col :span="12">
<el-form-item label="实际重量" prop="billWeight" label-width="70px">
<el-input v-model="form.billWeight" @blur="calcSettlementWeightByRemote()" style="text-align: right;min-width: 80px" placeholder="请输入实际重量" >
<span slot="suffix">(kg)</span>
</el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="体积" prop="totalVolume" label-width="60px" >
<div style="display:inline-flex">
<el-input v-model="form.length" style="width:80px" placeholder="长" >
<el-col :span="12">
<el-form-item label="总件数" prop="parcelQty">
<el-input v-model="form.parcelQty" style="text-align: right;" placeholder="请输入件数" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="总体积" prop="totalVolume" label-width="70px" >
<!-- <div style="display:inline-flex">
<el-input v-model="form.length" style="width:100px" placeholder="长" >
<span slot="suffix">(cm)</span>
</el-input>
<el-input v-model="form.width" style="margin-left:5px;width:80px" placeholder="宽" >
<el-input v-model="form.width" style="margin-left:5px;width:100px" placeholder="宽" >
<span slot="suffix">(cm)</span>
</el-input>
<el-input v-model="form.height" style="margin-left:5px;width:80px" placeholder="高" >
<el-input v-model="form.height" style="margin-left:5px;width:100px" placeholder="高" >
<span slot="suffix">(cm)</span>
</el-input>
</div>
</div> -->
<div style="">
<el-input v-model="form.totalVolume" @blur="calcSettlementWeightByRemote()" style="text-align: right;width: 120px" placeholder="体积" >
<span slot="suffix">(m³)</span>
@ -435,31 +398,44 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="体积重量" prop="volumeWeight">
<el-form-item label="体积重量" prop="volumeWeight" label-width="70px">
<el-input v-model="form.volumeWeight" placeholder="" disabled>
<span slot="suffix">(kg)</span>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="结算重量" prop="settlementWeight">
<el-form-item label="结算重量" prop="settlementWeight" label-width="70px">
<el-input v-model="form.settlementWeight" placeholder="" disabled >
<span slot="suffix">(kg)</span>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="包装类型" prop="packType" label-width="70px"">
<el-select v-model="form.packType" placeholder="请选择">
<el-option
v-for="dict in dict.type.emis_tab_packing_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="" prop="blOverWeight">
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blOverWeight" :true-label="'1'" :false-label="'0'" ><span style="font-size:10px">是否超重</span></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="超重件数" prop="overWeightNumber">
<el-col :span="12" v-if="form.blOverWeight==1">
<el-form-item label="超重件数" prop="overWeightNumber" label-width="70px">
<el-input :disabled="!form.blOverWeight" v-model="form.overWeightNumber" placeholder="超重件数" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否生成子单" prop="blGenSubbill" label-width="120px">
<el-form-item label="生成子单" prop="blGenSubbill" label-width="70px">
<el-radio-group v-model="form.blGenSubbille">
<el-radio label="1">是</el-radio>
<el-radio label="0">否</el-radio>
@ -467,23 +443,24 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="子单号" prop="billCodeSub">
<el-col :span="24" v-if="form.blGenSubbille==1">
<el-form-item label="子单号" prop="billCodeSub" label-width="70px">
<el-input v-model="form.billCodeSub" type="textarea" placeholder="" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同号" prop="custOrderId">
<el-input v-model="form.custOrderId" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="进仓单" prop="warehouseInNo">
<el-form-item label="进仓单" prop="warehouseInNo" label-width="70px">
<WarehouseInNoPicker v-model="form.warehouseInNo"></WarehouseInNoPicker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同号" prop="custOrderId" label-width="70px">
<el-input v-model="form.custOrderId" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="运单备注" prop="remark">
<el-form-item label="运单备注" prop="remark" label-width="70px">
<el-input v-model="form.remark" type="textarea" placeholder="" />
</el-form-item>
</el-col>
@ -491,28 +468,135 @@
</el-col>
<el-col :span="12" >
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;padding: 0px 15px;">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;padding:15px">
<el-col :span="24"><div style="font-weight:600">费用明细</div></el-col>
<el-col :span="24">
<el-form-item label="" prop="goodsType" label-width="0px">
<el-table
class="cargoList"
:cell-style="{
'padding': '0px!important',
'padding-left': '0px!important',
'padding-right': '0px!important',
'font-size':'11px'
}"
:header-cell-style="{
'font-size':'11px'
}"
border
stripe
:data="form.feeItems"
size="mini"
style="width: 100%"
>
<!-- @cell-mouse-enter="handleCellEnter"
@cell-mouse-leave="handleCellLeave" -->
<el-table-column label="序号" align="center" width="50">
<template slot-scope="scope">
<span>{{ scope.$index+1 }} </span>
</template>
</el-table-column>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<!-- v-if="scope.row.isEdit" -->
<!-- <div v-else class="txt">{{scope.row.goodsName}}</div> -->
<el-table-column prop="length" label="收费项" align="center" width="60">
<template slot-scope="scope">
<span>{{ scope.row.feeType }}</span>
</template>
</el-table-column>
<el-table-column prop="volumn" label="应收" align="center" width="80">
<template slot-scope="scope">
<el-input v-model="scope.row.volumn" size="mini" placeholder="" disabled></el-input>
</template>
</el-table-column>
<el-table-column prop="goodsName" label="实收" align="center" min-width="100">
<template slot-scope="scope">
<el-input v-model="scope.row.goodsName" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="goodsName" label="首重费" align="center" min-width="100">
<template slot-scope="scope">
<el-input v-model="scope.row.goodsName" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="goodsName" label="续重单价" align="center" min-width="100">
<template slot-scope="scope">
<el-input v-model="scope.row.goodsName" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="付款方式" prop="paymentType" label-width="70px">
<el-select v-model="form.paymentType" placeholder="请选择">
<el-option
v-for="dict in dict.type.emis_payment_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
</el-col>
<el-col :span="24" v-show="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5">
<el-form-item label="月结账号" prop="thirdCustomerCode" label-width="70px">
<EmisMonthpayAccountPicker v-model="form.custNo"></EmisMonthpayAccountPicker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="回款联系人" prop="payee" label-width="80px">
<EmisUserSimplePicker2 :placeholder="$t('回款联系人')" v-model="form.payee" ></EmisUserSimplePicker2>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售联系人" prop="salesmen" label-width="80px">
<EmisUserSimplePicker3 :placeholder="$t('销售联系人')" v-model="form.salesmen" ></EmisUserSimplePicker3>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="计费方式" prop="calcFeeType" label-width="70px">
<!-- <el-input v-model="form.calcFeeType" placeholder="请输入计费方式" /> -->
<el-radio-group v-model="form.calcFeeType" >
<el-radio
v-for="dict in dict.type.emis_calc_fee_type"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="总运费" prop="freight" label-width="70px">
<el-input v-model="form.freight" placeholder="" >
</el-input>
</el-form-item>
<el-form-item label="费用备注" prop="feeRemaker" label-width="70px">
<el-input v-model="form.feeRemaker" type="textarea" placeholder="" >
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="" name="4">
<template slot="title">
<div class="form-group-title"><span class="title">{{ $t('收费信息') }}</span></div>
</template>
</el-collapse-item>
</el-collapse>
</el-form>
<!-- </el-row> -->
<div style="text-align: center;margin-bottom: 10px;">
</el-form>
<div style="text-align: center;margin-top: 10px;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="initData">重置</el-button>
</div>
@ -858,26 +942,7 @@ methods: {
this.loading = false;
});
}else{
let cargo={
"goodsCode": "货物代码:eg 123",
"goodsName": "货物名称",
"cargoQty": "货物数量: 10",
"unit": "件",
"price": "1.2",
"currency": "CNY",
"nationArea": "中国",
"taxNo": "行邮税号",
"hscode": "海关编码",
"brand": "品牌",
"material": "材质",
"purpose": "用途",
"ingredients": "成分",
"goodsModel": "规格",
"orderNum": "序号",
"supplier": "供应商",
"isSave": "是否保存 1-保存"
};
// this.form.cargoList.push(cargo);
}
},
@ -1152,6 +1217,9 @@ methods: {
"goodsCode": item.goodsCode,
"goodsName": item.goodsName,
"cargoQty": 1,
"lenght": 0,
"width": 0,
"height": 0,
}
this.form.cargoList.push(cargo)
});
@ -1159,6 +1227,14 @@ methods: {
},
showLocalTime(){
},
/** 鼠标移入cell */
handleGoodsCellEnter (row, column, cell, event) {
row.isEdit = true
},
/** 鼠标移出cell */
handleGoodsCellLeave (row, column, cell, event) {
row.isEdit = false
},
// 实时获取运单号
handleBillCodeChange(checked,item){