unis_sip/ruoyi-admin/src/main/resources/templates/project/info/add.html

371 lines
12 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
2025-05-30 09:32:14 +00:00
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
2025-05-30 09:32:14 +00:00
<th:block th:include="include :: header('新增项目管理')"/>
<th:block th:include="include :: datetimepicker-css"/>
</head>
2025-05-30 09:32:14 +00:00
<style>
body {
font-family: "微软雅黑", Arial, sans-serif;
}
table {
border-collapse: collapse;
width: 100%;
margin-bottom: 20px;
}
th, td {
border: 1px solid #ccc;
padding: 8px;
}
.is-required {
color: red;
}
th {
background: #f5f5f5;
}
.section-title {
font-weight: bold;
font-size: 18px;
padding: 10px 0;
}
.checkbox-group label {
margin-right: 20px;
}
.add-btn {
background: #409eff;
color: #fff;
border: none;
padding: 5px 10px;
cursor: pointer;
}
.checkbox-box {
2025-05-30 09:32:14 +00:00
display: flex;
flex-direction: row;
2025-05-30 09:32:14 +00:00
gap: 10px;
}
.checkbox-box label {
2025-05-30 09:32:14 +00:00
display: flex;
flex-direction: row;
2025-05-30 09:32:14 +00:00
gap: 5px;
align-items: center;
}
.shortTd {
width: 100px;
}
.middleTd {
width: 150px;
}
2025-05-30 09:32:14 +00:00
</style>
<body class="white-bg">
2025-05-30 09:32:14 +00:00
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form id="form-product-add">
<div class="section-title">项目信息</div>
<table>
<tr>
<td class="shortTd">项目编码<span class="is-required">*</span></td>
<td colspan="2"><input type="text" name="project_code" class="form-control"></td>
<td class="middleTd">项目名称<span class="is-required">*</span></td>
<td colspan="2"><input type="text" name="project_name" class="form-control"
></td>
2025-05-30 09:32:14 +00:00
</tr>
<tr>
<td class="shortTd">客户名称<span class="is-required">*</span></td>
<td><input name="customerName" class="form-control" type="text" required
onclick="selectCustomer()">
<input name="customerCode" class="form-control" type="hidden"></td>
<td class="shortTd">行业<span class="is-required">*</span></td>
2025-05-30 09:32:14 +00:00
<td>
<select name="orderType" class="form-control" th:with="type=${@dict.getType('industry_code')}"
onchange="changeOrderType()" required>
<option value="">请选择合项目阶段</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
</td>
<td class="shortTd"> 属地 <span class="is-required">*</span></td>
<td id="element1">
<select name="province" class="form-control">
2025-05-30 09:32:14 +00:00
</select>
</td>
</tr>
<tr>
<td>项目阶段<span class="is-required">*</span></td>
2025-05-30 09:32:14 +00:00
<td>
<select name="orderType" class="form-control"
th:with="type=${@dict.getType('project_stage')}"
onchange="changeOrderType()" required>
<option value="">请选择合项目阶段</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
2025-05-30 09:32:14 +00:00
</select>
</td>
<td>项目把握度<span class="is-required">*</span></td>
2025-05-30 09:32:14 +00:00
<td>
<select name="project_confidence" class="form-control" required>
2025-05-30 09:32:14 +00:00
<option>A</option>
<option>B</option>
<option>C</option>
<option>D</option>
2025-05-30 09:32:14 +00:00
</select>
</td>
<td>汇智支撑人员</td>
<td><input name="peopleName" class="form-control" type="text"
onclick="selectPeople()">
<input name="peopleCode" class="form-control" type="hidden"></td>
2025-05-30 09:32:14 +00:00
</tr>
<tr>
<td>运作机构</td>
<td>
<select name="orderType" class="form-control"
th:with="type=${@dict.getType('operate_institution')}"
onchange="changeOrderType()">
<option value="">请选择运作机构</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
2025-05-30 09:32:14 +00:00
</select>
</td>
<td>代理商<span class="is-required">*</span></td>
<td>
<input name="orderPartnerName" class="form-control" type="text" required
onclick="selectPartner()">
<input name="orderPartnerCode" class="form-control" type="hidden">
</td>
2025-05-30 09:32:14 +00:00
<td>联系方式</td>
<td><input type="text" name="contact" class="form-control"></td>
2025-05-30 09:32:14 +00:00
</tr>
<tr>
<td>预计金额RMB<span class="is-required">*</span></td>
<td><input type="text" name="budget" class="form-control" required></td>
<td>预计下单时间</td>
<td><input name="orderDate" class="form-control" placeholder="yyyy-MM-dd" autocomplete="false"></td>
2025-05-30 09:32:14 +00:00
<td>预计发货时间</td>
<td><input name="deliveryDate" class="form-control" placeholder="yyyy-MM-dd" autocomplete="false"></td>
2025-05-30 09:32:14 +00:00
</tr>
<tr>
<td>竞争对手</td>
<td colspan="5" class="checkbox-group">
2025-05-30 09:32:14 +00:00
<div class="checkbox-box">
<label><input type="checkbox" name="competitor" value="华为">华为</label>
<label><input type="checkbox" name="competitor" value="锐捷">锐捷</label>
<label><input type="checkbox" name="competitor" value="深信服">深信服</label>
<label><input type="checkbox" name="competitor" value="中兴">中兴</label>
<label><input type="checkbox" name="competitor" value="曙云">曙云</label>
</div>
<div>
其它:<input type="text" name="competitor_other" class="form-control" style="width: 400px">
</div>
2025-05-30 09:32:14 +00:00
</td>
</tr>
<tr>
<td>关键技术问题</td>
<td colspan="5"><input type="text" name="key_tech_issue" style="width:98%;"
class="form-control"></td>
2025-05-30 09:32:14 +00:00
</tr>
<tr>
<td>项目简述<span class="is-required">*</span></td>
<td colspan="5"><textarea name="project_desc" style="width:98%;" rows="2"
class="form-control" required></textarea>
2025-05-30 09:32:14 +00:00
</td>
</tr>
</table>
<div class="section-title">配置信息</div>
<table id="ruanjian">
2025-05-30 09:32:14 +00:00
<tr>
<th colspan="5" >添加软件
<button type="button" class="add-btn" onclick="addRuanjian()">+</button>
2025-05-30 09:32:14 +00:00
</th>
</tr>
<tr>
<th>序号</th>
<th>软件编码</th>
<th>软件型号</th>
<th>数量</th>
<th>备注</th>
</tr>
<tbody>
</tbody>
</table>
<table>
<th>
<th colspan="5" onclick="addYingjian()">添加硬件
<button type="button" class="add-btn">+</button>
</th>
</th>
<th>
<th>序号</th>
<th>硬件编码</th>
<th>硬件型号</th>
<th>数量</th>
<th>备注</th>
</th>
<tbody>
</tbody>
2025-05-30 09:32:14 +00:00
<tr>
<td colspan="4">是否国产</td>
<td>
<select name="domestic">
<option></option>
<option></option>
</select>
</td>
</tr>
</table>
<div class="section-title">工作进度</div>
<table>
<tr>
<th>序号</th>
<th>更新内容</th>
<th>更新人员</th>
<th>更新时间</th>
<th>
<button type="button" class="add-btn">添加+</button>
</th>
</tr>
<!-- 可动态添加行 -->
</table>
<button type="submit">提交</button>
</form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<th:block th:include="include :: jquery-cxselect-js"/>
2025-05-30 09:32:14 +00:00
<script th:inline="javascript">
var prefix = ctx + "sip/project"
$("#form-product-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-product-add').serialize());
}
2025-05-30 09:32:14 +00:00
}
$(function () {
2025-05-30 09:32:14 +00:00
parent.layer.style(parent.layer.index, {
height: '700px',
2025-05-30 09:32:14 +00:00
width: '1100px',
top: '0',
left: '240px'
});
var urlChina = '/cnarea/select';
$.cxSelect.defaults.url = urlChina;
$('#element1').cxSelect({
selects: ['province'],
nodata: 'none'
});
$("input[name='orderDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='deliveryDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
2025-05-30 09:32:14 +00:00
})
function selectCustomer() {
var url = prefix + "/selectCustomer";
var options = {
title: '选择客户',
width: "680",
url: url,
height: '600',
callBack: doSubmitCustomer
};
$.modal.openOptions(options);
}
function selectPartner() {
var url = prefix + "/selectPartner";
var options = {
title: '选择代理商',
width: "680",
height: '600',
url: url,
callBack: doSubmitPartner
};
$.modal.openOptions(options);
}
function selectPeople() {
var url = prefix + "/selectPeople";
var options = {
title: '选择代理商',
width: "680",
height: '600',
url: url,
callBack: doSubmitPeople
};
$.modal.openOptions(options);
}
function doSubmitCustomer(index, layero) {
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
$.modal.alertWarning("请选择一个用户");
return;
}
$('[name="customerCode"]').val(rows[0].customerCode);
$(' [name="customerName"]').val(rows[0].customerName);
$.modal.close(index);
}
function doSubmitPartner(index, layero) {
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
$.modal.alertWarning("请选择一个代理商");
return;
}
$('[name="orderPartnerCode"]').val(rows[0].partnerCode);
$('[name="orderPartnerName"]').val(rows[0].partnerName);
$.modal.close(index);
}
function doSubmitPeople(index, layero) {
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
$.modal.alertWarning("请选择一个代理商");
return;
}
$('[name="peopleCode"]').val(rows[0].userId);
$('[name="peopleName"]').val(rows[0].userName);
$.modal.close(index);
}
// 添加软件
function addRuanjian(){
let length= $('#ruanjian tbody').find('tr').length
let tr=$(`<tr><td>${length+1}</td><td><input type="text" required></td><td><input type="text" required></td><td><input type="text" required></td><td><input type="text" required></td></tr>`)
$('#ruanjian tbody').append(tr)
}
2025-05-30 09:32:14 +00:00
</script>
</body>
</html>