| @@ -34,7 +34,7 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||||
| } | } | ||||
| if (record.初回入金予定_保証金入金予定.value) { | if (record.初回入金予定_保証金入金予定.value) { | ||||
| false; | |||||
| return false; | |||||
| } | } | ||||
| return true; | return true; | ||||
| @@ -31,8 +31,8 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||||
| return false; | return false; | ||||
| } | } | ||||
| if (record.初回入金予定_初月分入金予定.value) { | |||||
| false; | |||||
| if (!!record.初回入金予定_初月分入金予定.value) { | |||||
| return false; | |||||
| } | } | ||||
| return true; | return true; | ||||
| @@ -22,6 +22,10 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||||
| return false; | return false; | ||||
| } | } | ||||
| if (!!record.IC定期駐車場利用方法.value) { | |||||
| return false; | |||||
| } | |||||
| if ( | if ( | ||||
| record.初回入金予定_必要分.value.includes(初回入金予定Checkbox.初月分) && | record.初回入金予定_必要分.value.includes(初回入金予定Checkbox.初月分) && | ||||
| !record.初回入金予定_初月分入金予定.value | !record.初回入金予定_初月分入金予定.value | ||||
| @@ -41,10 +45,6 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||||
| return false; | return false; | ||||
| } | } | ||||
| if (!!record.IC定期駐車場利用方法) { | |||||
| return false; | |||||
| } | |||||
| return true; | return true; | ||||
| }; | }; | ||||
| @@ -33,7 +33,7 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||||
| } | } | ||||
| if (record.初回入金予定_日割り分入金予定.value) { | if (record.初回入金予定_日割り分入金予定.value) { | ||||
| false; | |||||
| return false; | |||||
| } | } | ||||
| return true; | return true; | ||||
| @@ -253,7 +253,7 @@ export class 申込 { | |||||
| [F.電話番号]: this.定期申込予約.電話番号.value, | [F.電話番号]: this.定期申込予約.電話番号.value, | ||||
| [F.メールアドレス]: this.定期申込予約.メールアドレス.value, | [F.メールアドレス]: this.定期申込予約.メールアドレス.value, | ||||
| [F.SMBC契約番号]: String(await getNextSMBC番号()), | [F.SMBC契約番号]: String(await getNextSMBC番号()), | ||||
| [F.支払方法]: "口座振替", | |||||
| [F.支払方法]: this.isIC定期申込() ? "その他" : "口座振替", | |||||
| [F.振替日]: "27", //TODO | [F.振替日]: "27", //TODO | ||||
| [F.振替開始日]: 振替開始日, | [F.振替開始日]: 振替開始日, | ||||
| [F.契約者_郵便番号]: 郵便番号, | [F.契約者_郵便番号]: 郵便番号, | ||||
| @@ -320,14 +320,19 @@ export class 申込 { | |||||
| if (this.isIC定期申込()) { | if (this.isIC定期申込()) { | ||||
| const message = new MessageBag(); | const message = new MessageBag(); | ||||
| // 名前変換 | |||||
| let 駐車場利用方法 = this.定期申込予約.IC定期駐車場利用方法.value ?? ""; | |||||
| if (駐車場利用方法 === "交通系ICカード") { | |||||
| 駐車場利用方法 = "個人所有Felica"; | |||||
| } | |||||
| const res = await 定期契約新規作成( | const res = await 定期契約新規作成( | ||||
| { | { | ||||
| user_id: String(this.顧客情報.IC定期利用者IC ?? ""), | user_id: String(this.顧客情報.IC定期利用者IC ?? ""), | ||||
| parking_management_code: | parking_management_code: | ||||
| this.プラン?.IC定期_駐車場管理コード.value ?? "", | this.プラン?.IC定期_駐車場管理コード.value ?? "", | ||||
| vehicle_type_name: this.プラン?.IC定期_車種.value ?? "", | vehicle_type_name: this.プラン?.IC定期_車種.value ?? "", | ||||
| parking_use_type_name: | |||||
| this.定期申込予約.IC定期駐車場利用方法.value ?? "", | |||||
| parking_use_type_name: 駐車場利用方法, | |||||
| contractor_type_name: this.プラン?.IC定期_契約者種類.value ?? "", | contractor_type_name: this.プラン?.IC定期_契約者種類.value ?? "", | ||||
| season_ticket_seq_no: this.IC定期_定期券番号, | season_ticket_seq_no: this.IC定期_定期券番号, | ||||
| }, | }, | ||||
| @@ -351,7 +356,7 @@ export class 申込 { | |||||
| value: res.parking_management_code, | value: res.parking_management_code, | ||||
| }; | }; | ||||
| data[F.IC定期関連情報_駐車場利用方法] = { | data[F.IC定期関連情報_駐車場利用方法] = { | ||||
| value: this.定期申込予約.IC定期駐車場利用方法.value ?? "", | |||||
| value: 駐車場利用方法, | |||||
| }; | }; | ||||
| } | } | ||||
| @@ -7,12 +7,11 @@ import { | |||||
| SuccessDialog, | SuccessDialog, | ||||
| showLoadingDialog, | showLoadingDialog, | ||||
| } from "@/middleware/swal"; | } from "@/middleware/swal"; | ||||
| import { 利用者情報削除, 定期契約削除, 定期契約更新 } from "@/mypage/IC定期"; | |||||
| import { 定期契約更新 } from "@/mypage/IC定期"; | |||||
| import { 車室情報管理 } from "@/types/車室情報管理"; | import { 車室情報管理 } from "@/types/車室情報管理"; | ||||
| import { setup } from ".."; | import { setup } from ".."; | ||||
| import IC定期削除ボタン from "./buttons/IC定期削除ボタン"; | import IC定期削除ボタン from "./buttons/IC定期削除ボタン"; | ||||
| import IC定期同期ボタン from "./buttons/IC定期同期ボタン"; | import IC定期同期ボタン from "./buttons/IC定期同期ボタン"; | ||||
| import { MessageBag } from "@/common/message"; | |||||
| setup(() => { | setup(() => { | ||||
| kintone.events.on( | kintone.events.on( | ||||
| @@ -75,37 +74,4 @@ setup(() => { | |||||
| setEvent(new 契約情報更新イベント().getEvent(record)); | setEvent(new 契約情報更新イベント().getEvent(record)); | ||||
| }) | }) | ||||
| ); | ); | ||||
| kintone.events.on( | |||||
| [KintoneEvent.詳細.レコードを削除する前], | |||||
| eventHnalder(async (event, { setEvent }) => { | |||||
| const record = event.record as 車室情報管理; | |||||
| // IC定期処理 | |||||
| if (!!record.IC定期関連情報_契約ID.value) { | |||||
| await showLoadingDialog(); | |||||
| const message = new MessageBag(); | |||||
| const res = await 定期契約削除( | |||||
| { | |||||
| user_id: record.IC定期関連情報_利用者ID.value, | |||||
| parking_management_code: | |||||
| record.IC定期関連情報_駐車場管理コード.value, | |||||
| }, | |||||
| message | |||||
| ); | |||||
| if (res === false) { | |||||
| ErrorDialog.fire({ | |||||
| text: "IC定期連携に失敗しました " + message.getGeneralMessage(), | |||||
| }); | |||||
| return false; | |||||
| } | |||||
| await SuccessDialog.fire({ | |||||
| text: "IC定期連携成功", | |||||
| }); | |||||
| } | |||||
| return event; | |||||
| }) | |||||
| ); | |||||
| }); | }); | ||||
| @@ -0,0 +1,46 @@ | |||||
| import { apptemplate } from "@/common/app-template"; | |||||
| import { setHeaderButton } from "@/common/header-button"; | |||||
| import { MessageBag } from "@/common/message"; | |||||
| import { | |||||
| ErrorDialog, | |||||
| SuccessDialog, | |||||
| showLoadingDialog, | |||||
| } from "@/middleware/swal"; | |||||
| import { 利用者情報削除 } from "@/mypage/IC定期"; | |||||
| import { 顧客マスタ } from "@/types/顧客マスタ"; | |||||
| const 表示判定 = (record: 顧客マスタ): boolean => { | |||||
| if (!!record.IC定期関連情報_ユーザーID.value) { | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| }; | |||||
| export default function IC定期連携削除ボタン(record: 顧客マスタ) { | |||||
| if (表示判定(record)) { | |||||
| setHeaderButton( | |||||
| "IC定期連携削除", | |||||
| apptemplate(async () => { | |||||
| await showLoadingDialog(); | |||||
| const message = new MessageBag(); | |||||
| const res = await 利用者情報削除( | |||||
| { | |||||
| user_id: record.IC定期関連情報_ユーザーID.value, | |||||
| }, | |||||
| message | |||||
| ); | |||||
| if (res === false) { | |||||
| ErrorDialog.fire({ | |||||
| text: "IC定期連携に失敗しました " + message.getGeneralMessage(), | |||||
| }); | |||||
| return; | |||||
| } | |||||
| await SuccessDialog.fire({ | |||||
| text: "IC定期連携成功", | |||||
| }); | |||||
| }) | |||||
| ); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,35 @@ | |||||
| import { apptemplate } from "@/common/app-template"; | |||||
| import { AppID } from "@/common/appids"; | |||||
| import { setHeaderButton } from "@/common/header-button"; | |||||
| import { Message } from "@/exception"; | |||||
| import { getDetailUrl } from "@/rest-api/url"; | |||||
| import { get入金プール一覧 } from "@/rest-api/入金プール"; | |||||
| import { 顧客マスタ } from "@/types/顧客マスタ"; | |||||
| const 表示判定 = (record: 顧客マスタ): boolean => { | |||||
| return true; | |||||
| }; | |||||
| export default function 入金プール遷移ボタン(record: 顧客マスタ) { | |||||
| if (表示判定(record)) { | |||||
| setHeaderButton( | |||||
| "入金プール表示", | |||||
| apptemplate(async () => { | |||||
| const list = await get入金プール一覧({ | |||||
| 顧客コード: record.CustomerCode.value, | |||||
| }); | |||||
| if (list.length === 0) { | |||||
| throw new Message("入金プールが存在しません"); | |||||
| } | |||||
| if (list.length !== 1) { | |||||
| throw new Message("入金プールレコード数が不正です"); | |||||
| } | |||||
| const 入金プール = list[0]; | |||||
| const url = getDetailUrl(AppID.入金プール, 入金プール.$id.value); | |||||
| window.open(url, "_blank", "popup"); | |||||
| }) | |||||
| ); | |||||
| } | |||||
| } | |||||
| @@ -9,8 +9,23 @@ import { 利用者情報削除, 利用者情報更新 } from "@/mypage/IC定期" | |||||
| import { 顧客マスタ, 顧客マスタフィールド名 } from "@/types/顧客マスタ"; | import { 顧客マスタ, 顧客マスタフィールド名 } from "@/types/顧客マスタ"; | ||||
| import { setup } from ".."; | import { setup } from ".."; | ||||
| import { MessageBag } from "@/common/message"; | import { MessageBag } from "@/common/message"; | ||||
| import { initMenuBox } from "@/common/header-button"; | |||||
| import 入金プール遷移ボタン from "./buttons/入金プール遷移ボタン"; | |||||
| import IC定期連携削除ボタン from "./buttons/IC定期連携削除ボタン"; | |||||
| setup(() => { | setup(() => { | ||||
| kintone.events.on( | |||||
| [KintoneEvent.詳細.レコード詳細画面を表示した後], | |||||
| eventHnalder(async (event) => { | |||||
| const record: 顧客マスタ = event.record; | |||||
| await initMenuBox(); | |||||
| 入金プール遷移ボタン(record); | |||||
| IC定期連携削除ボタン(record); | |||||
| }) | |||||
| ); | |||||
| kintone.events.on( | kintone.events.on( | ||||
| [KintoneEvent.編集.保存するとき], | [KintoneEvent.編集.保存するとき], | ||||
| eventHnalder(async (event, { setEvent }) => { | eventHnalder(async (event, { setEvent }) => { | ||||
| @@ -42,37 +57,6 @@ setup(() => { | |||||
| }); | }); | ||||
| } | } | ||||
| return event; | |||||
| }) | |||||
| ); | |||||
| kintone.events.on( | |||||
| [KintoneEvent.詳細.レコードを削除する前], | |||||
| eventHnalder(async (event, { setEvent }) => { | |||||
| const record = event.record as 顧客マスタ; | |||||
| const F = 顧客マスタフィールド名; | |||||
| // IC定期処理 | |||||
| if (!!record.IC定期関連情報_ユーザーID.value) { | |||||
| await showLoadingDialog(); | |||||
| const message = new MessageBag(); | |||||
| const res = await 利用者情報削除( | |||||
| { | |||||
| user_id: record.IC定期関連情報_ユーザーID.value, | |||||
| }, | |||||
| message | |||||
| ); | |||||
| if (res === false) { | |||||
| ErrorDialog.fire({ | |||||
| text: "IC定期連携に失敗しました " + message.getGeneralMessage(), | |||||
| }); | |||||
| return false; | |||||
| } | |||||
| await SuccessDialog.fire({ | |||||
| text: "IC定期連携成功", | |||||
| }); | |||||
| } | |||||
| return event; | return event; | ||||
| }) | }) | ||||
| ); | ); | ||||
| @@ -98,9 +98,9 @@ export type 定期申込予約 = AppRecord & { | |||||
| [F.受付メール送信日時]: KintoneRecordField.DateTime; | [F.受付メール送信日時]: KintoneRecordField.DateTime; | ||||
| [F.承認メール送信日時]: KintoneRecordField.DateTime; | [F.承認メール送信日時]: KintoneRecordField.DateTime; | ||||
| [F.初回入金予定_必要分]: KintoneRecordField.CheckBox; | [F.初回入金予定_必要分]: KintoneRecordField.CheckBox; | ||||
| [F.初回入金予定_初月分入金予定]: KintoneRecordField.SingleLineText; | |||||
| [F.初回入金予定_日割り分入金予定]: KintoneRecordField.SingleLineText; | |||||
| [F.初回入金予定_保証金入金予定]: KintoneRecordField.SingleLineText; | |||||
| [F.初回入金予定_初回入金充当状態]: KintoneRecordField.SingleLineText; | |||||
| [F.初回入金予定_初月分入金予定]: KintoneRecordField.Number; | |||||
| [F.初回入金予定_日割り分入金予定]: KintoneRecordField.Number; | |||||
| [F.初回入金予定_保証金入金予定]: KintoneRecordField.Number; | |||||
| [F.初回入金予定_初回入金充当状態]: KintoneRecordField.CheckBox; | |||||
| [F.IC定期駐車場利用方法]: KintoneRecordField.SingleLineText; | [F.IC定期駐車場利用方法]: KintoneRecordField.SingleLineText; | ||||
| }; | }; | ||||