feat(crm): 更新订单财务状态同步功能并优化权限控制

- 在ReceiveTable.vue中添加订单未付金额同步功能
- 优化report/index.vue的日期参数命名和表格显示列
- 为order/index.vue添加权限控制指令
This commit is contained in:
砂糖
2025-12-29 13:10:47 +08:00
parent 911dcb9684
commit 539ab031cb
3 changed files with 17 additions and 15 deletions

View File

@@ -160,6 +160,7 @@
<script> <script>
import { listReceivable, getReceivable, delReceivable, addReceivable, updateReceivable, updatePaidAmount } from "@/api/finance/receivable"; import { listReceivable, getReceivable, delReceivable, addReceivable, updateReceivable, updatePaidAmount } from "@/api/finance/receivable";
import { updateOrder } from "@/api/crm/order";
// import CustomerSelect from '@/components/KLPService/CustomerSelect/index.vue'; // import CustomerSelect from '@/components/KLPService/CustomerSelect/index.vue';
export default { export default {
@@ -249,9 +250,6 @@ export default {
receiveOpen: false receiveOpen: false
}; };
}, },
created() {
this.getList();
},
methods: { methods: {
/** 查询应收款管理(宽松版)列表 */ /** 查询应收款管理(宽松版)列表 */
getList() { getList() {
@@ -260,6 +258,10 @@ export default {
this.receivableList = response.rows; this.receivableList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
updateOrder({
orderId: this.orderId,
unpaidAmount: this.unreceivedAmount,
})
}); });
}, },
// 取消按钮 // 取消按钮

View File

@@ -8,7 +8,7 @@
<el-input style="flex: 1;" prefix-icon="el-icon-search" placeholder="输入订单编号搜索" <el-input style="flex: 1;" prefix-icon="el-icon-search" placeholder="输入订单编号搜索"
v-model="queryParams.orderCode"></el-input> v-model="queryParams.orderCode"></el-input>
<el-button icon="el-icon-search" @click="toggleQuery"></el-button> <el-button icon="el-icon-search" @click="toggleQuery"></el-button>
<el-button type="primary" icon="el-icon-plus" style="margin-left: 0;" @click="handleAdd"></el-button> <el-button type="primary" icon="el-icon-plus" style="margin-left: 0;" @click="handleAdd" v-hasPermi="['crm:order:add']"></el-button>
</div> </div>
<div v-show="showQuery" <div v-show="showQuery"
style="display: flex; align-items: center; gap: 5px; margin-top: 10px; flex-wrap: wrap;"> style="display: flex; align-items: center; gap: 5px; margin-top: 10px; flex-wrap: wrap;">
@@ -32,7 +32,7 @@
<KLPList :listData="orderList" listKey="orderId" :loading="orderLoading" field1="orderCode" field4="salesman" <KLPList :listData="orderList" listKey="orderId" :loading="orderLoading" field1="orderCode" field4="salesman"
@item-click="handleOrderClick"> @item-click="handleOrderClick">
<template slot="actions" slot-scope="{ item }"> <template slot="actions" slot-scope="{ item }">
<el-button type="danger" size="mini" @click="handleDelete(item)" icon="el-icon-delete"></el-button> <el-button type="danger" size="mini" @click="handleDelete(item)" icon="el-icon-delete" v-hasPermi="['crm:order:add']"></el-button>
</template> </template>
</KLPList> </KLPList>
</div> </div>
@@ -55,26 +55,26 @@
<OrderDetail :orderId="currentOrder.orderId" :editable="false" /> <OrderDetail :orderId="currentOrder.orderId" :editable="false" />
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="订单编辑" name="edit"> <el-tab-pane label="订单编辑" name="edit" v-hasPermi="['crm:order:edit']">
<div class="order-detail" v-if="activeTab === 'edit'"> <div class="order-detail" v-if="activeTab === 'edit'">
<OrderEdit :initValue="currentOrder" :customerList="customerList" @save="handleOrderSave" /> <OrderEdit :initValue="currentOrder" :customerList="customerList" @save="handleOrderSave" />
<el-descriptions title="订单明细" /> <el-descriptions title="订单明细" />
<OrderDetail :orderId="currentOrder.orderId" /> <OrderDetail :orderId="currentOrder.orderId" />
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="财务状态" name="finance"> <el-tab-pane label="财务状态" name="finance" v-hasPermi="['crm:order:finance']">
<div class="order-finance" v-if="activeTab === 'finance'"> <div class="order-finance" v-if="activeTab === 'finance'">
<!-- 财务状态内容 --> <!-- 财务状态内容 -->
<ReceiveTable :order="currentOrder" /> <ReceiveTable :order="currentOrder" />
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="订单异议" name="dispute"> <el-tab-pane label="订单异议" name="dispute" v-hasPermi="['crm:order:objection']">
<div class="order-dispute" v-if="activeTab === 'dispute'"> <div class="order-dispute" v-if="activeTab === 'dispute'">
<!-- 订单异议内容 --> <!-- 订单异议内容 -->
<OrderObjection :order="currentOrder" /> <OrderObjection :order="currentOrder" />
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="操作记录" name="record"> <el-tab-pane label="操作记录" name="record" v-hasPermi="['crm:order:record']">
<div class="order-record" v-if="activeTab === 'record'"> <div class="order-record" v-if="activeTab === 'record'">
<!-- 操作记录内容 --> <!-- 操作记录内容 -->
<OrderRecord :orderId="currentOrder.orderId" /> <OrderRecord :orderId="currentOrder.orderId" />

View File

@@ -110,8 +110,8 @@
<el-table-column prop="customerCode" label="客户编码" min-width="100"></el-table-column> <el-table-column prop="customerCode" label="客户编码" min-width="100"></el-table-column>
<el-table-column prop="companyName" label="公司名称" min-width="150"></el-table-column> <el-table-column prop="companyName" label="公司名称" min-width="150"></el-table-column>
<el-table-column prop="contactPerson" label="联系人" min-width="80"></el-table-column> <el-table-column prop="contactPerson" label="联系人" min-width="80"></el-table-column>
<el-table-column prop="customerLevel" label="客户等级" min-width="100"></el-table-column> <!-- <el-table-column prop="customerLevel" label="客户等级" min-width="100"></el-table-column> -->
<el-table-column prop="industry" label="所属行业"></el-table-column> <!-- <el-table-column prop="industry" label="所属行业"></el-table-column> -->
<el-table-column prop="orderAmount" label="订单金额"> <el-table-column prop="orderAmount" label="订单金额">
<template #default="scope"> <template #default="scope">
{{ formatAmount(scope.row.orderAmount) }} {{ formatAmount(scope.row.orderAmount) }}
@@ -141,11 +141,11 @@
{{ formatAmount(scope.row.unpaidAmount) }} {{ formatAmount(scope.row.unpaidAmount) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createTime" label="创建时间"> <!-- <el-table-column prop="createTime" label="创建时间">
<template #default="scope"> <template #default="scope">
{{ scope.row.createTime ? formatDateTime(scope.row.createTime) : '-' }} {{ scope.row.createTime ? formatDateTime(scope.row.createTime) : '-' }}
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column prop="itemCount" label="明细数量"></el-table-column> <el-table-column prop="itemCount" label="明细数量"></el-table-column>
<el-table-column prop="objectionCount" label="异议数量"></el-table-column> <el-table-column prop="objectionCount" label="异议数量"></el-table-column>
</el-table> </el-table>
@@ -296,8 +296,8 @@ export default {
const params = {}; const params = {};
// 处理时间范围参数 // 处理时间范围参数
if (this.dateQuery.dateRange && this.dateQuery.dateRange.length === 2) { if (this.dateQuery.dateRange && this.dateQuery.dateRange.length === 2) {
params.beginDate = this.dateQuery.dateRange[0]; params.startTime = this.dateQuery.dateRange[0];
params.endDate = this.dateQuery.dateRange[1]; params.endTime = this.dateQuery.dateRange[1];
} }
// 是否需要分页参数 // 是否需要分页参数
if (needPage) { if (needPage) {