ken_nogi/Pleasanter/ケアセブン/訪問カレンダーv4_2026_08_28 09_22_30.json
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

1554 lines
90 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"HeaderInfo": {
"AssemblyVersion": "1.5.6.1",
"BaseSiteId": 116014,
"Server": "https://nextoffice.next-hd.co.jp/pleasanter",
"CreatorName": "野木 健一郎",
"PackageTime": "2026-08-28T09:22:29.8352318+09:00",
"Convertors": [
{
"SiteId": 116014,
"SiteTitle": "訪問カレンダーv4",
"ReferenceType": "Sites",
"IncludeData": false,
"Order": "[116015,116018,116020,116016,116017,116019]"
},
{
"SiteId": 274688,
"SiteTitle": "祝日・休日",
"ReferenceType": "Results",
"IncludeData": false
},
{
"SiteId": 116015,
"SiteTitle": "カレンダー",
"ReferenceType": "Sites",
"IncludeData": false,
"Order": "[]"
},
{
"SiteId": 116017,
"SiteTitle": "例外予定日",
"ReferenceType": "Results",
"IncludeData": false
},
{
"SiteId": 116019,
"SiteTitle": "担当一覧",
"ReferenceType": "Results",
"IncludeData": false
},
{
"SiteId": 283044,
"SiteTitle": "病院リスト",
"ReferenceType": "Results",
"IncludeData": false
},
{
"SiteId": 116020,
"SiteTitle": "周回予定",
"ReferenceType": "Results",
"IncludeData": false
},
{
"SiteId": 283045,
"SiteTitle": "主治医リスト",
"ReferenceType": "Results",
"IncludeData": false
},
{
"SiteId": 116016,
"SiteTitle": "個別予定",
"ReferenceType": "Results",
"IncludeData": false
},
{
"SiteId": 116018,
"SiteTitle": "顧客リスト",
"ReferenceType": "Results",
"IncludeData": false
},
{
"SiteId": 283047,
"SiteTitle": "顧客リストのみ",
"ReferenceType": "Results",
"IncludeData": false
}
],
"IncludeSitePermission": true,
"IncludeRecordPermission": true,
"IncludeColumnPermission": true,
"IncludeNotifications": true,
"IncludeReminders": true
},
"Sites": [
{
"TenantId": 1,
"SiteId": 116014,
"Title": "訪問カレンダーv4",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Sites",
"ParentId": 2244,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Sites",
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 274688,
"Title": "祝日・休日",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "一般的な国民の祝日および年末29日31日年始1日3日を登録。\nその他、任意の休みの日は手動で新規作成して登録すること。",
"EditorGuide": "一般的な国民の祝日および年末29日31日年始1日3日を登録。\nその他、任意の休みの日は手動で新規作成して登録すること。",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 274688,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridView": 1,
"GridColumns": [
"ResultId",
"DateA",
"ClassA",
"UpdatedTime"
],
"EditorColumnHash": {
"General": [
"ResultId",
"DateA",
"ClassA"
]
},
"Columns": [
{
"ColumnName": "DateA",
"LabelText": "日付",
"NoWrap": true
},
{
"ColumnName": "ClassA",
"LabelText": "祝休日",
"NoWrap": true
}
],
"ViewLatestId": 1,
"Views": [
{
"Id": 1,
"Name": "既定のビュ―",
"DefaultMode": "Index",
"ColumnSorterHash": {
"DateA": "asc"
},
"ApiColumnKeyDisplayType": 0,
"ApiColumnValueDisplayType": 0,
"CalendarSiteId": 0,
"CalendarTimePeriod": "Monthly",
"CalendarFromTo": "DateA",
"CrosstabGroupByX": "DateA",
"CrosstabGroupByY": "Columns",
"CrosstabAggregateType": "Total",
"CrosstabTimePeriod": "Monthly",
"KambanAggregateType": "Count",
"ApiDataType": 0
}
],
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 116015,
"Title": "カレンダー",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "毎月・奇数月・偶数月の周回予定が土曜日に来た場合、1日前の金曜日に自動的に移動します。\n同じく、日曜日に来た場合、1日後の月曜日に移動します。",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Sites",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Sites",
"Styles": [
{
"Title": "ボーダー色変更",
"All": true,
"Body": ".fc-theme-standard td, .fc-theme-standard th {\n border: 1px solid #808080;\n}\n\n.fc .fc-col-header-cell-cushion {\n font-size: 1.5em;\n font-weight:bold;\n}\n\n.fc-v-event .fc-event-title {\n font-size: 1.2em;\n font-weight:bold;\n}\n\n.fc-event {\n border-width: 2px;\n}",
"Id": 1
},
{
"Title": "ローダー",
"All": true,
"Body": ".showVisibility {\n visibility: visible;\n}\n.hideVisibility {\n visibility: hidden;\n}\n\n.showDisplay {\n display: block;\n}\n\n.hideDisplay {\n display: none;\n}\n\n\n.loaderWindow {\n position: absolute;\n top: 0px;\n left: 0px;\n z-index: 99999;\n background-color: #fff;\n opacity: 0.5;\n display: 'block';\n}\n\n.sk-chase {\n width: 100px;\n height: 100px;\n position: relative;\n z-index: 9999;\n top: 50%;\n left: 50%;\n animation: sk-chase 2.5s infinite linear both;\n}\n\n.sk-chase-dot {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n animation: sk-chase-dot 2.0s infinite ease-in-out both;\n}\n\n.sk-chase-dot:before {\n content: '';\n display: block;\n width: 25%;\n height: 25%;\n background-color: grey;\n border-radius: 100%;\n animation: sk-chase-dot-before 2.0s infinite ease-in-out both;\n}\n\n.sk-chase-dot:nth-child(1) {\n animation-delay: -1.1s;\n}\n\n.sk-chase-dot:nth-child(2) {\n animation-delay: -1.0s;\n}\n\n.sk-chase-dot:nth-child(3) {\n animation-delay: -0.9s;\n}\n\n.sk-chase-dot:nth-child(4) {\n animation-delay: -0.8s;\n}\n\n.sk-chase-dot:nth-child(5) {\n animation-delay: -0.7s;\n}\n\n.sk-chase-dot:nth-child(6) {\n animation-delay: -0.6s;\n}\n\n.sk-chase-dot:nth-child(1):before {\n animation-delay: -1.1s;\n}\n\n.sk-chase-dot:nth-child(2):before {\n animation-delay: -1.0s;\n}\n\n.sk-chase-dot:nth-child(3):before {\n animation-delay: -0.9s;\n}\n\n.sk-chase-dot:nth-child(4):before {\n animation-delay: -0.8s;\n}\n\n.sk-chase-dot:nth-child(5):before {\n animation-delay: -0.7s;\n}\n\n.sk-chase-dot:nth-child(6):before {\n animation-delay: -0.6s;\n}\n\n@keyframes sk-chase {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes sk-chase-dot {\n 80%, 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes sk-chase-dot-before {\n 50% {\n transform: scale(0.4);\n }\n\n 100%, 0% {\n transform: scale(1.0);\n }\n}",
"Id": 2
},
{
"Title": "行の高さ",
"All": true,
"Body": ".fc .fc-timegrid-slot {\n height: 2.0em;\n}",
"Id": 3
},
{
"Title": "改ページ",
"All": true,
"Body": ".pagebreak {\n break-after: page;\n}",
"Id": 4
}
],
"Scripts": [
{
"Title": "Care7Scheduler",
"All": true,
"Body": "loadcdn('script', 'https://cdn.jsdelivr.net/npm/rrule@2.6.4/dist/es5/rrule.min.js');\nloadcdn('script', 'https://cdn.jsdelivr.net/npm/fullcalendar-scheduler@6.1.8/index.global.min.js');\nloadcdn('script', 'https://cdn.jsdelivr.net/npm/@fullcalendar/rrule@6.1.8/index.global.min.js');\n\n//本番用\nlet resourceTableId = '116019';\nlet reigaiTableId = '116017';\nlet shukaiTableId = '116020';\nlet kobetsuTableId = '116016';\nlet holidayTableId = '274688';\n\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\nlet resourceCount;\n\nconst sleep = (second) => new Promise(resolve => setTimeout(resolve, second * 1000));\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nwindow.addEventListener('load', function () {\n let app = document.getElementById('Application');\n //////////////////////////////////////////////////\n let nowdate = document.createElement('div');\n nowdate.id = 'nowdate';\n //////////////////////////////////////////////////\n let saveDate = new Date();\n saveDate = new Date(saveDate.getFullYear(), saveDate.getMonth(), 1, 0, 0, 0);\n\n //console.log(Cookies.get('care7SelectMonth'));\n if (!(Cookies.get('care7SelectMonth'))) {\n Cookies.set('care7SelectMonth', saveDate, {\n expires: 90,\n path: ''\n });\n nowdate.setAttribute('nowdate', new Date);\n } else {\n saveDate = new Date(Cookies.get('care7SelectMonth'));\n nowdate.setAttribute('nowdate', new Date(Cookies.get('care7SelectMonth')));\n }\n\n //////////////////////////////////////////////////\n let selectMonth = document.createElement('select');\n selectMonth.id = 'selectMonth';\n selectMonth.name = 'selectMonth';\n for (i = -2; i <= 6; i++) {\n let date0 = new Date();\n date0 = new Date(date0.getFullYear(), date0.getMonth(), 1, 0, 0, 0);\n date0.setMonth(date0.getMonth() + i);\n let option = document.createElement('option');\n option.value = date0;\n option.textContent = date0.getFullYear() + '年' + (date0.getMonth() + 1) + '月';\n if (date0.getTime() == saveDate.getTime()) {\n option.setAttribute('selected', 'selected');\n }\n selectMonth.appendChild(option);\n }\n\n //console.log(selectMonth);\n\n\n //////////////////////////////////////////////////////////////////////////////////\n let buttonArea = document.createElement('div');\n buttonArea.id = 'buttonArea';\n\n let button0 = document.createElement('button');\n button0.type = 'button';\n button0.id = 'button0';\n button0.innerHTML = ' 顧客リスト ';\n button0.setAttribute('onclick', 'location.href=\"/pleasanter/items/116018/index/\"');\n\n buttonArea.append(button0);\n buttonArea.append(selectMonth);\n\n app.innerHTML = '';\n app.appendChild(nowdate);\n app.appendChild(buttonArea);\n\n ///////////////////\n $('#selectMonth').selectmenu({\n width: '150px',\n change: function (event, data) {\n //console.log(data);\n let selectValue = new Date(data.item.value);\n Cookies.set('care7SelectMonth', selectValue, {\n expires: 90,\n path: ''\n });\n nowdate.setAttribute('nowdate', selectValue);\n initialize();\n $('.ui-selectmenu-text').css({\n 'font-weight': 'bold',\n 'font-size': '1.5em',\n });\n }\n });\n\n $('#selectMonth-button').css({\n 'margin': '0 5px 5px 0',\n });\n $('.ui-selectmenu-text').css({\n 'font-weight': 'bold',\n 'font-size': '1.5em',\n });\n\n ///////////////////\n $('#button0').css({\n 'margin': '0 5px 5px 0',\n 'font-size': '1.5em'\n });\n $('#button0').button();\n\n ///////////////////\n initialize();\n});\n\nfunction initialize() {\n\n c7s = new care7_Scheduler;\n c7s.createResource();\n c7s.createEvents();\n\n //////////////\n createCalendarContainer();\n\n c7s.createCalendar('cal1', 0);\n c7s.createCalendar('cal2', 1);\n c7s.createCalendar('cal3', 2);\n c7s.createCalendar('cal4', 3);\n c7s.createCalendar('cal5', 4);\n\n let rscCount = c7s.resources.length;\n for (i = 0; i <= 4; i++) {\n $(\"#cal1 th[role='columnheader']\").eq(i).css(\"border-right-width\", \"3px\");\n $(\"#cal2 th[role='columnheader']\").eq(i).css(\"border-right-width\", \"3px\");\n $(\"#cal3 th[role='columnheader']\").eq(i).css(\"border-right-width\", \"3px\");\n $(\"#cal4 th[role='columnheader']\").eq(i).css(\"border-right-width\", \"3px\");\n $(\"#cal5 th[role='columnheader']\").eq(i).css(\"border-right-width\", \"3px\");\n\n $(\"#cal1 th[role='columnheader']\").eq((5 + rscCount - 1) + (i * rscCount)).css(\"border-right-width\", \"3px\");\n $(\"#cal2 th[role='columnheader']\").eq((5 + rscCount - 1) + (i * rscCount)).css(\"border-right-width\", \"3px\");\n $(\"#cal3 th[role='columnheader']\").eq((5 + rscCount - 1) + (i * rscCount)).css(\"border-right-width\", \"3px\");\n $(\"#cal4 th[role='columnheader']\").eq((5 + rscCount - 1) + (i * rscCount)).css(\"border-right-width\", \"3px\");\n $(\"#cal5 th[role='columnheader']\").eq((5 + rscCount - 1) + (i * rscCount)).css(\"border-right-width\", \"3px\");\n\n $(\"#cal1 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1).css(\"border-right-width\", \"3px\");\n $(\"#cal1 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css(\"border-right-width\", \"3px\");\n $(\"#cal2 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1).css(\"border-right-width\", \"3px\");\n $(\"#cal2 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css(\"border-right-width\", \"3px\");\n $(\"#cal3 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1).css(\"border-right-width\", \"3px\");\n $(\"#cal3 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css(\"border-right-width\", \"3px\");\n $(\"#cal4 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1).css(\"border-right-width\", \"3px\");\n $(\"#cal4 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css(\"border-right-width\", \"3px\");\n $(\"#cal5 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1).css(\"border-right-width\", \"3px\");\n $(\"#cal5 td[role='gridcell']\").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css(\"border-right-width\", \"3px\");\n }\n\n getHolidays(2024);\n\n $(\"td[data-time='12:00:00'],td[data-time='12:15:00'],td[data-time='12:30:00'],td[data-time='12:45:00']\").css({\n \"background-color\": \"lightsteelblue\",\n \"opacity\": \"0.5\"\n });\n\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nfunction getHolidays() {\n //日付処理\n //基準日を中心に前後1ヶ月\n let nowdate = new Date(document.getElementById('nowdate').getAttribute('nowdate'));\n let startdate = nowdate;\n startdate.setMonth(startdate.getMonth() - 1);\n startdate.setDate(1);\n startdate.setHours(0);\n startdate.setMinutes(0);\n startdate.setSeconds(0);\n let enddate = new Date(startdate);\n enddate.setMonth(enddate.getMonth() + 3);\n enddate.setMinutes(enddate.getMinutes() - 1);\n let startStr = startdate.getFullYear() + '/'\n + (startdate.getMonth() + 1).toString().padStart(2, '0') + '/'\n + startdate.getDate().toString().padStart(2, '0') + ' 00:00:00';\n\n let endStr = enddate.getFullYear() + '/'\n + (enddate.getMonth() + 1).toString().padStart(2, '0') + '/'\n + enddate.getDate().toString().padStart(2, '0') + ' 00:00:00';\n\n console.log(startStr);\n console.log(endStr);\n\n $p.apiGet({\n \"id\": holidayTableId,\n \"async\": false,\n \"data\": {\n \"ApiVersion\": 1.1,\n \"ApiKey\": apiKey,\n \"View\": {\n \"ColumnFilterHash\": {\n \"DateA\": '[\"' + startStr + ',' + endStr + '\"]'\n },\n }\n },\n \"done\": function (data) {\n //console.log(data.Response.Data);\n $.each(data.Response.Data, function (index, value) {\n let classA = value.ClassHash.ClassA;\n let dateA = new Date(value.DateHash.DateA);\n //console.log(dateA + \" \" + classA);\n\n let dateStr = dateA.getFullYear() + '-'\n + (dateA.getMonth() + 1).toString().padStart(2, '0') + '-'\n + dateA.getDate().toString().padStart(2, '0');\n\n $('th[data-date=\"' + dateStr + '\"]').css({ 'background-color': 'hotpink' });\n $('td[data-date=\"' + dateStr + '\"]').css({ 'background-color': 'hotpink' });\n\n let dateStr2 = dateA.getFullYear() + '年'\n + (dateA.getMonth() + 1) + '月'\n + dateA.getDate() + '日';\n $('a[aria-label=\"' + dateStr2 + '\"]').after(classA);\n\n });\n\n }\n });\n}\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nfunction care7_Scheduler() {\n calObj = {};\n this.events = [];\n this.resources = [];\n this.resourceCount;\n this.myCalendar = null;\n}\n\nwindow.addEventListener('beforeprint', (event) => {\n console.log('Before print');\n event.stopImmediatePropagation();\n event.preventDefault();\n});\n\nwindow.addEventListener('afterprint', (event) => {\n console.log('After print');\n event.stopImmediatePropagation();\n event.preventDefault();\n});\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//リソース(担当看護師一覧)取得\ncare7_Scheduler.prototype.createResource = function () {\n let resource = [];\n\n $p.apiGet({\n \"id\": resourceTableId,\n \"async\": false,\n \"data\": {\n \"ApiVersion\": 1.1,\n \"ApiKey\": apiKey,\n \"View\": {\n \"ColumnSorterHash\": {\n \"Title\": \"ASC\"\n }\n }\n },\n \"done\": function (data) {\n //console.log(data);\n $.each(data.Response.Data, function (index, value) {\n let member = {\n id: value.ResultId,\n title: value.Title\n }\n resource.push(member);\n });\n resourceCount = data.Response.TotalCount;\n\n }\n });\n\n this.resources = resource;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\ncare7_Scheduler.prototype.createEvents = function () {\n let eventList = [];\n let exEvent = {};\n let nowdate = new Date(document.getElementById('nowdate').getAttribute('nowdate'));\n let startdate = nowdate;\n startdate.setDate(1);\n startdate.setHours(0);\n startdate.setMinutes(0);\n startdate.setSeconds(0);\n let enddate = new Date(startdate);\n enddate.setMonth(enddate.getMonth() + 1);\n enddate.setMinutes(enddate.getMinutes() - 1);\n\n let startStr = startdate.getFullYear() + '/' + (\"00\" + (startdate.getMonth() + 1)).slice(-2) + '/' + (\"00\" + startdate.getDate()).slice(-2) + ' 00:00:00';\n let endStr = enddate.getFullYear() + '/' + (\"00\" + (enddate.getMonth() + 1)).slice(-2) + '/' + (\"00\" + enddate.getDate()).slice(-2) + ' 00:00:00';\n\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //例外予定取得\n $p.apiGet({\n \"id\": reigaiTableId,\n \"async\": false,\n \"data\": {\n \"ApiVersion\": 1.1,\n \"ApiKey\": apiKey,\n \"View\": {\n \"ColumnFilterHash\": {\n \"DateB\": '[\"' + startStr + ',' + endStr + '\"]'\n },\n \"ColumnSorterHash\": {\n \"Title\": \"ASC\"\n }\n }\n },\n \"done\": function (data) {\n //console.log(data.Response.Data);\n $.each(data.Response.Data, function (index, value) {\n if (Array.isArray(exEvent[value.ClassHash.ClassA]) == false) {\n exEvent[value.ClassHash.ClassA] = new Array;\n }\n exEvent[value.ClassHash.ClassA].push(value.DateHash.DateB.split('T')[0]);\n });\n console.log(exEvent);\n }\n });\n //console.log(exEvent);\n\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //周回予定取得\n $p.apiGet({\n \"id\": shukaiTableId,\n \"async\": false,\n \"data\": {\n \"ApiVersion\": 1.1,\n \"ApiKey\": apiKey,\n \"View\": {\n \"ColumnSorterHash\": {\n \"Title\": \"ASC\"\n }\n }\n },\n \"done\": function (data) {\n //console.log(data.Response.Data);\n $.each(data.Response.Data, function (index, value) {\n let nowdate = new Date(document.getElementById('nowdate').getAttribute('nowdate'));\n let startdate = nowdate;\n startdate.setDate(1);\n startdate.setHours(0);\n startdate.setMinutes(0);\n startdate.setSeconds(0);\n let enddate = new Date(startdate);\n enddate.setMonth(enddate.getMonth() + 1);\n enddate.setMinutes(enddate.getMinutes() - 1);\n\n let flag = 1;\n\n //console.log(startdate);\n //console.log(enddate);\n\n let id = value.ResultId;\n let title = value.ClassHash.ClassB;\n let freqId = value.ClassHash.ClassC;\n\n let time = value.ClassHash.ClassE + ':00';\n let duration = value.ClassHash.ClassF;\n let category = value.ClassHash.ClassG;\n\n let date = 1;\n date = value.ClassHash.ClassH; //指定週\n\n\n //開始日よりも月末日があとの場合は除外\n let activeStartTime = '';\n if (value.DateHash.DateE != '1899-12-30T00:00:00') {\n activeStartTime = new Date(value.DateHash.DateE);\n\n if (enddate.getTime() <= activeStartTime.getTime()) {\n console.log('開始日判定 除外 : ' + title)\n return true;\n }\n }\n\n //終了日よりも月初日のほうが手前の場合除外\n let activeEndTime = '';\n if (value.DateHash.DateF != '1899-12-30T00:00:00') {\n activeEndTime = new Date(value.DateHash.DateF);\n\n if (startdate.getTime() >= activeEndTime.getTime()) {\n console.log('終了日判定 除外 : ' + title)\n return true;\n }\n }\n\n\n //リソースID変換\n let str = value.ClassHash.ClassV;\n str = str.replaceAll('\"', '');\n str = str.replaceAll('[', '');\n str = str.replaceAll(']', '');\n let resourceIds = new Array;\n resourceIds = str.split(',');\n\n //曜日返還\n str = value.ClassHash.ClassD;\n str = str.replaceAll('\"', '');\n str = str.replaceAll('[', '');\n str = str.replaceAll(']', '');\n let byweekday = new Array;\n byweekday = str.split(',');\n\n let freq = 'weekly';\n let interval = 1;\n let count = 999;\n\n let bysetpos;\n\n if (freqId == 2) { //第1,3週\n freq = 'monthly';\n interval = 1;\n bysetpos = [1, 3];\n } else if (freqId == 3) { //第2,4週\n freq = 'monthly';\n interval = 1;\n bysetpos = [2, 4];\n } else if (freqId == 4) { //毎月\n freq = 'monthly';\n interval = 10;\n bysetpos = [date];\n } else if (freqId == 5) { //奇数月\n if ((startdate.getMonth() + 1) % 2 == 0) { //カレンダー月が偶数の場合はスキップ\n //startdate.setMonth(startdate.getMonth() + 1);\n console.log('偶数のため除外 : ' + title);\n return true;\n } else {\n console.log('奇数月 : ' + title);\n }\n freq = 'monthly';\n interval = 10;\n bysetpos = [date];\n } else if (freqId == 6) { //偶数月\n if ((startdate.getMonth() + 1) % 2 != 0) { //カレンダー月が奇数の場合はスキップ\n //startdate.setMonth(startdate.getMonth() + 1);\n console.log('奇数月のため除外 : ' + title);\n return true;\n } else {\n console.log('偶数月 : ' + title);\n }\n freq = 'monthly';\n interval = 10;\n bysetpos = [date];\n } else if (freqId >= 7) { //3ヶ月毎1,4,7,10\n let monthList = [];\n\n if (freqId == 7) monthList = [1, 4, 7, 10];\n if (freqId == 8) monthList = [2, 5, 8, 11];\n if (freqId == 9) monthList = [3, 6, 9, 12];\n\n let checkMonth = (startdate.getMonth() + 1);\n if (monthList.includes(checkMonth)) { //カレンダー月がリストに含まれてたら\n freq = 'monthly';\n interval = 10;\n bysetpos = [date];\n console.log('3ヶ月パターン : ' + freqId + ' : ' + title);\n console.log(title);\n } else {\n console.log('該当月ではないため除外 : ' + title);\n return true;\n }\n }\n\n let dtstart = '';\n let until = '';\n\n dtstart = startdate.getFullYear() +\n '-' + (\"00\" + (startdate.getMonth() + 1)).slice(-2) +\n '-' + (\"00\" + startdate.getDate()).slice(-2) +\n 'T' + time;\n\n until = enddate.getFullYear() +\n '-' + (\"00\" + (enddate.getMonth() + 1)).slice(-2) +\n '-' + (\"00\" + enddate.getDate()).slice(-2) +\n 'T' + time;\n\n //ピンポイント備考の取得\n let comments = [];\n for (i = 1; i <= 5; i++) {\n if (value.ClassHash['Class' + i.toString().padStart(3, 0)] != '') {\n comments.push({\n 'commentDate': new Date(value.DateHash['Date' + i.toString().padStart(3, 0)]),\n 'comment': value.ClassHash['Class' + i.toString().padStart(3, 0)]\n })\n }\n }\n\n //console.log(resourceIds);\n let event = {\n 'id': id,\n 'title': title,\n 'resourceIds': resourceIds,\n 'duration': duration,\n 'textColor': '#000000',\n // borderColor: '#000000',\n 'extendedProps': {\n 'description': value.Body,\n 'category': 'その他',\n 'type': 2,\n 'byweekday': byweekday,\n 'comments': comments,\n },\n 'rrule': {\n 'freq': freq,\n 'interval': interval,\n 'byweekday': byweekday,\n 'dtstart': dtstart,\n 'count': count,\n 'until': until,\n },\n 'exdate': [],\n }\n\n if (category == 1) {\n event.extendedProps.category = '介護';\n event.backgroundColor = 'orange';\n event.borderColor = 'orange';\n } else if (category == 2) {\n event.extendedProps.category = '医療';\n event.backgroundColor = 'yellow';\n event.borderColor = 'yellow';\n } else {\n event.extendedProps.category = 'その他';\n event.backgroundColor = 'violet';\n event.borderColor = 'grey';\n }\n\n if (freqId == 2 || freqId == 3) {\n event.backgroundColor = 'skyblue';\n event.borderColor = 'skyblue';\n event.rrule.bysetpos = bysetpos;\n } else if (freqId == 4 || freqId == 5 || freqId == 6) {\n event.extendedProps.type = 3;\n event.rrule.bysetpos = bysetpos;\n event.backgroundColor = 'lightgreen';\n event.borderColor = 'lightgreen';\n } else if (freqId >= 7) {\n event.extendedProps.type = 3;\n event.rrule.bysetpos = bysetpos;\n event.backgroundColor = 'lime';\n event.borderColor = 'lime';\n }\n\n //例外予定日処理\n if (Array.isArray(exEvent[id]) == true) {\n for (i = 0; i < exEvent[id].length; i++) {\n exEvent[id][i] = exEvent[id][i] + 'T' + time;\n }\n event.exdate = exEvent[id];\n }\n\n //開始日が月初日よりもあとの場合、月初日から開始日の前日までを例外日に追加\n if (value.DateHash.DateE != '1899-12-30T00:00:00') {\n activeStartTime.setDate(activeStartTime.getDate() - 1);\n if (startdate.getTime() <= activeStartTime.getTime()) {\n //let dates = [];\n let tempDate = new Date(startdate);\n while (tempDate.getTime() <= activeStartTime.getTime()) {\n let dateStr = tempDate.getFullYear() + '-' +\n (tempDate.getMonth() + 1).toString().padStart(2, '0') + '-' +\n tempDate.getDate().toString().padStart(2, '0');\n event.exdate.push(dateStr + 'T' + time);\n tempDate.setDate(tempDate.getDate() + 1);\n }\n console.log(event.exdate);\n }\n }\n\n //終了日が月末日よりもまえの場合、終了日の翌日から月末日までを例外日に追加\n if (value.DateHash.DateF != '1899-12-30T00:00:00') {\n activeEndTime.setDate(activeEndTime.getDate() + 1);\n if (enddate.getTime() >= activeEndTime.getTime()) {\n //let dates = [];\n let tempDate = new Date(activeEndTime);\n while (tempDate.getTime() <= enddate.getTime()) {\n let dateStr = tempDate.getFullYear() + '-' +\n (tempDate.getMonth() + 1).toString().padStart(2, '0') + '-' +\n tempDate.getDate().toString().padStart(2, '0');\n event.exdate.push(dateStr + 'T' + time);\n tempDate.setDate(tempDate.getDate() + 1);\n }\n }\n console.log(event.exdate);\n }\n\n eventList.push(event);\n\n });\n\n //console.log(eventList);\n }\n });\n\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //個別予定取得\n $p.apiGet({\n \"id\": kobetsuTableId,\n \"async\": false,\n \"data\": {\n \"ApiVersion\": 1.1,\n \"ApiKey\": apiKey,\n \"View\": {\n \"ColumnFilterHash\": {\n \"DateA\": '[\"' + startStr + ',' + endStr + '\"]'\n },\n \"ColumnSorterHash\": {\n \"Title\": \"ASC\"\n }\n }\n },\n \"done\": function (data) {\n //console.log(data.Response.Data);\n $.each(data.Response.Data, function (index, value) {\n let id = value.ResultId;\n let title = value.ClassHash.ClassB;\n let time = value.ClassHash.ClassE + ':00';\n let duration = value.ClassHash.ClassF;\n let category = value.ClassHash.ClassG;\n //リソースID変換\n let str = value.ClassHash.ClassV;\n str = str.replaceAll('\"', '');\n str = str.replaceAll('[', '');\n str = str.replaceAll(']', '');\n let resourceIds = new Array;\n resourceIds = str.split(',');\n let start = new Date(value.DateHash.DateA);\n start.setHours(time.split(':')[0]);\n start.setMinutes(time.split(':')[1]);\n\n let end = new Date(start);\n if (category == '4') {\n end.setHours(end.getHours() + 1);\n end.setMinutes(end.getMinutes());\n } else {\n end.setHours(end.getHours() + Number(duration.split(':')[0]));\n end.setMinutes(end.getMinutes() + Number(duration.split(':')[1]));\n }\n\n let comments = [];\n let commentDate = new Date(start.getFullYear(), start.getMonth(), start.getDate(), 0, 0, 0);\n if (value.ClassHash.Class001 != '') {\n comments.push({\n 'commentDate': commentDate,\n 'comment': value.ClassHash.Class001\n });\n }\n let event = {};\n if (category == 4) {\n event = {\n 'id': id,\n 'title': title,\n 'resourceIds': resourceIds,\n 'start': start,\n 'end': end,\n 'allDay': true,\n 'textColor': '#000000',\n 'borderColor': 'black',\n 'extendedProps': {\n 'description': value.Body,\n 'category': category,\n 'type': 1,\n 'comments': comments,\n }\n }\n } else {\n event = {\n 'id': id,\n 'title': title,\n 'resourceIds': resourceIds,\n 'start': start,\n 'end': end,\n 'textColor': '#000000',\n 'borderColor': 'red',\n 'extendedProps': {\n 'description': value.Body,\n 'category': category,\n 'type': 1,\n 'comments': comments,\n }\n }\n }\n\n if (category == 1) {\n event.extendedProps.category = '介護';\n event.backgroundColor = 'orange';\n } else if (category == 2) {\n event.extendedProps.category = '医療';\n event.backgroundColor = 'yellow';\n } else if (category == 3) {\n event.extendedProps.category = 'その他';\n event.backgroundColor = 'violet';\n } else if (category == 4) {\n event.extendedProps.category = '備考';\n event.backgroundColor = 'lightgray';\n }\n\n eventList.push(event);\n\n });\n }\n });\n\n this.events = eventList;\n //console.log(this.events);\n\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\ncare7_Scheduler.prototype.createCalendar = function (calid, num) {\n //console.log(calid);\n let calendarEl = document.getElementById(calid);\n // let date1 = new Date();\n let date1 = new Date(document.getElementById('nowdate').getAttribute('nowdate'));\n date1.setDate(1);\n let weekDay = date1.getDay();\n\n if (weekDay == 0) {\n date1.setDate(date1.getDate() + 1);\n } else if (weekDay == 6) {\n date1.setDate(date1.getDate() + 2);\n } else {\n date1.setDate(date1.getDate() - weekDay + 1);\n }\n date1.setDate(date1.getDate() + (num * 7));\n\n //let myCalendar = new FullCalendar.Calendar(calendarEl, {\n calObj[calid] = new FullCalendar.Calendar(calendarEl, {\n schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',\n firstDay: 1,\n rerenderDelay: 500,\n droppable: true,\n now: new Date(1900, 1, 1),\n initialDate: date1,\n weekends: false,\n editable: true, //編集機能\n locale: 'ja', //日本語表記\n initialView: 'resourceTimeGridFiveDay',\n headerToolbar: false,\n datesAboveResources: true,\n contentHeight: 'auto',\n allDaySlot: true,\n allDayText: '備考',\n slotDuration: '00:15:00',\n slotLabelInterval: '01:00',\n slotMinTime: '08:00:00',\n slotMaxTime: '17:00:00',\n views: {\n resourceTimeGridFiveDay: {\n type: 'resourceTimeGrid',\n duration: {\n days: 5\n }\n },\n },\n resources: this.resources,\n resourceOrder: 'title',\n //events: this.events,\n events: function (fetchInfo, successCallback, failureCallback) {\n successCallback(c7s.events);\n },\n eventClick: function (info) {\n openEventData(info);\n },\n eventContent: function (eventInfo) {\n //console.log(eventInfo);\n\n let timetext_ele = document.createElement('div');\n let category_ele = document.createElement('div');\n let length = 10000;\n\n let sHour;\n let sHourStr;\n\n let sMinutes;\n let sMinutesStr\n\n let eHour;\n let eHourStr;\n\n let eMinutes;\n let eMinutesStr;\n\n if (eventInfo.event.extendedProps.category != '備考') {\n sHour = eventInfo.event.start.getHours();\n sHourStr = sHour.toString().padStart(2, '0');\n\n sMinutes = eventInfo.event.start.getMinutes();\n sMinutesStr = sMinutes.toString().padStart(2, '0');\n\n eHour = eventInfo.event.end.getHours();\n eHourStr = eHour.toString().padStart(2, '0');\n\n eMinutes = eventInfo.event.end.getMinutes();\n eMinutesStr = eMinutes.toString().padStart(2, '0');\n\n length = (eHour * 60 + eMinutes) - (sHour * 60 + sMinutes)\n\n timetext_ele.innerHTML = sHourStr + ':' + sMinutesStr + '-' + eHourStr + ':' + eMinutesStr;\n timetext_ele.style.fontSize = '70%';\n category_ele.style.fontSize = '70%';\n category_ele.style.fontWeight = 'bold';\n category_ele.innerHTML = '[' + eventInfo.event.extendedProps.category + ']';\n }\n\n let title_ele = document.createElement('div');\n title_ele.style.fontSize = '120%';\n title_ele.style.fontWeight = 'bold';\n //title_ele.innerHTML = eventInfo.event.title;\n title_ele.innerHTML = eventInfo.event.title.replace(/\\s+/g, '');\n\n let comments_ele = document.createElement('div');\n\n ////ピンポイント備考\n let comments = eventInfo.event.extendedProps.comments;\n if (comments.length) {\n //console.log(comments);\n let eventDate = new Date(eventInfo.event.start.getFullYear(), eventInfo.event.start.getMonth(), eventInfo.event.start.getDate(), 0, 0, 0);\n for (i = 0; i < comments.length; i++) {\n if ((comments[i].commentDate).getTime() == eventDate.getTime()) {\n //console.log(comments[i]);\n comments_ele.innerHTML = comments[i].comment;\n\n //コメントがある場合に限り、枠が30分以下の場合、行間を狭める\n if (length <= 30) {\n title_ele.style.fontSize = '100%';\n title_ele.style.lineHeight = '11px';\n timetext_ele.style.lineHeight = '11px';\n category_ele.style.lineHeight = '11px';\n\n }\n\n }\n }\n }\n\n comments_ele.style.fontSize = '70%';\n comments_ele.style.fontWeight = 'bold';\n comments_ele.style.color = 'red';\n comments_ele.style.backgroundColor = 'white';\n comments_ele.style.overflowWrap = 'anywhere';\n comments_ele.style.lineHeight = '11px';\n\n let description_ele = document.createElement('pre');\n description_ele.innerHTML = eventInfo.event.extendedProps.description;\n description_ele.style.fontSize = '70%';\n\n let ele = document.createElement('div');\n ele.appendChild(timetext_ele);\n ele.appendChild(category_ele);\n ele.appendChild(title_ele);\n if (eventInfo.event.extendedProps.category == '備考') {\n ele.appendChild(description_ele);\n }\n ele.appendChild(comments_ele);\n\n let arrayOfDomNodes = [ele];\n return {\n domNodes: arrayOfDomNodes\n }\n },\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n snapDuration: '00:15:00',\n //イベント移動、リサイズ\n eventResize: function (eventResizeInfo) {\n eventDataUpdate(eventResizeInfo);\n c7s.createEvents();\n calObj.cal1.refetchEvents();\n calObj.cal2.refetchEvents();\n calObj.cal3.refetchEvents();\n calObj.cal4.refetchEvents();\n calObj.cal5.refetchEvents();\n },\n eventDrop: function (eventDropInfo) {\n eventDataUpdate(eventDropInfo);\n c7s.createEvents();\n calObj.cal1.refetchEvents();\n calObj.cal2.refetchEvents();\n calObj.cal3.refetchEvents();\n calObj.cal4.refetchEvents();\n calObj.cal5.refetchEvents();\n },\n eventReceive: function (info) {\n if (info.event.extendedProps.type == 1) {\n eventDataUpdate(info);\n c7s.createEvents();\n }\n info.event.remove();\n calObj.cal1.refetchEvents();\n calObj.cal2.refetchEvents();\n calObj.cal3.refetchEvents();\n calObj.cal4.refetchEvents();\n calObj.cal5.refetchEvents();\n },\n });\n calObj[calid].render();\n //console.log(calObj[calid].getEvents());\n //console.log(myCalendar.getEventById(2));\n\n}\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nfunction eventDataUpdate(info) {\n //console.log(info);\n let week = ['su', 'mo', 'tu', 'we', 'th', 'fr', 'sa'];\n let type = info.event.extendedProps.type;\n //リソースリスト作成\n let resourceIds = '';\n $.each(info.event._def.resourceIds, function (index, value) {\n if (index == 0) resourceIds += '\"' + value + '\"';\n if (index != 0) resourceIds += ',\"' + value + '\"';\n });\n\n //開始時間算出\n let starttime = info.event.start.getHours().toString().padStart(2, '0') + \":\" +\n info.event.start.getMinutes().toString().padStart(2, '0');\n let startdate = info.event.start.getFullYear() + '/' +\n (info.event.start.getMonth() + 1).toString().padStart(2, '0') + '/' +\n info.event.start.getDate().toString().padStart(2, '0') + ' 00:00:00';\n\n //長さ算出\n let diff = new Date(info.event.end - info.event.start);\n diff.setHours(diff.getHours() - 9);\n let duration = diff.getHours().toString().padStart(2, '0') + ':' +\n diff.getMinutes().toString().padStart(2, '0');\n\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //個別予定の更新\n if (type == 1) {\n let eventData = {\n id: info.event.id,\n startdate: startdate,\n starttime: starttime,\n duration: duration,\n }\n\n $p.apiUpdate({\n id: eventData.id,\n data: {\n ApiVersion: 1.0,\n DateHash: {\n DateA: eventData.startdate\n },\n ClassHash: {\n ClassE: eventData.starttime,\n ClassF: eventData.duration,\n ClassV: '[' + resourceIds + ']'\n }\n },\n done: function (data) {\n //console.log(data);\n },\n fail: function (data) {\n console.log(data);\n },\n });\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //周回予定(週)の更新\n } else if (type == 2 || type == 3) {\n let eventData = {\n id: info.event.id,\n newweekday: week[info.event.start.getDay()],\n oldweekday: week[info.oldEvent.start.getDay()],\n weekList: info.event.extendedProps.byweekday,\n starttime: starttime,\n duration: duration,\n }\n\n eventData.weekList.forEach(function (element, index) {\n if (element == eventData.oldweekday) {\n eventData.weekList[index] = eventData.newweekday;\n }\n });\n let byweekday = '\"' + eventData.weekList.join('\",\"') + '\"';\n //console.log(eventData);\n\n $p.apiUpdate({\n id: eventData.id,\n data: {\n ApiVersion: 1.0,\n ClassHash: {\n ClassE: eventData.starttime,\n ClassF: eventData.duration,\n ClassD: '[' + byweekday + ']',\n ClassV: '[' + resourceIds + ']'\n }\n },\n done: function (data) {\n //console.log(data);\n },\n fail: function (data) {\n console.log(data);\n },\n });\n\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //周回予定(月)の更新\n }\n\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//カレンダー保管コンテナの作成\nfunction createCalendarContainer() {\n let app = document.getElementById('Application');\n\n if ($('#myCalContainer')[0]) {\n $('#myCalContainer').remove();\n }\n let myCalContainer = document.createElement('div');\n\n let cal1 = document.createElement('div');\n let cal2 = document.createElement('div');\n let cal3 = document.createElement('div');\n let cal4 = document.createElement('div');\n let cal5 = document.createElement('div');\n\n cal1.style.backgroundColor = '#e6e6fa';\n cal2.style.backgroundColor = '#ffffe0';\n cal3.style.backgroundColor = '#e0ffff';\n cal4.style.backgroundColor = '#ffb6c1';\n cal5.style.backgroundColor = '#dcdcdc';\n\n myCalContainer.id = 'myCalContainer';\n\n //myCalContainer.style.width = '2200px';\n let containerWidth = (resourceCount * 80) * 5 + 100;\n myCalContainer.style.width = containerWidth + 'px';\n\n myCalContainer.style.float = 'left';\n myCalContainer.style.padding = '0px';\n myCalContainer.style.margin = '0px';\n\n cal1.id = 'cal1';\n cal2.id = 'cal2';\n cal3.id = 'cal3';\n cal4.id = 'cal4';\n cal5.id = 'cal5';\n\n let pageBreak1 = document.createElement('div');\n pageBreak1.classList.add('pagebreak');\n let pageBreak2 = document.createElement('div');\n pageBreak2.classList.add('pagebreak');\n\n myCalContainer.appendChild(cal1);\n myCalContainer.appendChild(cal2);\n myCalContainer.appendChild(pageBreak1);\n myCalContainer.appendChild(cal3);\n myCalContainer.appendChild(cal4);\n myCalContainer.appendChild(pageBreak2);\n myCalContainer.appendChild(cal5);\n\n // app.innerHTML = '';\n // app.appendChild(buttonArea);\n app.appendChild(myCalContainer);\n\n $('#Footer').css(\"display\", 'none');\n\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//イベント編集画面を開く\n\nfunction openEventData(info) {\n let windowName = 'Care7EventData';\n let url = 'https://' + document.domain + '/pleasanter/items/' + info.event.id;\n let option = 'width=1100px,height=800px,scrollbars = 0';\n window.open(url, windowName, option);\n\n}\n",
"Id": 1
}
],
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 116017,
"Title": "例外予定日",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridColumns": [
"ResultId",
"Title",
"DateB"
],
"EditorColumnHash": {
"General": [
"Title",
"ClassA",
"DateB",
"Body",
"_Links-116020"
]
},
"TitleColumns": [
"ClassA",
"DateB"
],
"LinkColumns": [
"ResultId",
"DateB",
"Body",
"Updator",
"UpdatedTime"
],
"Columns": [
{
"ColumnName": "ClassA",
"LabelText": "周回予定",
"ChoicesText": "[[116020]]",
"Link": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "DateB",
"LabelText": "例外予定日",
"NoWrap": true
},
{
"ColumnName": "ClassK",
"DefaultInput": "例外予定日"
}
],
"Links": [
{
"ColumnName": "ClassA",
"SiteId": 116020
}
],
"TitleSeparator": "■例外予定日■",
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 116019,
"Title": "担当一覧",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridColumns": [
"ResultId",
"TitleBody",
"Comments",
"Manager",
"Owner",
"Updator",
"UpdatedTime"
],
"EditorColumnHash": {
"General": [
"ResultId",
"Ver",
"Title",
"Body",
"Comments"
]
},
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 283044,
"Title": "病院リスト",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridColumns": [
"ResultId",
"ClassA",
"ClassB",
"ClassC",
"ClassD",
"ClassE",
"Updator",
"UpdatedTime"
],
"EditorColumnHash": {
"General": [
"ResultId",
"Title",
"ClassA",
"ClassB",
"ClassC",
"ClassD",
"ClassE",
"Body",
"Comments"
]
},
"TitleColumns": [
"ClassA"
],
"Columns": [
{
"ColumnName": "ClassA",
"LabelText": "病院名",
"FieldCss": "field-wide"
},
{
"ColumnName": "ClassB",
"LabelText": "郵便番号",
"NoWrap": true
},
{
"ColumnName": "ClassC",
"LabelText": "住所",
"FieldCss": "field-wide"
},
{
"ColumnName": "ClassD",
"LabelText": "電話番号",
"NoWrap": true
},
{
"ColumnName": "ClassE",
"LabelText": "FAX番号",
"NoWrap": true
},
{
"ColumnName": "Body",
"LabelText": "備考"
}
],
"TitleSeparator": "",
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 116020,
"Title": "周回予定",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridColumns": [
"ResultId",
"Title",
"ClassC",
"ClassH",
"ClassD",
"ClassE",
"ClassF",
"ClassG",
"ClassV"
],
"FilterColumns": [
"Status",
"ClassA",
"ClassC",
"ClassD",
"ClassE",
"ClassF",
"ClassG",
"ClassH",
"ClassV"
],
"EditorColumnHash": {
"General": [
"Title",
"ClassA",
"ClassB",
"ClassC",
"ClassH",
"ClassD",
"ClassE",
"ClassF",
"ClassV",
"ClassG",
"Body",
"DateE",
"DateF",
"_Section-1",
"Date001",
"Class001",
"Date002",
"Class002",
"Date003",
"Class003",
"Date004",
"Class004",
"Date005",
"Class005",
"_Links-116018",
"_Links-116017",
"Comments"
]
},
"SectionLatestId": 1,
"Sections": [
{
"Id": 1,
"LabelText": "個別コメント(指定した日付にだけコメントを追加)",
"AllowExpand": true,
"Expand": true
}
],
"TitleColumns": [
"ClassA",
"ClassC"
],
"LinkColumns": [
"ResultId",
"ClassC",
"ClassH",
"ClassD",
"ClassE",
"ClassF",
"ClassG",
"ClassV",
"Updator",
"UpdatedTime"
],
"Columns": [
{
"ColumnName": "ClassA",
"LabelText": "顧客名",
"ChoicesText": "[\n {\n \"SiteId\": 116018,\n \"Lookups\": [\n {\n \"From\": \"ClassA\",\n \"To\": \"ClassB\"\n }\n ]\n }\n]",
"UseSearch": true,
"NoWrap": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassC",
"LabelText": "パターン",
"ChoicesText": "1,毎週\n2,隔週1\n3,隔週2\n4,毎月\n5,奇数月\n6,偶数月\n7,3ヶ月(1 4 7 10月)\n8,3ヶ月(2 5 8 11月)\n9,3ヶ月(3 6 9 12月)",
"NoWrap": true,
"ValidateRequired": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassD",
"LabelText": "曜日",
"ChoicesText": "mo,月\ntu,火\nwe,水\nth,木\nfr,金\nsa,土\nsu,日",
"MultipleSelections": true,
"NoWrap": true,
"ValidateRequired": true
},
{
"ColumnName": "ClassE",
"LabelText": "時間",
"ChoicesText": "08:30\n08:45\n09:00\n09:15\n09:30\n09:45\n10:00\n10:15\n10:30\n10:45\n11:00\n11:15\n11:30\n11:45\n12:00\n12:15\n12:30\n12:45\n13:00\n13:15\n13:30\n13:45\n14:00\n14:15\n14:30\n14:45\n15:00\n15:15\n15:30\n15:45\n16:00\n16:15\n16:30\n16:45\n17:00",
"NoWrap": true,
"ValidateRequired": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassF",
"LabelText": "枠数",
"ChoicesText": "00:15\n00:30\n00:45\n01:00\n01:15\n01:30\n01:45\n02:00\n02:15\n02:30\n02:45\n03:00\n03:15\n03:30\n03:45\n04:00",
"DefaultInput": "00:30",
"ValidateRequired": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassV",
"LabelText": "担当",
"ChoicesText": "[[116019]]",
"MultipleSelections": true,
"NoWrap": true,
"ValidateRequired": true,
"Link": true
},
{
"ColumnName": "Body",
"LabelText": "内容・備考"
},
{
"ColumnName": "ClassG",
"LabelText": "カテゴリ",
"ChoicesText": "1,介護\n2,医療\n3,その他",
"ValidateRequired": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassB",
"Hide": true
},
{
"ColumnName": "ClassH",
"LabelText": "指定週",
"Description": "毎月、奇数月、偶数月パターンのときのみ参照",
"ChoicesText": "1\n2\n3\n4\n5",
"SearchType": "PartialMatch"
},
{
"ColumnName": "DateE",
"LabelText": "開始日",
"Description": "月初指定。指定月以降に有効。"
},
{
"ColumnName": "DateF",
"LabelText": "終了日",
"Description": "末日指定。指定月前に有効。"
},
{
"ColumnName": "Class001",
"LabelText": "コメント1",
"MaxLength": 20.0,
"FieldCss": "field-wide"
},
{
"ColumnName": "Class002",
"LabelText": "コメント2",
"MaxLength": 20.0,
"FieldCss": "field-wide"
},
{
"ColumnName": "Class003",
"LabelText": "コメント3",
"MaxLength": 20.0,
"FieldCss": "field-wide"
},
{
"ColumnName": "Class004",
"LabelText": "コメント4",
"MaxLength": 20.0,
"FieldCss": "field-wide"
},
{
"ColumnName": "Class005",
"LabelText": "コメント5",
"MaxLength": 20.0,
"FieldCss": "field-wide"
},
{
"ColumnName": "Date001",
"LabelText": "日付1"
},
{
"ColumnName": "Date002",
"LabelText": "日付2"
},
{
"ColumnName": "Date003",
"LabelText": "日付3"
},
{
"ColumnName": "Date004",
"LabelText": "日付4"
},
{
"ColumnName": "Date005",
"LabelText": "日付5"
}
],
"Links": [
{
"ColumnName": "ClassA",
"SiteId": 116018,
"Lookups": [
{
"From": "ClassA",
"To": "ClassB"
}
],
"JsonFormat": true
},
{
"ColumnName": "ClassV",
"SiteId": 116019
}
],
"Scripts": [
{
"Title": "カレンダー更新",
"New": true,
"Edit": true,
"Body": "$p.events.after_send = function(args) {\n // window.opener.location.reload()\n window.opener.c7s.createEvents();\n window.opener.calObj.cal1.refetchEvents();\n window.opener.calObj.cal2.refetchEvents();\n window.opener.calObj.cal3.refetchEvents();\n window.opener.calObj.cal4.refetchEvents();\n window.opener.calObj.cal5.refetchEvents();\n}\n",
"Id": 1
},
{
"Title": "開始日終了日調整",
"New": true,
"Edit": true,
"Body": "/*$p.on('change', 'DateE', function () {\n\tif ($('#Results_DateE').val() != '') {\n\t\tconsole.log('DateE Change');\n\t\tlet dateE = new Date($('#Results_DateE').val());\n\t\tdateE.setDate(1);\n\t\tlet dateEstr = dateE.getFullYear() +\n\t\t\t'/' + (dateE.getMonth() + 1).toString().padStart(2, '0') +\n\t\t\t'/' + dateE.getDate().toString().padStart(2, '0');\n\t\t$p.set($('#Results_DateE'), dateEstr);\n\t}\n\n});\n\n$p.on('change', 'DateF', function () {\n\tif ($('#Results_DateF').val() != '') {\n\t\tconsole.log('DateF Change');\n\t\tlet dateF = new Date($('#Results_DateF').val());\n\t\tdateF.setMonth(dateF.getMonth() + 1, 0);\n\t\tlet dateFstr = dateF.getFullYear() +\n\t\t\t'/' + (dateF.getMonth() + 1).toString().padStart(2, '0') +\n\t\t\t'/' + dateF.getDate().toString().padStart(2, '0');\n\t\t$p.set($('#Results_DateF'), dateFstr);\n\t}\n\n});\n*/\n$p.events.before_validate = function (args) {\n\t//処理内容\n\n\tlet dateE = '';\n\tlet dateF = '';\n\n\tif ($('#Results_DateE').val() != '' && $('#Results_DateF').val()) {\n\t\tdateE = new Date($('#Results_DateE').val());\n\t\tdateF = new Date($('#Results_DateF').val());\n\n\t\tif (dateE.getTime() >= dateF.getTime()) {\n\t\t\talert(\"終了日は開始日よりも後に設定してください\");\n\t\t\treturn false;\n\t\t}\n\t}\n\n\n}",
"Id": 2
}
],
"TitleSeparator": "■周回予定■",
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 283045,
"Title": "主治医リスト",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridColumns": [
"ResultId",
"ClassA",
"ClassB",
"ClassC",
"ClassD",
"ClassE",
"Updator",
"UpdatedTime"
],
"EditorColumnHash": {
"General": [
"ResultId",
"Title",
"ClassA",
"ClassB",
"ClassC",
"ClassD",
"ClassE"
]
},
"TitleColumns": [
"ClassA",
"ClassB",
"ClassC"
],
"Columns": [
{
"ColumnName": "ClassA",
"LabelText": "病院名",
"ChoicesText": "[[283044]]",
"UseSearch": true,
"ValidateRequired": true,
"Link": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassB",
"LabelText": "姓",
"ValidateRequired": true
},
{
"ColumnName": "ClassC",
"LabelText": "名"
},
{
"ColumnName": "ClassD",
"LabelText": "姓カナ",
"NoWrap": true
},
{
"ColumnName": "ClassE",
"LabelText": "名カナ"
}
],
"Links": [
{
"ColumnName": "ClassA",
"SiteId": 283044
}
],
"TitleSeparator": " ",
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 116016,
"Title": "個別予定",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridColumns": [
"ResultId",
"TitleBody",
"ClassE",
"ClassF",
"ClassV",
"ClassG"
],
"EditorColumnHash": {
"General": [
"Title",
"ClassA",
"ClassB",
"DateA",
"ClassG",
"ClassE",
"ClassF",
"ClassV",
"Body",
"Class001",
"_Links-116018",
"Comments"
]
},
"TitleColumns": [
"ClassB",
"DateA"
],
"LinkColumns": [
"ResultId",
"DateA",
"ClassE",
"ClassF",
"ClassG",
"ClassV",
"Body",
"Updator",
"UpdatedTime"
],
"Columns": [
{
"ColumnName": "ClassA",
"LabelText": "顧客選択",
"ChoicesText": "[\n {\n \"SiteId\": 116018,\n \"Lookups\": [\n {\n \"From\": \"ClassA\",\n \"To\": \"ClassB\"\n }\n ]\n }\n]",
"AutoPostBack": true,
"ColumnsReturnedWhenAutomaticPostback": "ClassB",
"FieldCss": "field-wide",
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassF",
"LabelText": "枠数",
"ChoicesText": "00:15\n00:30\n00:45\n01:00\n01:15\n01:30\n01:45\n02:00\n02:15\n02:30\n02:45\n03:00\n03:15\n03:30\n03:45\n04:00\n00:00",
"ValidateRequired": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassE",
"LabelText": "時間",
"ChoicesText": "08:30\n08:45\n09:00\n09:15\n09:30\n09:45\n10:00\n10:15\n10:30\n10:45\n11:00\n11:15\n11:30\n11:45\n12:00\n12:15\n12:30\n12:45\n13:00\n13:15\n13:30\n13:45\n14:00\n14:15\n14:30\n14:45\n15:00\n15:15\n15:30\n15:45\n16:00\n16:15\n16:30\n16:45\n17:00\n00:00",
"NoWrap": true,
"ValidateRequired": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "DateA",
"LabelText": "訪問日",
"NoWrap": true,
"ValidateRequired": true
},
{
"ColumnName": "ClassB",
"LabelText": "要件名",
"FieldCss": "field-wide"
},
{
"ColumnName": "ClassV",
"LabelText": "担当",
"ChoicesText": "[[116019]]",
"MultipleSelections": true,
"NoWrap": true,
"ValidateRequired": true,
"Link": true
},
{
"ColumnName": "ClassG",
"LabelText": "カテゴリ",
"ChoicesText": "1,介護\n2,医療\n3,その他\n4,備考",
"NoWrap": true,
"ValidateRequired": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "DateE",
"LabelText": "開始日",
"Description": "指定日付以降に有効となります"
},
{
"ColumnName": "DateF",
"LabelText": "終了日",
"Description": "指定日付まで有効となります"
},
{
"ColumnName": "Class001",
"LabelText": "コメント",
"MaxLength": 20.0,
"FieldCss": "field-wide"
}
],
"Links": [
{
"ColumnName": "ClassA",
"SiteId": 116018,
"Lookups": [
{
"From": "ClassA",
"To": "ClassB"
}
],
"JsonFormat": true
},
{
"ColumnName": "ClassV",
"SiteId": 116019
}
],
"Styles": [
{
"Title": "code-readonly",
"All": true,
"Body": ".code-readonly {\n\tpointer-events: none;\n\tcolor: #000000;\n\tbackground-color: #f5f5f5;\n\tfont-weight: normal;\n\tdisplay: block;\n}",
"Id": 1
}
],
"Scripts": [
{
"Title": "個別予定js",
"New": true,
"Edit": true,
"Body": "$p.events.on_editor_load = function () {\n\tlet classG = $('#Results_ClassG').val();\n\tif (classG == 4) {\n\t\t$p.set($('#Results_ClassE'), '00:00');\n\t\t$p.set($('#Results_ClassF'), '00:00');\n\n\t\t$(\"#Results_ClassE\").addClass(\"code-readonly\");\n\t\t$(\"#Results_ClassF\").addClass(\"code-readonly\");\n\n\t}\n\n}\n\n$p.events.after_send = function (args) {\n\t// window.opener.location.reload()\n\twindow.opener.c7s.createEvents();\n\twindow.opener.calObj.cal1.refetchEvents();\n\twindow.opener.calObj.cal2.refetchEvents();\n\twindow.opener.calObj.cal3.refetchEvents();\n\twindow.opener.calObj.cal4.refetchEvents();\n\twindow.opener.calObj.cal5.refetchEvents();\n}\n\n$p.events.before_validate = function (args) {\n\tlet classE = $('#Results_ClassE').val();\n\tlet classF = $('#Results_ClassF').val();\n\tlet classG = $('#Results_ClassG').val();\n\n\tif (classG != 4) {\n\t\tif (classE == '00:00' || classF == '00:00') {\n\t\t\talert('時間または枠数の「00:00」は\\nカテゴリ[備考]専用です');\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\treturn true\n\t}\n}\n\n\n$p.on('change', 'ClassG', function () {\n\tlet classG = $('#Results_ClassG').val();\n\tif (classG == 4) {\n\t\t$p.set($('#Results_ClassE'), '00:00');\n\t\t$p.set($('#Results_ClassF'), '00:00');\n\n\t\t$(\"#Results_ClassE\").addClass(\"code-readonly\");\n\t\t$(\"#Results_ClassF\").addClass(\"code-readonly\");\n\n\n\t} else {\n\t\t$p.set($('#Results_ClassE'), '');\n\t\t$p.set($('#Results_ClassF'), '');\n\n\t\t$(\"#Results_ClassE\").removeClass(\"code-readonly\");\n\t\t$(\"#Results_ClassF\").removeClass(\"code-readonly\");\n\t}\n});",
"Id": 1
}
],
"TitleSeparator": "■個別予定日■",
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 116018,
"Title": "顧客リスト",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridView": 2,
"GridColumns": [
"ResultId",
"Title",
"ClassC",
"ClassH",
"ClassD",
"DateA",
"ClassE",
"ClassF",
"ClassV",
"ClassG",
"DateB",
"UpdatedTime"
],
"EditorColumnHash": {
"General": [
"ResultId",
"Title",
"ClassB",
"ClassA",
"Body",
"ClassC",
"ClassH",
"ClassD",
"ClassE",
"ClassF",
"ClassV",
"ClassG",
"DateA",
"DateB",
"ClassM",
"ClassN"
]
},
"TitleColumns": [
"ClassB",
"ClassA"
],
"LinkColumns": [
"ResultId",
"Title",
"Body",
"Updator",
"UpdatedTime"
],
"Columns": [
{
"ColumnName": "ClassA",
"LabelText": "顧客名",
"NoWrap": true
},
{
"ColumnName": "ClassB",
"LabelText": "グループ",
"ChoicesText": "あ\nい\nう\nえ\nお\nか\nき\nく\nけ\nこ\nさ\nし\nす\nせ\nそ\nた\nち\nつ\nて\nと\nな\nに\nぬ\nね\nの\nは\nひ\nふ\nへ\nほ\nま\nみ\nむ\nめ\nも\nや\nゆ\nよ\nら\nり\nる\nれ\nろ\nわ",
"NoWrap": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassC",
"LabelText": "パターン",
"ChoicesText": "1,毎週\n2,隔週1\n3,隔週2\n4,毎月\n5,奇数月\n6,偶数月",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassD",
"LabelText": "曜日",
"ChoicesText": "mo,月\ntu,火\nwe,水\nth,木\nfr,金\nsa,土\nsu,日",
"MultipleSelections": true,
"Hide": true
},
{
"ColumnName": "ClassE",
"LabelText": "時間",
"ChoicesText": "08:30\n08:45\n09:00\n09:15\n09:30\n09:45\n10:00\n10:15\n10:30\n10:45\n11:00\n11:15\n11:30\n11:45\n12:00\n12:15\n12:30\n12:45\n13:00\n13:15\n13:30\n13:45\n14:00\n14:15\n14:30\n14:45\n15:00\n15:15\n15:30\n15:45\n16:00\n16:15\n16:30\n16:45\n17:00",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassF",
"LabelText": "枠数",
"ChoicesText": "00:15\n00:30\n00:45\n01:00\n01:15\n01:30\n01:45\n02:00\n02:15\n02:30\n02:45\n03:00\n03:15\n03:30\n03:45\n04:00",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassV",
"LabelText": "担当",
"ChoicesText": "[[116019]]",
"MultipleSelections": true,
"Hide": true,
"Link": true
},
{
"ColumnName": "ClassG",
"LabelText": "カテゴリ",
"ChoicesText": "1,介護\n2,医療\n3,その他",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "DateA",
"LabelText": "訪問日",
"Hide": true
},
{
"ColumnName": "DateB",
"LabelText": "例外予定日",
"Hide": true
},
{
"ColumnName": "ClassH",
"LabelText": "指定週",
"ChoicesText": "1\n2\n3\n4\n5",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassM",
"LabelText": "病院",
"ChoicesText": "[[283044]]",
"NoWrap": true,
"FieldCss": "field-wide",
"Link": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassN",
"LabelText": "主治医",
"NoWrap": true
}
],
"Links": [
{
"ColumnName": "ClassV",
"SiteId": 116019
},
{
"ColumnName": "ClassM",
"SiteId": 283044
}
],
"ViewLatestId": 3,
"Views": [
{
"Id": 2,
"Name": "既定のビュ―",
"DefaultMode": "Index",
"ColumnSorterHash": {
"Title": "asc"
},
"ApiColumnKeyDisplayType": 0,
"ApiColumnValueDisplayType": 0,
"CalendarSiteId": 0,
"ApiDataType": 0
},
{
"Id": 3,
"Name": "顧客リスト",
"GridColumns": [
"ResultId",
"Title",
"ClassM",
"ClassN",
"Updator",
"UpdatedTime"
],
"ApiColumnKeyDisplayType": 0,
"ApiColumnValueDisplayType": 0,
"CalendarSiteId": 0,
"CalendarTimePeriod": "Monthly",
"CalendarFromTo": "DateA",
"CrosstabGroupByX": "ClassB",
"CrosstabGroupByY": "ClassB",
"CrosstabAggregateType": "Total",
"CrosstabTimePeriod": "Monthly",
"ApiDataType": 0
}
],
"Styles": [
{
"Title": "レコード色変更",
"Index": true,
"Body": "/*個別予定カラー 黄色*/\n.colorChange1 {\n background-color: #ffffe0;\n}\n\n/*周回予定予定カラー 黄色*/\n.colorChange2 {\n background-color: #90ee90;\n}\n\n.colorChange3 {\n background-color: #add8e6;\n}\n",
"Id": 2
}
],
"ServerScripts": [
{
"Title": "レコード色変更",
"Name": "",
"BeforeOpeningRow": true,
"Body": "try {\n let date = new Date(1900,1,1);\n if (model.DateA > date) {\n model.ExtendedRowCss = 'colorChange1';\n } else if (model.ClassC != \"\") {\n model.ExtendedRowCss = 'colorChange2';\n }else if (model.DateB > date){\n model.ExtendedRowCss = 'colorChange3';\n }\n} catch (e) {\n context.Log(e.stack);\n}",
"Id": 1
}
],
"RelatingColumns": [
{
"Title": "病院-主治医",
"Columns": [
"ClassM",
"ClassN"
],
"Id": 1
}
],
"TitleSeparator": "-",
"IntegratedSites": [
"116020",
"116016",
"116017"
],
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
},
{
"TenantId": 1,
"SiteId": 283047,
"Title": "顧客リストのみ",
"SiteName": "",
"SiteGroupName": "",
"Body": "",
"GridGuide": "",
"EditorGuide": "",
"CalendarGuide": "",
"CrosstabGuide": "",
"GanttGuide": "",
"BurnDownGuide": "",
"TimeSeriesGuide": "",
"AnalyGuide": "",
"KambanGuide": "",
"ImageLibGuide": "",
"ReferenceType": "Results",
"ParentId": 116014,
"InheritPermission": 116014,
"SiteSettings": {
"Version": 1.017,
"ReferenceType": "Results",
"GridView": 2,
"GridColumns": [
"ResultId",
"Title",
"ClassM",
"ClassN",
"Updator",
"UpdatedTime"
],
"EditorColumnHash": {
"General": [
"ResultId",
"Title",
"ClassB",
"ClassA",
"Body",
"ClassC",
"ClassH",
"ClassD",
"ClassE",
"ClassF",
"ClassV",
"ClassG",
"DateA",
"DateB",
"ClassM",
"ClassN"
]
},
"TitleColumns": [
"ClassB",
"ClassA"
],
"LinkColumns": [
"ResultId",
"Title",
"Body",
"Updator",
"UpdatedTime"
],
"Columns": [
{
"ColumnName": "ClassA",
"LabelText": "顧客名",
"NoWrap": true
},
{
"ColumnName": "ClassB",
"LabelText": "グループ",
"ChoicesText": "あ\nい\nう\nえ\nお\nか\nき\nく\nけ\nこ\nさ\nし\nす\nせ\nそ\nた\nち\nつ\nて\nと\nな\nに\nぬ\nね\nの\nは\nひ\nふ\nへ\nほ\nま\nみ\nむ\nめ\nも\nや\nゆ\nよ\nら\nり\nる\nれ\nろ\nわ",
"NoWrap": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassC",
"LabelText": "パターン",
"ChoicesText": "1,毎週\n2,隔週1\n3,隔週2\n4,毎月\n5,奇数月\n6,偶数月",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassD",
"LabelText": "曜日",
"ChoicesText": "mo,月\ntu,火\nwe,水\nth,木\nfr,金\nsa,土\nsu,日",
"MultipleSelections": true,
"Hide": true
},
{
"ColumnName": "ClassE",
"LabelText": "時間",
"ChoicesText": "08:30\n08:45\n09:00\n09:15\n09:30\n09:45\n10:00\n10:15\n10:30\n10:45\n11:00\n11:15\n11:30\n11:45\n12:00\n12:15\n12:30\n12:45\n13:00\n13:15\n13:30\n13:45\n14:00\n14:15\n14:30\n14:45\n15:00\n15:15\n15:30\n15:45\n16:00\n16:15\n16:30\n16:45\n17:00",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassF",
"LabelText": "枠数",
"ChoicesText": "00:15\n00:30\n00:45\n01:00\n01:15\n01:30\n01:45\n02:00\n02:15\n02:30\n02:45\n03:00\n03:15\n03:30\n03:45\n04:00",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassV",
"LabelText": "担当",
"ChoicesText": "[[116019]]",
"MultipleSelections": true,
"Hide": true,
"Link": true
},
{
"ColumnName": "ClassG",
"LabelText": "カテゴリ",
"ChoicesText": "1,介護\n2,医療\n3,その他",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "DateA",
"LabelText": "訪問日",
"Hide": true
},
{
"ColumnName": "DateB",
"LabelText": "例外予定日",
"Hide": true
},
{
"ColumnName": "ClassH",
"LabelText": "指定週",
"ChoicesText": "1\n2\n3\n4\n5",
"Hide": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassM",
"LabelText": "病院",
"ChoicesText": "[[283044]]",
"NoWrap": true,
"FieldCss": "field-wide",
"Link": true,
"SearchType": "PartialMatch"
},
{
"ColumnName": "ClassN",
"LabelText": "主治医",
"NoWrap": true
}
],
"Links": [
{
"ColumnName": "ClassV",
"SiteId": 116019
},
{
"ColumnName": "ClassM",
"SiteId": 283044
}
],
"ViewLatestId": 3,
"Styles": [
{
"Title": "レコード色変更",
"Index": true,
"Disabled": true,
"Body": "/*個別予定カラー 黄色*/\n.colorChange1 {\n background-color: #ffffe0;\n}\n\n/*周回予定予定カラー 黄色*/\n.colorChange2 {\n background-color: #90ee90;\n}\n\n.colorChange3 {\n background-color: #add8e6;\n}\n",
"Id": 2
}
],
"ServerScripts": [
{
"Title": "レコード色変更",
"Name": "",
"BeforeOpeningRow": true,
"Body": "try {\n let date = new Date(1900,1,1);\n if (model.DateA > date) {\n model.ExtendedRowCss = 'colorChange1';\n } else if (model.ClassC != \"\") {\n model.ExtendedRowCss = 'colorChange2';\n }else if (model.DateB > date){\n model.ExtendedRowCss = 'colorChange3';\n }\n} catch (e) {\n context.Log(e.stack);\n}",
"Id": 1
}
],
"RelatingColumns": [
{
"Title": "病院-主治医",
"Columns": [
"ClassM",
"ClassN"
],
"Id": 1
}
],
"TitleSeparator": "-",
"IntegratedSites": [
"116018"
],
"NoDisplayIfReadOnly": false,
"NotInheritPermissionsWhenCreatingSite": false
},
"Publish": false,
"DisableCrossSearch": false,
"Comments": []
}
],
"Data": [],
"Permissions": [
{
"SiteId": 116014,
"Permissions": [
{
"ReferenceId": 116014,
"DeptId": 0,
"GroupId": 0,
"UserId": 460,
"PermissionType": 511
},
{
"ReferenceId": 116014,
"DeptId": 0,
"GroupId": 18,
"UserId": 0,
"PermissionType": 127
},
{
"ReferenceId": 274688,
"DeptId": 0,
"GroupId": 0,
"UserId": 460,
"PermissionType": 511
}
]
},
{
"SiteId": 274688,
"Permissions": [
{
"ReferenceId": 274688,
"DeptId": 0,
"GroupId": 0,
"UserId": 460,
"PermissionType": 511
}
]
},
{
"SiteId": 116015,
"Permissions": []
},
{
"SiteId": 116017,
"Permissions": []
},
{
"SiteId": 116019,
"Permissions": []
},
{
"SiteId": 283044,
"Permissions": []
},
{
"SiteId": 116020,
"Permissions": []
},
{
"SiteId": 283045,
"Permissions": []
},
{
"SiteId": 116016,
"Permissions": []
},
{
"SiteId": 116018,
"Permissions": []
},
{
"SiteId": 283047,
"Permissions": []
}
],
"PermissionIdList": {
"DeptIdList": [],
"GroupIdList": [
{
"GroupId": 18,
"GroupName": "ケアセブン"
}
],
"UserIdList": [
{
"UserId": 460,
"LoginId": "ntkco12216",
"UserCode": "",
"Name": "野木 健一郎"
}
]
}
}