{ "Rows": { "RowColumnAttachedInfos": { "0": { "GridRowColumnDefinition": { "DesignLengthInPixel": 21.0, "Mode": 2, "MinLength": { "Unit": 1 }, "MaxLength": { "Value": 1.0 } } }, "1": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "2": { "GridRowColumnDefinition": { "DesignLengthInPixel": 38.0 } }, "3": { "GridRowColumnDefinition": { "DesignLengthInPixel": 21.0 } }, "4": { "GridRowColumnDefinition": { "DesignLengthInPixel": 32.0 } }, "5": { "GridRowColumnDefinition": { "DesignLengthInPixel": 38.0 } }, "6": { "GridRowColumnDefinition": { "DesignLengthInPixel": 21.0, "Mode": 2, "MinLength": { "Unit": 1 }, "MaxLength": { "Value": 1.0 } } } }, "Count": 7, "DefaultSize": 21.0 }, "Cols": { "RowColumnAttachedInfos": { "0": { "GridRowColumnDefinition": { "DesignLengthInPixel": 24.0 } }, "1": { "GridRowColumnDefinition": { "DesignLengthInPixel": 201.0 } }, "2": { "GridRowColumnDefinition": { "DesignLengthInPixel": 215.0 } }, "3": { "GridRowColumnDefinition": { "DesignLengthInPixel": 50.0 } }, "4": { "GridRowColumnDefinition": { "DesignLengthInPixel": 121.0 } }, "5": { "GridRowColumnDefinition": { "DesignLengthInPixel": 15.0 } }, "6": { "GridRowColumnDefinition": { "DesignLengthInPixel": 121.0 } }, "7": { "GridRowColumnDefinition": { "DesignLengthInPixel": 15.0 } }, "8": { "GridRowColumnDefinition": { "DesignLengthInPixel": 121.0 } }, "9": { "GridRowColumnDefinition": { "DesignLengthInPixel": 47.0, "Mode": 2, "MinLength": { "Unit": 1 }, "MaxLength": { "Value": 1.0 } } } }, "Count": 10, "DefaultSize": 121.0 }, "Values": { "1,4": "总分配工时", "1,6": "已分配工时", "1,8": "已分配工时", "2,4": 0, "2,6": 0, "2,8": 0, "4,4": "总核定工时", "4,6": "可核定工时", "4,8": "实际上报工时", "5,4": 0, "5,6": 0, "5,8": 0 }, "AttachInfos": { "1,1": { "CellType": { "$type": "EchartsCustomCellType.EchartsCustomCellTypeCellType, EchartsCustomCellType", "EChartTitle": "Echarts图表", "DataSourceBinding": "JSONDataSources", "DataSources": [], "JSONDataSources": [ { "Name": "已分配工时", "JSONDemo": "0" }, { "Name": "总核定工时", "JSONDemo": "0" } ], "ImageDataSource": [], "Config": "{\"option\":\"option = {\\n color: [\\\"#2196f3\\\", \\\"#bdd2e2\\\"],\\n title: {\\n text: '工时核定',\\n left: '50%',\\n top: '50%',\\n textAlign: 'center',\\n textVerticalAlign: 'middle',\\n textStyle: {\\n fontSize: 14,\\n },\\n },\\n tooltip: {\\n trigger: 'item'\\n },\\n series: [\\n {\\n name: '工时',\\n type: 'pie',\\n radius: ['40%', '90%'], // 调整内外半径,确保饼图尽量填充容器\\n center: ['50%', '50%'], // 确保饼图在容器中居中\\n label: {\\n fontSize: 10,\\n position: 'inside',\\n color: '#FFFFFF',\\n lineHeight: 13,\\n // 使用 formatter 回调函数\\n formatter: getColor,\\n rich: {\\n style: {\\n fontSize: 14,\\n fontWeight:\\\"normal\\\",\\n // 这里定义一个占位符,颜色会在 formatter 回调中动态设置\\n color: '#000000'\\n }\\n }\\n },\\n data: [\\n { value: 30, name: '已核定' },\\n { value: 70, name: '未核定' },\\n ],\\n emphasis: {\\n itemStyle: {\\n shadowBlur: 10,\\n shadowOffsetX: 0,\\n shadowColor: 'rgba(0, 0, 0, 0.5)'\\n }\\n }\\n }\\n ]\\n};\\n\\nfunction getColor(params) {\\n // 获取当前部分的颜色\\n const color = params.color;\\n // 解析颜色:\\n const rgb = color.slice(1); // 去掉 # \\n const r = parseInt(rgb.slice(0, 2), 16);\\n const g = parseInt(rgb.slice(2, 4), 16);\\n const b = parseInt(rgb.slice(4, 6), 16);\\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\\n\\n // 根据亮度判断标签颜色\\n const textColor = brightness > 128 ? '#000000' : '#FFFFFF';\\n\\n // 返回格式化字符串,其中包含样式标签\\n return `{style|${params.name}\\\\n ${params.value+'h'}}`;\\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 option = {\\n color: [\\\"#2196f3\\\", \\\"#bdd2e2\\\"],\\n title: {\\n text: '工时核定',\\n left: '50%',\\n top: '50%',\\n textAlign: 'center',\\n textVerticalAlign: 'middle',\\n textStyle: {\\n fontSize: 14,\\n },\\n },\\n tooltip: {\\n trigger: 'item'\\n },\\n series: [\\n {\\n name: '工时',\\n type: 'pie',\\n radius: ['40%', '90%'],\\n center: ['50%', '50%'],\\n label: {\\n fontSize: 10,\\n position: 'inside',\\n color: '#FFFFFF',\\n lineHeight: 13,\\n // 使用 formatter 回调函数\\n formatter: getColor,\\n rich: {\\n style: {\\n fontSize: 14,\\n fontWeight: \\\"normal\\\",\\n // 这里定义一个占位符,颜色会在 formatter 回调中动态设置\\n color: '#000000'\\n }\\n }\\n },\\n data: [\\n { value: 30, name: '已核定' },\\n { value: 70, name: '未核定' },\\n ],\\n emphasis: {\\n itemStyle: {\\n shadowBlur: 10,\\n shadowOffsetX: 0,\\n shadowColor: 'rgba(0, 0, 0, 0.5)'\\n }\\n }\\n }\\n ]\\n};\\nfunction getColor(params) {\\n // 获取当前部分的颜色\\n const color = params.color;\\n // 解析颜色:\\n const rgb = color.slice(1); // 去掉 # \\n const r = parseInt(rgb.slice(0, 2), 16);\\n const g = parseInt(rgb.slice(2, 4), 16);\\n const b = parseInt(rgb.slice(4, 6), 16);\\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\\n // 根据亮度判断标签颜色\\n const textColor = brightness > 128 ? '#000000' : '#FFFFFF';\\n // 返回格式化字符串,其中包含样式标签\\n return `{style|${params.name}\\\\n ${params.value + 'h'}}`;\\n}\\n\\n return {\\n option,\\n datGUI,\\n };\\n }\\n \"}" } }, "1,2": { "CellType": { "$type": "EchartsCustomCellType.EchartsCustomCellTypeCellType, EchartsCustomCellType", "EChartTitle": "Echarts图表", "DataSourceBinding": "JSONDataSources", "DataSources": [], "JSONDataSources": [ { "Name": "已分配工时", "JSONDemo": "0" }, { "Name": "总核定工时", "JSONDemo": "0" } ], "ImageDataSource": [], "Config": "{\"option\":\"option = {\\n color: [\\\"#2196f3\\\", \\\"#bdd2e2\\\"],\\n title: {\\n text: '工时分配',\\n left: '50%',\\n top: '50%',\\n textAlign: 'center',\\n textVerticalAlign: 'middle',\\n textStyle: {\\n fontSize: 14,\\n },\\n },\\n tooltip: {\\n trigger: 'item'\\n },\\n series: [\\n {\\n name: '工时',\\n type: 'pie',\\n radius: ['40%', '90%'], // 调整内外半径,确保饼图尽量填充容器\\n center: ['50%', '50%'], // 确保饼图在容器中居中\\n label: {\\n fontSize: 10,\\n position: 'inside',\\n color: '#FFFFFF',\\n lineHeight: 13,\\n // 使用 formatter 回调函数\\n formatter: getColor,\\n rich: {\\n style: {\\n fontSize: 14,\\n fontWeight:\\\"normal\\\",\\n // 这里定义一个占位符,颜色会在 formatter 回调中动态设置\\n color: '#000000'\\n }\\n }\\n },\\n data: [\\n { value: 30, name: '已分配' },\\n { value: 70, name: '未分配' },\\n ],\\n emphasis: {\\n itemStyle: {\\n shadowBlur: 10,\\n shadowOffsetX: 0,\\n shadowColor: 'rgba(0, 0, 0, 0.5)'\\n }\\n }\\n }\\n ]\\n};\\n\\nfunction getColor(params) {\\n // 获取当前部分的颜色\\n const color = params.color;\\n // 解析颜色:\\n const rgb = color.slice(1); // 去掉 # \\n const r = parseInt(rgb.slice(0, 2), 16);\\n const g = parseInt(rgb.slice(2, 4), 16);\\n const b = parseInt(rgb.slice(4, 6), 16);\\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\\n\\n // 根据亮度判断标签颜色\\n const textColor = brightness > 128 ? '#000000' : '#FFFFFF';\\n\\n // 返回格式化字符串,其中包含样式标签\\n return `{style|${params.name}\\\\n ${params.value+'h'}}`;\\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 option = {\\n color: [\\\"#2196f3\\\", \\\"#bdd2e2\\\"],\\n title: {\\n text: '工时分配',\\n left: '50%',\\n top: '50%',\\n textAlign: 'center',\\n textVerticalAlign: 'middle',\\n textStyle: {\\n fontSize: 14,\\n },\\n },\\n tooltip: {\\n trigger: 'item'\\n },\\n series: [\\n {\\n name: '工时',\\n type: 'pie',\\n radius: ['40%', '90%'],\\n center: ['50%', '50%'],\\n label: {\\n fontSize: 10,\\n position: 'inside',\\n color: '#FFFFFF',\\n lineHeight: 13,\\n // 使用 formatter 回调函数\\n formatter: getColor,\\n rich: {\\n style: {\\n fontSize: 14,\\n fontWeight: \\\"normal\\\",\\n // 这里定义一个占位符,颜色会在 formatter 回调中动态设置\\n color: '#000000'\\n }\\n }\\n },\\n data: [\\n { value: 30, name: '已分配' },\\n { value: 70, name: '未分配' },\\n ],\\n emphasis: {\\n itemStyle: {\\n shadowBlur: 10,\\n shadowOffsetX: 0,\\n shadowColor: 'rgba(0, 0, 0, 0.5)'\\n }\\n }\\n }\\n ]\\n};\\nfunction getColor(params) {\\n // 获取当前部分的颜色\\n const color = params.color;\\n // 解析颜色:\\n const rgb = color.slice(1); // 去掉 # \\n const r = parseInt(rgb.slice(0, 2), 16);\\n const g = parseInt(rgb.slice(2, 4), 16);\\n const b = parseInt(rgb.slice(4, 6), 16);\\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\\n // 根据亮度判断标签颜色\\n const textColor = brightness > 128 ? '#000000' : '#FFFFFF';\\n // 返回格式化字符串,其中包含样式标签\\n return `{style|${params.name}\\\\n ${params.value + 'h'}}`;\\n}\\n\\n return {\\n option,\\n datGUI,\\n };\\n }\\n \"}" } }, "2,4": { "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "总分配工时", "GUID": "0f95ca94-c3d9-44e9-9b8f-662eb6133dbb" } }, "2,6": { "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "已分配工时", "GUID": "ec51b865-2e7b-4950-bab7-fcd797b3f485" } }, "2,8": { "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "可分配工时", "GUID": "f5e9bf9d-713e-4573-98a6-9c363ff8c04b" } }, "5,4": { "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "总核定工时", "GUID": "60d4b725-a65e-4d8e-adcd-d9e64ab73811" } }, "5,6": { "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "可核定工时", "GUID": "13df3be4-231d-401d-b4fc-179a5dd7422e" } }, "5,8": { "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "实际工时", "GUID": "e3c4608b-0fe1-4be9-88ff-956e08fe3cc4" } } }, "StyleDatas": { "Styles": [ { "FontFamily": 0 }, { "FontSize": 12.0, "Foreground": 1 }, { "FontFamily": 0, "FontSize": 12.0, "Foreground": 1 }, { "FontFamily": 0, "FontSize": 12.0, "Foreground": 1, "Formatter": 2 }, { "FontSize": 32.0, "Formatter": 3, "HorizontalAlignment": 4 }, { "FontFamily": 0, "FontSize": 32.0, "Formatter": 3, "HorizontalAlignment": 4 } ], "Types": { "Strs": [ "Body", "Text 1 50", "[AUTO]General", "0.0\"h\"", "Left" ] }, "CellStyles": { "0,2": 0, "0,6": 0, "0,8": 0, "1,2": 0, "1,4": 1, "1,6": 2, "1,8": 3, "2,2": 0, "2,4": 4, "2,6": 5, "2,8": 5, "3,2": 0, "3,6": 0, "3,8": 0, "4,0": 0, "4,2": 0, "4,3": 0, "4,4": 3, "4,5": 0, "4,6": 3, "4,7": 0, "4,8": 3, "4,9": 0, "5,0": 0, "5,2": 0, "5,3": 0, "5,4": 5, "5,5": 0, "5,6": 5, "5,7": 0, "5,8": 5, "5,9": 0, "6,2": 0, "6,6": 0, "6,8": 0 }, "SheetStyle": { "FontFamily": 0 } }, "Spans": [ "1,1,6,1", "1,2,6,1" ], "PageInfo": { "$type": "Forguncy.Model.Pages.UserControlPage, ServerDesignerCommon", "PropertyDefinitions": [], "CommandDefinitions": [], "MethodDefinitions": [], "PageLoadedCommandList": [] }, "PrintInfo": { "PaperSize": {}, "Margin": {} } }//KjT4ADE1F8b/zkR+vJQY6/P1KnUEZRTaGebqqsDFQKU09JATyVBjyobv4uTfQqoaxwPYMzrKwpb+J2p5VtOac3LBKto5E5NHay7lHyJb3d2kyc+XJgPH9O4EjOcXEYUv3FoowZn9/5drEePsL++zKKnurJzso3sNmGsCSBMffgSRKuPw2N8+Kkw753+MkHnDWWZR6xcRNneqkSxgjVkJAM/5dfmvXuo1/JgIoPPziIfchDynm9z8ZHHQPJtpOZUqnnOP9uzkrlN326j/OHyGgHmy8x0h34f7WKe1LWhlBRLMsrqVg9P16cNK7xCrf0wa52lImm95A4/aw8pBNM0kifie8FusUQsGCwH5TOPs9aUMrID7AhwLB3YfuosTVJ9bZxEyVOAO+y3CG/AEiGtX2XOx/h19D/zt5xCc4xn5WqtZinoz+9lyQ4kM/EAIznK+ZwrdqQQjy/oM6mCADR2vZn+Roq8ncnyLrZnK5gllNyVtXXpk4pfqsPZmX3kzdiNfdZbx01U1pFLaNB6zGXGSKB5jkgIjZTf7gnGZyWjZf0cBcaAPrWOaeWX/2aNZL/v7OcHdKXCRpZ6W3LZSQx3CKHYScjTfr3Wwgfa610DJXfIhOddQCZugt5eVKVIqR203veLeAmahnRFx7Bp+3+EIgY98+QJPrGYQrCl8IQrhwGKTMqv0Q0R7vVr62NEvloK2L5wvTjHWi3UsrB48RJ/P/r7WVnpTmXnD8VQFrCn1uYDFeoEMV0DXClPjvASK3yGS5e6xmXoNWrLIaROr0NnrT1x/hRNurs9mtoe9Uaj1h0tuD0ZqWSkhDMeb1t+CLvXkJLL66OTjzx0DOcFSQB2S8VGkf0WJSvUYhbi2fLnQwOMTNM1EoxInkxVlHv3YgccGm8CQ+3ZC6MQOLf+XTh0l9Q==|920