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>
5.2 KiB
5.2 KiB
別記資料 スクリプト(Scripts)全文 (9/28)
/*
@config :
@filename : ${psFileBasename}
@title : 01_基本スクリプト
@name :
@siteIds :
@siteTitles : 問合せ内容管理
@disabled: false
*/
let pageLoading = 0;
//組織によって質疑応答の操作可否を分岐するフラグ(DeptId 25 = 営業積算課)
let eSekisanFlag = false;
let eSekisanDeptId = '25';
//dept25(営業積算課)所属者のUserId→氏名解決マップ(ログ文字列生成・タブ間ミラー表示用のみ)。
//ServerScript「Dept25所属者取得スクリプト」が画面表示前に取得済みのDept25Members(Hidden項目)から読み込む。
//選択肢自体はChoicesText側でUsersマスタからDeptId=25指定で動的取得している
let dept25UserNames = $('#Dept25Members').length > 0 ? JSON.parse($('#Dept25Members').val()) : {};
//UserIdを氏名に解決する。マップに無い値(旧レコードの氏名文字列そのまま等)はそのまま返す
function resolveUserName(val) {
if (!val) return val;
return dept25UserNames[val] || val;
}
//積算発注タブ(_Tab-3/FieldSetTab3)表示対象の組織コード:25(営業積算課),26(積算発注管理課),28(東京工務課),66(君津住宅工務課),36(愛知工務課)
let sekisanHachuViewDeptIds = ['25', '26', '28', '66', '36'];
//積算発注タブ(_Tab-3/FieldSetTab3)表示対象の個別ユーザーコード(上記部署に属さなくても表示許可する例外ユーザー):
//913(青地渉),987(中川真悟),1153(長谷川等志)
let sekisanHachuViewUserIds = ['913', '987', '1153'];
//ブランドコード(Results_Class004の値):109101=nexthouse, 268122=nexthouse VALUE
//マトリックスの場合のnexthouseシリーズ(Class040)必須判定でのみ使用
let nexthouseBrandCodes = ['109101', '268122'];
//----------------------------------------------------------------------
//初期処理
window.addEventListener('load', function () {
if (pageLoading == 0) {
console.log('Window load Event');
$p.ex.onLoad();
}
});
$p.events.on_editor_load = function () {
if (pageLoading == 0) {
console.log('on Editor Load');
$p.ex.onLoad();
}
}
//----------------------------------------------------------------------
$p.ex.onLoad = function () {
//ロード開始
pageLoading = 1;
//初期処理
$p.ex.init();
}
//初期処理
$p.ex.init = function () {
console.log('initialize...');
//営業積算課(DeptId 25)かどうかを判定
eSekisanFlag = ($p.deptId() == eSekisanDeptId);
//「営業積算」タブ(_Tab-2/FieldSetTab2)は営業積算課(Dept25)のみ閲覧・編集可。
//既定は01_共通スタイル.cssで非表示、Dept25のみここでbodyへクラス付与し表示化する
if (eSekisanFlag) {
$('body').addClass('show-sekisan-tab');
}
//積算発注タブ(_Tab-3/FieldSetTab3)表示対象:dept25(営業積算),26(積算発注),28,66,36(各エリア工務)またはuserId 913,987,1153
//(sekisanHachuViewDeptIds/sekisanHachuViewUserIdsはファイル先頭のグローバル変数宣言を参照)
let deptIdStr = $p.deptId().toString();
let userIdStr = $p.userId().toString();
if (sekisanHachuViewDeptIds.includes(deptIdStr) || sekisanHachuViewUserIds.includes(userIdStr)) {
$('body').addClass('show-sekisan-hachu-tab');
}
//新規作成時のみ処理
if ($p.action() == 'new') {
//①物件基本情報からのリンク経由でない場合(ClassZ空欄)は警告表示(保存自体はbefore_validateでブロック)
if (!$('#Results_ClassZ').val()) {
$p.ex.setMyMessage('new-status-red', '①物件基本情報から新規依頼を作成してください');
}
//祝日計算
$p.getHolidayTable();
} else {
//スタートアップメッセージ表示
//$p.ex.startupMessage();
$p.setSubNumber();
//質疑応答送信ボタン生成
$p.ex.messageSaveButton();
//受付ボタン生成
$p.ex.receiptButton();
//外部見積待ちへボタン生成
$p.ex.externalEstimateWaitButton();
//社内確認中へ・問い合わせ不要・差戻しボタン生成
$p.ex.statusRowButtons();
//遅延連絡ボタン生成
$p.ex.delayNoticeButton();
//一部回答ボタン生成(見積回答ボタンより先に生成し、見積回答をその直下に配置する)
$p.ex.partialAnswerButton();
//見積回答ボタン生成
$p.ex.estimateReplyButton();
//見積回答ファイル(Attachments101)一括DLボタン生成(Description062の下に配置)
$p.ex.estimateAttachmentsDLButton();
//「①物件基本情報へ戻る」ボタンをコマンド欄の一番左に移動
$p.ex.moveBackButtonToFirst();
//質疑応答メッセージ履歴表示
$p.ex.messageHistory();
}
//添付ファイル項目欄調整
let attachColumns = $('.control-attachments');
$.each(attachColumns, function (index, value) {
// ...(次ファイルへ続く)