feat(crm/order): 添加合同号字段并创建订单绑定功能

- 在订单编辑、详情和表格中添加合同号字段
- 创建新的OrderTable组件用于订单选择
- 添加发货单与订单的绑定功能
- 在运单详情中显示合同号信息
- 调整表格列宽和字体大小
This commit is contained in:
砂糖
2026-02-03 13:53:10 +08:00
parent 81d278a16e
commit d847436357
6 changed files with 267 additions and 23 deletions

View File

@@ -48,6 +48,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同号" prop="contractCode">
<el-input v-model="form.contractCode" placeholder="请输入合同号"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" type="textarea" :rows="4" />

View File

@@ -0,0 +1,64 @@
<template>
<div>
<el-table v-loading="loading" :data="orderList" height="400px" highlight-current-row @row-click="handleRowClick">
<el-table-column label="订单编号" align="center" prop="orderCode" />
<el-table-column label="客户" align="center" prop="companyName" />
<el-table-column label="总金额" align="center" prop="orderAmount" />
<el-table-column label="销售员" align="center" prop="salesman" />
<el-table-column label="合同号" align="center" prop="contractCode" />
<el-table-column label="交货日期" align="center" prop="deliveryDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.deliveryDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="orderType">
<template slot-scope="scope">
<span v-if="scope.row.orderType === 0" class="text-primary">未审核</span>
<span v-else-if="scope.row.orderType === 1">已审核</span>
<span v-else>未知状态</span>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
</div>
</template>
<script>
import { listOrder } from "@/api/crm/order";
export default {
name: 'OrderTable',
data() {
return {
orderList: [],
total: 0,
queryParams: {
pageNum: 1,
pageSize: 10,
orderNo: '',
customerName: '',
},
loading: false,
}
},
mounted() {
this.getList();
},
methods: {
getList() {
this.loading = true
listOrder(this.queryParams).then(res => {
this.orderList = res.rows
this.total = res.total
this.loading = false
})
},
handleRowClick(row) {
this.$emit('row-click', row)
}
}
}
</script>