MyCaselist.razor 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. @page "/MyCaseList"
  2. @using wispro.sp.web.Components
  3. @using wispro.sp.share
  4. <PageContainer>
  5. <Breadcrumb>
  6. <Breadcrumb>
  7. <BreadcrumbItem>
  8. <a href="/Home"><Icon Type="home"></Icon></a>
  9. </BreadcrumbItem>
  10. <BreadcrumbItem>
  11. <Icon Type="setting"></Icon><span>我的绩效清单</span>
  12. </BreadcrumbItem>
  13. </Breadcrumb>
  14. </Breadcrumb>
  15. <Content>
  16. @*<Button Type="primary" Icon="plus" OnClick="AddNew" Style="float:right">添加</Button>*@
  17. </Content>
  18. <ChildContent>
  19. <div class="card-container">
  20. <Tabs Type="@TabType.Card">
  21. <TabPane Key="1" Tab="待确认绩效清单">
  22. <ChildContent>
  23. <Card>
  24. @*<Pagination @bind-Current="@_pageIndex" @bind-Total="@_total" ShowSizeChanger OnChange="OnChange" />*@
  25. @if (_Datas == null)
  26. {
  27. <center><Spin /></center>
  28. }
  29. else
  30. {
  31. <PageHeader>
  32. <PageHeaderTitle>基础点数统计</PageHeaderTitle>
  33. <PageHeaderExtra><Button Type="@ButtonType.Primary">缺失数据提报</Button></PageHeaderExtra>
  34. <PageHeaderContent>
  35. <div style="border:1px solid #000000">
  36. <AntDesign.Row Align="center" Justify="center">
  37. <AntDesign.Col Span="2" style="border-left:1px solid #000000"><center></center></AntDesign.Col>
  38. <AntDesign.Col Span="4" style="border:1px solid #000000"><center>新申请</center></AntDesign.Col>
  39. <AntDesign.Col Span="4" style="border:1px solid #000000"><center>OA(国内、涉外)</center></AntDesign.Col>
  40. <AntDesign.Col Span="4" style="border:1px solid #000000"><center>其它</center></AntDesign.Col>
  41. <AntDesign.Col Span="2" style="border:1px solid #000000"></AntDesign.Col>
  42. <AntDesign.Col Span="4" style="border:1px solid #000000">一次OA授权</AntDesign.Col>
  43. <AntDesign.Col Span="4" style="border:1px solid #000000"></AntDesign.Col>
  44. </AntDesign.Row>
  45. <AntDesign.Row>
  46. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>代理人</center></AntDesign.Col>
  47. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>承办</center></AntDesign.Col>
  48. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>核稿</center></AntDesign.Col>
  49. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>承办</center></AntDesign.Col>
  50. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>核稿</center></AntDesign.Col>
  51. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>承办</center></AntDesign.Col>
  52. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>核稿</center></AntDesign.Col>
  53. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>调查案</center></AntDesign.Col>
  54. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>承办人</center></AntDesign.Col>
  55. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>审核人</center></AntDesign.Col>
  56. <AntDesign.Col Span="4" style="border:1px solid #000000"><center>总计</center></AntDesign.Col>
  57. </AntDesign.Row>
  58. <AntDesign.Row>
  59. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@_userService.CurrentUser.Name</center></AntDesign.Col>
  60. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@GetStatistics("新申请处理")</center></AntDesign.Col>
  61. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@GetStatistics("新申请审核")</center></AntDesign.Col>
  62. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@GetStatistics("OA处理")</center></AntDesign.Col>
  63. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@GetStatistics("OA审核")</center></AntDesign.Col>
  64. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@GetStatistics("其它处理")</center></AntDesign.Col>
  65. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@GetStatistics("其它审核")</center></AntDesign.Col>
  66. <AntDesign.Col Span="2" style="border:1px solid #000000"><center></center></AntDesign.Col>
  67. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@GetStatistics("一次OA授权处理")</center></AntDesign.Col>
  68. <AntDesign.Col Span="2" style="border:1px solid #000000"><center>@GetStatistics("一次OA授权审核")</center></AntDesign.Col>
  69. <AntDesign.Col Span="4" style="border:1px solid #000000"><center>@GetStatistics("ALL")</center></AntDesign.Col>
  70. </AntDesign.Row>
  71. </div>
  72. </PageHeaderContent>
  73. </PageHeader>
  74. <AntDesign.Table DataSource="_Datas" TItem="PerformanceItem"
  75. @bind-PageIndex="_pageIndex"
  76. @bind-PageSize="_pageSize"
  77. Total="_total"
  78. ScrollX="1150" Size="TableSize.Small" Bordered
  79. @bind-SelectedRows="selectedItems"
  80. OnRow="OnRow"
  81. Loading="_loading"
  82. RowClassName="@(x => x.Data.isDanger()?"danger":"")"
  83. OnChange="HandleTableChange" RemoteDataSource>
  84. <RowTemplate>
  85. <AntDesign.Selection Key="@(context.Id.ToString())" Width="50" Fixed="left" />
  86. <AntDesign.Column Title="序号" TData="int" Width="50" Fixed="left">
  87. @serialNumber(_pageIndex, _pageSize, context.Id)
  88. </AntDesign.Column>
  89. <AntDesign.Column Title="绩效特殊字段" DataIndex="@nameof(context.AgentFeedbackMemo)" TData="string" Width="250" Fixed="left">
  90. <Select DataSource="@_Reasons"
  91. @bind-Value="@context.AgentFeedbackMemo"
  92. LabelName="@nameof(Reason.Name)"
  93. ValueName="@nameof(Reason.Value)"
  94. Placeholder="请选项一项"
  95. DefaultActiveFirstItem="false"
  96. EnableSearch="true"
  97. AllowClear="true"
  98. Style="width:220px;"
  99. OnSelectedItemChanged="SelectChanged"
  100. OnClearSelected="()=>ClearSelect(context.Id)"
  101. OnFocus="()=>OnFocus(context)">
  102. </Select>
  103. </AntDesign.Column>
  104. <AntDesign.Column Title="基础点数" TData="string" Width="100">@(context.BasePoint ==null?"": context.BasePoint)</AntDesign.Column>
  105. <AntDesign.Column Title="我方文号" @bind-Field="@context.CaseNo" Width="150" Sortable Filterable />
  106. <AntDesign.Column Title="案件类型" @bind-Field="@context.CaseType" Width="120" Sortable Filterable />
  107. <AntDesign.Column Title="案件系数" @bind-Field="@context.CaseCoefficient" Width="120" Sortable Filterable />
  108. <AntDesign.Column Title="处理事项" @bind-Field="@context.DoItem" Width="150" Sortable Filterable />
  109. <AntDesign.Column Title="处理事项系数" @bind-Field="@context.DoItemCoefficient" Width="150" Sortable Filterable />
  110. <AntDesign.Column Title="案件阶段" @bind-Field="@context.CaseStage" Width="100"></AntDesign.Column>
  111. <AntDesign.Column Title="处理人" TData="string" DataIndex="@nameof(context.ItemStaffs)" Width="150">
  112. @if (context.ItemStaffs != null)
  113. {
  114. foreach (ItemStaff itemStaff in context.ItemStaffs)
  115. {
  116. <span>@(itemStaff.DoPerson.Name)&nbsp;</span>
  117. }
  118. }
  119. </AntDesign.Column>
  120. <AntDesign.Column Title="核稿人" TData="string" Width="100">@(context.Reviewer ==null?"": context.Reviewer.Name)</AntDesign.Column>
  121. <ActionColumn Fixed="right" Title="操作" Width="120">
  122. <Space>
  123. <SpaceItem>
  124. <AntDesign.DropdownButton OnClick="()=>OnsubShensu(context)" Type="@((ButtonType.Primary, ButtonType.Default))" ButtonsStyle="@("background-color: #1890ff;")">
  125. <Overlay>
  126. <Menu>
  127. @if (((!context.CaseNo.Contains("CN") || context.CaseNo.Contains("WO")) && context.DoItem == "新申请") || context.DoItem == "翻译")
  128. {
  129. @*<MenuItem Key="1" icon="plus" Click="OnsubShensu"></MenuItem>*@
  130. <MenuItem Key="2" icon="plus" OnClick="() => OnJXCal(context)">计算字数</MenuItem>
  131. }
  132. @if(context.ItemStaffs.Count > 1)
  133. {
  134. <MenuItem Key="3" icon="plus" OnClick="() => OnJXCal(context)">设定分配比例</MenuItem>
  135. }
  136. </Menu>
  137. </Overlay>
  138. <ChildContent>申诉</ChildContent>
  139. </AntDesign.DropdownButton>
  140. </SpaceItem>
  141. </Space>
  142. </ActionColumn>
  143. </RowTemplate>
  144. <ExpandTemplate>
  145. <div style="width:1000px;margin-left:30px;">
  146. <Card Title=@("详情")>
  147. <Body>
  148. <Descriptions Bordered Size="@DescriptionsSize.Small">
  149. <DescriptionsItem Title="完成时间">@(context.Data.FinishedDate.HasValue?context.Data.FinishedDate.Value.ToString("yyyy-MM-dd"):"")</DescriptionsItem>
  150. <DescriptionsItem Title="返稿日">@(context.Data.ReturnDate.HasValue?context.Data.ReturnDate.Value.ToString("yyyy-MM-dd"):"")</DescriptionsItem>
  151. <DescriptionsItem Title="客户期限">@(context.Data.CustomerLimitDate.HasValue?context.Data.CustomerLimitDate.Value.ToString("yyyy-MM-dd"):"")</DescriptionsItem>
  152. <DescriptionsItem Title="初稿日">@(context.Data.FirstDraftDate.HasValue?context.Data.FirstDraftDate.Value.ToString("yyyy-MM-dd"):"")</DescriptionsItem>
  153. <DescriptionsItem Title="内部期限">@(context.Data.InternalDate.HasValue?context.Data.InternalDate.Value.ToString("yyyy-MM-dd"):"")</DescriptionsItem>
  154. <DescriptionsItem Title="案件状态">@context.Data.CaseState</DescriptionsItem>
  155. <DescriptionsItem Title="处理事项备注">@context.Data.DoItemMemo</DescriptionsItem>
  156. <DescriptionsItem Title="案件名称" Span="2">@context.Data.CaseName</DescriptionsItem>
  157. <DescriptionsItem Title="申请人" Span="3">@context.Data.ApplicationName</DescriptionsItem>
  158. <DescriptionsItem Title="备注" Span="3">@context.Data.CaseMemo</DescriptionsItem>
  159. </Descriptions>
  160. </Body>
  161. </Card>
  162. </div>
  163. </ExpandTemplate>
  164. </AntDesign.Table>
  165. }
  166. </Card>
  167. </ChildContent>
  168. </TabPane>
  169. <TabPane Key="2" Tab="历史绩效清单">
  170. <ChildContent>Tab 2</ChildContent>
  171. </TabPane>
  172. </Tabs>
  173. </div>
  174. </ChildContent>
  175. </PageContainer>
  176. <style>
  177. .danger {
  178. background-color: #fa3d2c;
  179. }
  180. </style>
  181. <Modal Title="涉外新申请算法备注" Visible="_ShowJXModal"
  182. OnOk="@HandleOk1"
  183. OnCancel="@HandleCancel1"
  184. MaskClosable="false"
  185. Width="600">
  186. <Card Style="width:100%" Bordered>
  187. <div>
  188. <Row>
  189. <AntDesign.Col Span="4"><b>我方文号:</b></AntDesign.Col>
  190. <AntDesign.Col Span="8">@EditingItem.CaseNo</AntDesign.Col>
  191. <AntDesign.Col Span="4"><b>处理事项:</b></AntDesign.Col>
  192. <AntDesign.Col Span="8">@EditingItem.DoItem</AntDesign.Col>
  193. </Row>
  194. <Row><AntDesign.Col Span="24">&nbsp;</AntDesign.Col></Row>
  195. <Row>
  196. <AntDesign.Col Span="4"><b>案件名称:</b></AntDesign.Col>
  197. <AntDesign.Col Span="20">@EditingItem.CaseName</AntDesign.Col>
  198. </Row>
  199. </div>
  200. </Card>
  201. <br />
  202. <Form Model="_calType" LabelColSpan="6" WrapperColSpan="16">
  203. <FormItem Label="请谁确认">
  204. <Select DataSource="@Reviewers"
  205. @bind-Value="@context.ReviewerId"
  206. LabelName="@nameof(Staff.Name)"
  207. ValueName="@nameof(Staff.Id)"
  208. Placeholder="请选择确认人"
  209. Style="width: 100%"
  210. AllowClear
  211. DefaultActiveFirstItem="false"
  212. EnableSearch>
  213. </Select>
  214. </FormItem>
  215. <FormItem Label="绩效特殊字段备注">
  216. <RadioGroup @bind-Value="@context.AgentMemo" Disabled="false">
  217. <Radio Value="@("英-中")">英-中</Radio>
  218. <Radio Value="@("英-德")">英-德</Radio>
  219. <Radio Value="@("中-英")">中-英</Radio>
  220. </RadioGroup>
  221. </FormItem>
  222. <FormItem Label="字数">
  223. <AntDesign.InputNumber @bind-Value="context.wordCount" Min="1"></AntDesign.InputNumber>
  224. </FormItem>
  225. </Form>
  226. </Modal>
  227. <Modal Title="申诉窗口" Visible="@_visible"
  228. OnOk="@HandleOk"
  229. OnCancel="@HandleCancel"
  230. MaskClosable="false"
  231. Width="600">
  232. <Card Style="width:100%" Bordered>
  233. <div>
  234. <Row>
  235. <AntDesign.Col Span="4"><b>我方文号:</b></AntDesign.Col>
  236. <AntDesign.Col Span="8">@EditingItem.CaseNo</AntDesign.Col>
  237. <AntDesign.Col Span="4"><b>处理事项:</b></AntDesign.Col>
  238. <AntDesign.Col Span="8">@EditingItem.DoItem</AntDesign.Col>
  239. </Row>
  240. <Row><AntDesign.Col Span="24">&nbsp;</AntDesign.Col></Row>
  241. <Row>
  242. <AntDesign.Col Span="4"><b>案件名称:</b></AntDesign.Col>
  243. <AntDesign.Col Span="20">@EditingItem.CaseName</AntDesign.Col>
  244. </Row>
  245. </div>
  246. </Card>
  247. <br />
  248. <Form Model="_shenshou" LabelColSpan="6" WrapperColSpan="16">
  249. <FormItem Label="类型">
  250. <Select DataSource="@AvatarMenuItems"
  251. @bind-Value="@context.Type"
  252. LabelName="@nameof(shensuType.Name)"
  253. ValueName="@nameof(shensuType.Name)"
  254. Placeholder="请选择申诉类型"
  255. Style="width:100%"
  256. AllowClear
  257. DefaultActiveFirstItem="false"
  258. EnableSearch
  259. OnSelectedItemChanged="OnSelectedItemChangedHandler">
  260. </Select>
  261. </FormItem>
  262. <FormItem Label="向谁申诉">
  263. <Select DataSource="@Reviewers"
  264. @bind-Value="@context.ReviewerId"
  265. LabelName="@nameof(Staff.Name)"
  266. ValueName="@nameof(Staff.Id)"
  267. Placeholder="请选择审核人"
  268. Style="width: 100%"
  269. AllowClear
  270. DefaultActiveFirstItem="false"
  271. EnableSearch>
  272. </Select>
  273. </FormItem>
  274. @if (_SelectedItem != null && !string.IsNullOrEmpty(_SelectedItem.ChangeField))
  275. {
  276. <FormItem Label=@($"{_SelectedItem.ChangeField}变更为")>
  277. <Input @bind-Value="@context.ChangeTo" />
  278. </FormItem>
  279. }
  280. <FormItem Label="申诉理由">
  281. <TextArea @bind-Value="@context.Reason" Rows="6" Style="width: 100%" />
  282. </FormItem>
  283. <FormItem Label="附件">
  284. <Upload @attributes="attrs"
  285. FileList="fileList"
  286. OnChange="HandleChange">
  287. <Button Icon="upload"><span>添加附件</span></Button>
  288. </Upload>
  289. </FormItem>
  290. </Form>
  291. </Modal>