{"Message":"重写部分工时校验逻辑","MessageType":2,"Modules":[{"State":1,"Type":7,"Name":"Table/任务表"},{"State":1,"Type":23,"Name":"TableView/反馈收集任务匿名视图"},{"State":1,"Type":1,"Name":"PCPage/项目成员详情"},{"State":1,"Type":1,"Name":"PCPage/任务列表"},{"State":1,"Type":1,"Name":"PCPage/任务首页"},{"State":1,"Type":1,"Name":"PCPage/任务-基本信息"},{"State":1,"Type":1,"Name":"PCPage/任务-工时"},{"State":1,"Type":1,"Name":"PCPage/工时详情"},{"State":1,"Type":1,"Name":"PCPage/新增报工"},{"State":1,"Type":15,"Name":"ServerCommand/修改任务预算工时"},{"State":1,"Type":15,"Name":"ServerCommand/上报实际工时"},{"State":1,"Type":15,"Name":"ServerCommand/分配任务工时"},{"State":1,"Type":15,"Name":"ServerCommand/计算报工数据"},{"State":1,"Type":15,"Name":"ServerCommand/任务发起流程前校验"},{"State":1,"Type":28,"Name":"ProcessItem/新增任务流程"},{"State":1,"Type":1,"Name":"PCPage/页面反馈录入"},{"State":1,"Type":23,"Name":"TableView/项目平行视图"},{"State":1,"Type":23,"Name":"TableView/任务平行视图"},{"State":1,"Type":28,"Name":"ProcessItem/项目立项流程"},{"State":1,"Type":15,"Name":"ServerCommand/项目流程发起前校验"},{"State":3,"Type":31,"Name":"UserControlPage/任务统计信息"}],"Version":"v1"}

This commit is contained in:
超哥
2024-06-20 14:34:51 +08:00
parent 85bafaef4b
commit 8a4a964bee
33 changed files with 1740 additions and 1681 deletions

View File

@@ -0,0 +1,315 @@
{
"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

View File

@@ -0,0 +1,5 @@
{
"PageType": 3,
"ColumnCount": 10,
"RowCount": 7
}