登録件数
0
交渉中
0
発行済
0
類似現場 絞り込み
▼ 展開
基準値と許容範囲を入力(面積は±%誤差)
±件
±階
±%
±%
±%
| 現場名 | 見積番号 | 工期 | 階 | 戸 | 受注決定 | 概算金額 | 提出見積 | 原価設定 | 添付 | 操作 |
|---|
| 業者名 | 建設業許可証 | 協力会 | インボイス番号 | 操作 |
|---|
| 氏名 | 社員番号 | 部署 | 役職 | メールアドレス | 電話番号 | PW | システムロール | 操作 |
|---|
| 部署名 | 備考 | 操作 |
|---|
| 役職名 | 備考 | 操作 |
|---|
基幹システム
部署と氏名を選択してログイン
パスワードリセット
管理者(admin権限者)にパスワードのリセットを依頼してください。
管理者は「設定 → ユーザー管理」からパスワードを変更できます。
管理者(admin権限者)にパスワードのリセットを依頼してください。
管理者は「設定 → ユーザー管理」からパスワードを変更できます。
管理者リカバリー(全員がログインできない場合)
初回管理者設定
管理者アカウントを作成します。
管理者アカウントを作成します。
部署や役職はログイン後にマスタ画面から登録できます。
接続中...
ユーザー管理
登録ユーザーとロールを管理します
ロール別権限設定
従業員 新規登録
ログイン設定
部署 新規登録
役職 新規登録
🗑 削除の確認
⚠ この操作は取り消せません。本当に削除しますか?
注文書 新規登録
登録区分(任意)
工期
金額
現場 新規登録
工期・規模
面積
㎡
㎡
㎡
受注金額
予算コード 原価金額
業者 新規登録
設定・Supabase・LINE WORKS
システム設定
接続情報
ログイン中:
権限管理
⚪ 未接続(ローカル保存モード)
📋 Supabase初期設定(展開)
1
supabase.com で無料アカウント作成・プロジェクト作成
2
SQL Editorで実行:
CREATE TABLE app_data(id TEXT PRIMARY KEY DEFAULT 'main',data JSONB,updated_at TIMESTAMPTZ DEFAULT NOW()); ALTER TABLE app_data ENABLE ROW LEVEL SECURITY; CREATE POLICY "allow_all" ON app_data FOR ALL USING(true) WITH CHECK(true);
3
Settings → API から Project URL と anon key をコピー → 保存
LINE WORKS 連携
📌 Cloudflare Workers Proxy経由で送達確認できます。
Proxy未設定時はno-corsで送信(送達確認なし)。
Proxy未設定時はno-corsで送信(送達確認なし)。
🛠 Cloudflare Workers 設定(展開)
1
cloudflare.com → Workers & Pages → Create Worker
2
以下のコードを貼り付けDeploy:
export default {
async fetch(req) {
const cors = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type'
};
// CORS preflight
if (req.method === 'OPTIONS') {
return new Response(null, { headers: cors });
}
// GET: 動作確認用(ブラウザ直アクセスでも正常応答)
if (req.method === 'GET') {
return new Response(
JSON.stringify({ ok: true, running: true, message: 'LINE WORKS Proxy is running' }),
{ headers: { 'Content-Type': 'application/json', ...cors } }
);
}
// POST: JSONボディを解析
let body;
try {
body = await req.json();
} catch (e) {
return new Response(
JSON.stringify({ ok: false, error: 'JSON parse error: ' + e.message }),
{ status: 400, headers: { 'Content-Type': 'application/json', ...cors } }
);
}
const { webhookUrl, message } = body;
// 接続テスト用(__test__ または空)
if (!webhookUrl || webhookUrl === '__test__') {
return new Response(
JSON.stringify({ ok: true, status: 200, test: true }),
{ headers: { 'Content-Type': 'application/json', ...cors } }
);
}
// LINE WORKS に転送 ★ 正しいフォーマット: { content: { type, text } }
try {
const res = await fetch(webhookUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ body: { text: message } }) // ★ LINE WORKS 正しいフォーマット
});
return new Response(
JSON.stringify({ ok: res.ok, status: res.status }),
{ headers: { 'Content-Type': 'application/json', ...cors } }
);
} catch (e) {
return new Response(
JSON.stringify({ ok: false, error: e.message }),
{ status: 500, headers: { 'Content-Type': 'application/json', ...cors } }
);
}
}
};3
Worker URL(https://xxxx.workers.dev)を下記に入力
📡 エラー監視: LINE WORKS URLが設定されていると、システムエラーが発生した際に自動でチャンネルへ通知されます(同一エラーは60秒/1回、最大10件/セッション)。
データバックアップ
全データを JSON ファイルとしてエクスポート/インポートします。事故時の復旧手段としてご利用ください。
リストアは管理者のみ実行可能です。リストア時は現在のデータがすべて上書きされます。
リストアは管理者のみ実行可能です。リストア時は現在のデータがすべて上書きされます。
Supabaseスナップショット
Supabaseに版管理されたスナップショットを保存します。手動・自動(リストア前・週1)の3種類があり、任意の時点へワンクリックで復元可能です。
📋 初回セットアップSQL(展開)
1
Supabase SQL Editorで実行:
CREATE TABLE app_backups ( id BIGSERIAL PRIMARY KEY, label TEXT, kind TEXT DEFAULT 'manual', data JSONB NOT NULL, created_at TIMESTAMPTZ DEFAULT NOW(), created_by TEXT, size_bytes BIGINT ); ALTER TABLE app_backups ENABLE ROW LEVEL SECURITY; CREATE POLICY "allow_all" ON app_backups FOR ALL USING(true) WITH CHECK(true); CREATE INDEX idx_backups_created ON app_backups(created_at DESC);
📚 Supabaseスナップショット一覧
最新50件まで表示。各スナップショットから任意の時点へ復元できます。復元前に現在の状態を自動保存します。
読み込み中…
現場 添付ファイル
PDF・画像・Excel等 最大10MB(セッション中のみ保持)
登録済みファイル
見積書・添付ファイル
PDF・画像・Excel等 最大10MB(セッション中のみ保持)
登録済みファイル