feat(approve):优化审批页面结构和数据获取逻辑

- 调整附件信息和流转过程标签页的位置
- 将审批页脚信息移入布局组件内
- 合并导入语句并调整API调用路径
- 更新订单详情弹窗标题生成逻辑
- 添加合同备份文件数据字段
-修复订单标题显示问题
master
chenhao 2025-11-20 16:41:03 +08:00
parent 6633a09861
commit 7a07fae8f9
4 changed files with 81 additions and 70 deletions

View File

@ -18,3 +18,10 @@ export function approveOrder(data) {
headers: { 'Content-Type': 'multipart/form-data' }
})
}
// 查询订单管理详细信息
export function getOrder(id) {
return request({
url: '/project/order/h5/approve/' + id,
method: 'get'
})
}

View File

@ -12,7 +12,7 @@ export function listOrder(query) {
// 查询订单管理详细信息
export function getOrder(id) {
return request({
url: '/project/order/h5/approve/' + id,
url: '/project/order/vue/' + id,
method: 'get'
})
}

View File

@ -24,7 +24,11 @@
@tax-rate-change="handleTaxRateChange"
class="mb20"
/>
</template>
<template #footer>
<p>{{ order.projectCode }}-{{ order.orderCode }}-Rev.{{ order.versionCode }}</p>
</template>
</ApproveLayout>
<!-- Tab页附件信息和流转过程 -->
<el-tabs v-model="activeTab" class="approve-tabs">
<el-tab-pane v-if="order.processTemplate !== '1'" label="附件信息" name="attachment">
@ -88,12 +92,6 @@
</div>
</el-tab-pane>
</el-tabs>
</template>
<template #footer>
<p>{{ order.projectCode }}-{{ order.orderCode }}-Rev.{{ order.versionCode }}</p>
</template>
</ApproveLayout>
<!-- 审批意见弹窗 -->
<el-dialog
:title="dialogTitle"
@ -123,8 +121,7 @@
</template>
<script>
import { getOrder } from "@/api/project/order";
import { approveOrder } from "@/api/approve/order";
import { approveOrder,getOrder } from "@/api/approve/order";
import ConfigInfo from './ConfigInfo.vue';
import ApproveLayout from '@/views/approve/ApproveLayout.vue';

View File

@ -1,7 +1,7 @@
<template>
<div>
<!-- 添加或修改订单管理对话框 -->
<el-dialog :title="title" :visible.sync="internalVisible" width="1400px" append-to-body @close="handleClose">
<el-dialog :title="dialogTitle" :visible.sync="internalVisible" width="1400px" append-to-body @close="handleClose">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="isOrderApprovedOrInReview">
<el-tabs v-model="activeTab">
<el-tab-pane label="基础信息" name="basic">
@ -205,6 +205,7 @@ export default {
//
form: {},
approveLogList: [],
orderBakFile: {}, //
activeVersionTab: null,
activeContractVersionTab: null, // Tab
showFileFlag: false, //
@ -251,6 +252,14 @@ export default {
};
},
computed: {
dialogTitle() {
// If form has data, generate title from form data
if (this.form.projectName && this.form.versionCode) {
return this.form.projectName + "Rev." + this.form.versionCode;
}
// Otherwise use the prop value
return this.title;
},
isEdit() {
return this.orderId != null;
},
@ -345,7 +354,6 @@ export default {
if (this.isEdit) {
getOrder(this.orderId).then(response => {
this.form = {...response.data.projectOrderInfo};
this.title = this.form.projectName + "Rev." + this.form.versionCode;
this.isProjectSelected = true;
if (!this.form.versionCode) this.form.versionCode = 1;
this.approveLogList = response.data.approveLog;
@ -432,7 +440,6 @@ export default {
if (this.isEdit) {
this.form.id = response.data.id;
this.isEdit = true;
this.title = "修改订单";
this.activeTab = 'contract';
this.$emit('success');
} else {