| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- @page "/Project/Reviewer/{ProjectNo?}"
- @attribute [Authorize]
- <PageContainer>
- <Breadcrumb>
- <Breadcrumb>
- <BreadcrumbItem>
- <a href="/Home"><Icon Type="home" /></a>
- </BreadcrumbItem>
- <BreadcrumbItem>
- <span>专案审核</span>
- </BreadcrumbItem>
- </Breadcrumb>
- </Breadcrumb>
- <Content>
- <Button Type="primary" Icon="plus" OnClick="Save" Style="float:right">保存</Button>
- <Button Type="default" Icon="history" OnClick="ShowReviewerHistory" Style="float:right;margin-right: 10px;">查看审核历史</Button>
- </Content>
- <ChildContent>
- <Space>
- @if (string.IsNullOrEmpty(ProjectNo))
- {
- }
- else
- {
- <SpaceItem>@ProjectNo</SpaceItem>
- <SpaceItem><Button Type="primary" Icon="" OnClick="ReviewHistory">查看历史点数</Button></SpaceItem>
- }
- </Space>
- @if (projectContents != null)
- {
- foreach (var pContent in projectContents)
- {
- <Card Title="@pContent.ProjectContentRecord.Staff.Name">
- <Extra>
- <Space>
- <SpaceItem>
- 最终绩效点数:
- <AntDesign.InputNumber @bind-Value="@pContent.ProjectContentRecord.PointS" Step="0.01" Size="@InputSize.Small" />S
- </SpaceItem>
- <SpaceItem><AntDesign.InputNumber @bind-Value="@pContent.ProjectContentRecord.PointA" Step="0.01" Size="@InputSize.Small" />A</SpaceItem>
- <SpaceItem><AntDesign.InputNumber @bind-Value="@pContent.ProjectContentRecord.PointB" Step="0.01" Size="@InputSize.Small" />B</SpaceItem>
- <SpaceItem><AntDesign.InputNumber @bind-Value="@pContent.ProjectContentRecord.PointC" Step="0.01" Size="@InputSize.Small" />C</SpaceItem>
- <SpaceItem><AntDesign.InputNumber @bind-Value="@pContent.ProjectContentRecord.PointD" Step="0.01" Size="@InputSize.Small" />D</SpaceItem>
- </Space>
- </Extra>
- <Body>
- <Table DataSource="pContent.ProjectWorkContents" Context="pp" Size="@TableSize.Small" Title="工作内容" HidePagination="@true">
- <ChildContent>
- <AntDesign.Column Title="工作内容" TData="string">
- @pp.Content
- </AntDesign.Column>
- <AntDesign.Column Title="工作日期" TData="string">
- @pp.WorkDate.ToString("yyyy-MM-dd")
- </AntDesign.Column>
- <AntDesign.Column Title="时间跨度" TData="string">
- @pp.TimeSpan 天
- </AntDesign.Column>
- <AntDesign.Column Title="耗时" TData="string">
- @pp.TakeTime 小时
- </AntDesign.Column>
- <AntDesign.Column Title="难度系数" TData="string">
- <Input Type="text" @bind-Value="@pp.DifficultFactor" Size="20" @oninput="() => ContentChanged(pp)" />
- </AntDesign.Column>
- <AntDesign.Column Title="实际绩效" TData="string">
- <Input Type="text" @bind-Value="@pp.ActualPerformance" OnBlur="stopEdit" Size="20" @oninput="() => ContentChanged(pp)" />
- </AntDesign.Column>
- </ChildContent>
- </Table>
- </Body>
- </Card>
- }
- }
- else
- {
- <Spin />
- }
- </ChildContent>
- </PageContainer>
- <Drawer Height="600" Visible="_ShowHistory" Placement="bottom" Title="@($"[{ProjectNo}] 历史点数")" OnClose="CloseDetail">
- @if(HistroyContents != null){
- <div>
- @foreach(CalMonth calMonth in GetMonth(HistroyContents))
- {
- <span><b>@($"{calMonth.Year} 年 {calMonth.Month} 月")</b></span>
- <Divider/>
- foreach(share.ProjectContents pContent in GetByMonth(calMonth, HistroyContents))
- {
- <Card Title="@pContent.ProjectContentRecord.Staff.Name">
- <Extra>
- <Space>
- <SpaceItem>
- 最终绩效点数:
- </SpaceItem>
- <SpaceItem><span style="text-decoration:underline;">@($"{GetPointString(pContent.ProjectContentRecord,"S")}") </span><b>S</b></SpaceItem>
- <SpaceItem><span style="text-decoration:underline;">@($"{GetPointString(pContent.ProjectContentRecord,"A")}") </span><b>A</b></SpaceItem>
- <SpaceItem><span style="text-decoration:underline;">@($"{GetPointString(pContent.ProjectContentRecord,"B")}") </span><b>B</b></SpaceItem>
- <SpaceItem><span style="text-decoration:underline;">@($"{GetPointString(pContent.ProjectContentRecord,"C")}") </span><b>C</b></SpaceItem>
- <SpaceItem><span style="text-decoration:underline;">@($"{GetPointString(pContent.ProjectContentRecord,"D")}") </span><b>D</b></SpaceItem>
- </Space>
- </Extra>
- <Body>
- <Table DataSource="pContent.ProjectWorkContents" Context="pp" Size="@TableSize.Small" HidePagination="@true">
- <ChildContent>
- <AntDesign.Column Title="工作内容" TData="string">
- @pp.Content
- </AntDesign.Column>
- <AntDesign.Column Title="工作日期" TData="string">
- @pp.WorkDate.ToString("yyyy-MM-dd")
- </AntDesign.Column>
- <AntDesign.Column Title="时间跨度" TData="string">
- @pp.TimeSpan 天
- </AntDesign.Column>
- <AntDesign.Column Title="耗时" TData="string">
- @pp.TakeTime 小时
- </AntDesign.Column>
- <AntDesign.Column Title="难度系数" TData="string">
- @pp.DifficultFactor
- </AntDesign.Column>
- <AntDesign.Column Title="实际绩效" TData="string">
- @pp.ActualPerformance
- </AntDesign.Column>
- </ChildContent>
- </Table>
- </Body>
- </Card>
- }
- }
- </div>
- }
- </Drawer>
- <Drawer Width="1200" Visible="_ShowReviewerHistory" Placement="right" Title="@("审核历史")" OnClose="CloseReviewerHistory">
- <div>
- <div style="margin-bottom: 16px;">
- <InputGroup Compact>
- <Input Placeholder="请输入案件编号" Style="width: 300px;" @bind-Value="@projectNoSearchText" OnPressEnter="() => OnSearchTextChanged(projectNoSearchText)" />
- <Button Type="@ButtonType.Primary" OnClick="() => OnSearchTextChanged(projectNoSearchText)">搜索</Button>
- </InputGroup>
- </div>
- @{
- var filteredProjects = GetFilteredReviewerHistory();
- }
- @if (filteredProjects != null && filteredProjects.Count > 0)
- {
- // 按案件编号分组
- var projectGroups = filteredProjects.GroupBy(p => p.ProjectNo).OrderByDescending(g => g.Max(p => p.SubmitTime));
-
- foreach (var projectGroup in projectGroups)
- {
- <Card Style="margin-bottom: 20px;">
- <TitleTemplate>
- <b>案件编号:@projectGroup.Key</b>
- </TitleTemplate>
- <Body>
- @foreach (var record in projectGroup.OrderByDescending(r => r.SubmitTime))
- {
- <Card Style="margin-bottom: 10px;" Size="small">
- <TitleTemplate>
- <Space>
- <SpaceItem><b>处理人:</b>@record.Staff?.Name</SpaceItem>
- <SpaceItem><b>绩效月份:</b>@(record.CalMonth?.Year) 年 @(record.CalMonth?.Month) 月</SpaceItem>
- <SpaceItem><b>提交时间:</b>@record.SubmitTime.ToString("yyyy-MM-dd")</SpaceItem>
- </Space>
- </TitleTemplate>
- <Extra>
- <Space>
- <SpaceItem><b>绩效点数:</b></SpaceItem>
- @if (record.PointS.HasValue) { <SpaceItem>S: @record.PointS</SpaceItem> }
- @if (record.PointA.HasValue) { <SpaceItem>A: @record.PointA</SpaceItem> }
- @if (record.PointB.HasValue) { <SpaceItem>B: @record.PointB</SpaceItem> }
- @if (record.PointC.HasValue) { <SpaceItem>C: @record.PointC</SpaceItem> }
- @if (record.PointD.HasValue) { <SpaceItem>D: @record.PointD</SpaceItem> }
- </Space>
- </Extra>
- <Body>
- @if (record.ProjectWorkContents != null && record.ProjectWorkContents.Count > 0)
- {
- <Table DataSource="record.ProjectWorkContents" Context="workContent" Size="@TableSize.Small" HidePagination="@true">
- <ChildContent>
- <AntDesign.Column Title="工作内容" TData="string">
- @workContent.Content
- </AntDesign.Column>
- <AntDesign.Column Title="工作日期" TData="string">
- @workContent.WorkDate.ToString("yyyy-MM-dd")
- </AntDesign.Column>
- <AntDesign.Column Title="时间跨度" TData="string">
- @workContent.TimeSpan 天
- </AntDesign.Column>
- <AntDesign.Column Title="耗时" TData="string">
- @workContent.TakeTime 小时
- </AntDesign.Column>
- <AntDesign.Column Title="难度系数" TData="string">
- @workContent.DifficultFactor
- </AntDesign.Column>
- <AntDesign.Column Title="实际绩效" TData="string">
- @workContent.ActualPerformance
- </AntDesign.Column>
- </ChildContent>
- </Table>
- }
- else
- {
- <Empty Description="@("无工作内容")" />
- }
- </Body>
- </Card>
- }
- </Body>
- </Card>
- }
- }
- else
- {
- <Empty />
- }
- </div>
- </Drawer>
|