diff --git a/src/api/business/waybill-manage.js b/src/api/business/waybill-manage.js
index 220dd24..6b1645c 100644
--- a/src/api/business/waybill-manage.js
+++ b/src/api/business/waybill-manage.js
@@ -19,6 +19,12 @@ export const changeRoute = data =>
method: 'post',
data,
});
+export const maintainMileage = data =>
+ request({
+ url: `${baseUrl}/maintain-mileage`,
+ method: 'post',
+ data,
+ });
export const roadLoading = ids =>
request({
url: `${baseUrl}/road-loading`,
diff --git a/src/api/settlement/settlementAdjustment.js b/src/api/settlement/settlementAdjustment.js
index 3316e4f..d809bf6 100644
--- a/src/api/settlement/settlementAdjustment.js
+++ b/src/api/settlement/settlementAdjustment.js
@@ -8,6 +8,8 @@ export const getFormalSettlements = keyword =>
request({ url: `${baseUrl}/candidate-formal-settlements`, method: 'get', params: { keyword } });
export const getFormalDetails = formalSettlementId =>
request({ url: `${baseUrl}/formal-details`, method: 'get', params: { formalSettlementId } });
+export const getFeeOptions = () =>
+ request({ url: `${baseUrl}/fee-options`, method: 'get' });
export const save = data => request({ url: `${baseUrl}/save`, method: 'post', data });
export const remove = id => request({ url: `${baseUrl}/remove`, method: 'post', params: { id } });
export const submit = id => request({ url: `${baseUrl}/submit`, method: 'post', data: { id } });
diff --git a/src/option/settlement/formalSettlementForm.js b/src/option/settlement/formalSettlementForm.js
index 99674a2..4b51186 100644
--- a/src/option/settlement/formalSettlementForm.js
+++ b/src/option/settlement/formalSettlementForm.js
@@ -11,8 +11,8 @@ export const formalSettlementFormFields = [
{ label: '汇率日期', prop: 'exchangeRateDate', type: 'date', required: true },
{ label: '结算汇率', prop: 'exchangeRate', type: 'number', required: true },
{ label: '本位币合计', prop: 'localSettlementAmount', readonly: true, money: true },
- { label: '申请付款金额(含预付)', prop: 'appliedPaymentAmount', readonly: true, money: true },
- { label: '已收/已付合计', prop: 'paidAmount', readonly: true, money: true },
+ { label: '创建人', prop: 'createUserName', readonly: true },
+ { label: '创建时间', prop: 'createTime', readonly: true },
];
export const createFormalSettlementForm = () => ({
@@ -27,6 +27,8 @@ export const createFormalSettlementForm = () => ({
sourceDetailIds: [],
exchangeRateDate: '',
exchangeRate: 1,
+ createUserName: '',
+ createTime: '',
attachmentsJson: '[]',
remark: '',
});
diff --git a/src/option/settlement/formalSettlementSearch.js b/src/option/settlement/formalSettlementSearch.js
index c5766f5..d516fa6 100644
--- a/src/option/settlement/formalSettlementSearch.js
+++ b/src/option/settlement/formalSettlementSearch.js
@@ -7,11 +7,21 @@ export const approvalStatusOptions = [
];
export const invoiceStatusOptions = [
- { label: '未收/开票', value: 'unreceived' },
- { label: '部分收/开票', value: 'partial' },
- { label: '已收/开票', value: 'completed' },
+ { label: '未开/收票', value: 'unreceived' },
+ { label: '部分开/收票', value: 'partial' },
+ { label: '已开/收票', value: 'completed' },
];
+export const invoiceStatusName = (value, settlementType) => {
+ const payable = settlementType === 'payable';
+ const labels = {
+ unreceived: payable ? '未收票' : '未开票',
+ partial: payable ? '部分收票' : '部分开票',
+ completed: payable ? '已收票' : '已开票',
+ };
+ return labels[value] || value || '-';
+};
+
export const paymentStatusOptions = [
{ label: '未收/付款', value: 'unpaid' },
{ label: '部分收/付款', value: 'partial' },
diff --git a/src/option/settlement/settlementAdjustmentForm.js b/src/option/settlement/settlementAdjustmentForm.js
index 30cd4bf..157358b 100644
--- a/src/option/settlement/settlementAdjustmentForm.js
+++ b/src/option/settlement/settlementAdjustmentForm.js
@@ -1,13 +1,15 @@
export const settlementAdjustmentFormFields = [
{ label: '单据号', prop: 'adjustmentNo' },
{ label: '关联结算单号', prop: 'formalSettlementId' },
- { label: '客户/客商名称', prop: 'customerName' },
+ { label: '客户', prop: 'customerName' },
{ label: '结算单类型', prop: 'settlementTypeName' },
{ label: '关联合同名称', prop: 'contractName' },
{ label: '关联项目', prop: 'projectName' },
{ label: '原结算金额', prop: 'originalSettlementAmount', money: true },
{ label: '调整金额', prop: 'adjustmentAmount', money: true },
{ label: '调整后结算金额', prop: 'adjustedSettlementAmount', money: true },
+ { label: '创建日期', prop: 'createTime' },
+ { label: '创建人', prop: 'createUserName' },
];
export const createSettlementAdjustmentForm = () => ({
@@ -24,6 +26,8 @@ export const createSettlementAdjustmentForm = () => ({
adjustmentAmount: 0,
originalSettlementAmount: 0,
adjustedSettlementAmount: 0,
+ createTime: '',
+ createUserName: '',
attachmentsJson: '[]',
remark: '',
});
diff --git a/src/option/settlement/settlementAdjustmentTable.js b/src/option/settlement/settlementAdjustmentTable.js
index d411d5b..aaaa9fc 100644
--- a/src/option/settlement/settlementAdjustmentTable.js
+++ b/src/option/settlement/settlementAdjustmentTable.js
@@ -8,8 +8,6 @@ export const settlementAdjustmentTableColumns = [
{ label: '合同编号', prop: 'contractNo', minWidth: 150 },
{ label: '合同名称', prop: 'contractName', minWidth: 170 },
{ label: '调整金额', prop: 'adjustmentAmount', minWidth: 130, money: true },
- { label: '原结算金额', prop: 'originalSettlementAmount', minWidth: 140, money: true },
- { label: '调整后结算金额', prop: 'adjustedSettlementAmount', minWidth: 160, money: true },
{ label: '审核状态', prop: 'approvalStatusName', minWidth: 110, status: true },
{ label: '当前节点', prop: 'currentNode', minWidth: 120 },
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 130 },
diff --git a/src/views/business/components/business-crud-page.vue b/src/views/business/components/business-crud-page.vue
index a4d84c1..c640079 100644
--- a/src/views/business/components/business-crud-page.vue
+++ b/src/views/business/components/business-crud-page.vue
@@ -2143,6 +2143,9 @@
{{ completeActionLabel }}
+
+ 维护里程
+
+
+
+ 维护里程
+
+
+
+
+ 公里
+
+
+
+
+
+
+
+ 取消
+
+ 提交
+
+
+
+
this.$refs.mileageFormRef?.clearValidate());
+ },
+ handleMaintainMileageInput(value) {
+ this.mileageForm.mileage = String(value || '')
+ .replace(/\D/g, '')
+ .slice(0, 10);
+ },
+ async submitMileageMaintenance() {
+ const valid = await this.$refs.mileageFormRef?.validate().catch(() => false);
+ if (!valid || this.mileageDialog.submitting) return;
+ this.mileageDialog.submitting = true;
+ try {
+ await this.api.maintainMileage({
+ id: this.mileageForm.id,
+ mileage: Number(this.mileageForm.mileage),
+ mileageRemark: String(this.mileageForm.mileageRemark || '').trim(),
+ });
+ this.$message.success('里程维护成功');
+ this.mileageDialog.visible = false;
+ this.onLoad(this.page, this.query);
+ } finally {
+ this.mileageDialog.submitting = false;
+ }
+ },
+ resetMileageDialog() {
+ this.mileageDialog.row = null;
+ this.mileageForm = { id: '', mileage: '', mileageRemark: '' };
+ this.$refs.mileageFormRef?.clearValidate();
+ },
handleAction(action, row) {
const actionName = {
enable: '启用',
@@ -15592,6 +15717,18 @@ export default {
top: 92px !important;
left: 0 !important;
}
+:global(.business-crud-page__mileage-dialog .business-crud-page__mileage-form) {
+ padding: 4px 20px 0;
+}
+
+:global(.business-crud-page__mileage-dialog .business-crud-page__mileage-form .el-form-item) {
+ margin-bottom: 16px;
+}
+
+:global(.business-crud-page__mileage-dialog .business-crud-page__mileage-form .el-input),
+:global(.business-crud-page__mileage-dialog .business-crud-page__mileage-form .el-textarea) {
+ width: 100%;
+}
.el-input__icon {
color: #1e90ff !important;
}
diff --git a/src/views/settlement/components/formal-settlement-editor.vue b/src/views/settlement/components/formal-settlement-editor.vue
index 7491a0e..776ae94 100644
--- a/src/views/settlement/components/formal-settlement-editor.vue
+++ b/src/views/settlement/components/formal-settlement-editor.vue
@@ -60,7 +60,7 @@
v-else-if="field.type === 'number' && editable"
v-model="form[field.prop]"
:min="0.000001"
- :precision="6"
+ :precision="2"
:controls="false"
/>
{{ formatMoney(form[field.prop]) }}
@@ -153,8 +153,7 @@
{{ formatMoney(row[column.prop]) }}
@@ -224,7 +223,10 @@
{{ formatMoney(row[column.prop]) }}
- {{ formatQuantity(row[column.prop]) }}
+ {{ formatDetailTransportQuantity(row[column.prop]) }}
+
+
+ {{ formatDetailMileage(row[column.prop]) }}
{{ transportTypeName(row[column.prop]) }}
@@ -235,11 +237,9 @@
- 调整
+ 调整
删除踢出
@@ -254,7 +254,13 @@
{{ missingAttachmentTypeText }}
-
+
+
+ 批量下载
+
+
+
+
@@ -323,7 +329,7 @@
-