fix(sip): 修复项目信息和订单信息中 BG 和行业数据源问题

- 更新项目信息和订单信息页面中 BG 和行业选择框的样式
- 移除只读属性,允许用户选择 BG 和行业
- 更新 SQL 查询,使用项目信息表中的 BG 和行业字段
- 修复订单信息中更新项目 BG 和行业的问题
master
chenhao 2025-07-03 17:17:23 +08:00
parent 4a44e1391d
commit 99c496e9a8
8 changed files with 72 additions and 51 deletions

View File

@ -95,9 +95,9 @@
label { label {
margin-bottom: 0 !important; margin-bottom: 0 !important;
} }
[name="bgProperty"], #industryTypeBox select { /*[name="bgProperty"], #industryTypeBox select {*/
pointer-events: none; /* pointer-events: none;*/
} /*}*/
</style> </style>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
@ -118,7 +118,7 @@
<td class="shortTd">BG</td> <td class="shortTd">BG</td>
<td class="inputTd"> <td class="inputTd">
<select name="bgProperty" class="form-control" th:with="type=${@dict.getType('bg_type')}" <select name="bgProperty" class="form-control" th:with="type=${@dict.getType('bg_type')}"
onchange="changeBg()" readonly > onchange="changeBg()" >
<option value="">请选择BG</option> <option value="">请选择BG</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option> th:value="${dict.dictValue}"></option>
@ -449,9 +449,9 @@
$('[name="customerName"]').val(rows[0].customerName); $('[name="customerName"]').val(rows[0].customerName);
$('[name="customerUserName"]').val(rows[0].contactPerson); $('[name="customerUserName"]').val(rows[0].contactPerson);
$('[name="customerPhone"]').val(rows[0].contactPhone); $('[name="customerPhone"]').val(rows[0].contactPhone);
$('[name="bgProperty"]').val(rows[0].bgProperty); // $('[name="bgProperty"]').val(rows[0].bgProperty);
changeBg() // changeBg()
$('[name="industryType"]').val(rows[0].industryType); // $('[name="industryType"]').val(rows[0].industryType);
$.modal.close(index); $.modal.close(index);
} }
@ -581,7 +581,7 @@
str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> ` str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> `
}) })
$('#industryTypeBox').html(` $('#industryTypeBox').html(`
<select name="industryType" readonly class="form-control" required> <select name="industryType" class="form-control" >
<option value="">请选择行业</option> <option value="">请选择行业</option>
${str} ${str}
</select> </select>
@ -593,7 +593,7 @@
str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> ` str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> `
}) })
$('#industryTypeBox').html(` $('#industryTypeBox').html(`
<select name="industryType" class="form-control" readonly required> <select name="industryType" class="form-control" >
<option value="">请选择行业</option> <option value="">请选择行业</option>
${str} ${str}
</select> </select>

View File

@ -103,9 +103,9 @@
.white-bg{ .white-bg{
padding: 0px 50px; padding: 0px 50px;
} }
[name="bgProperty"], #industryTypeBox select { /*[name="bgProperty"], #industryTypeBox select {*/
pointer-events: none; /* pointer-events: none;*/
} /*}*/
</style> </style>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
@ -133,7 +133,7 @@
<td class="inputTd"> <td class="inputTd">
<select name="bgProperty" th:field="*{bgProperty}" class="form-control" <select name="bgProperty" th:field="*{bgProperty}" class="form-control"
th:with="type=${@dict.getType('bg_type')}" th:with="type=${@dict.getType('bg_type')}"
onchange="changeBg()" readonly > onchange="changeBg()" >
<option value="">请选择BG</option> <option value="">请选择BG</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option> th:value="${dict.dictValue}"></option>
@ -141,7 +141,7 @@
</td> </td>
<td class="shortTd">行业</td> <td class="shortTd">行业</td>
<td id="industryTypeBox" class="inputTd"> <td id="industryTypeBox" class="inputTd">
<select name="industryType" readonly th:field="*{industryType}" class="form-control" <select name="industryType" th:field="*{industryType}" class="form-control"
> >
<option value="">请先选择BG</option> <option value="">请先选择BG</option>
</select> </select>
@ -513,9 +513,9 @@
$('[name="customerName"]').val(rows[0].customerName); $('[name="customerName"]').val(rows[0].customerName);
$('[name="customerUserName"]').val(rows[0].contactPerson); $('[name="customerUserName"]').val(rows[0].contactPerson);
$('[name="customerPhone"]').val(rows[0].contactPhone); $('[name="customerPhone"]').val(rows[0].contactPhone);
$('[name="bgProperty"]').val(rows[0].bgProperty); // $('[name="bgProperty"]').val(rows[0].bgProperty);
changeBg() // changeBg()
$('[name="industryType"]').val(rows[0].industryType); // $('[name="industryType"]').val(rows[0].industryType);
$.modal.close(index); $.modal.close(index);
} }
@ -657,7 +657,7 @@
str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> ` str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> `
}) })
$('#industryTypeBox').html(` $('#industryTypeBox').html(`
<select name="industryType" class="form-control" readonly required> <select name="industryType" class="form-control" >
<option value="">请选择行业</option> <option value="">请选择行业</option>
${str} ${str}
</select> </select>
@ -669,7 +669,7 @@
str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> ` str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> `
}) })
$('#industryTypeBox').html(` $('#industryTypeBox').html(`
<select name="industryType" class="form-control" readonly required> <select name="industryType" class="form-control" >
<option value="">请选择行业</option> <option value="">请选择行业</option>
${str} ${str}
</select> </select>

View File

@ -79,9 +79,9 @@
position: relative; position: relative;
} }
[name="bgProperty"], #industryTypeBox select { /*[name="bgProperty"], #industryTypeBox select {*/
pointer-events: none; /* pointer-events: none;*/
} /*}*/
#projectNameBox { #projectNameBox {
margin-left: 20px; margin-left: 20px;
@ -137,19 +137,19 @@
<input name="customerCode" class="form-control" type="hidden"></td> <input name="customerCode" class="form-control" type="hidden"></td>
</tr> </tr>
<tr> <tr>
<td>BG<span class="is-required">*</span></td> <td>BG</td>
<td> <td>
<select name="bgProperty" class="form-control" th:with="type=${@dict.getType('bg_type')}" <select name="bgProperty" class="form-control" th:with="type=${@dict.getType('bg_type')}"
readonly required> onchange="changeBg()">
<option value="">请选择BG</option> <option value="">请选择BG</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option> th:value="${dict.dictValue}"></option>
</select> </select>
</td> </td>
<td>行业<span class="is-required">*</span></td> <td>行业</td>
<td id="industryTypeBox"> <td id="industryTypeBox">
<select name="industryType" class="form-control" <select name="industryType" class="form-control"
required readonly> >
<option value="">请先选择BG</option> <option value="">请先选择BG</option>
</select> </select>
</td> </td>
@ -665,7 +665,7 @@
str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> ` str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> `
}) })
$('#industryTypeBox').html(` $('#industryTypeBox').html(`
<select name="industryType" class="form-control" readonly required> <select name="industryType" class="form-control" >
<option value="">请选择行业</option> <option value="">请选择行业</option>
${str} ${str}
</select> </select>
@ -677,7 +677,7 @@
str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> ` str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> `
}) })
$('#industryTypeBox').html(` $('#industryTypeBox').html(`
<select name="industryType" class="form-control" required readonly> <select name="industryType" class="form-control" >
<option value="">请选择行业</option> <option value="">请选择行业</option>
${str} ${str}
</select> </select>

View File

@ -73,9 +73,9 @@
position: relative; position: relative;
} }
[name="bgProperty"], #industryTypeBox select { /*[name="bgProperty"], #industryTypeBox select {*/
pointer-events: none; /* pointer-events: none;*/
} /*}*/
#projectNameBox { #projectNameBox {
margin-left: 20px; margin-left: 20px;
@ -138,8 +138,8 @@
<tr> <tr>
<td>BG</td> <td>BG</td>
<td> <td>
<select name="bgProperty" class="form-control" th:field="*{bgProperty}" readonly <select name="bgProperty" class="form-control" th:field="*{bgProperty}"
th:with="type=${@dict.getType('bg_type')}" th:with="type=${@dict.getType('bg_type')}" onchange="changeBg()"
> >
<option value="">请选择BG</option> <option value="">请选择BG</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
@ -148,7 +148,7 @@
</td> </td>
<td>行业</td> <td>行业</td>
<td id="industryTypeBox"> <td id="industryTypeBox">
<select name="industryType" class="form-control" readonly <select name="industryType" class="form-control"
> >
<option value="">请先选择BG</option> <option value="">请先选择BG</option>
</select> </select>
@ -701,7 +701,7 @@
str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> ` str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> `
}) })
$('#industryTypeBox').html(` $('#industryTypeBox').html(`
<select name="industryType" readonly class="form-control" required> <select name="industryType" class="form-control" >
<option value="">请选择行业</option> <option value="">请选择行业</option>
${str} ${str}
</select> </select>
@ -713,7 +713,7 @@
str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> ` str += `<option value="${ele.dictValue}">${ele.dictLabel}</option> `
}) })
$('#industryTypeBox').html(` $('#industryTypeBox').html(`
<select name="industryType" readonly class="form-control" required > <select name="industryType" class="form-control" >
<option value="">请选择行业</option> <option value="">请选择行业</option>
${str} ${str}
</select> </select>

View File

@ -7,6 +7,9 @@
.select-list li p, .select-list li label:not(.radio-box){ .select-list li p, .select-list li label:not(.radio-box){
width: 95px; width: 95px;
} }
.bootstrap-table table {
table-layout: fixed;
}
</style> </style>
<body class="gray-bg"> <body class="gray-bg">
<div class="container-div"> <div class="container-div">
@ -68,12 +71,13 @@
<i class="fa fa-download"></i> 导出 <i class="fa fa-download"></i> 导出
</a> </a>
</div> </div>
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped table-responsive" >
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
</div> </div>
</div> </div>
</div> </div>
<th:block th:include="include :: footer"/> <th:block th:include="include :: footer"/>
<th:block th:include="include :: bootstrap-table-fixed-columns-js" />
<th:block th:include="include :: jquery-cxselect-js"/> <th:block th:include="include :: jquery-cxselect-js"/>
<script th:inline="javascript"> <script th:inline="javascript">
@ -89,6 +93,9 @@
removeUrl: prefix + "/remove", removeUrl: prefix + "/remove",
exportUrl: prefix + "/export", exportUrl: prefix + "/export",
modalName: "客户信息", modalName: "客户信息",
minWidth: 100,
fixedColumns:true,
fixedRightNumber:1,
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
@ -98,42 +105,52 @@
visible: false visible: false
}, },
{ {
width:100,
field: 'customerCode', field: 'customerCode',
title: '客户编码' title: '客户编码'
}, },
{ {
width:200,
field: 'customerName', field: 'customerName',
title: '最终客户名称' title: '最终客户名称'
}, },
{ {
width:100,
field: 'customerPostcode', field: 'customerPostcode',
title: '客户邮编' title: '客户邮编'
}, },
{ {
width:100,
field: 'province', field: 'province',
title: '所在省' title: '所在省'
}, },
{ {
width:100,
field: 'city', field: 'city',
title: '所在市' title: '所在市'
}, },
{ {
width:200,
field: 'address', field: 'address',
title: '详细地址' title: '详细地址'
}, },
{ {
width:100,
field: 'contactPerson', field: 'contactPerson',
title: '联系人' title: '联系人'
}, },
{ {
width:100,
field: 'contactPhone', field: 'contactPhone',
title: '联系电话' title: '联系电话'
}, },
{ {
width:100,
field: 'contactEmail', field: 'contactEmail',
title: '联系邮件' title: '联系邮件'
}, },
{ {
width:100,
field: 'bgProperty', field: 'bgProperty',
title: '所属行业', title: '所属行业',
formatter: (value, row) => { formatter: (value, row) => {
@ -141,6 +158,7 @@
} }
}, },
{ {
width:100,
field: 'industryType', field: 'industryType',
title: '所属行业', title: '所属行业',
formatter: (value, row) => { formatter: (value, row) => {
@ -153,10 +171,12 @@
} }
}, },
{ {
width:100,
field: 'remark', field: 'remark',
title: '备注' title: '备注'
}, },
{ {
width:100,
field: 'createAt', field: 'createAt',
title: '创建时间' title: '创建时间'
}, },
@ -169,6 +189,7 @@
// title: '删除时间' // title: '删除时间'
// }, // },
{ {
width:150,
title: '操作', title: '操作',
align: 'center', align: 'center',
formatter: function (value, row, index) { formatter: function (value, row, index) {

View File

@ -216,13 +216,13 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
// projectOrderInfo.setOrderCode(orderNumber); // projectOrderInfo.setOrderCode(orderNumber);
// } // }
//更新BG属性 //更新BG属性
// ProjectInfo projectInfo = new ProjectInfo(); ProjectInfo projectInfo = new ProjectInfo();
// projectInfo.setId(projectOrderInfo.getProjectId()); projectInfo.setId(projectOrderInfo.getProjectId());
// projectInfo.setBgProperty(projectOrderInfo.getBgProperty()); projectInfo.setBgProperty(projectOrderInfo.getBgProperty());
// projectInfo.setIndustryType(projectOrderInfo.getIndustryType()); projectInfo.setIndustryType(projectOrderInfo.getIndustryType());
// projectInfo.setUpdateBy(ShiroUtils.getUserId().toString()); projectInfo.setUpdateBy(ShiroUtils.getUserId().toString());
// projectInfo.setUpdateTime(DateUtils.getNowDate()); projectInfo.setUpdateTime(DateUtils.getNowDate());
// projectInfoMapper.updateProjectInfo(projectInfo); projectInfoMapper.updateProjectInfo(projectInfo);
//不更新订单编号 //不更新订单编号
projectOrderInfo.setOrderCode(null); projectOrderInfo.setOrderCode(null);

View File

@ -43,10 +43,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select t1.id, select t1.id,
t1.project_code, t1.project_code,
t1.project_name, t1.project_name,
t5.bg_property, t1.bg_property,
t1.customer_code, t1.customer_code,
t1.customer_name, t1.customer_name,
t5.industry_type, t1.industry_type,
t1.agent_code, t1.agent_code,
t1.project_stage, t1.project_stage,
t1.project_grasp_degree, t1.project_grasp_degree,
@ -76,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join agent_info t2 on t1.agent_code = t2.agent_code left join agent_info t2 on t1.agent_code = t2.agent_code
left join sys_user t3 on t1.hz_support_user=t3.user_id left join sys_user t3 on t1.hz_support_user=t3.user_id
left join (select max(work_time) work_time,project_id from project_work_progress group by project_id) t4 ON t1.id=t4.project_id left join (select max(work_time) work_time,project_id from project_work_progress group by project_id) t4 ON t1.id=t4.project_id
left join customer_info t5 on t1.customer_code=t5.customer_code
</sql> </sql>
@ -90,8 +90,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="agentCode != null and agentCode != ''"> and t1.agent_code = #{agentCode}</if> <if test="agentCode != null and agentCode != ''"> and t1.agent_code = #{agentCode}</if>
<if test="agentName != null and agentName != ''"> and t2.agent_name like concat('%', #{agentName}, '%')</if> <if test="agentName != null and agentName != ''"> and t2.agent_name like concat('%', #{agentName}, '%')</if>
<if test="customerName != null and customerName != ''"> and t1.customer_name like concat('%', #{customerName}, '%')</if> <if test="customerName != null and customerName != ''"> and t1.customer_name like concat('%', #{customerName}, '%')</if>
<if test="industryType != null and industryType != ''"> and t5.industry_type = #{industryType}</if> <if test="industryType != null and industryType != ''"> and t1.industry_type = #{industryType}</if>
<if test="bgProperty != null and bgProperty != ''"> and t5.bg_property = #{bgProperty}</if> <if test="bgProperty != null and bgProperty != ''"> and t1.bg_property = #{bgProperty}</if>
<if test="projectStage != null and projectStage != ''"> and t1.project_stage = #{projectStage}</if> <if test="projectStage != null and projectStage != ''"> and t1.project_stage = #{projectStage}</if>
<if test="projectGraspDegree != null and projectGraspDegree != ''"> and t1.project_grasp_degree = #{projectGraspDegree}</if> <if test="projectGraspDegree != null and projectGraspDegree != ''"> and t1.project_grasp_degree = #{projectGraspDegree}</if>

View File

@ -47,14 +47,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
t1.notifier_email, t1.notifier_phone, t1.duty, t1.duty_email, t1.duty_phone, t1.order_channel, t1.partner_code, t1.supplier, t1.notifier_email, t1.notifier_phone, t1.duty, t1.duty_email, t1.duty_phone, t1.order_channel, t1.partner_code, t1.supplier,
t1.remark, t1.order_status, t1.create_by, t1.create_time, t1.update_by, t1.update_time,t1.partner_user_name,t1.partner_email t1.remark, t1.order_status, t1.create_by, t1.create_time, t1.update_by, t1.update_time,t1.partner_user_name,t1.partner_email
,t1.partner_phone,t1.version_code ,t1.partner_phone,t1.version_code
,t2.project_code,t2.project_name,t2.province,t2.customer_name,t2.customer_code,t6.industry_type,t6.bg_property,t2.agent_code,t2.estimated_order_time ,t2.project_code,t2.project_name,t2.province,t2.customer_name,t2.customer_code,t2.industry_type,t2.bg_property,t2.agent_code,t2.estimated_order_time
,t2.customer_phone,t2.customer_user_name,t2.agent_code,t2.customer_code ,t2.customer_phone,t2.customer_user_name,t2.agent_code,t2.customer_code
,t3.partner_name,t3.level ,t3.partner_name,t3.level
,t4.agent_name ,t4.agent_name
,t5.user_name as duty_name ,t5.user_name as duty_name
from project_order_info t1 from project_order_info t1
left join project_info t2 on t1.project_id = t2.id left join project_info t2 on t1.project_id = t2.id
left join customer_info t6 on t2.customer_code=t6.customer_code
left join partner_info t3 on t1.partner_code=t3.partner_code left join partner_info t3 on t1.partner_code=t3.partner_code
left join agent_info t4 on t2.agent_code=t4.agent_code left join agent_info t4 on t2.agent_code=t4.agent_code
left join sys_user t5 on t1.duty=t5.user_id left join sys_user t5 on t1.duty=t5.user_id