ken_nogi/Pleasanter/営業積算システム/docs/新・営業積算システム仕様書_分割/049_新・営業積算システム仕様書_別記資料スクリプト(19/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.2 KiB
Raw Permalink Blame History

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

// ...(前ファイルからの続き)
    let now = new Date();
    let nowStr = now.getFullYear() + '/' + (now.getMonth() + 1).toString().padStart(2, '0') + '/' + now.getDate().toString().padStart(2, '0') + ' ' +
        now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');

    let messageID = 'b' + now.getFullYear() + '' + (now.getMonth() + 1).toString().padStart(2, '0') + '' + now.getDate().toString().padStart(2, '0') + '' +
        now.getHours().toString().padStart(2, '0') + '' + now.getMinutes().toString().padStart(2, '0') + '' + now.getSeconds().toString().padStart(2, '0') + '-' + $p.userId();
    let num = parseFloat($('#Results_Num072').val() || 0) + 1;

    let data = {
        'messageID': messageID,
        'type': 'Answer',
        'num': toCircledNumber(num),
        'typeStr': '依頼者からの回答',
        'userName': userName,
        'messageTime': nowStr,
        'messageBody': message,
        'enabled': true,
    };

    //質疑回答 保管用項目に保存する
    let saveData = $('#Results_Description071').val();
    let shitsugiData;

    if (saveData == '') {
        shitsugiData = [];
        shitsugiData.push(data);
    } else {
        shitsugiData = JSON.parse(saveData);
        shitsugiData.push(data);
    }
    $p.set($('#Results_Description071'), JSON.stringify(shitsugiData));

    //送信者を記録
    $p.set($('#Results_Class075'), userName);

    //回答回数をカウントアップ
    $p.set($('#Results_Num072'), num);

    //質疑回答ステータスを「回答あり」に更新
    $p.set($('#Results_Class071'), '2');

    //回答ありチェックをオンにする
    $p.set($('#Results_Check072'), 'checked');

    //送信したら入力欄は削除する
    $p.set($('#Results_Description076'), '');
}

//営業積算課が回答内容を確認
$p.ex.confirmAnswerMessage = function () {
    let now = new Date();
    let nowStr = now.getFullYear() + '/' + (now.getMonth() + 1).toString().padStart(2, '0') + '/' + now.getDate().toString().padStart(2, '0');

    //営業積算確認日を設定
    $p.set($('#Results_Date074'), nowStr);

    //質疑回答ステータスを「営業積算確認済み」に更新
    $p.set($('#Results_Class071'), '3');
}

//質疑回答メッセージ履歴の表示
$p.ex.messageHistory = function () {
    //質疑回数と回答回数の参照
    let num071 = parseFloat($('#Results_Num071').val());
    let num072 = parseFloat($('#Results_Num072').val());

    if (num071 > 0 || num072 > 0) {
        //タブの色の変更要確認本サイトでは質疑応答セクションは_Tab-1FieldSetTab1に配置
        let shitsugi_Status = $('#Results_Class071').val();

        switch (shitsugi_Status) {
            case '': //質疑なし
            case '0': //質疑なし
                $('a[href="#FieldSetTab1"] label').text('質疑なし');
                $('a[href="#FieldSetTab1"]').css('background-color', 'blue');
                $('a[href="#FieldSetTab1"]').css('color', 'white');
                break;
            case '1': //質疑あり
                $('a[href="#FieldSetTab1"] label').text('質疑あり');
                $('a[href="#FieldSetTab1"]').css('background-color', 'red');
                $('a[href="#FieldSetTab1"]').css('color', 'white');
                break;
            case '2': //回答あり
                $('a[href="#FieldSetTab1"] label').text('回答あり');
                $('a[href="#FieldSetTab1"]').css('background-color', 'yellow');
                $('a[href="#FieldSetTab1"]').css('color', 'black');
                break;
            case '3': //営業積算確認済み
                $('a[href="#FieldSetTab1"] label').text('営業積算確認済み');
                $('a[href="#FieldSetTab1"]').css('background-color', 'green');
                $('a[href="#FieldSetTab1"]').css('color', 'white');
                break;
        }

        //メッセージテーブルがすでに存在したら削除
        if ($('#messageTable').length) {
            $('#messageTable').remove();
        }

        //削除ボタン削除
// ...(次ファイルへ続く)