315 lines
16 KiB
JSON
315 lines
16 KiB
JSON
{
|
|
"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 |