ken_nogi/Pleasanter/営業積算システム/docs/新・営業積算システム仕様書_分割/041_新・営業積算システム仕様書_別記資料スクリプト(11/28).md
Kenichiro NOGI ce58cb4be4 初回コミット: dev配下(NodeSrv/Pleasanter等)をGitea管理下に統合
GitHub(nextgroup2706/ken_nogi)は今後使わず自社Gitea運用に切替え。
NodeSrvは旧リポジトリの履歴を破棄しファイルのみ統合(Dokploy用サービスアカウントは
別途mygit-admin/NodeSrv.gitに履歴あり)。notepmエクスポート(12GB)とPleasanter
インストーラzip(208MB)はサイズが大きいため.gitignoreで除外。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 15:37:06 +09:00

4.5 KiB
Raw Permalink Blame History

別記資料 スクリプトScripts全文 1128

// ...(前ファイルからの続き)
        $('#Results_ClassIField').hide();
        $('#Results_DescriptionAField').hide();
    }
}

//----------------------------------------------------------------------
//Results_Class007(問合せ種別)の値に応じて、マトリックス以外/マトリックスそれぞれの入力欄を表示/非表示
//「マトリックス以外」→Class031-034,Description031,Class045,Class050を表示
//「マトリックス」→Class038,Class039,Class040を表示
//未選択の場合は両方非表示
$p.ex.otherTypeFieldNames = ['Class031', 'Class032', 'Class033', 'Class034', 'Description031', 'Class045', 'Class050'];
$p.ex.matrixTypeFieldNames = ['Class038', 'Class039', 'Class040'];
$p.ex.toggleInquiryTypeFields = function (value) {
    if (value == 'マトリックス以外') {
        $p.ex.otherTypeFieldNames.forEach(function (c) { $('#Results_' + c + 'Field').show(); });
        $p.ex.matrixTypeFieldNames.forEach(function (c) { $('#Results_' + c + 'Field').hide(); });
    } else if (value == 'マトリックス') {
        $p.ex.otherTypeFieldNames.forEach(function (c) { $('#Results_' + c + 'Field').hide(); });
        $p.ex.matrixTypeFieldNames.forEach(function (c) { $('#Results_' + c + 'Field').show(); });
    } else {
        $p.ex.otherTypeFieldNames.concat($p.ex.matrixTypeFieldNames).forEach(function (c) { $('#Results_' + c + 'Field').hide(); });
    }
}

//保存時、問合せ種別で選択されなかった側の項目に入力が残っていた場合はクリアする
$p.ex.clearInquiryTypeFields = function () {
    let type = $('#Results_Class007').val();
    let clearTargets;
    if (type == 'マトリックス以外') {
        clearTargets = $p.ex.matrixTypeFieldNames;
    } else if (type == 'マトリックス') {
        clearTargets = $p.ex.otherTypeFieldNames;
    } else {
        clearTargets = $p.ex.otherTypeFieldNames.concat($p.ex.matrixTypeFieldNames);
    }
    clearTargets.forEach(function (c) {
        let $el = $('#Results_' + c);
        if ($el.val()) $p.set($el, '');
    });
}

//問合せ種別に応じた必須項目チェック(プロセス「積算へ依頼」実行前にのみ呼ばれる)
//マトリックスの場合のnexthouseシリーズ(Class040)は、ブランド(Class004)が
//109101(nexthouse)または268122(nexthouse VALUE)のときのみ必須とする
$p.ex.checkInquiryTypeRequiredFields = function () {
    let type = $('#Results_Class007').val();
    let emptyLabels = [];

    if (!type) {
        emptyLabels.push('問合せ種別');
    } else if (type == 'マトリックス以外') {
        if (!$('#Results_Class031').val()) emptyLabels.push('メーカー');
        if (!$('#Results_Class032').val()) emptyLabels.push('商品名');
        if (!$('#Results_Class033').val()) emptyLabels.push('品番');
        if (!$('#Results_Class034').val()) emptyLabels.push('施工範囲・箇所');
    } else if (type == 'マトリックス') {
        if (!$('#Results_Class038').val()) emptyLabels.push('積算Ver.');
        if (!$('#Results_Class039').val()) emptyLabels.push('マトリックスサイズ');

        let class004 = $('#Results_Class004').val();
        if (nexthouseBrandCodes.includes(String(class004)) && !$('#Results_Class040').val()) {
            emptyLabels.push('nexthouseシリーズ');
        }
    }

    if (emptyLabels.length > 0) {
        window.alert(emptyLabels.join('、') + ' は必須項目です。入力してください。');
        return false;
    }
    return true;
}

//Class040(nexthouseシリーズ)のラジオボタン選択を解除する
$p.ex.clearClass040 = function () {
    $('input[name="Results_Class040"]').prop('checked', false);
    $p.set($('#Results_Class040'), '');
}

//Results_Class055(不備・追加)欄は項目削除に伴い不要化2026-08-01コメントアウト
/*
$p.toggleClass055Fields = function (value) {
    if (value == '1') {
        //表示
        $('#Results_Class056Field').show();
        $('#Results_Attachments055Field').show();
        $('#Results_Description055Field').show();
        $('#Attachments055_dlButton1').show(); //添付ファイルのダウンロードボタンを表示
        $('#Attachments055_dlButton2').show(); //添付ファイルのダウンロードボタンを表示
    } else {
        //非表示
        $('#Results_Class056Field').hide();
        $('#Results_Attachments055Field').hide();
// ...(次ファイルへ続く)