{ "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": "野木 健一郎" } ] } }