{ "Rows": { "RowColumnAttachedInfos": { "0": { "GridRowColumnDefinition": { "DesignLengthInPixel": 15.0 } }, "1": { "GridRowColumnDefinition": { "DesignLengthInPixel": 102.0, "Mode": 1 } }, "2": { "GridRowColumnDefinition": { "DesignLengthInPixel": 10.0 } }, "3": { "GridRowColumnDefinition": { "DesignLengthInPixel": 83.0, "Mode": 1 } }, "4": { "GridRowColumnDefinition": { "DesignLengthInPixel": 10.0 } }, "5": { "GridRowColumnDefinition": { "DesignLengthInPixel": 300.0 } }, "6": { "GridRowColumnDefinition": { "DesignLengthInPixel": 10.0 } }, "7": { "GridRowColumnDefinition": { "DesignLengthInPixel": 254.0 } }, "8": { "GridRowColumnDefinition": { "DesignLengthInPixel": 10.0 } }, "9": { "GridRowColumnDefinition": { "DesignLengthInPixel": 254.0, "Mode": 2, "MinLength": { "Unit": 1 }, "MaxLength": { "Value": 1.0 } } }, "10": { "GridRowColumnDefinition": { "DesignLengthInPixel": 15.0 } }, "11": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0, "IsHidden": true } } }, "InLogicalVisibleIndexes": [ 11 ], "Count": 12, "DefaultSize": 10.0 }, "Cols": { "RowColumnAttachedInfos": { "0": { "GridRowColumnDefinition": { "DesignLengthInPixel": 24.0 } }, "1": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "2": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "3": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "4": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "5": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "6": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "7": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "8": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "9": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "10": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "11": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "12": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "13": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "14": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "15": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "16": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "17": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "18": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "19": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "20": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "21": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "22": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "23": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "24": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "25": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "26": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "27": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "28": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "29": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "30": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "31": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "32": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "33": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "34": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "35": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "36": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0, "Mode": 2, "MinLength": { "Unit": 1 }, "MaxLength": { "Value": 1.0 } } }, "37": { "GridRowColumnDefinition": { "DesignLengthInPixel": 10.0 } }, "38": { "GridRowColumnDefinition": { "DesignLengthInPixel": 320.0 } }, "39": { "GridRowColumnDefinition": { "DesignLengthInPixel": 24.0 } } }, "Count": 40, "DefaultSize": 32.0 }, "Values": { "1,1": "工作台_关键信息", "1,38": "公告栏", "3,1": "工作台_快捷入口", "5,1": "工时折线图", "5,38": "项目动态", "7,1": "工时排行榜(柱形图)", "9,1": "反馈统计(饼图+表格)" }, "AttachInfos": { "1,1": { "CellType": { "$type": "Forguncy.ContentContainerCellType, ServerDesignerCommon", "PageName": "工作台_关键信息", "OverflowMode": 1 } }, "3,1": { "CellType": { "$type": "Forguncy.ContentContainerCellType, ServerDesignerCommon", "PageName": "工作台_快捷入口" } }, "5,1": { "CssName": "none-background", "CellType": { "$type": "EchartsCustomCellType.EchartsCustomCellTypeCellType, EchartsCustomCellType", "EChartTitle": "报工趋势表", "DataSourceBinding": "DataSources", "DataSources": [ { "Name": "工时表", "BindingTableOptions": { "$type": "ServerDesignerCommon.Model.BindingDataSourceModel, ServerDesignerCommon", "TableName": "任务工时表", "BindingInfos": [ { "GUID": "dcf5c7c2-1643-4eb4-b2a3-8e94ef7a14e2", "BindingInfo": { "TableName": "任务工时表", "ColumnName": "工时日期", "GUID": "82e97a2c-9e2f-42e4-937a-453518b48f70" }, "ColumnName": "日期" }, { "GUID": "edd13b7b-55f0-41ed-919f-758450e718b6", "BindingInfo": { "TableName": "任务工时表", "ColumnName": "总工时", "GUID": "786c776d-dcec-411f-8a24-0b19e5ac7564" }, "ColumnName": "总工时" } ], "SqlCondition": { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "CompareType": 2, "ColumnBindingInfo": { "TableName": "任务工时表", "ColumnName": "ID", "GUID": "402f4224-6093-478a-89b5-d0b583da473a" }, "Value": "0" }, "NullFormulaValueQueryPolicy": 1, "OrderBySqlCondition": { "OrderByColumns": [ { "ColumnBindingInfo": { "TableName": "任务工时表", "ColumnName": "工时日期", "GUID": "7e799144-4ee2-4128-b68c-8c6f41270a5f" }, "Order": 0 } ] }, "CustomColumns": [] } } ], "JSONDataSources": [], "ImageDataSource": [], "Config": "{\"option\":\"console.log(Context[\\\"工时表\\\"]);\\nconst {\\n \\\"日期\\\": xAxisData,\\n \\\"总工时\\\": yAxisData\\n} = ForguncyEchartsHelper.splitDataSource(Context[\\\"工时表\\\"]);\\n\\nfunction getDateFormat (value) {\\n // Excel 日期格式的起始日期是 1899-12-30 \\n const excelEpoch = new Date(Date.UTC(1899, 11, 30));\\n // 将整数日期转换为毫秒数 \\n const date = new Date(excelEpoch.getTime() + value * 24 * 60 * 60 * 1000);\\n const year = date.getUTCFullYear();\\n const month = (date.getUTCMonth() + 1).toString().padStart(2, '0');\\n const day = date.getUTCDate().toString().padStart(2, '0');\\n return `${year}-${month}-${day}`;\\n }\\n\\noption = {\\n backgroundColor: 'rgba(0, 0, 0, 0)',\\n title: {\\n text: '报工趋势图', // 设置标题文本 \\n left: 'center', // 标题居中 \\n top: 24, // 标题距离上方24px \\n textStyle: {\\n fontSize: 16, // 标题字体大小 \\n fontWeight: 'bold' // 标题字体加粗 \\n }\\n },\\n grid: {\\n top: 72,\\n left: '24px', // 让图表撑满宽度 \\n right: '24px', // 让图表撑满宽度 \\n bottom: '24px',\\n containLabel: true\\n },\\n xAxis: {\\n type: 'category',\\n data: xAxisData,\\n axisLabel: {\\n formatter: getDateFormat,\\n color: '#abacac' //设置x轴线文本颜色\\n },\\n axisLine: {\\n lineStyle: {\\n color: '#f5f6f6' // 设置 x 轴线条为浅灰色 \\n }\\n },\\n axisTick: {\\n lineStyle: {\\n color: '#f5f6f6' // 设置 x 轴刻度线为浅灰色 \\n }\\n },\\n },\\n yAxis: {\\n type: 'value',\\n axisLabel: {\\n color: '#abacac' // 设置 y 轴刻度文本为浅灰色 \\n },\\n axisLine: {\\n\\n lineStyle: {\\n color: '#f5f6f6' // 设置 y 轴线条为浅灰色 \\n }\\n },\\n axisTick: {\\n\\n lineStyle: {\\n color: '#f5f6f6' // 设置 y 轴刻度线为浅灰色 \\n }\\n },\\n splitLine: {\\n show: true,\\n lineStyle: {\\n color: '#f8fafc'\\n }\\n }\\n },\\n tooltip: {\\n trigger: 'axis',\\n formatter: function (params) {\\n const dateString = getDateFormat(params[0].name);\\n const value = Math.round(params[0].value,1);\\n return `日期:${dateString}
工时:${value}小时`;\\n },\\n backgroundColor: '#FFFFFF',\\n textStyle:{\\n color:'#000000'\\n }\\n },\\n series: [\\n {\\n data: yAxisData,\\n type: 'line',\\n lineStyle: {\\n width: 3, // 折线宽度设置为3 \\n shadowColor: 'rgba(0, 0, 0, 0.1)', // 阴影颜色 \\n shadowBlur: 10, // 阴影模糊尺寸 \\n shadowOffsetX: 0, // 阴影水平偏移 \\n shadowOffsetY: 4 // 阴影垂直偏移 \\n },\\n smooth: true, // 设置为平滑线 \\n symbolSize: 8, // 数据点大小设置为5 \\n symbol: 'circle', // 数据点形状设置为圆形 \\n itemStyle: {\\n color: '#2196f3' // 数据点颜色(折线渐变颜色下限) \\n },\\n areaStyle: {\\n // 设置折线下方的渐变 \\n color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [\\n {\\n offset: 0,\\n color: 'rgba(33,150,243,0.3)' // 渐变色开始,半透明蓝色 \\n },\\n {\\n offset: 1,\\n color: 'rgba(33,150,243,0)' // 渐变色结束,完全透明 \\n }\\n ])\\n }\\n }\\n ]\\n};\",\"graphTheme\":null,\"displayMode\":\"canvas\",\"jsCode\":\"\\n async ({Context,JSONContext,ImageContext,echarts,myChart,dat,Forguncy,d3,setInterval,setTimeout,ForguncyEchartsHelper,PublicResource})=>{\\n var datGUI=undefined;\\n var option={};\\n console.log(Context[\\\"工时表\\\"]);\\nconst { \\\"日期\\\": xAxisData, \\\"总工时\\\": yAxisData } = ForguncyEchartsHelper.splitDataSource(Context[\\\"工时表\\\"]);\\nfunction getDateFormat(value) {\\n // Excel 日期格式的起始日期是 1899-12-30 \\n const excelEpoch = new Date(Date.UTC(1899, 11, 30));\\n // 将整数日期转换为毫秒数 \\n const date = new Date(excelEpoch.getTime() + value * 24 * 60 * 60 * 1000);\\n const year = date.getUTCFullYear();\\n const month = (date.getUTCMonth() + 1).toString().padStart(2, '0');\\n const day = date.getUTCDate().toString().padStart(2, '0');\\n return `${year}-${month}-${day}`;\\n}\\noption = {\\n backgroundColor: 'rgba(0, 0, 0, 0)',\\n title: {\\n text: '报工趋势图',\\n left: 'center',\\n top: 24,\\n textStyle: {\\n fontSize: 16,\\n fontWeight: 'bold' // 标题字体加粗 \\n }\\n },\\n grid: {\\n top: 72,\\n left: '24px',\\n right: '24px',\\n bottom: '24px',\\n containLabel: true\\n },\\n xAxis: {\\n type: 'category',\\n data: xAxisData,\\n axisLabel: {\\n formatter: getDateFormat,\\n color: '#abacac' //设置x轴线文本颜色\\n },\\n axisLine: {\\n lineStyle: {\\n color: '#f5f6f6' // 设置 x 轴线条为浅灰色 \\n }\\n },\\n axisTick: {\\n lineStyle: {\\n color: '#f5f6f6' // 设置 x 轴刻度线为浅灰色 \\n }\\n },\\n },\\n yAxis: {\\n type: 'value',\\n axisLabel: {\\n color: '#abacac' // 设置 y 轴刻度文本为浅灰色 \\n },\\n axisLine: {\\n lineStyle: {\\n color: '#f5f6f6' // 设置 y 轴线条为浅灰色 \\n }\\n },\\n axisTick: {\\n lineStyle: {\\n color: '#f5f6f6' // 设置 y 轴刻度线为浅灰色 \\n }\\n },\\n splitLine: {\\n show: true,\\n lineStyle: {\\n color: '#f8fafc'\\n }\\n }\\n },\\n tooltip: {\\n trigger: 'axis',\\n formatter: function (params) {\\n const dateString = getDateFormat(params[0].name);\\n const value = Math.round(params[0].value, 1);\\n return `日期:${dateString}
工时:${value}小时`;\\n },\\n backgroundColor: '#FFFFFF',\\n textStyle: {\\n color: '#000000'\\n }\\n },\\n series: [\\n {\\n data: yAxisData,\\n type: 'line',\\n lineStyle: {\\n width: 3,\\n shadowColor: 'rgba(0, 0, 0, 0.1)',\\n shadowBlur: 10,\\n shadowOffsetX: 0,\\n shadowOffsetY: 4 // 阴影垂直偏移 \\n },\\n smooth: true,\\n symbolSize: 8,\\n symbol: 'circle',\\n itemStyle: {\\n color: '#2196f3' // 数据点颜色(折线渐变颜色下限) \\n },\\n areaStyle: {\\n // 设置折线下方的渐变 \\n color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [\\n {\\n offset: 0,\\n color: 'rgba(33,150,243,0.3)' // 渐变色开始,半透明蓝色 \\n },\\n {\\n offset: 1,\\n color: 'rgba(33,150,243,0)' // 渐变色结束,完全透明 \\n }\\n ])\\n }\\n }\\n ]\\n};\\n\\n return {\\n option,\\n datGUI,\\n };\\n }\\n \"}" } } }, "StyleDatas": { "Styles": [ { "FontSize": 37.33333333333333, "Foreground": 0 } ], "Types": { "Strs": [ "Background 1 -15", "Body", "Center" ] }, "CellStyles": { "1,38": 0, "5,38": 0, "7,1": 0, "9,1": 0 }, "SheetStyle": { "FontFamily": 1, "HorizontalAlignment": 2 } }, "Spans": [ "1,38,3,1", "7,1,1,36", "9,1,1,36", "5,38,5,1", "1,1,1,36", "3,1,1,36", "5,1,1,36" ], "PageInfo": { "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", "MasterPageName": "FGC_母版页", "PageOverflowMode": 2, "PermissionData": { "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionData, Forguncy.RbacPermission.Core", "permissionResource": { "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionResource, Forguncy.RbacPermission.Core" }, "permissionBindings": [ { "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionBinding, Forguncy.RbacPermission.Core", "roleNames": [ "FGC_LoginUser" ] } ] }, "RowBreakLines": [], "RepeatRangeSettings": [] }, "PrintInfo": { "PaperSize": {}, "Margin": {} }, "BackgroundPictures": [ { "FitToBrowserWidth": true, "FitToBrowserHeight": true, "Name": "f9665113-5057-40ef-8571-aa152a7302ce.png", "DisplayName": "背景图1", "StyleInfo": { "Fill": "Background 2 0" }, "IsAutomaticFill": false, "Size": "1530,1095" }, { "Name": "0f5baa2c-2dec-44c7-8a3f-45868371fe7b.png", "DisplayName": "背景图2", "StyleInfo": { "CornerRadius": 10.0, "Fill": "Background 1 0" }, "IsAutomaticFill": false, "Location": "24,220", "Size": "1152,300" }, { "Name": "7e86b317-11df-41f3-a863-d077d49a760b.png", "DisplayName": "背景图3", "StyleInfo": { "CornerRadius": 10.0, "Fill": "Background 1 0" }, "IsAutomaticFill": false, "Location": "1186,15", "Size": "320,195" }, { "Name": "75cbd09e-882c-427a-a52b-ba015444352e.png", "DisplayName": "背景图4", "StyleInfo": { "CornerRadius": 10.0, "Fill": "Background 1 0" }, "IsAutomaticFill": false, "Location": "1186,220", "Size": "320,828" }, { "Name": "9585c733-c922-4ba2-8923-e5c50a4f429c.png", "DisplayName": "背景图5", "StyleInfo": { "CornerRadius": 10.0, "Fill": "Background 1 0" }, "IsAutomaticFill": false, "Location": "24,530", "Size": "1152,254" }, { "Name": "cc656816-79e5-4f40-957c-c72753c75e5d.png", "DisplayName": "背景图6", "StyleInfo": { "CornerRadius": 10.0, "Fill": "Background 1 0" }, "IsAutomaticFill": false, "Location": "24,794", "Size": "1152,254" } ] }//xIECmB6dFVIANHA3mNSlK9cZkBJgCC+0TOHnbm9qkq9zMkHFoE15OwmexC6Uunz3nm87vNlM72wvr8+ZX9HM6l8BvJfzkbO39obumkEVaimEqW9VU43coW2RXvQzJjSDpFWjs7K7a1XnMSgFQt69iaaf/AjDET/iKWc3kUfEocnUpYr0UFaXNwpxq1UZxzEmGzC2YpMt8YeTTGvhi0px0gOEmyEfADNmBqdjOeqYICCHQmr+ujJYcB/Mfhp7lB4S94rXCA97peFLqPnP4jRcmwcmCoCNqcrmkOG0ixkYAs5cpnMZb48tiyp88hb+dMdOeI/CoHtqQY8ZhK2rJomy9v9jOfn4aPmAYP8QWNVEvBvwN/6+mTjG0rDgS+PKsTJ2PJGnnZcUHHmFRJfK6GOL5FBmXz4fr17mvYp6W7s6sSOqdabEJA/zAHpmcyfQkvmgCls/PocSDIW4Czpzxwg3NL77jYDwiR6PgsF95uiM66z2aPxS0UvCqTiuES/5O69QMHX2gJSvmcC6U/s8wBBDVYq0mcGQeL5xsE3pcr6pPavfEsJL1lN1dPaB7Ttayrd8Q79g+AaG27ariGttDRDaSElBVe6q33Ef1RTxm+jDAjZIo5hnVffmp705KDjfCdkRvcA7+0+SQivQpD88ZLJSwqgH/DLgHgmHGFW6XXJd1MDnvaaN3zIhczNzuK7YM59YslNUcS2XK0YRgv+H5HuNNUm0GM3ydyPsCz8nOrcRcZVWSupC3fhqHw1bD1tYxln2tkfAgDVM6F/0a6346GyU2ZhY8I19UCi+RPbfqMwH1wLa2iMG7z12xCchsjuTM7sgzBtDFQQjNpRJ+Ky2E3k7Ws2kFZ5kGPKZXMKUE7S+5Ki1Rmxj9HooTBqCk9hEaEies1p7ToTZatdt9m15WMRYNw==|920