|
|
@@ -13,6 +13,9 @@ let feeRateData = [];
|
|
|
let isSaving = false;
|
|
|
let projectProperty = [];
|
|
|
let fileDelObj = null;
|
|
|
+let curStep = 1; //当前在第几步
|
|
|
+let infoData = null; //建设项目基本信息数据
|
|
|
+let featureData = null; //工程特征数据
|
|
|
let projectType = {
|
|
|
folder: 'Folder',
|
|
|
tender: 'Tender',
|
|
|
@@ -1611,14 +1614,28 @@ $(document).ready(function() {
|
|
|
showProjFirstStep();
|
|
|
});
|
|
|
//显示新建建设项目第一步内容
|
|
|
- function showProjFirstStep() {
|
|
|
+ async function showProjFirstStep() {
|
|
|
$('#add-project-dialog').find('.modal-title').html('<i class="fa fa-cubes"></i> 新建建设项目');
|
|
|
$('#projInfoStep').hide();
|
|
|
$('#addProjOk').hide();
|
|
|
$('#project-required-warn').hide();
|
|
|
$('#add-proj-prev').hide();
|
|
|
- $('#add-proj-next').show();
|
|
|
$('#projFirstStep').show();
|
|
|
+ let requiredData = null;
|
|
|
+ if (!infoData) {
|
|
|
+ try {
|
|
|
+ infoData = await ajaxPost('/pm/api/getBasicInfo', {user_id: userID});
|
|
|
+ console.log(infoData);
|
|
|
+ } catch (err) {
|
|
|
+ $('#add-project-dialog').modal('hide');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ requiredData = getRequired([], infoData);
|
|
|
+ if (requiredData.length > 0) {
|
|
|
+ $('#add-proj-next').show();
|
|
|
+ } else {
|
|
|
+ $('#addProjOk').show();
|
|
|
+ }
|
|
|
}
|
|
|
//显示新建建设项目-建设项目基本信息内容
|
|
|
async function showProjInfoStep() {
|
|
|
@@ -1629,14 +1646,7 @@ $(document).ready(function() {
|
|
|
$('#addProjOk').show();
|
|
|
$('#projInfoStep').show();
|
|
|
$('#project-required-warn').show();
|
|
|
- if (!infoData) {
|
|
|
- try {
|
|
|
- infoData = await ajaxPost('/pm/api/getBasicInfo', {user_id: userID});
|
|
|
- showRequiredInfo($('#projInfoStep'), infoData);
|
|
|
- } catch (err) {
|
|
|
- $('#add-project-dialog').modal('hide');
|
|
|
- }
|
|
|
- }
|
|
|
+ showRequiredInfo($('#projInfoStep'), infoData);
|
|
|
}
|
|
|
|
|
|
//新建建设项目、新建单项工程、新建文件夹、重命名弹窗隐藏事件
|
|
|
@@ -1910,9 +1920,11 @@ $(document).ready(function() {
|
|
|
return false;
|
|
|
}
|
|
|
let path = getAddPath();
|
|
|
- if (path === addPath.p_e_t) {
|
|
|
+ let infoRequired = getRequired([], infoData);
|
|
|
+ let featureRequired = getRequired([], featureData);
|
|
|
+ if (path === addPath.p_e_t && infoRequired.length > 0) {
|
|
|
showInfoStep();
|
|
|
- } else {
|
|
|
+ } else if (featureRequired.length > 0) {
|
|
|
showFeatureStep();
|
|
|
}
|
|
|
} else if (curStep === 3) {
|
|
|
@@ -1951,7 +1963,7 @@ $(document).ready(function() {
|
|
|
$('#add-tender-cancel').hide();
|
|
|
}
|
|
|
//显示第二步内容
|
|
|
- function showSecondStep() {
|
|
|
+ async function showSecondStep() {
|
|
|
$('#add-tender-title').html(`<i class="fa fa-sticky-note-o"></i>新建单位工程`);
|
|
|
$('#add-tender-confirm').hide();
|
|
|
$('#featureStep').hide();
|
|
|
@@ -1960,26 +1972,54 @@ $(document).ready(function() {
|
|
|
$('#tender-required-warn').hide();
|
|
|
$('#secondStep').show();
|
|
|
$('#add-tender-prev').show();
|
|
|
- $('#add-tender-next').show();
|
|
|
+ $('#add-tender-next').hide();
|
|
|
+ $('#add-tender-confirm').hide();
|
|
|
$('#add-tender-cancel').show();
|
|
|
- }
|
|
|
- //显示新建单位工程-建设项目基本信息内容
|
|
|
- async function showInfoStep() {
|
|
|
- $('#add-tender-title').html('建设项目基本信息');
|
|
|
- $('#secondStep').hide();
|
|
|
- $('#infoStep').show();
|
|
|
- $('#tender-required-warn').show();
|
|
|
if (!infoData) {
|
|
|
try {
|
|
|
infoData = await ajaxPost('/pm/api/getBasicInfo', {user_id: userID});
|
|
|
- showRequiredInfo($('#infoStep'), infoData);
|
|
|
} catch (err) {
|
|
|
$('#add-tender-dialog').modal('hide');
|
|
|
}
|
|
|
}
|
|
|
+ if (!featureData) {
|
|
|
+ try{
|
|
|
+ let valuation = $("#valuation").val();
|
|
|
+ let engineeringName = $("#tender-engineering").val();
|
|
|
+ let feeName = $('#tender-feeStandard').val();
|
|
|
+ featureData = await ajaxPost('/pm/api/getProjectFeature',
|
|
|
+ {user_id: userID, valuationID: valuation, engineeringName: engineeringName, feeName: feeName});
|
|
|
+ } catch (err) {
|
|
|
+ $('#add-tender-dialog').modal('hide');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let infoRequired = getRequired([], infoData),
|
|
|
+ featureRequired = getRequired([], featureData),
|
|
|
+ path = getAddPath();
|
|
|
+ if (path === addPath.p_e_t && infoRequired.length > 0 || featureRequired.length > 0) {
|
|
|
+ $('#add-tender-next').show();
|
|
|
+ } else {
|
|
|
+ $('#add-tender-confirm').show();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //显示新建单位工程-建设项目基本信息内容
|
|
|
+ function showInfoStep() {
|
|
|
+ $('#add-tender-title').html('建设项目基本信息');
|
|
|
+ $('#secondStep').hide();
|
|
|
+ $('#infoStep').show();
|
|
|
+ $('#tender-required-warn').show();
|
|
|
+ let featureRequired = getRequired([], featureData);
|
|
|
+ if (featureRequired.length > 0) {
|
|
|
+ $('#add-tender-next').show();
|
|
|
+ $('#add-tender-confirm').hide();
|
|
|
+ } else {
|
|
|
+ $('#add-tender-next').hide();
|
|
|
+ $('#add-tender-confirm').show();
|
|
|
+ }
|
|
|
+ showRequiredInfo($('#infoStep'), infoData);
|
|
|
}
|
|
|
//显示新建单位工程-工厂特征内容
|
|
|
- async function showFeatureStep() {
|
|
|
+ function showFeatureStep() {
|
|
|
$('#add-tender-next').hide();
|
|
|
$('#add-tender-confirm').show();
|
|
|
$('#add-tender-title').html('工程特征');
|
|
|
@@ -1987,37 +2027,29 @@ $(document).ready(function() {
|
|
|
$('#infoStep').hide();
|
|
|
$('#featureStep').show();
|
|
|
$('#tender-required-warn').show();
|
|
|
- if (!featureData) {
|
|
|
- let valuation = $("#valuation").val();
|
|
|
- let engineeringName = $("#tender-engineering").val();
|
|
|
- let feeName = $('#tender-feeStandard').val();
|
|
|
- try {
|
|
|
- featureData = await ajaxPost('/pm/api/getProjectFeature',
|
|
|
- {user_id: userID, valuationID: valuation, engineeringName: engineeringName, feeName: feeName});
|
|
|
- showRequiredInfo($('#featureStep'), featureData);
|
|
|
- } catch (err) {
|
|
|
- $('#add-tender-dialog').modal('hide');
|
|
|
+ showRequiredInfo($('#featureStep'), featureData);
|
|
|
+ }
|
|
|
+ function getRequired(rst, datas) {
|
|
|
+ if (!datas) {
|
|
|
+ return rst;
|
|
|
+ }
|
|
|
+ for (let data of datas) {
|
|
|
+ let required = typeof data.required === 'string' ? JSON.parse(data.required) : data.required,
|
|
|
+ readOnly = typeof data.readOnly === 'string' ? JSON.parse(data.readOnly) : data.readOnly;
|
|
|
+ if (required && !readOnly) {
|
|
|
+ rst.push(data);
|
|
|
+ }
|
|
|
+ if (data.items && data.items.length > 0) {
|
|
|
+ getRequired(rst, data.items);
|
|
|
}
|
|
|
}
|
|
|
+ return rst;
|
|
|
}
|
|
|
//显示必填信息(建设项目基本信息、单位工程工程特征)
|
|
|
//必填信息:标记了必填required且不只读!readOnly
|
|
|
function showRequiredInfo($form, datas) {
|
|
|
$form.empty();
|
|
|
- let requiredDatas = [];
|
|
|
- function getRequired(datas) {
|
|
|
- for (let data of datas) {
|
|
|
- let required = typeof data.required === 'string' ? JSON.parse(data.required) : data.required,
|
|
|
- readOnly = typeof data.readOnly === 'string' ? JSON.parse(data.readOnly) : data.readOnly;
|
|
|
- if (required && !readOnly) {
|
|
|
- requiredDatas.push(data);
|
|
|
- }
|
|
|
- if (data.items && data.items.length > 0) {
|
|
|
- getRequired(data.items);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- getRequired(datas);
|
|
|
+ let requiredDatas = getRequired([], datas);
|
|
|
for (let data of requiredDatas) {
|
|
|
$form.append(getFormRow(data));
|
|
|
}
|
|
|
@@ -2094,6 +2126,9 @@ $(document).ready(function() {
|
|
|
|
|
|
// 新增单位工程
|
|
|
$("#add-tender-confirm").click(function() {
|
|
|
+ if (getAddPath() === addPath.p_e_t && !validRequiredData($('#infoStep'))) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (!validRequiredData($('#featureStep'))) {
|
|
|
return;
|
|
|
}
|