|
|
@@ -50,7 +50,7 @@ function delayKeyup(callback) {
|
|
|
}
|
|
|
}, delayTime);
|
|
|
}
|
|
|
-
|
|
|
+const addPath = {p_e_t: 'p_e_t', e_t: 'e_t', t: 't'};
|
|
|
const projTreeObj = {
|
|
|
tree: null,
|
|
|
workBook: null,
|
|
|
@@ -1525,7 +1525,6 @@ const projTreeObj = {
|
|
|
this.refreshProjectData(projectID);
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
$(document).ready(function() {
|
|
|
$('#sideTab').find('li').click(function () {
|
|
|
//消除tooltip
|
|
|
@@ -1575,26 +1574,122 @@ $(document).ready(function() {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
//绑定新建建设项目、新建单项工程、新建文件夹、重命名Enter键事件
|
|
|
bindInputs($('#project-name'), $('#engineering-name'), $('#folder-name'), $('#rename-name'));
|
|
|
|
|
|
//绑定新建建设项目、新建单项工程、新建文件夹、重命名弹窗隐藏事件
|
|
|
bindModalsHidden($('#add-project-dialog'), $('#add-engineering-dialog'), $('#add-folder-dialog'), $('#rename-dialog'));
|
|
|
|
|
|
- // 新增建设项目点击
|
|
|
- /*$('#add-project-btn').click(function () {
|
|
|
- let selectedItem = projTreeObj.tree.selected;
|
|
|
- $('#add-project-dialog').modal('show');
|
|
|
- setTimeout(function () {
|
|
|
- $('#project-name')[0].focus();
|
|
|
- }, 300);
|
|
|
- });*/
|
|
|
-
|
|
|
// 新增建设项目操作
|
|
|
$('#addProjOk').click(function () {
|
|
|
+ if (!validRequiredData($('#projInfoStep'))) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (infoData && Array.isArray(infoData)) {
|
|
|
+ updateRequiredData($('#projInfoStep'), infoData);
|
|
|
+ }
|
|
|
AddProject();
|
|
|
});
|
|
|
+ //新建建设项目-下一步
|
|
|
+ $('#add-proj-next').click(function () {
|
|
|
+ let name = $('#project-name').val().trim();
|
|
|
+ if (!name) {
|
|
|
+ setDangerInfo($('#project-name-info'), '请填写建设项目名称');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (!validProjectName(name)) {
|
|
|
+ setDangerInfo($('#project-name-info'), `已存在“${name}”`);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //建设项目基本信息
|
|
|
+ showProjInfoStep();
|
|
|
+ });
|
|
|
+ //新建建设项目-上一步
|
|
|
+ $('#add-proj-prev').click(function () {
|
|
|
+ setDangerInfo($('#project-name-info'), '', false);
|
|
|
+ showProjFirstStep();
|
|
|
+ });
|
|
|
+ //显示新建建设项目第一步内容
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ //显示新建建设项目-建设项目基本信息内容
|
|
|
+ async function showProjInfoStep() {
|
|
|
+ $('#add-project-dialog').find('.modal-title').html('建设项目基本信息');
|
|
|
+ $('#projFirstStep').hide();
|
|
|
+ $('#add-proj-next').hide();
|
|
|
+ $('#add-proj-prev').show();
|
|
|
+ $('#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');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //新建建设项目、新建单项工程、新建文件夹、重命名弹窗隐藏事件
|
|
|
+ function bindModalsHidden(projDialog, engDialog, folderDialog, renameDialog){
|
|
|
+ projDialog.on('hidden.bs.modal', function () {
|
|
|
+ setDangerInfo($('#project-name-info'), '', false);
|
|
|
+ $('#project-name').val('');
|
|
|
+ });
|
|
|
+ projDialog.on('show.bs.modal', function () {
|
|
|
+ infoData = null;
|
|
|
+ showProjFirstStep();
|
|
|
+ });
|
|
|
+ engDialog.on('hidden.bs.modal', function () {
|
|
|
+ setDangerInfo($('#engineering-name-info'), '', false);
|
|
|
+ $('#engineering-name').val('');
|
|
|
+ });
|
|
|
+ folderDialog.on('hidden.bs.modal', function () {
|
|
|
+ setDangerInfo($('#folder-name-info'), '', false);
|
|
|
+ $('#folder-name').val('');
|
|
|
+ });
|
|
|
+ renameDialog.on('hidden.bs.modal', function () {
|
|
|
+ setDangerInfo($('#rename-name-info'), '', false);
|
|
|
+ $('#rename-name').val('');
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
+ //绑定新建建设项目、新建单项工程、新建文件夹、重命名回车键功能
|
|
|
+ function bindInputs(projInput, engInput, foldInput, renameInput){
|
|
|
+ projInput.bind('keypress', function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $('#add-proj-next').click();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ engInput.bind('keypress', function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $('#add-engineering-confirm').click();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ foldInput.bind('keypress', function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $('#add-folder-confirm').click();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ renameInput.bind('keypress', function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $('#rename-confirm').click();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
// 选择计价方式
|
|
|
$("input[name='valuation_type']").click(function() {
|
|
|
let type = $(this).val();
|
|
|
@@ -1632,34 +1727,11 @@ $(document).ready(function() {
|
|
|
});
|
|
|
|
|
|
|
|
|
- // 新增单项项目点击
|
|
|
- /* $("#add-engineering-btn").click(function() {
|
|
|
- let selectedItem = projTreeObj.tree.selected;
|
|
|
- try {
|
|
|
- if(selectedItem !== null && selectedItem.data.projType !== projectType.folder){
|
|
|
- $("#add-engineering-dialog").modal("show");
|
|
|
- setTimeout(function () {
|
|
|
- $('#engineering-name')[0].focus();
|
|
|
- }, 300);
|
|
|
- }
|
|
|
-
|
|
|
- } catch (error) {
|
|
|
- alert(error);
|
|
|
- }
|
|
|
- });*/
|
|
|
-
|
|
|
// 新增单项工程操作
|
|
|
$("#add-engineering-confirm").click(function() {
|
|
|
AddEngineering();
|
|
|
});
|
|
|
|
|
|
- // 新增单位工程点击
|
|
|
- /*$("#add-tender-btn").click(function() {
|
|
|
- //弹出新建单位工程之前,判断当前使用版本,且当前使用单位工程数是否已到最大值
|
|
|
- let selectedItem = projTreeObj.tree.selected;
|
|
|
- $("#add-tender-dialog").modal("show");
|
|
|
- });*/
|
|
|
-
|
|
|
//新建单位工程-建设项目提示
|
|
|
$('#poj-name').keyup(function () {
|
|
|
let pojName = $('#poj-name').val().trim();
|
|
|
@@ -1754,10 +1826,12 @@ $(document).ready(function() {
|
|
|
$('#regionDiv').find('select').append($opt);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
// 新增单位工程弹层改变
|
|
|
$('#add-tender-dialog').on('show.bs.modal', function() {
|
|
|
//clear info
|
|
|
+ curStep = 1; //当前在第几步
|
|
|
+ infoData = null; //建设项目基本信息数据
|
|
|
+ featureData = null; //工程特征数据
|
|
|
$('#poj-name-info').hide();
|
|
|
$('#eng-name-info').hide();
|
|
|
$('#tender-name-info').hide();
|
|
|
@@ -1784,47 +1858,251 @@ $(document).ready(function() {
|
|
|
$('#tender-name')[0].focus();
|
|
|
}, 300);
|
|
|
});
|
|
|
-
|
|
|
//新建单位工程-下一步
|
|
|
- $('#add-tender-next').click(function() {
|
|
|
- let projName = $("#poj-name").val().trim();
|
|
|
- if(projName === ''){
|
|
|
- replaceClass($('#poj-name-info'), 'text-info', 'text-danger');
|
|
|
- setDangerInfo($('#poj-name-info'), '请填写建设项目名称');
|
|
|
- return false;
|
|
|
- }
|
|
|
- let engName = $("#eng-name").val().trim();
|
|
|
- if(engName === ''){
|
|
|
- replaceClass($('#eng-name-info'), 'text-info', 'text-danger');
|
|
|
- setDangerInfo($('#eng-name-info'), '请填写单项工程名称');
|
|
|
- return false;
|
|
|
- }
|
|
|
+ $('#add-tender-next').click(async function() {
|
|
|
+ if (curStep === 1) {
|
|
|
+ let projName = $("#poj-name").val().trim();
|
|
|
+ if(projName === ''){
|
|
|
+ replaceClass($('#poj-name-info'), 'text-info', 'text-danger');
|
|
|
+ setDangerInfo($('#poj-name-info'), '请填写建设项目名称');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let engName = $("#eng-name").val().trim();
|
|
|
+ if(engName === ''){
|
|
|
+ replaceClass($('#eng-name-info'), 'text-info', 'text-danger');
|
|
|
+ setDangerInfo($('#eng-name-info'), '请填写单项工程名称');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- let tenderName = $('#tender-name').val();
|
|
|
- if (tenderName === '') {
|
|
|
- setDangerInfo($('#tender-name-info'), '请填写单位工程名称');
|
|
|
- return false;
|
|
|
+ let tenderName = $('#tender-name').val();
|
|
|
+ if (tenderName === '') {
|
|
|
+ setDangerInfo($('#tender-name-info'), '请填写单位工程名称');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let selected = projTreeObj.tree.selected;
|
|
|
+ let isExist = hasTender(selected, projName, engName, tenderName);
|
|
|
+ if (isExist) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ showSecondStep();
|
|
|
+ } else if (curStep === 2) {
|
|
|
+ let valuation = $("#valuation").val();
|
|
|
+ if(!valuation || valuation === ''){
|
|
|
+ setDangerInfo($('#valuation-info'), '请选择计价规则');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ let engineeringName = $("#tender-engineering").val();
|
|
|
+ if (!engineeringName || engineeringName === '') {
|
|
|
+ setDangerInfo($('#engineering-info'), '请选择工程专业');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let feeName = $('#tender-feeStandard').val();
|
|
|
+ if(!feeName || feeName === ''){
|
|
|
+ setDangerInfo($('#feeStandard-info'), '请选择费用标准');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ let taxType = $("#taxType").val();
|
|
|
+ let IDGroup = $("#tender-calcProgram").val();
|
|
|
+ if (!IDGroup || IDGroup === '') {
|
|
|
+ setDangerInfo($('#calcProgram-info'), '请选择计算程序');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let path = getAddPath();
|
|
|
+ if (path === addPath.p_e_t) {
|
|
|
+ showInfoStep();
|
|
|
+ } else {
|
|
|
+ showFeatureStep();
|
|
|
+ }
|
|
|
+ } else if (curStep === 3) {
|
|
|
+ if (!validRequiredData($('#infoStep'))) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ showFeatureStep();
|
|
|
}
|
|
|
- $('#firstStep').hide();
|
|
|
- $('#secondStep').show();
|
|
|
- $(this).hide();
|
|
|
- $('#add-tender-prev').show();
|
|
|
- $('#add-tender-confirm').show();
|
|
|
- $('#add-tender-cancel').show();
|
|
|
+ curStep++;
|
|
|
});
|
|
|
+ //新建单位工程-上一步
|
|
|
+ $('#add-tender-prev').click(function () {
|
|
|
+ if (curStep === 2) {
|
|
|
+ showFirstStep();
|
|
|
+ } else if (curStep === 3) { //建设项目基本信息或工程特征
|
|
|
+ showSecondStep();
|
|
|
+ } else if (curStep === 4) { //工程特征
|
|
|
+ $('#featureStep').hide();
|
|
|
+ $('#add-tender-confirm').hide();
|
|
|
+ $('#add-tender-next').show();
|
|
|
+ $('#infoStep').show();
|
|
|
+ }
|
|
|
+ curStep--;
|
|
|
+ });
|
|
|
+ //显示第一步的内容
|
|
|
function showFirstStep() {
|
|
|
+ $('#add-tender-title').html(`<i class="fa fa-sticky-note-o"></i>新建单位工程`);
|
|
|
+ $('#featureStep').hide();
|
|
|
+ $('#infoStep').hide();
|
|
|
$('#secondStep').hide();
|
|
|
+ $('#tender-required-warn').hide();
|
|
|
$('#firstStep').show();
|
|
|
$('#add-tender-prev').hide();
|
|
|
$('#add-tender-next').show();
|
|
|
$('#add-tender-confirm').hide();
|
|
|
$('#add-tender-cancel').hide();
|
|
|
}
|
|
|
- //新建单位工程-上一步
|
|
|
- $('#add-tender-prev').click(showFirstStep);
|
|
|
+ //显示第二步内容
|
|
|
+ function showSecondStep() {
|
|
|
+ $('#add-tender-title').html(`<i class="fa fa-sticky-note-o"></i>新建单位工程`);
|
|
|
+ $('#add-tender-confirm').hide();
|
|
|
+ $('#featureStep').hide();
|
|
|
+ $('#infoStep').hide();
|
|
|
+ $('#firstStep').hide();
|
|
|
+ $('#tender-required-warn').hide();
|
|
|
+ $('#secondStep').show();
|
|
|
+ $('#add-tender-prev').show();
|
|
|
+ $('#add-tender-next').show();
|
|
|
+ $('#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');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //显示新建单位工程-工厂特征内容
|
|
|
+ async function showFeatureStep() {
|
|
|
+ $('#add-tender-next').hide();
|
|
|
+ $('#add-tender-confirm').show();
|
|
|
+ $('#add-tender-title').html('工程特征');
|
|
|
+ $('#secondStep').hide();
|
|
|
+ $('#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');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //显示必填信息(建设项目基本信息、单位工程工程特征)
|
|
|
+ //必填信息:标记了必填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);
|
|
|
+ for (let data of requiredDatas) {
|
|
|
+ $form.append(getFormRow(data));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //根据基本信息、工程特征数据获取对应节点
|
|
|
+ function getFormRow(data) {
|
|
|
+ let cellType = data.cellType ? data.cellType : 'text';
|
|
|
+ let $label = $(`<label for="staticEmail" class="col-3 col-form-label col-form-label-sm">${data.dispName}</label>`),
|
|
|
+ $cell;
|
|
|
+ if (cellType === 'comboBox') {
|
|
|
+ let opts = data.options.split('@');
|
|
|
+ $cell = $(`<select name="${data.key}" class="form-control form-control-sm"><option>请选择</option></select>`);
|
|
|
+ for (let opt of opts) {
|
|
|
+ $cell.append($(`<option value="${opt}">${opt}</option>`));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $cell = $(`<input type="${cellType}" ${cellType === 'number' ? 'min="0"' : ''} name="${data.key}" class="form-control form-control-sm" placeholder="请输入">`);
|
|
|
+ }
|
|
|
+ let $row = $(`<div class="form-group row"></div>`),
|
|
|
+ $col = $(`<div class="col"></div>`);
|
|
|
+ $col.append($cell);
|
|
|
+ $row.append($label);
|
|
|
+ $row.append($col);
|
|
|
+ return $row;
|
|
|
+ }
|
|
|
+
|
|
|
+ //验证必填信息
|
|
|
+ function validRequiredData($form) {
|
|
|
+ let eles = $form.find('input, select');
|
|
|
+ for (let ele of eles) {
|
|
|
+ let v = $(ele).val().trim();
|
|
|
+ if (!v || v === '请选择') {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据用户填的值,更新基本信息、工程特征数据
|
|
|
+ function updateRequiredData($form, fullData) {
|
|
|
+ let eles = $form.find('input, select');
|
|
|
+ for (let ele of eles) {
|
|
|
+ let key = $(ele).attr('name');
|
|
|
+ if (!key) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ let data = findRequiredByKey(key, fullData);
|
|
|
+ if (data) {
|
|
|
+ data.value = $(ele).val();
|
|
|
+ if (data.cellType === 'date') {
|
|
|
+ data.value = data.value.replace('/\//g', '-');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //根据key获取基本信息/工程特征数据
|
|
|
+ function findRequiredByKey(key, data) {
|
|
|
+ function findItem(k, data) {
|
|
|
+ for (let d of data) {
|
|
|
+ if (d.key === k) {
|
|
|
+ return d;
|
|
|
+ }
|
|
|
+ if (d.items && d.items.length > 0) {
|
|
|
+ let target = findItem(k, d.items);
|
|
|
+ if (target) {
|
|
|
+ return target;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return findItem(key, data);
|
|
|
+ }
|
|
|
|
|
|
// 新增单位工程
|
|
|
$("#add-tender-confirm").click(function() {
|
|
|
+ if (!validRequiredData($('#featureStep'))) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (infoData && Array.isArray(infoData)) {
|
|
|
+ updateRequiredData($('#infoStep'), infoData);
|
|
|
+ }
|
|
|
+ if (featureData && Array.isArray(featureData)) {
|
|
|
+ updateRequiredData($('#featureStep'), featureData);
|
|
|
+ }
|
|
|
let suc = AddTender();
|
|
|
if(suc === false){
|
|
|
$('#add-tender-confirm').removeClass('disabled');
|
|
|
@@ -2018,6 +2296,7 @@ $(document).ready(function() {
|
|
|
});
|
|
|
|
|
|
function changeEngineering(){
|
|
|
+ featureData = null;
|
|
|
$('#engineering-info').hide();
|
|
|
initFeeStandardSel();
|
|
|
}
|
|
|
@@ -2063,6 +2342,7 @@ $(document).ready(function() {
|
|
|
}
|
|
|
|
|
|
function changeFeeStandard() {
|
|
|
+ featureData = null;
|
|
|
let currentEngLib = getEngineeringLib($('#tender-engineering').val() + $('#tender-feeStandard').val(), getEngineeringList());
|
|
|
changeFeeRate(currentEngLib);
|
|
|
setTaxGroupHtml();
|
|
|
@@ -2241,70 +2521,24 @@ function AddProject() {
|
|
|
(3)、当前定位在建设项目,新建建设项目为其后兄弟。
|
|
|
(4)、当前定位在单项工程或单位工程,新建项目为当前所属建设项目的后兄弟。
|
|
|
* */
|
|
|
+ let property = {basicInformation: infoData ? infoData : []};
|
|
|
if(!selectedItem){
|
|
|
- AddSiblingsItem(selectedItem, name, null, projectType.project, existCallback, sucCallback);
|
|
|
+ AddSiblingsItem(selectedItem, name, property, projectType.project, existCallback, sucCallback);
|
|
|
}
|
|
|
else {
|
|
|
if(selectedItem.data.projType === projectType.project){
|
|
|
- AddSiblingsItem(selectedItem, name, null, projectType.project, existCallback, sucCallback);
|
|
|
+ AddSiblingsItem(selectedItem, name, property, projectType.project, existCallback, sucCallback);
|
|
|
}
|
|
|
else if(selectedItem.data.projType === projectType.engineering || selectedItem.data.projType === projectType.tender){
|
|
|
let proj = selectedItem.parent.data.projType === projectType.project ? selectedItem.parent : selectedItem.parent.parent;
|
|
|
- AddSiblingsItem(proj, name, null, projectType.project, existCallback, sucCallback);
|
|
|
+ AddSiblingsItem(proj, name, property, projectType.project, existCallback, sucCallback);
|
|
|
}
|
|
|
else if(selectedItem.data.projType === projectType.folder){
|
|
|
- AddChildrenItem(selectedItem, name, null, projectType.project, existCallback, sucCallback);
|
|
|
+ AddChildrenItem(selectedItem, name, property, projectType.project, existCallback, sucCallback);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//新建建设项目、新建单项工程、新建文件夹、重命名弹窗隐藏事件
|
|
|
-function bindModalsHidden(projDialog, engDialog, folderDialog, renameDialog){
|
|
|
- projDialog.on('hidden.bs.modal', function () {
|
|
|
- setDangerInfo($('#project-name-info'), '', false);
|
|
|
- $('#project-name').val('');
|
|
|
- });
|
|
|
- engDialog.on('hidden.bs.modal', function () {
|
|
|
- setDangerInfo($('#engineering-name-info'), '', false);
|
|
|
- $('#engineering-name').val('');
|
|
|
- });
|
|
|
- folderDialog.on('hidden.bs.modal', function () {
|
|
|
- setDangerInfo($('#folder-name-info'), '', false);
|
|
|
- $('#folder-name').val('');
|
|
|
- });
|
|
|
- renameDialog.on('hidden.bs.modal', function () {
|
|
|
- setDangerInfo($('#rename-name-info'), '', false);
|
|
|
- $('#rename-name').val('');
|
|
|
- });
|
|
|
-}
|
|
|
-
|
|
|
-//绑定新建建设项目、新建单项工程、新建文件夹、重命名回车键功能
|
|
|
-function bindInputs(projInput, engInput, foldInput, renameInput){
|
|
|
- projInput.bind('keypress', function (event) {
|
|
|
- if(event.keyCode === 13){
|
|
|
- $('#addProjOk').click();
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
- engInput.bind('keypress', function (event) {
|
|
|
- if(event.keyCode === 13){
|
|
|
- $('#add-engineering-confirm').click();
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
- foldInput.bind('keypress', function (event) {
|
|
|
- if(event.keyCode === 13){
|
|
|
- $('#add-folder-confirm').click();
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
- renameInput.bind('keypress', function (event) {
|
|
|
- if(event.keyCode === 13){
|
|
|
- $('#rename-confirm').click();
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
-}
|
|
|
//新建建设项目、单项工程、文件夹、重命名提示(文本改变,暂时不需要)
|
|
|
function getChangedFunc(input, nameInfo){
|
|
|
return function () {
|
|
|
@@ -2340,8 +2574,26 @@ function setInitSummaryData(data) {
|
|
|
data.perCost = '';
|
|
|
}
|
|
|
|
|
|
+function getAddPath() {
|
|
|
+ let projName = $("#poj-name").val().trim(),
|
|
|
+ engName = $("#eng-name").val().trim(),
|
|
|
+ selected = projTreeObj.tree.selected;
|
|
|
+ let tempProjs = getProjs(selected);
|
|
|
+ let tempProj = getNodeByName(projName, tempProjs);
|
|
|
+ let tempEng;
|
|
|
+ if(tempProj){
|
|
|
+ tempEng = getNodeByName(engName, tempProj.children);
|
|
|
+ if(tempEng){
|
|
|
+ return addPath.t;
|
|
|
+ } else {
|
|
|
+ return addPath.e_t
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return addPath.p_e_t;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
function AddTenderItems(selected, projName, engName, tenderName, property, callback){
|
|
|
- const addPath = {p_e_t: 'p_e_t', e_t: 'e_t', t: 't'};
|
|
|
let path, updateDatas = [];
|
|
|
let tempProjs = getProjs(selected);
|
|
|
let tempProj = getNodeByName(projName, tempProjs);
|
|
|
@@ -2378,7 +2630,7 @@ function AddTenderItems(selected, projName, engName, tenderName, property, callb
|
|
|
pre = selectedProj;
|
|
|
next = selectedProj ? selectedProj.nextSibling : projTreeObj.tree.firstNode();
|
|
|
}
|
|
|
- let updateProjs = GetUpdateData(pre, parent, next, projName, null, projID, {updateType: 'new', projectType: projectType.project});
|
|
|
+ let updateProjs = GetUpdateData(pre, parent, next, projName, {basicInformation: infoData ? infoData : []}, projID, {updateType: 'new', projectType: projectType.project});
|
|
|
let updateEng = {updateType: 'new', updateData: {ID: engID, ParentID: projID, NextSiblingID: -1, name: engName, projType: projectType.engineering}};
|
|
|
property.rootProjectID = projID;
|
|
|
let updateTender = {updateType: 'new', updateData: {ID: tenderID, ParentID: engID, NextSiblingID: -1, shareInfo: [], name: tenderName, projType: projectType.tender, property: property}};
|
|
|
@@ -2618,6 +2870,21 @@ function getNodeByName(name, nodes){
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+//建设项目名称是否有效的
|
|
|
+function validProjectName(name) {
|
|
|
+ let selected = projTreeObj.tree.selected,
|
|
|
+ parent = null;
|
|
|
+ if (selected && selected.data.projType === projectType.folder) {
|
|
|
+ parent = selected ? selected : projTreeObj.tree._root;
|
|
|
+ } else {
|
|
|
+ if ([projectType.tender, projectType.engineering].includes(selected.data.projType)) {
|
|
|
+ selected = selected.parent.data.projType === projectType.project ? selected.parent : selected.parent.parent;
|
|
|
+ }
|
|
|
+ parent = selected ? selected.parent : projTreeObj.tree._root;
|
|
|
+ }
|
|
|
+ return !existName(name, parent.children);
|
|
|
+}
|
|
|
+
|
|
|
//同级是否重名,文件夹与建设项目可以同名
|
|
|
function existName(name , nodes, projType = null){
|
|
|
for(let i = 0, len = nodes.length; i < len; i++){
|
|
|
@@ -2925,10 +3192,6 @@ function AddTender() {
|
|
|
}
|
|
|
|
|
|
let taxType = $("#taxType").val();
|
|
|
- /*if(!taxType || taxType ===""){
|
|
|
- return false;
|
|
|
- }*/
|
|
|
-
|
|
|
let IDGroup = $("#tender-calcProgram").val();
|
|
|
if (!IDGroup || IDGroup === '') {
|
|
|
setDangerInfo($('#calcProgram-info'), '请选择计算程序');
|
|
|
@@ -3005,7 +3268,8 @@ function AddTender() {
|
|
|
templateLibID:templateLibID,
|
|
|
colLibID:colLibID,
|
|
|
featureLibID:featureLibID,
|
|
|
- region: region
|
|
|
+ region: region,
|
|
|
+ projectFeature: featureData ? featureData : []
|
|
|
};
|
|
|
AddTenderItems(selectedItem, projName, engName, tenderName, tenderInfo, callback);
|
|
|
|