| @@ -0,0 +1,12 @@ | |||||
| { | |||||
| "app": "", | |||||
| "scope": "ALL", | |||||
| "desktop": { | |||||
| "js": ["dist/定期駐車場マスタ.js"], | |||||
| "css":[] | |||||
| }, | |||||
| "mobile": { | |||||
| "js": [], | |||||
| "css":[] | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,30 @@ | |||||
| import { apptemplate } from "@/common/app-template"; | |||||
| import { setHeaderButton } from "@/common/header-button"; | |||||
| import { KintoneEvent } from "@/common/kintone-event"; | |||||
| import { 契約状況同期 } from "@/logic/契約状況同期"; | |||||
| import { ShowConfirmDialog, SuccessDialog } from "@/middleware/swal"; | |||||
| import { 定期駐車場マスタ } from "@/types/定期駐車場マスタ"; | |||||
| (() => { | |||||
| console.info("script build at " + process.env.BUILD_TIME); | |||||
| kintone.events.on(KintoneEvent.詳細.レコード詳細画面を表示した後, (event) => { | |||||
| const record: 定期駐車場マスタ = event.record; | |||||
| setHeaderButton( | |||||
| "契約状況同期", | |||||
| apptemplate(async () => { | |||||
| const confirm = await ShowConfirmDialog({ | |||||
| text: "契約状況を同期しますか", | |||||
| }); | |||||
| if (!confirm.isConfirmed) return; | |||||
| await 契約状況同期(record.駐車場名.value); | |||||
| await SuccessDialog.fire(); | |||||
| location.reload(); | |||||
| }) | |||||
| ); | |||||
| }); | |||||
| })(); | |||||
| @@ -1,4 +1,5 @@ | |||||
| import { AppID } from "@/common/appids"; | import { AppID } from "@/common/appids"; | ||||
| import { now } from "@/common/datetime"; | |||||
| import { makeRecordData } from "@/common/rest-api-client"; | import { makeRecordData } from "@/common/rest-api-client"; | ||||
| import { BulkRequest } from "@/rest-api/bulk"; | import { BulkRequest } from "@/rest-api/bulk"; | ||||
| import { get車室契約情報一覧 } from "@/rest-api/車室契約情報"; | import { get車室契約情報一覧 } from "@/rest-api/車室契約情報"; | ||||
| @@ -15,7 +16,7 @@ const 車室情報契約項目同期 = async (駐車場名: string, 車室番号 | |||||
| const 契約一覧 = await get車室契約情報一覧({ | const 契約一覧 = await get車室契約情報一覧({ | ||||
| 駐車場名, | 駐車場名, | ||||
| 車室番号, | 車室番号, | ||||
| 契約中のみ: true, | |||||
| 契約中のみ: now(), | |||||
| }); | }); | ||||
| const 車室一覧 = await get車室情報一覧({ | const 車室一覧 = await get車室情報一覧({ | ||||
| @@ -23,8 +24,6 @@ const 車室情報契約項目同期 = async (駐車場名: string, 車室番号 | |||||
| 車室番号, | 車室番号, | ||||
| }); | }); | ||||
| console.log({ 契約一覧, 車室一覧 }); | |||||
| 車室一覧.forEach((車室) => { | 車室一覧.forEach((車室) => { | ||||
| const 契約 = 契約一覧.find((c) => c.車室番号.value === 車室.車室番号.value); | const 契約 = 契約一覧.find((c) => c.車室番号.value === 車室.車室番号.value); | ||||
| @@ -0,0 +1,39 @@ | |||||
| import { KintoneRecordField } from "@kintone/rest-api-client"; | |||||
| import { AppRecord } from "."; | |||||
| const F = {} as const; | |||||
| // export const 支払種別Dropdown = { | |||||
| // 定期料金: "定期料金", | |||||
| // 保証金: "保証金", | |||||
| // 証明書郵送代: "証明書郵送代", | |||||
| // 事務手数料: "事務手数料", | |||||
| // 延滞金: "延滞金", | |||||
| // 余剰金: "余剰金", | |||||
| // } as const; | |||||
| // export type 支払種別Dropdown = | |||||
| // (typeof 支払種別Dropdown)[keyof typeof 支払種別Dropdown]; | |||||
| export const 自動承認グループフィールド名 = F; | |||||
| export type 対象車室番号行データ = { | |||||
| 割当順: KintoneRecordField.Number; | |||||
| 車室番号: KintoneRecordField.SingleLineText; | |||||
| 利用中: KintoneRecordField.CheckBox; | |||||
| 自動承認スキップ: KintoneRecordField.CheckBox; | |||||
| }; | |||||
| export type 定期駐車場マスタ = AppRecord & { | |||||
| 備考: KintoneRecordField.MultiLineText; | |||||
| インボイス関連のメール表記: KintoneRecordField.RadioButton; | |||||
| 当月解約いつまで可能: KintoneRecordField.RadioButton; | |||||
| 状況: KintoneRecordField.Dropdown; | |||||
| 車室管理方法: KintoneRecordField.RadioButton; | |||||
| 収容台数: KintoneRecordField.SingleLineText; | |||||
| 当月解約申請: KintoneRecordField.RadioButton; | |||||
| 駐車場名: KintoneRecordField.SingleLineText; | |||||
| 解約可能日: KintoneRecordField.CheckBox; | |||||
| 位置図: KintoneRecordField.File; | |||||
| 場内図: KintoneRecordField.File; | |||||
| }; | |||||