main
lion 4 months ago
parent 35442cbb86
commit 6e1b40193c

@ -39,7 +39,7 @@
<view class="invoice-title">船舶信息</view>
<view class="invoice-row"><text class="invoice-label">船舶</text><text class="invoice-value">苏航666</text></view>
<view class="invoice-row"><text class="invoice-label">编号</text><text class="invoice-value">ZJ12345</text></view>
<view class="invoice-row"><text class="invoice-label">载重</text><text class="invoice-value">500</text></view>
<view class="invoice-row"><text class="invoice-label">载重吨位</text><text class="invoice-value">500</text></view>
<view class="invoice-row"><text class="invoice-label">类型</text><text class="invoice-value">货船</text></view>
<view class="invoice-row"><text class="invoice-label">总长度</text><text class="invoice-value">45</text></view>
<view class="invoice-row"><text class="invoice-label">型宽</text><text class="invoice-value">8</text></view>

@ -39,7 +39,7 @@
<view class="invoice-title">船舶信息</view>
<view class="invoice-row"><text class="invoice-label">船舶</text><text class="invoice-value">苏航666</text></view>
<view class="invoice-row"><text class="invoice-label">编号</text><text class="invoice-value">ZJ12345</text></view>
<view class="invoice-row"><text class="invoice-label">载重</text><text class="invoice-value">500</text></view>
<view class="invoice-row"><text class="invoice-label">载重吨位</text><text class="invoice-value">500</text></view>
<view class="invoice-row"><text class="invoice-label">类型</text><text class="invoice-value">货船</text></view>
<view class="invoice-row"><text class="invoice-label">总长度</text><text class="invoice-value">45</text></view>
<view class="invoice-row"><text class="invoice-label">型宽</text><text class="invoice-value">8</text></view>

@ -5,19 +5,7 @@
</view>
<view class="content-area">
<!-- 单价和计算规则 -->
<view
v-if="unitPrice || calculationDescription"
class="price-info-section"
>
<view v-if="unitPrice" class="price-info-item">
<text class="price-label">计算单价</text>
<text class="price-value">{{ unitPrice }}</text>
</view>
<view v-if="calculationDescription" class="price-info-item">
<text class="price-label">计算规则</text>
<text class="price-desc">{{ calculationDescription }}</text>
</view>
</view>
<!-- 步骤条 -->
<view class="step-bar">
<view class="step-group" v-for="(step, idx) in steps" :key="idx">
@ -110,6 +98,10 @@
/>
<text class="form-unit"></text>
</view>
<view class="form-row" style="align-items: flex-start;">
<text class="form-label">单次过闸收费</text>
<text class="form-unit" style="flex:1;text-align:right;">{{ totalPriceText() }}</text>
</view>
<!-- 总长度 -->
<view class="form-row">
<text class="form-label required">总长度</text>
@ -506,6 +498,14 @@ export default {
this.calculationDescription = data.calculation_description || "";
}
},
//
totalPriceText() {
const unit = Number(this.unitPrice);
const ton = Number(this.form?.ton);
if (isNaN(unit) || isNaN(ton)) return "-";
const total = (unit * ton).toFixed(2);
return `${total}元(单价${unit} * 载重${ton}吨)`;
},
async fetchShipInspectionExample() {
const token = uni.getStorageSync("token");
if (!token) {

@ -4,17 +4,6 @@
<NavBar title="船舶详情" />
</view>
<view class="content-area">
<!-- 单价和计算规则 -->
<view v-if="unitPrice || calculationDescription" class="price-info-section">
<view v-if="unitPrice" class="price-info-item">
<text class="price-label">计算单价</text>
<text class="price-value">{{ unitPrice }}</text>
</view>
<view v-if="calculationDescription" class="price-info-item">
<text class="price-label">计算规则</text>
<text class="price-desc">{{ calculationDescription }}</text>
</view>
</view>
<view v-if="ship" class="ship-section">
<view class="section-title">基本信息</view>
<view class="section-row"><text>船舶所有人</text><text>{{ ship.owner_name }}</text></view>
@ -25,6 +14,7 @@
<view v-if="ship" class="ship-section">
<view class="section-title">船舶参数</view>
<view class="section-row"><text>载重吨位</text><text>{{ ship.total_tonnage }}</text></view>
<view class="section-row"><text>单次过闸收费</text><text>{{ totalPriceText() }}</text></view>
<view class="section-row"><text>总长度</text><text>{{ ship.total_length }}</text></view>
<view class="section-row"><text>总宽</text><text>{{ ship.total_width }}</text></view>
<view class="section-row"><text>型深</text><text>{{ ship.molded_depth }}</text></view>
@ -123,6 +113,14 @@ export default {
this.calculationDescription = data.calculation_description || '';
}
},
//
totalPriceText() {
const unit = Number(this.unitPrice);
const ton = Number(this.ship?.total_tonnage);
if (isNaN(unit) || isNaN(ton)) return '-';
const total = (unit * ton).toFixed(2);
return `${total}元(单价${unit} * 载重${ton}吨)`;
},
getShipTypeName(type) {
if (!Array.isArray(this.shipTypeEnum)) return type;
const found = this.shipTypeEnum.find(item => item.value === type?.toString());

@ -22,7 +22,7 @@
<view class="pay-row"><text>总长度</text><text>{{ item.ship.total_length }}</text></view>
<view class="pay-row"><text>型宽</text><text>{{ item.ship.total_width }}</text></view>
<view class="pay-row"><text>型深</text><text>{{ item.ship.molded_depth }}</text></view>
<view class="pay-row"><text>载重</text><text>{{ item.ship.total_tonnage }}</text></view>
<view class="pay-row"><text>载重吨位</text><text>{{ item.ship.total_tonnage }}</text></view>
<view class="pay-row"><text>类型</text><text>{{ item.ship && item.ship.ship_type ? getShipTypeName(item.ship.ship_type) : '' }}</text></view>
</view>
<!-- 票价信息 -->

@ -63,8 +63,12 @@
><text>型深</text><text>{{ item.ship.molded_depth }}</text></view
>
<view class="pay-row"
><text>载重</text><text>{{ item.ship.total_tonnage }}</text></view
><text>载重吨位</text><text>{{ item.ship.total_tonnage }}</text></view
>
<view class="pay-row">
<text>单次过闸收费</text>
<text>{{ totalPriceText() }}</text>
</view>
<view class="pay-row"
><text>类型</text
><text>{{
@ -168,8 +172,7 @@ export default {
shipTypeEnum: [],
reservationStatusEnum: [],
qrContent: "",
unitPrice: '', //
calculationDescription: '', //
unitPrice: "", //
};
},
onLoad(options) {
@ -199,26 +202,33 @@ export default {
},
methods: {
formatChinaDate: base.formatChinaDate,
//
//
async fetchUnitPrice() {
const token = uni.getStorageSync('token')
const token = uni.getStorageSync("token");
if (!token) {
return
return;
}
const res = await new Promise((resolve, reject) => {
uni.request({
url: `${API.GET_UNIT_PRICE}?token=${token}`,
method: 'get',
method: "get",
success: resolve,
fail: reject
})
})
fail: reject,
});
});
if (res.data && res.data.errcode === 0) {
const data = res.data.data;
this.unitPrice = data.unit_price || '';
this.calculationDescription = data.calculation_description || '';
this.unitPrice = data.unit_price || "";
}
},
//
totalPriceText() {
const unit = Number(this.unitPrice);
const ton = Number(this.item?.ship?.total_tonnage);
if (isNaN(unit) || isNaN(ton)) return "-";
const total = (unit * ton).toFixed(2);
return `${total}元(单价${unit} * 载重${ton}吨)`;
},
async fetchQrcode(id) {
const token = uni.getStorageSync("token");
if (!token || !id) return;

@ -4,17 +4,6 @@
<NavBar title="过闸预约" />
</view>
<view class="reservation-scroll">
<!-- 单价和计算规则 -->
<view v-if="unitPrice || calculationDescription" class="price-info-section">
<view v-if="unitPrice" class="price-info-item">
<text class="price-label">计算单价</text>
<text class="price-value">{{ unitPrice }}</text>
</view>
<view v-if="calculationDescription" class="price-info-item">
<text class="price-label">计算规则</text>
<text class="price-desc">{{ calculationDescription }}</text>
</view>
</view>
<!-- 船舶信息卡片2详细信息 -->
<view class="card">
<view class="card-title">船舶信息</view>
@ -37,9 +26,13 @@
</view>
<view class="info-row">
<text class="info-label">载重</text>
<text class="info-label">载重吨位</text>
<view class="info-value">{{ currentShip.total_tonnage }} <text class="arrow"></text></view>
</view>
<view class="info-row" style="align-items: flex-start;">
<text class="info-label">单次过闸收费</text>
<view class="info-value" style="width:50%;text-align: right;">{{ totalPriceText() }}</view>
</view>
<view class="info-row">
<text class="info-label">类型</text>
<view class="info-value">{{ getShipTypeName(currentShip.ship_type) }} <text class="arrow"></text></view>
@ -193,6 +186,16 @@ export default {
this.calculationDescription = data.calculation_description || '';
}
},
//
totalPriceText() {
const unit = Number(this.unitPrice);
const ton = Number(this.currentShip?.total_tonnage);
if (isNaN(unit) || isNaN(ton)) {
return '-';
}
const total = (unit * ton).toFixed(2);
return `${total}元(单价${unit} * 载重${ton}吨)`;
},
//
getUserLocation() {
// #ifdef H5

Loading…
Cancel
Save