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> <template>
<div class="app-container"> <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 v-model="activeNames">
<el-collapse-item title="" name="1"> <el-collapse-item title="" name="1">
<template slot="title"> <template slot="title">
@ -285,14 +285,6 @@
</el-col> </el-col>
</el-row> </el-row>
</el-collapse-item> </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"> <el-collapse-item title="" name="3">
<template slot="title"> <template slot="title">
<div class="form-group-title"><span class="title">{{ $t('货物重量信息') }}</span> <div class="form-group-title"><span class="title">{{ $t('货物重量信息') }}</span>
@ -302,131 +294,102 @@
<el-col :span="12"> <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: 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-col :span="24">
<el-form-item label="" prop="goodsType" label-width="0px"> <el-form-item label="" prop="goodsType" label-width="0px">
<GoodsPicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsPicker> <GoodsPicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsPicker>
<el-table <el-table
class="cargoList" class="cargoList"
:cell-style="{ :cell-style="{
'padding': '0px!important', 'padding': '0px!important',
'padding-left': '0px!important', 'padding-left': '0px!important',
'padding-right': '0px!important', 'padding-right': '0px!important',
'font-size':'11px' 'font-size':'11px'
}" }"
:header-cell-style="{ :header-cell-style="{
'font-size':'11px' 'font-size':'11px'
}" }"
border border
stripe stripe
:data="form.cargoList" :data="form.cargoList"
size="mini" size="mini"
style="width: 100%" style="width: 100%"
> @cell-mouse-enter="handleGoodsCellEnter"
<!-- @cell-mouse-enter="handleCellEnter" @cell-mouse-leave="handleGoodsCellLeave"
@cell-mouse-leave="handleCellLeave" --> >
<!-- "goodsCode": "货物代码:eg 123", <!-- @cell-mouse-enter="handleCellEnter"
"goodsName": "货物名称", @cell-mouse-leave="handleCellLeave" -->
"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-table-column prop="length" label="长(cm)" align="center" width="60"> <el-table-column label="序号" align="center" width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.length" size="mini" placeholder=""></el-input> <span>{{ scope.$index+1 }} </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="width" label="宽(cm)" align="center" width="60"> <!-- <el-table-column type="selection" width="55" align="center" /> -->
<template slot-scope="scope"> <!-- v-if="scope.row.isEdit" -->
<el-input v-model="scope.row.width" size="mini" placeholder=""></el-input> <!-- <div v-else class="txt">{{scope.row.goodsName}}</div> -->
</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 prop="length" label="长(cm)" align="center" width="60">
</el-col> <template slot-scope="scope">
<el-col :span="12"> <el-input v-model="scope.row.length" size="mini" placeholder=""></el-input>
<el-form-item label="包装类型" prop="packType"> </template>
<el-select v-model="form.packType" placeholder="请选择"> </el-table-column>
<el-option <el-table-column prop="width" label="宽(cm)" align="center" width="60">
v-for="dict in dict.type.emis_tab_packing_type" <template slot-scope="scope">
:key="dict.value" <el-input v-model="scope.row.width" size="mini" placeholder=""></el-input>
:label="dict.label" </template>
:value="dict.value" </el-table-column>
></el-option> <el-table-column prop="height" label="高(cm)" align="center" width="60">
</el-select> <template slot-scope="scope">
</el-form-item> <el-input v-model="scope.row.height" size="mini" placeholder=""></el-input>
</el-col> </template>
<el-col :span="12"> </el-table-column>
<el-form-item label="件数" prop="parcelQty"> <el-table-column prop="cargoQty" label="件数" align="center" width="60">
<el-input v-model="form.parcelQty" style="text-align: right;" placeholder="请输入件数" /> <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-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="实际重量" prop="billWeight"> <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="请输入实际重量" > <el-input v-model="form.billWeight" @blur="calcSettlementWeightByRemote()" style="text-align: right;min-width: 80px" placeholder="请输入实际重量" >
<span slot="suffix">(kg)</span> <span slot="suffix">(kg)</span>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="12">
<el-form-item label="体积" prop="totalVolume" label-width="60px" > <el-form-item label="总件数" prop="parcelQty">
<div style="display:inline-flex"> <el-input v-model="form.parcelQty" style="text-align: right;" placeholder="请输入件数" />
<el-input v-model="form.length" style="width:80px" 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> <span slot="suffix">(cm)</span>
</el-input> </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> <span slot="suffix">(cm)</span>
</el-input> </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> <span slot="suffix">(cm)</span>
</el-input> </el-input>
</div> </div> -->
<div style=""> <div style="">
<el-input v-model="form.totalVolume" @blur="calcSettlementWeightByRemote()" style="text-align: right;width: 120px" placeholder="体积" > <el-input v-model="form.totalVolume" @blur="calcSettlementWeightByRemote()" style="text-align: right;width: 120px" placeholder="体积" >
<span slot="suffix">(m³)</span> <span slot="suffix">(m³)</span>
@ -435,31 +398,44 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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> <el-input v-model="form.volumeWeight" placeholder="" disabled>
<span slot="suffix">(kg)</span> <span slot="suffix">(kg)</span>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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 > <el-input v-model="form.settlementWeight" placeholder="" disabled >
<span slot="suffix">(kg)</span> <span slot="suffix">(kg)</span>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </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-col :span="12">
<el-form-item label="" prop="blOverWeight"> <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-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-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12" v-if="form.blOverWeight==1">
<el-form-item label="超重件数" prop="overWeightNumber"> <el-form-item label="超重件数" prop="overWeightNumber" label-width="70px">
<el-input :disabled="!form.blOverWeight" v-model="form.overWeightNumber" placeholder="超重件数" /> <el-input :disabled="!form.blOverWeight" v-model="form.overWeightNumber" placeholder="超重件数" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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-group v-model="form.blGenSubbille">
<el-radio label="1">是</el-radio> <el-radio label="1">是</el-radio>
<el-radio label="0">否</el-radio> <el-radio label="0">否</el-radio>
@ -467,23 +443,24 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" v-if="form.blGenSubbille==1">
<el-form-item label="子单号" prop="billCodeSub"> <el-form-item label="子单号" prop="billCodeSub" label-width="70px">
<el-input v-model="form.billCodeSub" type="textarea" placeholder="" disabled /> <el-input v-model="form.billCodeSub" type="textarea" placeholder="" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="合同号" prop="custOrderId"> <el-form-item label="进仓单" prop="warehouseInNo" label-width="70px">
<el-input v-model="form.custOrderId" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="进仓单" prop="warehouseInNo">
<WarehouseInNoPicker v-model="form.warehouseInNo"></WarehouseInNoPicker> <WarehouseInNoPicker v-model="form.warehouseInNo"></WarehouseInNoPicker>
</el-form-item> </el-form-item>
</el-col> </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-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-input v-model="form.remark" type="textarea" placeholder="" />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -491,28 +468,135 @@
</el-col> </el-col>
<el-col :span="12" > <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-row>
</el-col> </el-col>
</el-row> </el-row>
</el-collapse-item> </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-collapse>
</el-form>
</el-form> <div style="text-align: center;margin-top: 10px;margin-bottom: 10px;">
<!-- </el-row> -->
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="initData">重置</el-button> <el-button @click="initData">重置</el-button>
</div> </div>
@ -858,26 +942,7 @@ methods: {
this.loading = false; this.loading = false;
}); });
}else{ }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, "goodsCode": item.goodsCode,
"goodsName": item.goodsName, "goodsName": item.goodsName,
"cargoQty": 1, "cargoQty": 1,
"lenght": 0,
"width": 0,
"height": 0,
} }
this.form.cargoList.push(cargo) this.form.cargoList.push(cargo)
}); });
@ -1159,6 +1227,14 @@ methods: {
}, },
showLocalTime(){ showLocalTime(){
},
/** 鼠标移入cell */
handleGoodsCellEnter (row, column, cell, event) {
row.isEdit = true
},
/** 鼠标移出cell */
handleGoodsCellLeave (row, column, cell, event) {
row.isEdit = false
}, },
// 实时获取运单号 // 实时获取运单号
handleBillCodeChange(checked,item){ handleBillCodeChange(checked,item){