This commit is contained in:
linfso 2025-07-02 08:25:48 +08:00
parent 831dcec011
commit 0f82112d78
3 changed files with 155 additions and 44 deletions

View File

@ -79,7 +79,21 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item label="批次是否完整" prop="params.blIsBatchOk" label-width="120px">
<el-select clearable v-model="queryParams.params.blIsBatchOk" placeholder="请选择">
<el-option :key="1" label="是" value="1">是</el-option>
<el-option :key="0" label="否" value="-1">否</el-option>
</el-select>
</el-form-item>
<el-form-item label="成本是否完整" prop="params.blIsCostFeeOk" label-width="120px">
<el-select clearable v-model="queryParams.params.blIsCostFeeOk" placeholder="请选择">
<el-option :key="1" label="是" value="1">是</el-option>
<el-option :key="0" label="否" value="-1">否</el-option>
</el-select>
</el-form-item>
</SearchForm>
<XdTable
@ -512,6 +526,11 @@ export default {
problemQueryType:null,
problemQueryIds:null,
params:{
blIsBatchOk:null,
blIsCostFeeOk:null,
}
}
},
};

View File

@ -20,10 +20,9 @@
</el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-col :span="8">
<el-form-item label="费用类型" prop="feeType">
<el-select v-model="form.feeType" filterable clearable placeholder="费用"
<el-select v-model="form.feeType" filterable clearable placeholder="费用类型"
style="width:100%"
>
<el-option v-for="dict in dict.type.emis_cost_fee_type"
@ -33,17 +32,40 @@
/>
</el-select>
</el-form-item>
</el-col> -->
</el-col>
<el-col :span="8">
<el-form-item label="供应商" prop="supplierCode">
<EmisTmsSiteBatchSupplierPicker v-model="form.supplierCode" :placeholder="$t('请选择')" :startSiteCode="form.startSiteCode" :nextSiteCode="form.nextSiteCode" @onChange="onSupplierSelect" ></EmisTmsSiteBatchSupplierPicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="固定成本" prop="fee">
<el-input v-model="form.fee" placeholder="固定成本" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最低成本" prop="leastPrice">
<el-input v-model="form.leastPrice" placeholder="最低成本" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="价格取值" prop="priceType">
<el-select v-model="form.priceType" placeholder="价格取值">
<el-option
v-for="dict in dict.type.emis_price_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单价" prop="price">
<el-input v-model="form.price" placeholder="请输入计费单价" >
<span slot="suffix">元/公里</span>
</el-input>
</el-form-item>
</el-col>
@ -52,15 +74,20 @@
<el-input v-model="form.currency" placeholder="请输入费用币种" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="12">
<!-- <el-col :span="8">
<el-form-item label="计费类型" prop="billType">
<el-input v-model="form.billType" placeholder="请输入计费类型" />
<el-radio-group v-model="form.billType">
<el-radio label="1" >重量计费</el-radio>
<el-radio label="2">体积计费</el-radio>
</el-radio-group>
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-col :span="12">
<el-form-item label="开始日期" prop="startDate">
<el-date-picker clearable
<el-date-picker
style="width: 100%;"
clearable
v-model="form.startDate"
type="date"
value-format="yyyy-MM-dd"
@ -70,7 +97,9 @@
</el-col>
<el-col :span="12">
<el-form-item label="结束日期" prop="endDate">
<el-date-picker clearable
<el-date-picker
style="width: 100%;"
clearable
v-model="form.endDate"
type="date"
value-format="yyyy-MM-dd"
@ -78,9 +107,26 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
</el-col>
<el-col :span="24">
<el-form-item label="计算公式" prop="calculateExpression">
<el-input type="textarea" v-model="form.calculateExpression" placeholder="请输入计算表达式" />
<div style="padding: 5px;color:red">
填写说明:计算公式中只能包含(w,t,c,d,数字,+,.*,/) w-单票重量,t-批次总重,c-固定成本 d-单价 <br>
例如:网点机场短驳费公式:(w/t)*c <br> 机场操作费公式:(w/t)*(t*d) <br>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
<el-input type="textarea" v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
@ -110,7 +156,7 @@ export default {
}
},
components: { EmisSiteSimplePicker1,EmisSiteSimplePicker2,EmisTmsSiteBatchSupplierPicker,EmisTmsSiteBatchNextSitePicker },
dicts: ['emis_cost_fee_type','sys_currency_type'],
dicts: ['emis_cost_fee_type','sys_currency_type','emis_price_type'],
data() {
return {
emisTmsCostQuotePriceOptions: [],
@ -121,34 +167,49 @@ export default {
// 表单校验
rules: {
startSiteCode: [
{ required: true, message: "起始网点不能为空", trigger: ["blur",'change'] }
{ required: true, message: "起始网点不能为空", trigger: ["blur","change"] }
],
nextSiteCode: [
{ required: true, message: "下一网点不能为空", trigger: ["blur",'change'] }
{ required: true, message: "下一网点不能为空", trigger: ["blur","change"] }
],
distance: [
{ required: true, message: "网点距离km不能为空", trigger: ["blur",'change'] }
{ required: true, message: "网点距离km不能为空", trigger: ["blur","change"] }
],
feeType: [
{ required: true, message: "费用类型不能为空", trigger: ["blur",'change'] }
{ required: true, message: "费用类型不能为空", trigger: ["blur","change"] }
],
fee: [
{ required: true, message: "总费用不能为空", trigger: ["blur","change"] }
],
leastPrice: [
{ required: true, message: "最低价格不能为空", trigger: ["blur","change"] }
],
priceType: [
{ required: true, message: "价格取值不能为空", trigger: ["blur","change"] }
],
price: [
{ required: true, message: "计费单价不能为空", trigger: ["blur",'change'] }
{ required: true, message: "计费单价不能为空", trigger: ["blur","change"] }
],
currency: [
{ required: true, message: "费用币种不能为空", trigger: ["blur",'change'] }
{ required: true, message: "费用币种不能为空", trigger: ["blur","change"] }
],
calculateExpression: [
{ required: true, message: "计算表达式不能为空", trigger: ["blur","change"] }
],
billType: [
{ required: true, message: "计费类型不能为空", trigger: ["blur",'change'] }
{ required: true, message: "计费类型不能为空", trigger: ["blur","change"] }
],
supplierCode: [
{ required: true, message: "供应商代码不能为空", trigger: ["blur",'change'] }
{ required: true, message: "供应商代码不能为空", trigger: ["blur","change"] }
],
startDate: [
{ required: true, message: "开始日期不能为空", trigger: ["blur",'change'] }
{ required: true, message: "开始日期不能为空", trigger: ["blur","change"] }
],
endDate: [
{ required: true, message: "结束日期不能为空", trigger: ["blur",'change'] }
{ required: true, message: "结束日期不能为空", trigger: ["blur","change"] }
],
blOpen: [
{ required: true, message: "启用状态不能为空", trigger: ["blur","change"] }
],
}
};
@ -192,13 +253,23 @@ export default {
startSiteCode: null,
nextSiteCode: null,
distance: null,
feeType: '1002',
feeType: null,
fee: null,
leastPrice: null,
priceType: null,
price: null,
currency: null,
currency: 'CNY',
startWeight: null,
endWeight: null,
initialWeight: null,
additionalWeight: null,
conditionExpression: null,
calculateExpression: null,
billType: '1',
supplierCode: null,
startDate: null,
endDate: null,
blOpen: null,
remark: null,
tenantId: null,
};

View File

@ -71,7 +71,7 @@
v-loading="loading"
ref="refTable"
storageName="BigBatchPanel_main_241116"
storageName="BigBatchPanel_main_241121"
border stripe
size="small"
@ -94,7 +94,7 @@
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisTmsCostQuotePrice:add']"
>新增短驳费</el-button>
>新增固定成本</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -133,25 +133,35 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('起始网点')" align="center" prop="startSiteName" min-width="150" />
<el-table-column :label="$t('下一网点')" align="center" prop="nextSiteName" min-width="150" />
<el-table-column :label="$t('网点距离(公里)')" align="center" prop="distance" min-width="150" />
<el-table-column :label="$t('费用类型')" align="center" prop="feeType" min-width="100" >
<template>
<span>网点机场短驳费</span>
</template>
<el-table-column :label="$t('起始网点')" align="left" prop="startSiteName" min-width="120" :show-overflow-tooltip="true" />
<el-table-column :label="$t('下一网点')" align="left" prop="nextSiteName" min-width="120" :show-overflow-tooltip="true"/>
<el-table-column prop="feeName" :label="$t('费用类别')" align="center" width="120">
<template slot-scope="scope">
<span>
<dict-tag :options="dict.type.emis_cost_fee_type" :value="scope.row.feeType"/>
</span>
</template>
</el-table-column>
<el-table-column :label="$t('单价(元/公里)')" align="center" prop="price" min-width="100" />
<el-table-column :label="$t('供应商')" align="center" prop="supplierName" min-width="150" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('固定费用')" align="center" prop="fee" min-width="100" />
<el-table-column :label="$t('最低费用')" align="center" prop="leastPrice" min-width="100" />
<el-table-column label="取值方式" align="center" prop="priceType" width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_price_type" :value="scope.row.priceType"/>
</template>
</el-table-column>
<el-table-column :label="$t('计算公式')" align="center" prop="calculateExpression" min-width="100" />
<el-table-column :label="$t('网点距离(公里)')" align="center" prop="distance" min-width="150" />
<el-table-column :label="$t('单价')" align="center" prop="price" min-width="100" />
<!-- <el-table-column :label="$t('费用币种')" align="center" prop="currency" min-width="100" /> -->
<el-table-column :label="$t('计费类型')" align="center" prop="billType" min-width="100" >
<!-- <el-table-column :label="$t('计费类型')" align="center" prop="billType" min-width="100" >
<template>
<span>按公斤</span>
</template>
</el-table-column>
<el-table-column :label="$t('供应商')" align="center" prop="supplierName" min-width="150" />
</el-table-column> -->
<el-table-column :label="$t('开始日期')" align="center" prop="startDate" min-width="100" />
<el-table-column :label="$t('结束日期')" align="center" prop="endDate" min-width="100" />
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" />
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="150" :show-overflow-tooltip="true"/>
</XdTable>
@ -178,8 +188,7 @@ import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePick
export default {
name: "emisTmsCostQuotePrice",
components: { elDateSimplePicker,emisTmsCostQuotePriceForm,EmisSupplierPicker,EmisSiteSimplePicker1,EmisSiteSimplePicker2 },
dicts: [
],
dicts: ['emis_cost_fee_type','emis_price_type'],
data() {
return {
// 遮罩层
@ -217,12 +226,24 @@ export default {
nextSiteCode: null,
distance: null,
feeType: null,
fee: null,
leastPrice: null,
priceType: null,
price: null,
currency: null,
startWeight: null,
endWeight: null,
initialWeight: null,
additionalWeight: null,
conditionExpression: null,
calculateExpression: null,
billType: null,
supplierCode: null,
startDate: null,
endDate: null,
blOpen: null,
remark: null,
delFlag: null,
},
};
},
@ -267,7 +288,7 @@ export default {
handleAdd(row) {
this.currentId=null;
this.openForm= true;
this.titleForm = "新增短驳费";
this.titleForm = "新增固定成本";
},
handleShowMoreInput(){
this.moreInputVisible = !this.moreInputVisible;
@ -276,7 +297,7 @@ export default {
handleUpdate(row) {
this.currentId= row.id||this.ids[0];
this.openForm = true;
this.titleForm = "修改短驳费";
this.titleForm = "修改固定成本";
},
handleView(row) {
this.id=row.id;