feat(erp): 补充合同信息字段并完善采购计划关联显示
- 在ErpContractOptionVo中添加crm_order全量字段包括订单类型、交货日期、订单状态等 - 添加@JsonFormat注解支持日期格式化 - 新增selectContractsByOrderCodes方法支持按合同编号批量查询 - 更新SQL映射文件中的selectContractPage和新增selectContractsByOrderCodes查询 - 在采购计划服务实现中查询时刷新进度并关联合同详情 - 在前端界面中新增关联合同标签页显示合同详细信息表格 - 重构采购到货界面将采购要求和到货明细合并显示 - 添加合同状态文本转换方法和相关样式定义
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
package com.klp.erp.domain.vo;
|
package com.klp.erp.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购计划左侧「合同列表」视图对象:crm_order + 该合同已有的采购计划数。
|
* 采购计划左侧「合同列表」视图对象:crm_order + 该合同已有的采购计划数。
|
||||||
@@ -42,4 +44,101 @@ public class ErpContractOptionVo implements Serializable {
|
|||||||
|
|
||||||
/** 该合同已挂接的采购计划数 */
|
/** 该合同已挂接的采购计划数 */
|
||||||
private Integer planCount;
|
private Integer planCount;
|
||||||
|
|
||||||
|
// ====== 以下为 crm_order 全量补充字段 ======
|
||||||
|
|
||||||
|
/** 订单类型:pre-预订单,formal-正式订单 */
|
||||||
|
private Long orderType;
|
||||||
|
|
||||||
|
/** 交货日期 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date deliveryDate;
|
||||||
|
|
||||||
|
/** 订单状态 */
|
||||||
|
private Long orderStatus;
|
||||||
|
|
||||||
|
/** 财务状态 */
|
||||||
|
private Long financeStatus;
|
||||||
|
|
||||||
|
/** 未结款数额 */
|
||||||
|
private BigDecimal unpaidAmount;
|
||||||
|
|
||||||
|
/** 签订时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date signTime;
|
||||||
|
|
||||||
|
/** 签订地点 */
|
||||||
|
private String signLocation;
|
||||||
|
|
||||||
|
/** 产品内容 */
|
||||||
|
private String productContent;
|
||||||
|
|
||||||
|
/** 合同内容 */
|
||||||
|
private String contractContent;
|
||||||
|
|
||||||
|
/** 供方地址 */
|
||||||
|
private String supplierAddress;
|
||||||
|
|
||||||
|
/** 供方电话 */
|
||||||
|
private String supplierPhone;
|
||||||
|
|
||||||
|
/** 供方开户行 */
|
||||||
|
private String supplierBank;
|
||||||
|
|
||||||
|
/** 供方账号 */
|
||||||
|
private String supplierAccount;
|
||||||
|
|
||||||
|
/** 供方税号 */
|
||||||
|
private String supplierTaxNo;
|
||||||
|
|
||||||
|
/** 需方地址 */
|
||||||
|
private String customerAddress;
|
||||||
|
|
||||||
|
/** 需方电话 */
|
||||||
|
private String customerPhone;
|
||||||
|
|
||||||
|
/** 需方开户行 */
|
||||||
|
private String customerBank;
|
||||||
|
|
||||||
|
/** 需方账号 */
|
||||||
|
private String customerAccount;
|
||||||
|
|
||||||
|
/** 需方税号 */
|
||||||
|
private String customerTaxNo;
|
||||||
|
|
||||||
|
/** 技术附件 */
|
||||||
|
private String techAnnex;
|
||||||
|
|
||||||
|
/** 商务附件 */
|
||||||
|
private String businessAnnex;
|
||||||
|
|
||||||
|
/** 排产函 */
|
||||||
|
private String productionSchedule;
|
||||||
|
|
||||||
|
/** 算单价备注 */
|
||||||
|
private String unitPriceRemark;
|
||||||
|
|
||||||
|
/** 应付定金(万元) */
|
||||||
|
private BigDecimal depositPayable;
|
||||||
|
|
||||||
|
/** 已付定金(万元) */
|
||||||
|
private BigDecimal depositPaid;
|
||||||
|
|
||||||
|
/** 定金比例(%) */
|
||||||
|
private BigDecimal depositRatio;
|
||||||
|
|
||||||
|
/** 合同状态 0=草稿 1=生效 2=作废 3=已完成 */
|
||||||
|
private Long status;
|
||||||
|
|
||||||
|
/** 关联合同ID */
|
||||||
|
private Long contractId;
|
||||||
|
|
||||||
|
/** 附件 */
|
||||||
|
private String annexFiles;
|
||||||
|
|
||||||
|
/** 备注 */
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/** 是否置顶 */
|
||||||
|
private Integer isTop;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,6 +86,9 @@ public class ErpPurchasePlanVo implements Serializable {
|
|||||||
/** 关联销售合同编号(展示用) */
|
/** 关联销售合同编号(展示用) */
|
||||||
private List<String> contractCodes;
|
private List<String> contractCodes;
|
||||||
|
|
||||||
|
/** 关联销售合同信息(来自 crm_order,含客户、金额、销售员等) */
|
||||||
|
private List<ErpContractOptionVo> contractInfos;
|
||||||
|
|
||||||
/** 审核历史(每次审核/驳回留痕) */
|
/** 审核历史(每次审核/驳回留痕) */
|
||||||
private List<ErpPurchasePlanAuditLogVo> auditLogs;
|
private List<ErpPurchasePlanAuditLogVo> auditLogs;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,4 +61,9 @@ public interface ErpPurchasePlanMapper extends BaseMapperPlus<ErpPurchasePlanMap
|
|||||||
* 厂商历史记忆:已保存过的厂商去重(可按关键字过滤),用于手填自动补全。
|
* 厂商历史记忆:已保存过的厂商去重(可按关键字过滤),用于手填自动补全。
|
||||||
*/
|
*/
|
||||||
List<String> selectDistinctManufacturers(@Param("kw") String kw);
|
List<String> selectDistinctManufacturers(@Param("kw") String kw);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据合同编号(order_code)批量查询 crm_order 合同信息。
|
||||||
|
*/
|
||||||
|
List<ErpContractOptionVo> selectContractsByOrderCodes(@Param("codes") List<String> codes);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,6 +73,8 @@ public class ErpPurchasePlanServiceImpl implements IErpPurchasePlanService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ErpPurchasePlanVo queryById(Long planId) {
|
public ErpPurchasePlanVo queryById(Long planId) {
|
||||||
|
// 刷新到货进度(含在途统计),确保每次查看都是最新数据
|
||||||
|
refreshProgress(planId);
|
||||||
ErpPurchasePlanVo vo = baseMapper.selectVoById(planId);
|
ErpPurchasePlanVo vo = baseMapper.selectVoById(planId);
|
||||||
if (vo == null) {
|
if (vo == null) {
|
||||||
return null;
|
return null;
|
||||||
@@ -88,6 +90,10 @@ public class ErpPurchasePlanServiceImpl implements IErpPurchasePlanService {
|
|||||||
if (!orderIds.isEmpty()) {
|
if (!orderIds.isEmpty()) {
|
||||||
vo.setContractCodes(baseMapper.selectOrderCodes(orderIds));
|
vo.setContractCodes(baseMapper.selectOrderCodes(orderIds));
|
||||||
}
|
}
|
||||||
|
// 关联合同详情(从 crm_order 按 contractCodes 批量查)
|
||||||
|
if (vo.getContractCodes() != null && !vo.getContractCodes().isEmpty()) {
|
||||||
|
vo.setContractInfos(baseMapper.selectContractsByOrderCodes(vo.getContractCodes()));
|
||||||
|
}
|
||||||
fillProgress(vo);
|
fillProgress(vo);
|
||||||
// 审核历史(含每次驳回理由)
|
// 审核历史(含每次驳回理由)
|
||||||
vo.setAuditLogs(queryAuditLogs(planId));
|
vo.setAuditLogs(queryAuditLogs(planId));
|
||||||
@@ -484,6 +490,9 @@ public class ErpPurchasePlanServiceImpl implements IErpPurchasePlanService {
|
|||||||
if (!orderIds.isEmpty()) {
|
if (!orderIds.isEmpty()) {
|
||||||
v.setContractCodes(baseMapper.selectOrderCodes(orderIds));
|
v.setContractCodes(baseMapper.selectOrderCodes(orderIds));
|
||||||
}
|
}
|
||||||
|
if (v.getContractCodes() != null && !v.getContractCodes().isEmpty()) {
|
||||||
|
v.setContractInfos(baseMapper.selectContractsByOrderCodes(v.getContractCodes()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,17 +32,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
ORDER BY order_id, item_id
|
ORDER BY order_id, item_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 合同列表 + 该合同已挂接的采购计划数 -->
|
<!-- 合同列表 + 该合同已挂接的采购计划数(全字段) -->
|
||||||
<select id="selectContractPage" resultType="com.klp.erp.domain.vo.ErpContractOptionVo">
|
<select id="selectContractPage" resultType="com.klp.erp.domain.vo.ErpContractOptionVo">
|
||||||
SELECT
|
SELECT
|
||||||
o.order_id AS orderId,
|
o.order_id AS orderId,
|
||||||
o.order_code AS orderCode,
|
o.order_code AS orderCode,
|
||||||
o.contract_code AS contractCode,
|
o.contract_code AS contractCode,
|
||||||
o.contract_name AS contractName,
|
o.contract_name AS contractName,
|
||||||
o.customer AS customer,
|
o.customer AS customer,
|
||||||
o.supplier AS supplier,
|
o.supplier AS supplier,
|
||||||
o.order_amount AS orderAmount,
|
o.order_amount AS orderAmount,
|
||||||
o.salesman AS salesman,
|
o.salesman AS salesman,
|
||||||
|
o.order_type AS orderType,
|
||||||
|
o.delivery_date AS deliveryDate,
|
||||||
|
o.order_status AS orderStatus,
|
||||||
|
o.finance_status AS financeStatus,
|
||||||
|
o.unpaid_amount AS unpaidAmount,
|
||||||
|
o.sign_time AS signTime,
|
||||||
|
o.sign_location AS signLocation,
|
||||||
|
o.product_content AS productContent,
|
||||||
|
o.contract_content AS contractContent,
|
||||||
|
o.supplier_address AS supplierAddress,
|
||||||
|
o.supplier_phone AS supplierPhone,
|
||||||
|
o.supplier_bank AS supplierBank,
|
||||||
|
o.supplier_account AS supplierAccount,
|
||||||
|
o.supplier_tax_no AS supplierTaxNo,
|
||||||
|
o.customer_address AS customerAddress,
|
||||||
|
o.customer_phone AS customerPhone,
|
||||||
|
o.customer_bank AS customerBank,
|
||||||
|
o.customer_account AS customerAccount,
|
||||||
|
o.customer_tax_no AS customerTaxNo,
|
||||||
|
o.tech_annex AS techAnnex,
|
||||||
|
o.business_annex AS businessAnnex,
|
||||||
|
o.production_schedule AS productionSchedule,
|
||||||
|
o.unit_price_remark AS unitPriceRemark,
|
||||||
|
o.deposit_payable AS depositPayable,
|
||||||
|
o.deposit_paid AS depositPaid,
|
||||||
|
o.deposit_ratio AS depositRatio,
|
||||||
|
o.status AS status,
|
||||||
|
o.contract_id AS contractId,
|
||||||
|
o.annex_files AS annexFiles,
|
||||||
|
o.remark AS remark,
|
||||||
|
o.is_top AS isTop,
|
||||||
(SELECT COUNT(*) FROM erp_purchase_plan_contract_rel r
|
(SELECT COUNT(*) FROM erp_purchase_plan_contract_rel r
|
||||||
JOIN erp_purchase_plan p ON p.plan_id = r.plan_id AND p.del_flag = '0'
|
JOIN erp_purchase_plan p ON p.plan_id = r.plan_id AND p.del_flag = '0'
|
||||||
WHERE r.del_flag = '0' AND r.order_id = o.order_id) AS planCount
|
WHERE r.del_flag = '0' AND r.order_id = o.order_id) AS planCount
|
||||||
@@ -88,6 +119,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 根据合同编号(order_code)批量查询合同信息(全字段) -->
|
||||||
|
<select id="selectContractsByOrderCodes" resultType="com.klp.erp.domain.vo.ErpContractOptionVo">
|
||||||
|
SELECT
|
||||||
|
order_id AS orderId,
|
||||||
|
order_code AS orderCode,
|
||||||
|
contract_code AS contractCode,
|
||||||
|
contract_name AS contractName,
|
||||||
|
customer AS customer,
|
||||||
|
supplier AS supplier,
|
||||||
|
order_amount AS orderAmount,
|
||||||
|
salesman AS salesman,
|
||||||
|
order_type AS orderType,
|
||||||
|
delivery_date AS deliveryDate,
|
||||||
|
order_status AS orderStatus,
|
||||||
|
finance_status AS financeStatus,
|
||||||
|
unpaid_amount AS unpaidAmount,
|
||||||
|
sign_time AS signTime,
|
||||||
|
sign_location AS signLocation,
|
||||||
|
product_content AS productContent,
|
||||||
|
contract_content AS contractContent,
|
||||||
|
supplier_address AS supplierAddress,
|
||||||
|
supplier_phone AS supplierPhone,
|
||||||
|
supplier_bank AS supplierBank,
|
||||||
|
supplier_account AS supplierAccount,
|
||||||
|
supplier_tax_no AS supplierTaxNo,
|
||||||
|
customer_address AS customerAddress,
|
||||||
|
customer_phone AS customerPhone,
|
||||||
|
customer_bank AS customerBank,
|
||||||
|
customer_account AS customerAccount,
|
||||||
|
customer_tax_no AS customerTaxNo,
|
||||||
|
tech_annex AS techAnnex,
|
||||||
|
business_annex AS businessAnnex,
|
||||||
|
production_schedule AS productionSchedule,
|
||||||
|
unit_price_remark AS unitPriceRemark,
|
||||||
|
deposit_payable AS depositPayable,
|
||||||
|
deposit_paid AS depositPaid,
|
||||||
|
deposit_ratio AS depositRatio,
|
||||||
|
status AS status,
|
||||||
|
contract_id AS contractId,
|
||||||
|
annex_files AS annexFiles,
|
||||||
|
remark AS remark,
|
||||||
|
is_top AS isTop
|
||||||
|
FROM crm_order
|
||||||
|
WHERE del_flag = 0
|
||||||
|
AND order_code IN
|
||||||
|
<foreach collection="codes" item="code" open="(" separator="," close=")">
|
||||||
|
#{code}
|
||||||
|
</foreach>
|
||||||
|
ORDER BY order_id DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 厂商历史记忆(去重,可按关键字过滤) -->
|
<!-- 厂商历史记忆(去重,可按关键字过滤) -->
|
||||||
<select id="selectDistinctManufacturers" resultType="java.lang.String">
|
<select id="selectDistinctManufacturers" resultType="java.lang.String">
|
||||||
SELECT manufacturer FROM (
|
SELECT manufacturer FROM (
|
||||||
|
|||||||
@@ -90,19 +90,19 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-tabs v-model="activeTab" class="pd-tabs">
|
<el-tabs v-model="activeTab" class="pd-tabs">
|
||||||
<el-tab-pane label="采购要求" name="items">
|
<el-tab-pane label="采购与到货" name="all">
|
||||||
<el-table :data="current.items" border size="mini" max-height="420">
|
<div class="pd-sec-title">采购要求</div>
|
||||||
|
<el-table :data="current.items" border size="mini" max-height="300">
|
||||||
<el-table-column label="#" type="index" width="44" align="center" />
|
<el-table-column label="#" type="index" width="44" align="center" />
|
||||||
<el-table-column label="规格" prop="spec" min-width="200" show-overflow-tooltip />
|
<el-table-column label="规格" prop="spec" min-width="200" show-overflow-tooltip />
|
||||||
<el-table-column label="总重量(T)" prop="weight" min-width="110" align="right" />
|
<el-table-column label="总重量(T)" prop="weight" min-width="110" align="right" />
|
||||||
<el-table-column label="厂商" prop="manufacturer" min-width="180" show-overflow-tooltip />
|
<el-table-column label="厂商" prop="manufacturer" min-width="180" show-overflow-tooltip />
|
||||||
<template slot="empty"><span>无采购要求</span></template>
|
<template slot="empty"><span>无采购要求</span></template>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
|
||||||
|
|
||||||
<el-tab-pane :label="'到货明细(' + deliveryList.length + ')'" name="delivery">
|
<div class="pd-sec-title" style="margin-top:16px">到货明细({{ deliveryList.length }})</div>
|
||||||
<el-table
|
<el-table
|
||||||
:data="deliveryList" border stripe size="mini" max-height="420"
|
:data="deliveryList" border stripe size="mini" max-height="300"
|
||||||
v-loading="deliveryLoading" :row-class-name="rowClass"
|
v-loading="deliveryLoading" :row-class-name="rowClass"
|
||||||
>
|
>
|
||||||
<el-table-column label="日期" prop="arrivalDate" width="100" align="center" />
|
<el-table-column label="日期" prop="arrivalDate" width="100" align="center" />
|
||||||
@@ -121,6 +121,32 @@
|
|||||||
<template slot="empty"><span>暂无到货记录,点右上角「上传到货表格」</span></template>
|
<template slot="empty"><span>暂无到货记录,点右上角「上传到货表格」</span></template>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
|
<el-tab-pane :label="'关联合同(' + (current.contractInfos ? current.contractInfos.length : 0) + ')'" name="contracts">
|
||||||
|
<el-table :data="current.contractInfos" border size="mini" max-height="420" style="width:100%">
|
||||||
|
<el-table-column label="订单编号" prop="orderCode" width="150" show-overflow-tooltip fixed />
|
||||||
|
<el-table-column label="合同号" prop="contractCode" width="140" show-overflow-tooltip />
|
||||||
|
<el-table-column label="合同名称" prop="contractName" min-width="150" show-overflow-tooltip />
|
||||||
|
<el-table-column label="客户(需方)" prop="customer" width="130" show-overflow-tooltip />
|
||||||
|
<el-table-column label="供方" prop="supplier" width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="金额" prop="orderAmount" width="110" align="right" />
|
||||||
|
<el-table-column label="销售员" prop="salesman" width="80" />
|
||||||
|
<el-table-column label="签订时间" prop="signTime" width="105" align="center" />
|
||||||
|
<el-table-column label="签订地点" prop="signLocation" width="110" show-overflow-tooltip />
|
||||||
|
<el-table-column label="交货日期" prop="deliveryDate" width="105" align="center" />
|
||||||
|
<el-table-column label="合同状态" width="90" align="center">
|
||||||
|
<template slot-scope="s">{{ contractStatusText(s.row.status) }}</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="应付定金" prop="depositPayable" width="100" align="right" />
|
||||||
|
<el-table-column label="已付定金" prop="depositPaid" width="100" align="right" />
|
||||||
|
<el-table-column label="未结款" prop="unpaidAmount" width="100" align="right" />
|
||||||
|
<el-table-column label="产品内容" prop="productContent" min-width="180" show-overflow-tooltip />
|
||||||
|
<el-table-column label="供方电话" prop="supplierPhone" width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="需方电话" prop="customerPhone" width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="备注" prop="remark" min-width="150" show-overflow-tooltip />
|
||||||
|
<template slot="empty"><span>无关联合同</span></template>
|
||||||
|
</el-table>
|
||||||
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -146,7 +172,7 @@ export default {
|
|||||||
planList: [],
|
planList: [],
|
||||||
queryParams: { pageNum: 1, pageSize: 20, keyword: undefined },
|
queryParams: { pageNum: 1, pageSize: 20, keyword: undefined },
|
||||||
current: {},
|
current: {},
|
||||||
activeTab: 'items',
|
activeTab: 'all',
|
||||||
deliveryList: [],
|
deliveryList: [],
|
||||||
deliveryLoading: false,
|
deliveryLoading: false,
|
||||||
refreshing: false,
|
refreshing: false,
|
||||||
@@ -180,7 +206,7 @@ export default {
|
|||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
selectPlan(p) {
|
selectPlan(p) {
|
||||||
this.activeTab = 'items'
|
this.activeTab = 'all'
|
||||||
this.current = { ...p }
|
this.current = { ...p }
|
||||||
this.deliveryList = []
|
this.deliveryList = []
|
||||||
// 打开即静默按钢卷表复核一次到货状态
|
// 打开即静默按钢卷表复核一次到货状态
|
||||||
@@ -228,7 +254,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$modal.msgSuccess(res.msg || '导入成功')
|
this.$modal.msgSuccess(res.msg || '导入成功')
|
||||||
}
|
}
|
||||||
this.activeTab = 'delivery'
|
this.activeTab = 'all'
|
||||||
this.refreshDetail()
|
this.refreshDetail()
|
||||||
this.getList(true)
|
this.getList(true)
|
||||||
} else {
|
} else {
|
||||||
@@ -240,6 +266,9 @@ export default {
|
|||||||
},
|
},
|
||||||
fmt(v) {
|
fmt(v) {
|
||||||
return Number(v || 0).toLocaleString('zh-CN', { minimumFractionDigits: 0, maximumFractionDigits: 3 })
|
return Number(v || 0).toLocaleString('zh-CN', { minimumFractionDigits: 0, maximumFractionDigits: 3 })
|
||||||
|
},
|
||||||
|
contractStatusText(v) {
|
||||||
|
return { 0: '草稿', 1: '生效', 2: '作废', 3: '已完成' }[v] || '—'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -292,6 +321,10 @@ $sub: #909399;
|
|||||||
&.wide { grid-column: span 2; }
|
&.wide { grid-column: span 2; }
|
||||||
}
|
}
|
||||||
.pd-tabs { padding: 0 18px 18px; }
|
.pd-tabs { padding: 0 18px 18px; }
|
||||||
|
.pd-sec-title {
|
||||||
|
font-size: 13px; font-weight: 600; color: $ink;
|
||||||
|
border-left: 3px solid $accent; padding-left: 8px; margin-bottom: 10px;
|
||||||
|
}
|
||||||
.pd-mtag {
|
.pd-mtag {
|
||||||
font-size: 11px; line-height: 16px; padding: 0 6px; border-radius: 2px; border: 1px solid #dcdfe6; color: $sub;
|
font-size: 11px; line-height: 16px; padding: 0 6px; border-radius: 2px; border: 1px solid #dcdfe6; color: $sub;
|
||||||
&.yes { color: #3a8a4d; border-color: #b7d9bf; background: #f0f9f1; }
|
&.yes { color: #3a8a4d; border-color: #b7d9bf; background: #f0f9f1; }
|
||||||
|
|||||||
@@ -218,6 +218,31 @@
|
|||||||
<template slot="empty"><span>无采购要求</span></template>
|
<template slot="empty"><span>无采购要求</span></template>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
<el-tab-pane :label="'关联合同(' + (current.contractInfos ? current.contractInfos.length : 0) + ')'" name="contracts">
|
||||||
|
<el-table :data="current.contractInfos" border size="mini" max-height="340" style="width:100%">
|
||||||
|
<el-table-column label="订单编号" prop="orderCode" width="150" show-overflow-tooltip fixed />
|
||||||
|
<el-table-column label="合同号" prop="contractCode" width="140" show-overflow-tooltip />
|
||||||
|
<el-table-column label="合同名称" prop="contractName" min-width="150" show-overflow-tooltip />
|
||||||
|
<el-table-column label="客户(需方)" prop="customer" width="130" show-overflow-tooltip />
|
||||||
|
<el-table-column label="供方" prop="supplier" width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="金额" prop="orderAmount" width="110" align="right" />
|
||||||
|
<el-table-column label="销售员" prop="salesman" width="80" />
|
||||||
|
<el-table-column label="签订时间" prop="signTime" width="105" align="center" />
|
||||||
|
<el-table-column label="签订地点" prop="signLocation" width="110" show-overflow-tooltip />
|
||||||
|
<el-table-column label="交货日期" prop="deliveryDate" width="105" align="center" />
|
||||||
|
<el-table-column label="合同状态" width="90" align="center">
|
||||||
|
<template slot-scope="s">{{ contractStatusText(s.row.status) }}</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="应付定金" prop="depositPayable" width="100" align="right" />
|
||||||
|
<el-table-column label="已付定金" prop="depositPaid" width="100" align="right" />
|
||||||
|
<el-table-column label="未结款" prop="unpaidAmount" width="100" align="right" />
|
||||||
|
<el-table-column label="产品内容" prop="productContent" min-width="180" show-overflow-tooltip />
|
||||||
|
<el-table-column label="供方电话" prop="supplierPhone" width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="需方电话" prop="customerPhone" width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="备注" prop="remark" min-width="150" show-overflow-tooltip />
|
||||||
|
<template slot="empty"><span>无关联合同</span></template>
|
||||||
|
</el-table>
|
||||||
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -555,6 +580,9 @@ export default {
|
|||||||
},
|
},
|
||||||
auditText(s) {
|
auditText(s) {
|
||||||
return { '0': '待审核', '1': '已通过', '2': '已驳回', '3': '待送审' }[s] || '—'
|
return { '0': '待审核', '1': '已通过', '2': '已驳回', '3': '待送审' }[s] || '—'
|
||||||
|
},
|
||||||
|
contractStatusText(v) {
|
||||||
|
return { 0: '草稿', 1: '生效', 2: '作废', 3: '已完成' }[v] || '—'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user