54 Commits

Author SHA1 Message Date
64b50ab534 保存进度! 2023-01-29 00:30:50 +08:00
8d1f4e5a1c 保存进度! 2023-01-29 00:05:58 +08:00
a6f2ec63ef 加入需求详情对话框 2023-01-28 18:19:21 +08:00
f5aa4c956e 对齐需求管理页面表单,修改登录后默认页面
1、需求管理页面的表单重新对齐,增加了title搜索,增加了表格内容筛选;
2、修改了路由守卫,当路由走向"Home"时,跳转到工作台"Desktop"。
2023-01-28 16:02:46 +08:00
4359aa959b 保存进度! 2023-01-27 01:04:46 +08:00
0162afc8c9 保存进度! 2023-01-26 17:06:02 +08:00
36037fcb8c 保存进度! 2023-01-26 11:02:49 +08:00
9d05842069 保存进度! 2023-01-26 01:57:31 +08:00
a7f05c10c3 加入需求管理模块。 2023-01-26 00:01:29 +08:00
f7da18f679 保存进度! 2023-01-25 15:13:03 +08:00
d997be1cb2 增加网络管理模块。 2023-01-25 11:37:24 +08:00
d5ba739ce5 修正CROS filter映射错误。 2023-01-25 01:01:44 +08:00
5f829dba7a 保存进度! 2023-01-24 00:55:16 +08:00
c568da745f 保存进度! 2023-01-24 00:35:31 +08:00
1f988323d4 保存进度! 2023-01-24 00:07:50 +08:00
c1ba8fee05 Merge branch 'feature-console' of http://222.76.244.118:3000/Kane/vue-learning into feature-console
……
2023-01-23 17:11:32 +08:00
1bed3b3bc4 保存进度! 2023-01-23 17:11:30 +08:00
0067999831 增加接受上传文件功能 2023-01-23 00:20:35 +08:00
8786ca207c 保存进度! 2023-01-20 00:39:15 +08:00
bc24e4f041 保存进度! 2023-01-19 18:01:35 +08:00
aaf25460a4 保存进度! 2023-01-18 23:47:38 +08:00
905d22abc6 开始研究el-table。 2023-01-18 17:49:24 +08:00
7d7b9523c6 保存进度! 2023-01-18 11:46:16 +08:00
8d805b007a 保存进度! 2023-01-18 00:39:30 +08:00
e602271ebe 保存进度! 2023-01-14 23:53:15 +08:00
3ab267754c 保存进度! 2023-01-13 18:00:27 +08:00
8d72241618 保存进度! 2023-01-13 15:15:57 +08:00
dcab19a765 调整请求拦截器。 2023-01-12 18:16:45 +08:00
d995251d7b 加入路由守卫和退出系统功能。 2023-01-11 18:13:39 +08:00
4ecbc2e630 保存进度! 2023-01-10 23:32:19 +08:00
9a82496769 准备加入路由守卫! 2023-01-10 18:33:36 +08:00
327ffcc235 保存进度! 2023-01-09 18:33:31 +08:00
c623db8a72 保存进度! 2023-01-08 23:25:13 +08:00
aa20111600 保存进度! 2023-01-08 11:52:15 +08:00
922fb4ca4a 加入图标,开始加入vuex 2023-01-08 00:03:51 +08:00
3eadf4a27a 保存进度! 2023-01-07 18:26:15 +08:00
b4029677cf 保存进度! 2023-01-07 15:03:51 +08:00
82edc407db 搞定图标 2023-01-07 11:57:10 +08:00
0b79a94bda 学习创建app框架。 2023-01-06 23:19:26 +08:00
c3ebdbf7c9 保存进度! 2023-01-06 18:08:44 +08:00
75c0ed90ca 保存进度! 2023-01-06 18:08:18 +08:00
1064fce554 保存进度! 2023-01-05 22:26:40 +08:00
3b1fbf611e 保存进度! 2023-01-05 13:18:28 +08:00
1c25e18d0f 保存进度! 2022-12-26 18:24:55 +08:00
47c5327c54 保存进度! 2022-12-25 23:50:01 +08:00
c96aad3b0d 进度 2022-12-23 20:34:36 +08:00
7e3af7a1e8 进度 2022-12-23 20:34:21 +08:00
1eae5068fe 保存进度! 2022-12-23 16:34:36 +08:00
e16afd1696 保存进度! 2022-12-23 00:10:01 +08:00
b0b7fa69f6 保存进度! 2022-12-22 21:14:30 +08:00
787f7dc5f8 保存进度! 2022-12-22 15:48:48 +08:00
a8c505a63d 保存进度! 2022-12-17 12:17:17 +08:00
6b0879721f 保存进度! 2022-12-16 22:07:53 +08:00
3279363409 完成账号验证功能! 2022-12-16 21:44:50 +08:00
83 changed files with 6812 additions and 768 deletions

5
.gitignore vendored
View File

@@ -50,4 +50,7 @@ hs_err_pid*
replay_pid* replay_pid*
node_modules/ node_modules/
node_modules node_modules
target/
target

View File

@@ -0,0 +1,80 @@
/*
* @Author: Kane
* @Date: 2023-01-22 23:11:26
* @LastEditors: Kane
* @LastEditTime: 2023-01-24 00:55:08
* @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\FileUpload\FileUpload.java
* @Description: 用于接受上传文件的Controller。
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.FileUpload;
import java.io.File;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
@SuppressWarnings( "unused" )
@Controller
@RequestMapping( path = "/file" )
public class FileUpload
{
/*****************************************************
* 接收上传文件,并保存到临时目录:
* 1、临时目录下再用sessionID作为子目录保存文件。
* 2、保存时不更改文件名会覆盖同名文件。
* 3、MultipartFile参数形参名称必须和请求form中file标签的name属性一致否则值为null。
* 4、返回值为接收结果和文件保存路径。
*****************************************************/
@RequestMapping( path = "/file-upload.do" )
@ResponseBody
public FileUploadResult getUploadFile( @RequestParam( "task-name" ) String taskName,
@RequestParam( "file" ) MultipartFile[] files, HttpServletRequest request )
{
// session id用来创建临时目录避免重复
String sessionID = request.getSession().getId();
FileUploadResult result = new FileUploadResult();
Vector<String> fileNames = new Vector<String>();
int fileCount = files.length;
// 防御验证
if ( files.length == 0 )
{
result.setSuccess( false );
result.setMessage( "此接口用于上传文件!" );
return result;
}
result.setSuccess( true );
result.setMessage( "上传成功!" );
for ( MultipartFile file : files )
{
// 检查文件长度如果为0则跳过
if ( file.isEmpty() )
{
continue;
}
// 保存文件到临时目录
String filePath =
request.getServletContext().getRealPath( "/temp/upload/" + sessionID );
String fileName = file.getOriginalFilename();
File destFile = new File( filePath, fileName );
fileNames.add( file.getOriginalFilename() );
}
result.setFileList( fileNames );
return result;
}
}

View File

@@ -0,0 +1,62 @@
/*
* @Author: Kane
* @Date: 2023-01-23 22:56:17
* @LastEditors: Kane
* @LastEditTime: 2023-01-23 22:56:25
* @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\FileUpload\FileUploadResult.java
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.FileUpload;
import java.util.Vector;
import com.fasterxml.jackson.annotation.JsonProperty;
@SuppressWarnings( "unused" )
public class FileUploadResult
{
public FileUploadResult()
{}
public boolean isSuccess()
{
return success;
}
public void setSuccess( boolean success )
{
this.success = success;
}
public String getMessage()
{
return message;
}
public void setMessage( String message )
{
this.message = message;
}
public Vector<String> getFileList()
{
return fileList;
}
public void setFileList( Vector<String> fileList )
{
this.fileList = fileList;
}
@JsonProperty( "success" )
private boolean success;
@JsonProperty( "message" )
private String message;
@JsonProperty( "file-list" )
private Vector<String> fileList;
}

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-15 11:11:21 * @Date: 2022-12-15 11:11:21
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-12-16 15:25:23 * @LastEditTime: 2023-01-17 23:28:21
* @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckController.java * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckController.java
* @Description: P13账号验证用Controller。 * @Description: P13账号验证用Controller。
* *
@@ -12,24 +12,34 @@ package com.cpic.xim.web.controllers.account;
import java.io.IOException; import java.io.IOException;
import java.nio.channels.IllegalSelectorException; import java.nio.channels.IllegalSelectorException;
import java.sql.SQLException;
import javax.servlet.ServletContext; import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import com.cpic.xim.myutils.account.CpicXIMStaffInfo;
import com.cpic.xim.myutils.account.LdapAccountCheck;
@Controller @Controller
@RequestMapping( path = "/account") @RequestMapping( path = "/account" )
@SuppressWarnings( "unused") @SuppressWarnings( "unused" )
public class P13AccountCheckController public class P13AccountCheckController
{ {
/***************************************************** /*****************************************************
* * 根据用户提供的P09工号或者P13账号密码查找用户信息并AD域服务器验证p13账号密码。
* 验证通过即返回人员信息。
* 验证不通过result.success值为false并在message提供失败原因。
* @param param 由json格式转换的请求参数
* @param request
* @param response
* @return 返回一个P13AccountCheckResult对象其中提供验证结果
*****************************************************/ *****************************************************/
@ResponseBody @ResponseBody
@RequestMapping( path = "/p13_account_check.do") @RequestMapping( path = "/p13_account_check" )
public P13AccountCheckResult checkP13Account( @RequestBody P13AccountCheckRequest param, public P13AccountCheckResult checkP13Account( @RequestBody P13AccountCheckRequest param,
HttpServletRequest request, HttpServletResponse response ) HttpServletRequest request, HttpServletResponse response )
throws IllegalSelectorException, IOException throws IllegalSelectorException, IOException
@@ -38,8 +48,67 @@ public class P13AccountCheckController
ServletContext context = request.getServletContext(); ServletContext context = request.getServletContext();
// context.getAttribute( null ); // context.getAttribute( null );
CpicXIMStaffInfo staff = null;
try
{
// 先根据用户输入的09工号或p13账号获得p13账号确定账号存在
staff = CpicXIMStaffInfo.getStaffInfo( param.getP13Account() );
}
catch ( SQLException error )
{
staff = null;
result.setMessage( "人员工号或P13账号不存在" );
result.setSuccess( false );
}
catch ( ClassNotFoundException error )
{
staff = null;
result.setMessage( "加载Oracle驱动失败" );
result.setSuccess( false );
}
// 查询结果是null说明没有查询到结果工号或p13账号不存在返回结果。
if ( staff == null )
{
result.setMessage( "人员工号或P13账号不存在" );
result.setSuccess( false );
return result;
}
// 判断一下p13是否存在如果不存在就结束过程
if ( staff.getP13UID().isEmpty() == true )
{
result.setMessage( "P13账号不存在请联系信息技术部申请账号" );
result.setSuccess( false );
return result;
}
// 进行ldap验证
boolean ldapCheckResult =
LdapAccountCheck.ldapLogin( staff.getP13UID(), param.getPassword() );
if ( ldapCheckResult == true )
{
result.setSuccess( true );
result.setMessage( "验证成功!" );
result.setStaffInfo( staff );
// 将获取到的人员信息保存到会话中
HttpSession session = request.getSession();
session.setAttribute( "staff_info", staff );
}
else
{
result.setSuccess( false );
result.setMessage( "密码错误!" );
}
result.setToken( param.getP13Account() );
return result; return result;
} }
} }

View File

@@ -2,8 +2,8 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-15 11:17:26 * @Date: 2022-12-15 11:17:26
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-12-15 11:17:38 * @LastEditTime: 2023-01-10 14:58:53
* @FilePath: \AdminSys\src\main\java\com\cpicxim\web\controllers\account\CheckResult.java * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckResult.java
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
@@ -11,6 +11,7 @@
package com.cpic.xim.web.controllers.account; package com.cpic.xim.web.controllers.account;
import com.cpic.xim.myutils.account.CpicXIMStaffInfo;
import com.fasterxml.jackson.annotation.*;; import com.fasterxml.jackson.annotation.*;;
public class P13AccountCheckResult public class P13AccountCheckResult
@@ -38,6 +39,26 @@ public class P13AccountCheckResult
this.message = message; this.message = message;
} }
public CpicXIMStaffInfo getStaffInfo()
{
return staffInfo;
}
public void setStaffInfo( CpicXIMStaffInfo staffInfo )
{
this.staffInfo = staffInfo;
}
public String getToken()
{
return token;
}
public void setToken( String token )
{
this.token = token;
}
@Override @Override
public int hashCode() public int hashCode()
@@ -70,9 +91,20 @@ public class P13AccountCheckResult
return true; return true;
} }
// 验证结果状态true为成功false为失败
@JsonProperty( "success") @JsonProperty( "success")
private boolean success; private boolean success;
// 验证结果消息字符串,用来提示前端。
@JsonProperty( "message") @JsonProperty( "message")
private String message; private String message;
// 用户的token
@JsonProperty( "token")
private String token;
// 验证成功后查询到的人员信息。
@JsonProperty( "staff_info")
CpicXIMStaffInfo staffInfo;
} }

View File

@@ -0,0 +1,41 @@
/*
* @Author: Kane
* @Date: 2023-01-12 15:01:22
* @LastEditors: Kane
* @LastEditTime: 2023-01-24 00:21:51
* @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\filters\token\TokenFilter.java
* @Description: 用于检查token的过滤器
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.filters.token;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings( "unused" )
public class TokenFilter implements Filter
{
/*****************************************************
* 对请求的token进行验证。
*****************************************************/
@Override
public void doFilter( ServletRequest req, ServletResponse resp, FilterChain chain )
throws ServletException, IOException
{
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
// 验证Token
String token = request.getHeader( "Token" );
chain.doFilter( request, response );
}
}

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-15 19:40:12 * @Date: 2022-12-15 19:40:12
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-12-16 10:14:54 * @LastEditTime: 2023-01-23 23:58:26
* @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\listener\ContextLoaderListener.java * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\listener\ContextLoaderListener.java
* @Description: * @Description:
* *
@@ -19,7 +19,7 @@ import javax.servlet.ServletContextListener;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
@SuppressWarnings( @SuppressWarnings(
{ "unused"}) { "unused"} )
public class ContextLoaderListener implements ServletContextListener public class ContextLoaderListener implements ServletContextListener
{ {
private static final int BUFFER_SIZE = 1024; private static final int BUFFER_SIZE = 1024;
@@ -53,5 +53,19 @@ public class ContextLoaderListener implements ServletContextListener
{ {
} }
finally
{
try
{
if ( configFile != null )
{
configFile.close();
}
}
catch ( Exception error )
{
error.printStackTrace();
}
}
} }
} }

View File

@@ -1,4 +1,7 @@
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Archetype Created Web Application</display-name> <display-name>Archetype Created Web Application</display-name>
<servlet> <servlet>
@@ -14,16 +17,33 @@
<servlet-name>springmvc</servlet-name> <servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern> <url-pattern>*.do</url-pattern>
</servlet-mapping> </servlet-mapping>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/account/p13_account_check</url-pattern>
</servlet-mapping>
<!-- 用于验证Token的Filter -->
<filter>
<filter-name>token-filter</filter-name>
<filter-class>com.cpic.xim.web.filters.token.TokenFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>token-filter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- 用于实现跨域访问的Filter -->
<filter> <filter>
<filter-name>cros-filter</filter-name> <filter-name>cros-filter</filter-name>
<filter-class>com.cpic.xim.web.filters.cros.CrosFilter</filter-class> <filter-class>com.cpic.xim.web.filters.cros.CrosFilter</filter-class>
</filter> </filter>
<filter-mapping> <filter-mapping>
<filter-name>cros-filter</filter-name> <filter-name>cros-filter</filter-name>
<url-pattern>*.do</url-pattern> <url-pattern>*</url-pattern>
</filter-mapping> </filter-mapping>
<!-- 配置文件路径参数 --> <!-- 配置文件路径参数 -->
<context-param> <context-param>
<param-name>config_file_location</param-name> <param-name>config_file_location</param-name>

View File

@@ -1,25 +0,0 @@
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
<context:component-scan base-package="com.cpic.xim" />
<mvc:annotation-driven />
<mvc:default-servlet-handler />
<!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean> -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8" />
<property name="maxUploadSize" value="-1" />
</bean>
</beans>

View File

@@ -1,37 +0,0 @@
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<filter>
<filter-name>cros-filter</filter-name>
<filter-class>com.cpic.xim.web.filters.cros.CrosFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cros-filter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- 配置文件路径参数 -->
<context-param>
<param-name>config_file_location</param-name>
<param-value>config.xml</param-value>
</context-param>
<listener>
<listener-class>com.cpic.xim.web.listener.ContextLoaderListener</listener-class>
</listener>
</web-app>

View File

@@ -1,68 +0,0 @@
html {
--backupground-color: #f7f7f7;
--btn-color-blue: #307dbe;
--btn-color-yellow: #f7b24d;
--btn-color-green: #5bad60;
--btn-color-red: #e56651;
--btn-font-color: #fff;
background-color: #eee;
}
#root,
#app {
height: 100vh;
width: 100vw;
position: fixed;
padding: 50px;
/* font-size: 0; */
overflow: auto;
}
#root,
#app * + * {
margin-top: 15px;
}
hr {
background-color: steelblue;
border: none;
height: 3px;
}
.test {
width: 110vw;
height: 100vh;
border: 1px solid red;
overflow: auto;
}
button {
padding: 5px 10px;
background-color: var(--btn-color-red);
color: var(--btn-font-color);
width: 10em;
border: none;
border-radius: 0.25em;
font-size: 1.5rem;
}
button + button {
margin-left: 0.5em;
}
button:active {
background-color: var(--btn-font-color);
color: var(--btn-color-red);
}
input {
border: none;
outline: solid 2px #e56651;
font-size: 2rem;
}
label {
display: inline-block;
font-size: 2rem;
margin-top: 15px;
}

View File

@@ -1,25 +0,0 @@
#app {
width: 100vw;
height: 100vh;
padding: 0px;
margin: 0px;
display: flex;
flex-direction: column;
}
#header {
flex-basis: 50px;
border: 1px solid red;
max-height: 50px;
}
#main {
flex-grow: 1;
border: 1px solid red;
}
#footer {
flex-basis: 100px;
max-height: 100px;
border: 1px solid red;
}

View File

@@ -1,349 +0,0 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -1,11 +0,0 @@
.panel {
display: flex;
justify-content: center;
align-items: center;
}
.main_form {
height: 50vh;
width: 50vw;
border: 1px solid red;
}

View File

@@ -1,20 +0,0 @@
:root {
font-size: 1em;
box-sizing: border-box;
}
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: inherit;
}
body {
font-family: Arial, Helvetica, sans-serif;
}
.pointer {
cursor: pointer;
}

View File

@@ -1,17 +0,0 @@
a,
p {
padding: 5rem;
border: 1px solid red;
line-height: 2rem;
margin: 2em;
}
.warp_test {
width: 5rem;
border: 1px solid red;
}
ol,
li {
background-color: cornflowerblue;
}

View File

@@ -1,23 +0,0 @@
<%-- /*
* @Author: Kane
* @Date: 2022-10-21 00:14:43
* @LastEditors: Kane
* @LastEditTime: 2022-10-21 00:16:48
* @FilePath: \car_dealer\src\main\webapp\test.jsp
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/ --%>
<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>

View File

@@ -1,4 +0,0 @@
#Created by Apache Maven 3.8.6
artifactId=admin-system
groupId=com.cpic.xim
version=1.0-SNAPSHOT

View File

@@ -1,10 +0,0 @@
com\cpic\xim\myutils\config\json\ConfigLoader.class
com\cpic\xim\web\controllers\account\P13AccountCheckResult.class
com\cpic\xim\myutils\config\json\AppConfig.class
com\cpic\xim\web\filters\cros\CrosFilter.class
com\cpic\xim\web\listener\ContextLoaderListener.class
com\cpic\xim\myutils\config\json\DatabaseConfig.class
com\cpic\xim\web\controllers\account\P13AccountCheckController.class
com\cpic\xim\web\controllers\account\P13AccountCheckRequest.class
com\cpic\xim\myutils\account\CpicXIMStaffInfo.class
com\cpic\xim\myutils\account\LdapAccountCheck.class

View File

@@ -1,10 +0,0 @@
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckResult.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckRequest.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckController.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\web\filters\cros\CrosFilter.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\myutils\account\CpicXIMStaffInfo.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\myutils\account\LdapAccountCheck.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\myutils\config\json\AppConfig.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\web\listener\ContextLoaderListener.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\myutils\config\json\DatabaseConfig.java
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\main\java\com\cpic\xim\myutils\config\json\ConfigLoader.java

View File

@@ -1 +0,0 @@
com\cpic\xim\myutils\account\LdapAccountCheckTest.class

View File

@@ -1 +0,0 @@
F:\练手代码\vue-learning\企业级管理系统\java\AdminSys\src\test\java\com\cpic\xim\myutils\account\LdapAccountCheckTest.java

View File

@@ -0,0 +1,2 @@
VUE_APP_API_URL_LOGIN = "http://222.76.244.118:11001/admin-system/account/p13_account_check"
VUR_APPP_API_URL_UPLOAD_FILE= "http://222.76.244.118:11001/admin-system/file/file-upload.do"

File diff suppressed because it is too large Load Diff

View File

@@ -8,6 +8,8 @@
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"@element-plus/icons-vue": "^2.0.10",
"axios": "^1.2.1",
"core-js": "^3.8.3", "core-js": "^3.8.3",
"element-plus": "^2.2.26", "element-plus": "^2.2.26",
"sass": "^1.56.2", "sass": "^1.56.2",
@@ -28,6 +30,7 @@
"@vue/cli-service": "~5.0.0", "@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3", "eslint-plugin-vue": "^8.0.3",
"svg-sprite-loader": "^2.1.0",
"vue-cli-plugin-element-plus": "~0.0.13" "vue-cli-plugin-element-plus": "~0.0.13"
} }
} }

View File

@@ -1,3 +1,13 @@
<!--
* @Author: Kane
* @Date: 2022-12-17 11:08:18
* @LastEditors: Kane
* @LastEditTime: 2023-01-26 01:37:19
* @FilePath: \admin_system\public\index.html
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<!DOCTYPE html> <!DOCTYPE html>
<html lang=""> <html lang="">
<head> <head>
@@ -22,6 +32,12 @@
.v-cloak { .v-cloak {
display: none; display: none;
} }
body {
width: 100vw;
height: 100vh;
max-height: 100vh;
min-width: 1280px;
}
</style> </style>
</html> </html>

View File

@@ -2,21 +2,29 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-14 15:12:46 * @Date: 2022-12-14 15:12:46
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-12-14 17:03:58 * @LastEditTime: 2023-01-19 14:26:17
* @FilePath: \admin_system\src\App.vue * @FilePath: \admin_system\src\App.vue
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
--> -->
<template> <template>
<router-view></router-view> <el-config-provider :locale="this.locale">
<router-view></router-view>
</el-config-provider>
</template> </template>
<script> <script>
// import HelloWorld from "./components/HelloWorld.vue"; //引入语言组件
import zhCn from "element-plus/lib/locale/lang/zh-cn";
export default { export default {
name: "App", name: "App",
data() {
return {
locale: zhCn, //语言属性
};
},
components: { components: {
// HelloWorld, // HelloWorld,
}, },

View File

@@ -0,0 +1,24 @@
/*
* @Author: Kane
* @Date: 2022-11-12 23:22:59
* @LastEditors: Kane
* @LastEditTime: 2022-12-05 01:07:18
* @FilePath: \hello-cli\src\assets\css\colors.css
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
html {
--backupground-color: #f4f5f7ff;
--btn-color-blue: #307dbe;
--btn-color-yellow: #f7b24d;
--btn-color-green: #5bad60;
--btn-color-red: #e56651;
--btn-font-color: #fff;
--input-focus-color: #e56651;
/* 标题栏背景色 */
--banner-background-color: #1d74b2;
}

View File

@@ -0,0 +1,17 @@
/*
* @Author: Kane
* @Date: 2022-12-05 00:07:49
* @LastEditors: Kane
* @LastEditTime: 2022-12-05 00:48:04
* @FilePath: \hello-cli\src\assets\css\global.css
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
html,
body,
#app {
/* padding: 0px; */
margin: 0px;
overflow: hidden;
}

View File

@@ -1,60 +0,0 @@
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-vuex" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>

View File

@@ -0,0 +1,36 @@
<!--
* @Author: Kane
* @Date: 2023-01-06 20:33:57
* @LastEditors: Kane
* @LastEditTime: 2023-01-07 17:10:07
* @FilePath: \admin_system\src\components\svg\SvgIcon.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
svg-icon:{{ this.iconName }}
</template>
<script>
export default {
name: "svg-icon",
data()
{
return {
iconName: ""
};
},
props: ["icon"],
created()
{
console.log("svg");
console.log(this.icon);
this.iconName = this.icon;
},
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M757.76 102.4a122.88 122.88 0 0 1 122.88 122.88v376.8832l-1.4336-0.1536A89.6 89.6 0 0 1 960 691.2v153.6A89.6 89.6 0 0 1 870.4 934.4H153.6a89.6 89.6 0 0 1-89.6-89.6v-153.6a89.6 89.6 0 0 1 80.7936-89.1904l-1.4336 0.1536V225.28A122.88 122.88 0 0 1 266.24 102.4h491.52zM280.064 678.4H153.6a12.8 12.8 0 0 0-12.4416 9.8816l-0.3584 2.9184v153.6c0 7.0656 5.7344 12.8 12.8 12.8h716.8a12.8 12.8 0 0 0 12.8-12.8v-153.6a12.8 12.8 0 0 0-12.8-12.8h-126.5152l-84.992 68.352a38.4 38.4 0 0 1-24.0128 8.448H389.12a38.4 38.4 0 0 1-24.064-8.448L280.064 678.4zM757.76 179.2H266.24a46.08 46.08 0 0 0-45.7216 40.2944L220.16 225.28v376.32h73.3696a38.4 38.4 0 0 1 24.064 8.448l85.0432 68.352h218.6752l85.0944-68.352a38.4 38.4 0 0 1 18.8416-8.0896l5.2224-0.3584H803.84V225.28a46.08 46.08 0 0 0-40.2944-45.7216L757.76 179.2z m-114.1248 280.9344a38.4 38.4 0 0 1 5.2224 76.4416l-5.2224 0.3584H380.416a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h263.2704z m0-153.6a38.4 38.4 0 0 1 5.2224 76.4416l-5.2224 0.3584H380.416a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h263.2704z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 76.8a435.2 435.2 0 1 1 0 870.4 435.2 435.2 0 0 1 0-870.4zM512 153.6a358.4 358.4 0 1 0 0 716.8 358.4 358.4 0 0 0 0-716.8z m168.0384 141.2608a38.4 38.4 0 0 1 49.152 49.1008l-95.5904 266.4448a38.4 38.4 0 0 1-23.1936 23.1936L343.9616 729.088a38.4 38.4 0 0 1-49.152-49.1008l95.5904-266.4448a38.4 38.4 0 0 1 23.1936-23.1936zM440.832 500.4288l-46.1312 128.9216 128.8192-46.2336-82.688-82.688z m188.6208-105.8304l-136.8576 48.9984 87.7568 87.7568 49.1008-136.7552z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 753 B

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M665.6 448c49.4592 0 89.6 40.1408 89.6 89.6v307.2A89.6 89.6 0 0 1 665.6 934.4H358.4a89.6 89.6 0 0 1-89.6-89.6v-307.2c0-49.4592 40.1408-89.6 89.6-89.6z m12.8 281.6h-332.8v115.2a12.8 12.8 0 0 0 9.8816 12.4416L358.4 857.6h307.2a12.8 12.8 0 0 0 12.8-12.8v-115.2z m-250.88 25.6a38.4 38.4 0 1 1 0 76.8 38.4 38.4 0 0 1 0-76.8zM512 102.4a307.3536 307.3536 0 0 1 292.2496 212.3264 256.0512 256.0512 0 0 1 27.8016 488.3456v-84.6336a179.4048 179.4048 0 0 0 89.2928-145.408L921.6 563.2a179.3024 179.3024 0 0 0-126.464-171.3152l-9.3696-2.56-41.3696-10.2912-13.1584-40.6016a230.5024 230.5024 0 0 0-434.7904-10.3936l-3.584 10.3424-13.2096 40.6016-41.4208 10.24a179.3024 179.3024 0 0 0-46.2336 329.216v84.6336a256.1024 256.1024 0 0 1 27.7504-488.3456A307.2512 307.2512 0 0 1 512 102.4z m153.6 422.4H358.4a12.8 12.8 0 0 0-12.8 12.8v115.2h332.8V537.6a12.8 12.8 0 0 0-9.8816-12.4416L665.6 524.8z m-238.08 25.6a38.4 38.4 0 1 1 0 76.8 38.4 38.4 0 0 1 0-76.8z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M333.0048 113.664a153.6 153.6 0 0 1 153.6 153.6v174.1824a45.1584 45.1584 0 0 1-45.1584 45.1584H267.264a153.6 153.6 0 0 1-153.6-153.6V267.264a153.6 153.6 0 0 1 153.6-153.6h65.7408z m7.424 77.1584l-7.424-0.3584H267.264a76.8 76.8 0 0 0-76.4416 69.4272l-0.3584 7.3728v65.7408a76.8 76.8 0 0 0 69.4272 76.4416l7.3728 0.3584h142.5408V267.264a76.8 76.8 0 0 0-62.208-75.4176l-7.168-1.024zM441.4464 537.6c24.9344 0 45.1584 20.224 45.1584 45.1584v174.1824a153.6 153.6 0 0 1-153.6 153.6H267.264a153.6 153.6 0 0 1-153.6-153.6V691.2a153.6 153.6 0 0 1 153.6-153.6h174.1824z m-31.6416 76.7488L267.264 614.4a76.8 76.8 0 0 0-76.4416 69.4272l-0.3584 7.3728v65.7408a76.8 76.8 0 0 0 69.4272 76.4416l7.3728 0.3584h65.7408a76.8 76.8 0 0 0 76.4416-69.376l0.3584-7.424v-142.592z m347.136-500.6848a153.6 153.6 0 0 1 153.6 153.6v65.7408a153.6 153.6 0 0 1-153.6 153.6h-174.1824a45.1584 45.1584 0 0 1-45.1584-45.1584V267.264a153.6 153.6 0 0 1 153.6-153.6h65.7408z m0 76.8H691.2a76.8 76.8 0 0 0-76.4416 69.4272L614.4 267.264l-0.0512 142.5408h142.592a76.8 76.8 0 0 0 76.4416-69.376l0.3584-7.424V267.264a76.8 76.8 0 0 0-69.376-76.4416l-7.424-0.3584z m0 347.136a153.6 153.6 0 0 1 153.6 153.6v65.7408a153.6 153.6 0 0 1-153.6 153.6H691.2a153.6 153.6 0 0 1-153.6-153.6v-174.1824c0-24.9344 20.224-45.1584 45.1584-45.1584h174.1824zM614.4 756.9408a76.8 76.8 0 0 0 69.4272 76.4416l7.3728 0.3584h65.7408a76.8 76.8 0 0 0 76.4416-69.376l0.3584-7.424V691.2a76.8 76.8 0 0 0-69.376-76.4416L756.9408 614.4l-142.592-0.0512 0.0512 142.592z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M773.12 102.4a122.88 122.88 0 0 1 122.88 122.88v573.44a122.88 122.88 0 0 1-122.88 122.88H250.88a122.88 122.88 0 0 1-122.88-122.88V225.28A122.88 122.88 0 0 1 250.88 102.4h522.24z m0 76.8H250.88a46.08 46.08 0 0 0-45.7216 40.2944L204.8 225.28v573.44a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h522.24a46.08 46.08 0 0 0 45.7216-40.2944L819.2 798.72V225.28a46.08 46.08 0 0 0-40.2944-45.7216L773.12 179.2zM436.6336 247.1424c6.3488 0.2048 12.6976 0.9216 18.9952 2.1504 38.8096 7.5264 68.7104 32.256 89.8048 71.8336 19.6608 37.0176 26.88 67.4816 20.48 97.3824a99.4816 99.4816 0 0 1-30.5664 53.248l-0.9216 0.768 5.0176 8.3968 9.6768 14.4896 6.8608 9.9328 9.216 12.1856 6.8608 8.2432 3.7888-1.2288c50.688-15.5136 97.28 1.4336 140.544 47.616l7.6288 8.448c38.7584 45.8752 41.728 86.3744 26.2656 115.456l-3.2768 6.8096c-8.6528 16.0768-23.4496 33.1264-44.288 49.6128-29.3888 23.1424-71.0144 39.424-105.3696 38.0928l-8.448-0.8704-12.6976-1.5872a215.3984 215.3984 0 0 1-74.9568-27.4944c-47.9744-28.16-95.232-77.312-142.3872-152.4736-31.4368-50.0736-51.5072-89.4464-64.3584-130.3552a234.752 234.752 0 0 1-9.0112-124.8256 111.616 111.616 0 0 1 55.296-74.752l13.0048-7.0656c32.6144-17.92 55.6032-24.9856 82.8416-24.064z m-2.6624 76.7488c-11.3664-0.4096-21.7088 2.7648-43.3664 14.6432l-12.544 6.8608a34.5088 34.5088 0 0 0-17.3056 22.784c-5.632 27.9552-3.4816 56.832 6.6048 85.248 10.9568 34.816 28.3136 68.864 56.5248 113.92 71.0656 113.3568 117.248 140.4928 180.736 146.7904l-1.4848-0.2048 4.4544-0.256c11.1104-1.4336 27.8016-8.0384 41.1648-16.896l6.4-4.608c14.336-11.3152 22.2208-21.0432 25.9584-29.3376 2.56-4.864 2.048-11.5712-15.4624-32.256-28.3648-32.8192-47.9744-40.0384-70.912-31.4368l-8.1408 3.4304-6.656 3.3792a38.4 38.4 0 0 1-41.472-4.5568 104.0896 104.0896 0 0 1-8.192-7.424c-13.312-13.7216-25.6-28.3648-37.0688-44.3904l-15.9744-23.3472c-8.6528-13.312-16.4864-27.136-23.808-41.984l-3.4304-7.4752a38.4 38.4 0 0 1 16.7424-50.1248c16.0768-8.4992 22.2208-15.616 24.064-24.2176 1.9456-9.216-1.2288-22.7328-13.1584-45.2096-10.8544-20.2752-22.272-29.7472-36.5568-32.5632a46.4896 46.4896 0 0 0-7.168-0.768z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M798.72 102.4A122.88 122.88 0 0 1 921.6 225.28v573.44a122.88 122.88 0 0 1-122.88 122.88H225.28A122.88 122.88 0 0 1 102.4 798.72V225.28A122.88 122.88 0 0 1 225.28 102.4h573.44z m0 76.8H225.28a46.08 46.08 0 0 0-45.7216 40.2944L179.2 225.28v573.44a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h573.44a46.08 46.08 0 0 0 45.7216-40.2944l0.3584-5.7856V225.28a46.08 46.08 0 0 0-40.2944-45.7216L798.72 179.2z" fill="#595959" /><path d="M368.7936 248.32a38.4 38.4 0 0 1 38.0416 33.1776l0.3584 5.2224v204.032a102.4 102.4 0 0 1 0 189.8496V737.28a38.4 38.4 0 0 1-76.4928 5.2224l-0.3072-5.2224v-56.6784a102.4 102.4 0 0 1 0-189.9008V286.72a38.4 38.4 0 0 1 38.4-38.4z m0 311.7568a25.6 25.6 0 1 0 0 51.2 25.6 25.6 0 0 0 0-51.2zM655.36 248.32a38.4 38.4 0 0 1 38.0416 33.1776l0.3584 5.2224 0.0512 56.6272a102.4 102.4 0 0 1 0 189.8496L693.76 737.28a38.4 38.4 0 0 1-76.4416 5.2224l-0.3584-5.2224v-204.032a102.4 102.4 0 0 1 0-189.952V286.72a38.4 38.4 0 0 1 38.4-38.4z m0 164.352a25.6 25.6 0 1 0 0 51.2 25.6 25.6 0 0 0 0-51.2z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M773.12 102.4a122.88 122.88 0 0 1 122.88 122.88v573.44a122.88 122.88 0 0 1-122.88 122.88H250.88a122.88 122.88 0 0 1-122.88-122.88v-84.5824H102.4a38.4 38.4 0 0 1-5.2224-76.3904L102.4 637.3888l25.6-0.0512v-87.04H102.4a38.4 38.4 0 0 1-5.2224-76.3904L102.4 473.5488l25.6-0.0512v-87.04H102.4a38.4 38.4 0 0 1-5.2224-76.3904L102.4 309.7088l25.6-0.0512V225.28A122.88 122.88 0 0 1 250.88 102.4h522.24z m0 76.8H250.88a46.08 46.08 0 0 0-45.7216 40.2944L204.8 225.28v84.4288a38.4 38.4 0 0 1 5.2224 76.4416L204.8 386.5088v87.04a38.4 38.4 0 0 1 5.2224 76.4416L204.8 550.3488v87.04a38.4 38.4 0 0 1 5.2224 76.4416L204.8 714.1888V798.72a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h522.24a46.08 46.08 0 0 0 45.7216-40.2944L819.2 798.72V225.28a46.08 46.08 0 0 0-40.2944-45.7216L773.12 179.2z m-235.52 104.96a140.8 140.8 0 0 1 106.6496 232.704A217.4464 217.4464 0 0 1 755.2 706.56a38.4 38.4 0 1 1-76.8 0 140.8 140.8 0 1 0-281.6 0 38.4 38.4 0 1 1-76.8 0c0-81.408 44.7488-152.4224 111.0016-189.7472A140.8 140.8 0 0 1 537.6 284.16z m0 76.8a64 64 0 1 0 0 128 64 64 0 0 0 0-128z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M652.8 43.52c45.568 0 83.2 34.048 88.8832 78.08l-0.1024-0.6656 44.3392 0.0512a122.88 122.88 0 0 1 122.88 122.88v573.44a122.88 122.88 0 0 1-122.88 122.88H238.08a122.88 122.88 0 0 1-122.88-122.88v-573.44a122.88 122.88 0 0 1 122.88-122.88l44.3392-0.0512-0.1024 0.6656A89.6 89.6 0 0 1 371.2 43.52z m86.7328 153.088a89.6 89.6 0 0 1-86.7328 67.072h-281.6a89.6 89.6 0 0 1-86.7328-67.072l0.3072 1.1776H238.08a46.08 46.08 0 0 0-45.7216 40.2944l-0.3584 5.7856v573.44a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h547.84a46.08 46.08 0 0 0 45.7216-40.2944l0.3584-5.7856v-573.44a46.08 46.08 0 0 0-40.2944-45.7216l-5.7856-0.3584h-46.6944zM512 335.36a140.8 140.8 0 0 1 104.192 235.52 191.6928 191.6928 0 0 1 87.808 161.28 38.4 38.4 0 0 1-76.4416 5.2224l-0.3584-5.2224a115.2 115.2 0 1 0-230.4 0 38.4 38.4 0 1 1-76.8 0c0-67.6352 34.9696-127.1296 87.808-161.28A140.8 140.8 0 0 1 512 335.36z m0 76.8a64 64 0 1 0 0 128 64 64 0 0 0 0-128z m140.8-291.84h-281.6A12.8 12.8 0 0 0 358.4 133.12v40.96c0 7.0656 5.7344 12.8 12.8 12.8h281.6A12.8 12.8 0 0 0 665.6 174.08v-40.96a12.8 12.8 0 0 0-12.8-12.8z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M665.6 89.6a38.4 38.4 0 0 1 38.0416 33.1776l0.3584 5.2224v30.6688l120.32 0.0512a122.88 122.88 0 0 1 122.88 122.88v496.64a122.88 122.88 0 0 1-122.88 122.88H199.68a122.88 122.88 0 0 1-122.88-122.88V281.6a122.88 122.88 0 0 1 122.88-122.88l120.32-0.0512V128a38.4 38.4 0 0 1 76.4416-5.2224l0.3584 5.2224v30.6688h230.4V128a38.4 38.4 0 0 1 38.4-38.4zM320 235.4688L199.68 235.52a46.08 46.08 0 0 0-45.7216 40.2944L153.6 281.6v496.64a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h624.64a46.08 46.08 0 0 0 45.7216-40.2944L870.4 778.24V281.6a46.08 46.08 0 0 0-40.2944-45.7216L824.32 235.52l-120.32-0.0512v17.2032a38.4 38.4 0 0 1-76.4416 5.2224l-0.3584-5.2224v-17.2032h-230.4v17.2032a38.4 38.4 0 0 1-76.4416 5.2224l-0.3584-5.2224v-17.2032zM384 367.36a120.064 120.064 0 0 1 87.552 202.24 164.2496 164.2496 0 0 1 72.448 136.96 32 32 0 1 1-64 0c0-52.5312-39.0656-95.3344-88.3712-99.328l-7.6288 0.256c-2.56 0-5.12-0.1024-7.68-0.256-49.2544 3.9936-88.32 46.7968-88.32 99.328a32 32 0 1 1-64 0c0-57.2416 28.7744-107.776 72.4992-137.0624A120.064 120.064 0 0 1 384 367.36z m362.6496 209.5104a38.4 38.4 0 0 1 5.1712 76.4928l-5.1712 0.3072H614.4a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h132.2496zM384 431.36a56.064 56.064 0 0 0-6.5024 111.7696l6.5024-0.2048 6.5024 0.2048A56.064 56.064 0 0 0 384 431.36z m362.6496-8.0896a38.4 38.4 0 0 1 5.1712 76.4928l-5.1712 0.3072H614.4a38.4 38.4 0 0 1-5.2224-76.4416L614.4 423.2704h132.2496z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M716.8 460.8a256 256 0 1 1 0 512 256 256 0 0 1 0-512z m30.72-358.4A122.88 122.88 0 0 1 870.4 225.28l0.0512 196.2496a330.496 330.496 0 0 0-76.8-28.6208L793.6 225.28a46.08 46.08 0 0 0-40.2944-45.7216L747.52 179.2H225.28a46.08 46.08 0 0 0-45.7216 40.2944L179.2 225.28v573.44a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h184.2176c11.5712 27.7504 26.7776 53.5552 45.0048 76.8H225.28A122.88 122.88 0 0 1 102.4 798.72V225.28A122.88 122.88 0 0 1 225.28 102.4h522.24z m-30.72 435.2a179.2 179.2 0 1 0 0 358.4 179.2 179.2 0 0 0 0-358.4z m0 31.1296a38.4 38.4 0 0 1 38.0416 33.1776l0.3584 5.2224v78.5408h48.64a38.4 38.4 0 0 1 38.0416 33.28l0.3584 5.12a38.4 38.4 0 0 1-33.1776 38.0928l-5.2224 0.3584H716.8a38.4 38.4 0 0 1-38.0416-33.1776l-0.3584-5.2224v-116.992a38.4 38.4 0 0 1 38.4-38.4zM431.2064 435.2a38.4 38.4 0 0 1 5.2224 76.4416L431.2064 512h-153.6a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h153.6z m177.3568-153.6a38.4 38.4 0 0 1 5.2224 76.4416L608.5632 358.4H277.6064a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h330.9568z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M665.6 115.2a38.4 38.4 0 0 1 38.0416 33.1776L704 153.6v30.6688l94.72 0.0512A122.88 122.88 0 0 1 921.6 307.2v471.04a122.88 122.88 0 0 1-122.88 122.88H225.28A122.88 122.88 0 0 1 102.4 778.24V307.2a122.88 122.88 0 0 1 122.88-122.88l94.72-0.0512V153.6a38.4 38.4 0 0 1 76.4416-5.2224L396.8 153.6v30.6688h230.4V153.6a38.4 38.4 0 0 1 38.4-38.4zM320 261.0688L225.28 261.12a46.08 46.08 0 0 0-45.7216 40.2944L179.2 307.2v471.04a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h573.44a46.08 46.08 0 0 0 45.7216-40.2944l0.3584-5.7856V307.2a46.08 46.08 0 0 0-40.2944-45.7216L798.72 261.12l-94.72-0.0512v17.2032a38.4 38.4 0 0 1-76.4416 5.2224l-0.3584-5.2224v-17.2032h-230.4v17.2032a38.4 38.4 0 0 1-76.4416 5.2224l-0.3584-5.2224v-17.2032zM307.2 588.8a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4z m409.6 12.544a38.4 38.4 0 0 1 5.2224 76.4416l-5.2224 0.3584H460.8a38.4 38.4 0 0 1-5.2224-76.4416L460.8 601.344h256zM307.2 424.96a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4z m409.6 12.544a38.4 38.4 0 0 1 5.2224 76.4416l-5.2224 0.3584H460.8a38.4 38.4 0 0 1-5.2224-76.4416L460.8 437.504h256z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M495.0528 78.1824a38.4 38.4 0 0 1 33.8944 0l384 189.0304a41.3184 41.3184 0 0 1 6.4 3.9424l1.536 1.28a26.4192 26.4192 0 0 1 2.4576 2.2016l0.9728 1.024a24.9344 24.9344 0 0 1 2.304 2.7136l0.7168 1.024a34.816 34.816 0 0 1 4.096 7.2192l1.6384 4.9152a38.912 38.912 0 0 1 1.3312 10.1376v441.1392a38.4 38.4 0 0 1-21.4528 34.4576l-384 189.0304a39.0656 39.0656 0 0 1-9.728 3.2768l-4.7616 0.6144h-4.9152l-4.8128-0.6144a37.888 37.888 0 0 1-9.472-3.1744l-0.2048-0.1024-384-189.0304a38.4 38.4 0 0 1-21.4528-34.4576V301.6704c0-3.584 0.512-6.9632 1.3312-10.1376l1.6896-4.9152a37.5808 37.5808 0 0 1 3.9936-7.168l0.8192-1.024a25.3952 25.3952 0 0 1 2.2016-2.7648l1.024-1.024a24.2176 24.2176 0 0 1 2.4064-2.2016l1.6384-1.28a37.0688 37.0688 0 0 1 6.3488-3.9424l-4.096 2.3552a39.0656 39.0656 0 0 1 3.072-1.8432l1.024-0.512zM166.4 363.4176v355.4304l307.2 151.296v-355.5328l-307.2-151.1936z m691.2 0l-307.2 151.1936v355.5328l307.2-151.296V363.4176zM512 155.392L214.9376 301.6704 512 447.8976l297.0112-146.2272L512 155.392z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M579.2256 95.1808l286.72 187.4432A122.88 122.88 0 0 1 921.6 385.536V798.72a122.88 122.88 0 0 1-122.88 122.88H225.28A122.88 122.88 0 0 1 102.4 798.72V385.4848A122.88 122.88 0 0 1 158.0544 282.624l286.72-187.4432a122.88 122.88 0 0 1 134.4512 0zM492.032 156.4672l-5.2736 2.9696-286.72 187.4944a46.08 46.08 0 0 0-20.48 32.768L179.2 385.536V798.72a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h573.44a46.08 46.08 0 0 0 45.7216-40.2944l0.3584-5.7856V385.4848a46.08 46.08 0 0 0-16.2304-35.1232l-4.608-3.4304-286.72-187.4944a46.08 46.08 0 0 0-45.2096-2.9696z m202.1376 516.4544a38.4 38.4 0 0 1 0 76.8H329.8304a38.4 38.4 0 1 1 0-76.8h364.3392z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 928 B

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M870.4 832a38.4 38.4 0 0 1 5.2224 76.4416L870.4 908.8H153.6a38.4 38.4 0 0 1-5.2224-76.4416L153.6 832h716.8z m-71.68-716.8a122.88 122.88 0 0 1 122.88 122.88v419.84a122.88 122.88 0 0 1-122.88 122.88H225.28a122.88 122.88 0 0 1-122.88-122.88v-419.84a122.88 122.88 0 0 1 122.88-122.88h573.44z m0 76.8H225.28a46.08 46.08 0 0 0-45.7216 40.2944L179.2 238.08v419.84a46.08 46.08 0 0 0 40.2944 45.7216l5.7856 0.3584h573.44a46.08 46.08 0 0 0 45.7216-40.2944l0.3584-5.7856v-419.84a46.08 46.08 0 0 0-40.2944-45.7216L798.72 192z m-13.824 98.304a38.4 38.4 0 0 1 3.7376 49.9712l-3.7376 4.3008-222.0032 222.0032a38.4 38.4 0 0 1-50.0224 3.7376l-4.3008-3.7376-108.544-108.544-108.544 108.544a38.4 38.4 0 0 1-50.0224 3.7376l-4.3008-3.7376a38.4 38.4 0 0 1-3.7376-49.9712l3.7376-4.3008 135.68-135.7312a38.4 38.4 0 0 1 50.0224-3.7376l4.3008 3.7376 108.544 108.544 194.8672-194.816a38.4 38.4 0 0 1 54.272 0z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M481.536 199.4752a38.4 38.4 0 0 1 39.0656 38.4l-0.0512 300.3904h300.4416a38.4 38.4 0 0 1 38.0416 33.2288l0.3584 5.1712A377.2416 377.2416 0 1 1 469.6064 199.68z m-37.7856 79.2576l-6.144 0.8192a300.544 300.544 0 0 0 44.544 597.5552 300.4928 300.4928 0 0 0 297.216-256l0.7168-6.0416H482.2016a38.4 38.4 0 0 1-38.0928-33.1776l-0.3072-5.2224-0.0512-297.9328z m171.776-204.4416l5.0688 0.0512a371.4048 371.4048 0 0 1 342.528 357.5808l0.2048 11.8784a38.4 38.4 0 0 1-38.4 39.0656h-307.2a38.4 38.4 0 0 1-38.4-38.4V112.64a38.4 38.4 0 0 1 41.2672-38.2976z m40.5504 82.7904v248.9856h227.84l-0.8704-7.0656a294.7584 294.7584 0 0 0-222.3616-240.896l-4.608-1.024z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 937 B

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 153.6a307.3536 307.3536 0 0 1 292.2496 212.3264 256.0512 256.0512 0 0 1-36.1984 503.1936L768 870.4H256v-1.28a256 256 0 0 1-36.2496-503.1936A307.2512 307.2512 0 0 1 512 153.6z m0 76.8a230.4512 230.4512 0 0 0-215.552 148.8384l-3.584 10.3424-13.2096 40.6016-41.4208 10.24a179.3024 179.3024 0 0 0 15.6672 351.0784l9.728 1.2288 9.216 0.8704h478.3104l9.2672-0.8704a179.2 179.2 0 0 0 160.9216-168.4992L921.6 614.4a179.3024 179.3024 0 0 0-126.464-171.3152l-9.3696-2.56-41.3696-10.2912-13.1584-40.6016A230.5024 230.5024 0 0 0 512 230.4z" fill="#595959" /><path d="M512 371.2a38.4 38.4 0 0 1 38.0416 33.1776L550.4 409.6v170.2912l27.2896-27.2896a38.4 38.4 0 0 1 50.3808-3.4304l3.9424 3.4304a38.4 38.4 0 0 1 3.4304 50.3808l-3.4304 3.9424-94.1056 94.1056a38.4 38.4 0 0 1-50.3808 3.4304l-3.9424-3.4304-94.1568-94.1056a38.4 38.4 0 0 1 50.3808-57.7536l3.9424 3.4304 29.8496 29.8496V409.6a38.4 38.4 0 0 1 38.4-38.4z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M358.4 205.4144c19.2 0 37.632 3.2256 54.784 9.0624a267.3664 267.3664 0 0 0-31.5904 70.656A91.904 91.904 0 0 0 358.4 282.2656c-49.664 0-89.6 39.0656-89.6 86.784S308.736 455.68 358.4 455.68a92.16 92.16 0 0 0 29.4912-4.8128c8.96 24.576 21.4528 47.4624 36.8128 68.096-20.2752 8.704-42.752 13.5168-66.304 13.5168-91.6992 0-166.4-73.0112-166.4-163.5328S266.7008 205.4144 358.4 205.4144zM283.5456 633.5488H227.5328a48.384 48.384 0 0 0-48.0256 42.7008l-0.3072 5.632v43.2128a5.12 5.12 0 0 0 3.1232 4.7104l1.9968 0.4096h72.2944a234.1376 234.1376 0 0 0-0.3584 12.1856v51.2c0 4.5056 0.2048 9.0112 0.512 13.4144H184.32a81.92 81.92 0 0 1-81.92-81.92v-43.2128a125.1328 125.1328 0 0 1 125.1328-125.184h122.7264a231.4752 231.4752 0 0 0-66.7136 76.8zM793.856 588.8a153.6 153.6 0 0 1 153.6 153.6v51.2a102.4 102.4 0 0 1-102.4 102.4h-409.6a102.4 102.4 0 0 1-102.4-102.4v-51.2a153.6 153.6 0 0 1 153.6-153.6h307.2z m0 76.8h-307.2a76.8 76.8 0 0 0-76.4416 69.4272l-0.3584 7.3728v51.2a25.6 25.6 0 0 0 20.992 25.1904l4.608 0.4096h409.6a25.6 25.6 0 0 0 25.1904-20.992l0.4096-4.608v-51.2a76.8 76.8 0 0 0-69.376-76.4416L793.856 665.6zM640.256 166.4a192 192 0 1 0 0 384 192 192 0 0 0 0-384z m0 76.8a115.2 115.2 0 1 1 0 230.4 115.2 115.2 0 0 1 0-230.4z" fill="#595959" /><path d="M793.856 588.8a153.6 153.6 0 0 1 153.6 153.6v51.2a102.4 102.4 0 0 1-102.4 102.4h-409.6a102.4 102.4 0 0 1-102.4-102.4v-51.2a153.6 153.6 0 0 1 153.6-153.6h307.2z m0 76.8h-307.2a76.8 76.8 0 0 0-76.4416 69.4272l-0.3584 7.3728v51.2a25.6 25.6 0 0 0 20.992 25.1904l4.608 0.4096h409.6a25.6 25.6 0 0 0 25.1904-20.992l0.4096-4.608v-51.2a76.8 76.8 0 0 0-69.376-76.4416L793.856 665.6z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M711.9872 115.2l8.192 0.256a120.0128 120.0128 0 0 1 111.8208 119.7568l-0.0512-1.9968h10.2912A130.56 130.56 0 0 1 972.8 363.776v427.264A130.56 130.56 0 0 1 842.24 921.6H232.96A130.56 130.56 0 0 1 102.4 791.04V235.2128l0.256-8.192A120.0128 120.0128 0 0 1 222.4128 115.2h489.5744z m130.2528 194.816H232.96c-27.6992 0-50.5344 20.992-53.4528 47.9232l-0.3072 5.8368v427.264c0 27.6992 20.992 50.5344 47.9232 53.4528l5.8368 0.3072h609.28c27.6992 0 50.5344-20.992 53.4528-47.9232l0.3072-5.8368v-48.4352h-220.416a165.2224 165.2224 0 0 1 0-330.3936H896v-48.4352c0-27.648-20.992-50.4832-47.9232-53.4016l-5.8368-0.3584z m53.76 178.9952h-220.416c-46.2336 0-84.1728 35.5328-88.064 80.7936l-0.3072 7.6288c0 46.2336 35.5328 84.224 80.7424 88.064l7.68 0.3072H896V489.0112z m-211.2 50.1248a38.4 38.4 0 1 1 0 76.8 38.4 38.4 0 0 1 0-76.8z m27.1872-347.136H222.4128l-5.4272 0.3584a43.2128 43.2128 0 0 0-37.7856 42.8544v9.5744a130.048 130.048 0 0 1 53.76-11.5712h522.0864l-0.2048-3.4304a43.2128 43.2128 0 0 0-37.376-37.4272l-5.4784-0.3584z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 51.2c19.5584 0 48.2304 6.656 85.9136 19.968l21.4528 7.9872 23.2448 9.216 12.288 5.12 25.9584 11.264 27.7504 12.5952 29.5424 13.8752 31.3344 15.2064 33.1264 16.5376 53.0432 27.2896A122.88 122.88 0 0 1 921.6 299.1104V537.6a409.6 409.6 0 0 1-396.8 409.3952L512 947.2a409.6 409.6 0 0 1-409.6-409.6V299.1104a122.88 122.88 0 0 1 65.9456-108.8512l35.84-18.5344 33.9968-17.152 32.256-15.872 30.4128-14.592 28.672-13.2096 26.8288-11.9296c8.6528-3.7376 16.9984-7.2704 25.0368-10.5472l23.2448-9.2672 21.504-7.936C463.7184 57.856 492.3904 51.2 512 51.2z m0 76.8c-5.632 0-13.4144 1.2288-23.1936 3.6864L476.16 135.168l-14.4896 4.7104-16.384 5.8368-28.0064 10.9056-31.8976 13.5168-23.4496 10.4448-38.2976 17.8176-27.5456 13.312-29.184 14.336-30.72 15.616-32.256 16.6912a46.08 46.08 0 0 0-24.2688 34.4064l-0.4608 6.3488V537.6c0 179.8144 142.592 326.2976 319.744 332.5952l11.8784 0.2048 11.5712-0.1536a332.8 332.8 0 0 0 322.2016-320.7168l0.2048-11.9296V299.1104a46.0288 46.0288 0 0 0-24.6784-40.7552l-32.256-16.6912-45.568-22.9376-28.3648-13.824-39.5264-18.688a2152.5504 2152.5504 0 0 0-12.288-5.632l-23.5008-10.4448-31.8976-13.5168-28.0064-10.9056-16.384-5.8368-14.4896-4.7104-12.6464-3.4816A101.6832 101.6832 0 0 0 512 128z m39.0656 176.3328a38.4 38.4 0 0 1 17.2032 47.4624l-2.2016 4.7104-70.8608 127.8976H593.92a38.4 38.4 0 0 1 35.84 52.1728l-2.2528 4.864-102.4 184.7808a38.4 38.4 0 0 1-69.376-32.512l2.2016-4.7616 70.7584-127.744H430.08a38.4 38.4 0 0 1-35.84-52.1216l2.2528-4.864 102.4-184.8832a38.4 38.4 0 0 1 52.224-15.0016z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M824.32 128a122.88 122.88 0 0 1 122.88 122.88v522.24a122.88 122.88 0 0 1-122.88 122.88H199.68a122.88 122.88 0 0 1-122.88-122.88V250.88a122.88 122.88 0 0 1 122.88-122.88h624.64z m0 76.8H199.68a46.08 46.08 0 0 0-45.7216 40.2944L153.6 250.88v522.24a46.08 46.08 0 0 0 40.2944 45.7216L199.68 819.2h624.64a46.08 46.08 0 0 0 45.7216-40.2944L870.4 773.12V250.88a46.08 46.08 0 0 0-40.2944-45.7216L824.32 204.8zM512 350.72a38.4 38.4 0 0 1 5.2224 76.4416L512 427.52l-79.36-0.0512v235.5712a38.4 38.4 0 0 1-76.4416 5.2224l-0.3584-5.2224V427.4688L276.48 427.52a38.4 38.4 0 0 1-5.2224-76.4416L276.48 350.72H512z m234.6496 256a38.4 38.4 0 0 1 5.1712 76.4416l-5.1712 0.3584h-102.4a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h102.4z m0-122.4192a38.4 38.4 0 0 1 5.1712 76.4416l-5.1712 0.3584h-102.4a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h102.4z m0-122.4704a38.4 38.4 0 0 1 5.1712 76.4928l-5.1712 0.3072h-102.4a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h102.4z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M680.3456 935.7312l-10.1888 0.256H522.24a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h147.968c36.352 0 68.7616-16.8448 89.9072-43.1616h49.5104c14.2336 0 28.0064-2.0992 40.96-6.144a192 192 0 0 1-170.24 125.8496zM531.2 115.2a330.9568 330.9568 0 0 1 330.752 319.0784l0.2048 11.8784 0.0512 17.408a137.216 137.216 0 0 0-52.6336-10.4448l-24.2176-0.0512v-6.912a254.1568 254.1568 0 0 0-243.1488-253.952l-11.008-0.2048h-38.4a254.1568 254.1568 0 0 0-253.952 243.1488l-0.2048 11.008v6.912l-24.2688 0.0512a137.216 137.216 0 0 0-52.6336 10.4448l0.1024-17.408a330.9568 330.9568 0 0 1 319.0784-330.752l11.8784-0.2048h38.4z" fill="#595959" /><path d="M262.4 453.12h-48.0256A137.5744 137.5744 0 0 0 76.8 590.7456v87.7056a137.5744 137.5744 0 0 0 137.6256 137.6256h47.9744a89.6 89.6 0 0 0 89.6-89.6V542.72a89.6 89.6 0 0 0-89.6-89.6z m-48.0256 76.8h48.0256a12.8 12.8 0 0 1 12.8 12.8v183.7568a12.8 12.8 0 0 1-12.8 12.8h-48.0256A60.8256 60.8256 0 0 1 153.6 678.4v-87.7056c0-33.5872 27.2384-60.8256 60.8256-60.8256zM761.6 453.12h48.0256a137.5744 137.5744 0 0 1 137.5744 137.6256v87.7056a137.5744 137.5744 0 0 1-137.6256 137.6256h-47.9744a89.6 89.6 0 0 1-89.6-89.6V542.72c0-49.4592 40.1408-89.6 89.6-89.6z m48.0256 76.8h-48.0256a12.8 12.8 0 0 0-12.8 12.8v183.7568c0 7.0656 5.7344 12.8 12.8 12.8h48.0256c33.536 0 60.7744-27.2384 60.7744-60.8256v-87.7056c0-33.5872-27.2384-60.8256-60.8256-60.8256z" fill="#595959" /></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,22 @@
/*
* @Author: Kane
* @Date: 2023-01-06 20:49:04
* @LastEditors: Kane
* @LastEditTime: 2023-01-07 12:17:28
* @FilePath: \admin_system\src\components\svg\svg.js
* @Description: 导入svg图标
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
const context = require.context("./icons", false, /\.svg$/);
console.log(context);
function requireAll(context)
{
return context.keys().map(context);
}
const svgMap = requireAll(context);
console.log("导入svg");
console.log(svgMap);

View File

@@ -0,0 +1,85 @@
<!--
* @Author: Kane
* @Date: 2023-01-04 11:05:44
* @LastEditors: Kane
* @LastEditTime: 2023-01-28 23:35:47
* @FilePath: \admin_system\src\layout\Index.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<el-container id="layout-container">
<el-header id="layout-header">
<LayoutHeader />
</el-header>
<el-container id="layout-container-down">
<el-aside :width="asideWidth" id="layout-aside">
<LayoutAside />
</el-aside>
<el-main id="layout-main">
<LayoutMain />
</el-main>
</el-container>
</el-container>
</template>
<script>
import LayoutAside from "./components/Aside.vue";
import LayoutHeader from "./components/Header.vue";
import LayoutMain from "./components/Main.vue";
export default {
name: "layoutPage",
components: {
LayoutAside,
LayoutHeader,
LayoutMain,
},
computed: {
asideWidth()
{
const collapse = this.$store.state.app.asideBarCollapse;
return collapse === true ? "65px" : "180px";
},
},
};
</script>
<style scoped>
#layout-container {
height: 100vh;
max-height: 100vh;
}
#layout-container-down {
height: calc(100vh - 50px);
max-height: calc(100vh - 50px);
min-height: calc(100vh - 50px);
}
#layout-aside {
/* width: 175px; */
background-color: #2f4156;
overflow-x: hidden;
/* height: calc(100vh - 50px);
max-height: calc(100vh - 50px);
min-height: calc(100vh - 50px); */
height: 100%;
}
#layout-header {
height: 50px;
padding: 0px;
flex-grow: 0;
}
#layout-main {
padding: 0px;
height: 100%;
/* height: calc(100vh - 50px); */
/* flex-grow: 1; */
/* overflow: overlay; */
}
</style>

View File

@@ -0,0 +1,150 @@
<!--
* @Author: Kane
* @Date: 2023-01-04 11:30:33
* @LastEditors: Kane
* @LastEditTime: 2023-01-28 16:01:49
* @FilePath: \admin_system\src\layout\components\Aside.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved. 223142 2f4156
-->
<template>
<el-scrollbar class="wrapper">
<el-menu id="side-bar" router :default-active="currentPath" background-color="#2f4156" text-color="#fff"
active-text-color="#ffd04b" :collapse="asideCollapse">
<template v-for="route in this.routers" :key="route.path">
<template v-if="!route.hidden">
<template v-if="hasOnlyChild(route.children)">
<!-- 当只有一个子路由时直接渲染子路由 -->
<el-menu-item :index="route.children[0].path" class="sidebar-submenu">
<component :is="route.children[0].meta.icon" class="icons">
</component>
<!-- <el-icon v-html="route.children[0].meta && route.children[0].meta.icon"></el-icon> -->
<template #title>{{ route.children[0].meta && route.children[0].meta.title }}</template>
</el-menu-item>
</template>
<template v-else>
<!-- 不是一个子路由时有可能没有子路由或者是多个子路由 -->
<el-sub-menu v-if="route.children && route.children.length" :index="route.path"
class="sidebar-submenu">
<template #title>
<component :is="route.meta.icon" class="icons"></component>
<span>{{ route.meta && route.meta.title }}</span>
</template>
<template v-for="child in route.children" :key="child.path">
<el-menu-item v-if="!child.hidden" :index="child.path" class="sidebar-item">
<component :is="child.meta.icon" class="icons"></component>
<template #title>{{ child.meta && child.meta.title }}</template>
</el-menu-item>
</template>
</el-sub-menu>
</template>
</template>
</template>
</el-menu>
</el-scrollbar>
</template>
<script>
import { useRouter, useRoute } from "vue-router";
export default {
name: "LayoutAside",
data()
{
return {
routers: null,
};
},
methods: {
//用于判断一个路由是否只有一项子路由
hasOnlyChild: function (children)
{
//防御验证
if (!children)
{
return false;
}
//剔除掉hidden的路由
const routes = children.filter((item) =>
{
return item.hidden ? false : true;
});
if (routes.length === 1)
{
return true;
}
return false;
},
},
computed: {
//获取当前的路由
currentPath()
{
let path = useRoute().path;
return path;
},
//获取导航栏是否折叠的标志
asideCollapse()
{
return this.$store.state.app.asideBarCollapse;
}
},
created()
{
this.routers = useRouter().options.routes;
}
};
</script>
<style scoped>
.el-menu {
border-right: none;
/* border-left: 5px solid #1d74b2; */
overflow: auto;
-webkit-touch-callout: none;
-moz-user-select: none;
/*火狐*/
-webkit-user-select: none;
/*webkit浏览器*/
-ms-user-select: none;
/*IE10*/
-khtml-user-select: none;
/*早期浏览器*/
user-select: none;
}
.is-active {
background-color: #ffffff4f !important;
}
/* .is-opened {
border-left: 5px solid #1d74b2;
} */
.icons {
width: 1em;
height: 1em;
margin-right: 8px;
}
.sidebar-submenu {
background-color: #2f4156 !important;
}
.sidebar-item {
background-color: #223142 !important;
}
.wrapper {
height: 100%;
}
</style>

View File

@@ -0,0 +1,100 @@
<!--
* @Author: Kane
* @Date: 2023-01-04 11:39:04
* @LastEditors: Kane
* @LastEditTime: 2023-01-19 14:53:38
* @FilePath: \admin_system\src\layout\components\Header.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div class="app_banner no_select">
<span class="company_name">CPIC</span>
<div class="version_div">
<div>测试版</div>
<div>3.6.7 x64 Build 202208301257</div>
</div>
<div class="buttons_div">
<User
style="width: 25px; height; 25px; margin-right: 8px; cursor:pointer;"
/>
<SwitchButton
style="width: 25px; height; 25px; margin-right: 8px; cursor:pointer;"
@click="logout"
/>
</div>
</div>
</template>
<script>
//import { ElMessage } from "element-plus";
import { Logout } from "../../utils/api/info/account";
export default {
name: "AppBanner",
data() {
return {};
},
// created() {
// console.log("banner请求数据");
// },
mounted() {
//console.log("banner请求数据");
},
methods: {
logout() {
this.$confirm("是否退出系统?", "请确认", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
}).then(() => {
Logout();
});
},
},
};
</script>
<style scoped>
.app_banner {
background-color: var(--banner-background-color);
color: #fff;
display: flex;
justify-content: left;
align-items: center;
padding: 0px 15px 0px 15px;
height: 100%;
position: relative;
}
.no_select {
-webkit-touch-callout: none;
-moz-user-select: none;
/*火狐*/
-webkit-user-select: none;
/*webkit浏览器*/
-ms-user-select: none;
/*IE10*/
-khtml-user-select: none;
/*早期浏览器*/
user-select: none;
}
.app_banner > * + * {
margin-left: 10px;
}
.company_name {
font-size: 2rem;
}
.version_div {
font-size: 0.5rem;
}
.buttons_div {
margin-left: auto;
padding-top: 5px;
/* border: 1px solid salmon; */
}
</style>

View File

@@ -0,0 +1,36 @@
<!--
* @Author: Kane
* @Date: 2023-01-04 11:40:03
* @LastEditors: Kane
* @LastEditTime: 2023-01-26 12:34:20
* @FilePath: \admin_system\src\layout\components\Main.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<!-- <div class="main-content"> -->
<el-scrollbar>
<div class="view-wrapper">
<router-view />
</div>
</el-scrollbar>
<!-- </div> -->
</template>
<script>
export default {
name: "LayoutMain"
};
</script>
<style scoped>
.el-scrollbar {
height: 100%;
background-color: #ecf2f9;
}
.view-wrapper {
padding: 15px;
}
</style>

View File

@@ -2,24 +2,40 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-14 15:12:46 * @Date: 2022-12-14 15:12:46
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-12-14 17:47:32 * @LastEditTime: 2023-01-07 16:44:45
* @FilePath: \admin_system\src\main.js * @FilePath: \admin_system\src\main.js
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
*/ */
import { createApp } from 'vue' import { createApp } from 'vue';
import App from './App.vue' import App from './App.vue';
import router from './router' import router from './router';
import store from './store' import store from './store';
// import installElementPlus from './plugins/element' //import "@/components/svg/svg";
import("./css/root.css"); import("./css/root.css");
import("./css/normalize.css"); import("./css/normalize.css");
import("./css/colors.css");
import("element-plus/dist/index.css"); import("element-plus/dist/index.css");
import ElementPlus from "element-plus"; // import "./assets/css/root.css";
// import "./assets/css/normalize.css";
// import "./assets/css/global.css";
// import "./assets/css/colors.css";
import ElementPlus from "element-plus";
import * as ElementPlusIconsVue from "@element-plus/icons-vue";
import SvgIcon from "./components/svg/SvgIcon";
const app = createApp(App);
app.component("SvgIcon", SvgIcon);
for (const [key, component] of Object.entries(ElementPlusIconsVue))
{
app.component(key, component);
}
const app = createApp(App)
// installElementPlus(app)
app.use(ElementPlus); app.use(ElementPlus);
app.use(store).use(router).mount('#app') app.use(store).use(router).mount('#app');

View File

@@ -2,30 +2,205 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-14 15:12:46 * @Date: 2022-12-14 15:12:46
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-12-14 16:19:17 * @LastEditTime: 2023-01-28 21:38:31
* @FilePath: \admin_system\src\router\index.js * @FilePath: \admin_system\src\router\index.js
* @Description: * @Description: 定义应用路由配置
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
*/ */
import { createRouter, createWebHashHistory } from 'vue-router' import { createRouter, createWebHashHistory } from 'vue-router';
const routes = [ const routes = [
//框架路由
{ {
path: "/", path: "/",
name: "Home", name: "Root",
redirect: "Login", redirect: "Login", //默认路由指向登录页面
hidden: true,
}, },
{ {
path: "/login", path: "/login",
name: "Login", name: "Login",
component: () => import("../views/account/Login.vue"), component: () => import("../views/account/Login.vue"),
} hidden: true,
},
{
path: "/home",
name: "Home",
hidden: true,
meta: {
title: "控制台"
},
component: () => import("../layout/Index.vue"),
},
//侧边导航栏路由
{ //首页
path: "/console",
name: "Console",
meta: {
title: "总览",
icon: "house",
},
component: () => import("../layout/Index.vue"),
children: [
{
path: "/desktop",
name: "DeskTop",
meta: {
title: "工作台",
icon: "house",
},
component: () => import("../views/overview/OverView.vue"),
},
],
},
{
//需求管理
path: "/requirement",
name: "Requirement",
meta: {
title: "需求管理",
icon: "Document",
},
component: () => import("../layout/Index.vue"),
children: [
{
path: "/requirement-manager",
name: "RequirementManager",
meta: {
title: "需求管理",
icon: "Document",
},
component: () => import("../views/requirement/RequirementManager.vue"),
},
{
path: "/requirement-editing",
name: "RequirementEditing",
hidden: true,
meta: {
title: "需求管理",
icon: "edit",
},
component: () => import("../views/requirement/RequirementEditing.vue"),
},
],
},
{//信息管理
path: "/news",
name: "News",
meta: {
title: "信息管理",
icon: "edit",
},
children: [
{
path: "/staffInfo",
name: "StaffInfo",
meta: {
title: "人员信息",
icon: "edit",
},
component: () => import("../views/info/StaffInfo.vue"),
},
{
path: "/editStuffInfo",
name: "EditStaffInfo",
hidden: true,
meta: {
title: "编辑人员信息",
},
component: () => import("../views/info/EditStaffInfo.vue"),
},
{
path: "/newsIndex",
name: "NewsIndex",
meta: {
title: "信息列表",
icon: "edit",
},
component: () => import("../views/news/News.vue"),
},
{
path: "/newsedit",
name: "NewsEdit",
meta: {
title: "信息编辑",
icon: "edit",
},
component: () => import("../views/news/NewsEdit.vue"),
},
],
component: () => import("../layout/Index.vue"),
},
{
path: "/network",
name: "NetworkManager",
meta: {
title: "网络管理",
icon: "User",
},
component: () => import("../layout/Index.vue"),
children: [
{
path: "/network-point-manager",
name: "NetworkPointManager",
meta: {
title: "网络点管理",
icon: "Monitor",
},
component: () => import("../views/network/NetworkPoint/NetworkPoint.vue"),
},
{
path: "/network-point-edit",
name: "NetworkPointEdit",
hidden: true,
component: () => import("../views/network/NetworkPoint/EditNetworkPoint.vue"),
},
{
path: "/switch-manager",
name: "SwitchManager",
meta: {
title: "交换机管理",
icon: "switch",
},
component: () => import("../views/network/switch/SwitchManager.vue"),
}
],
},
]; ];
const router = createRouter({ const router = createRouter({
history: createWebHashHistory(), history: createWebHashHistory(),
routes routes
}) });
export default router //前置路由守卫
router.beforeEach((to) =>
{
const token = window.localStorage.getItem("token");
//先检查token
if (!token)
{
//如果token不存在判断路由是否走向login,如果不是则指向login
//走向login则不干预
if (to.name !== "Login")
{
return {
name: "Login",
};
}
}
//修改默认打开的页面,跳向工作台
// if (to.name === "Home")
// {
// console.log("跳向工作台");
// return {
// name: "DeskTop",
// };
// }
});
export default router;

View File

@@ -1,14 +1,20 @@
import { createStore } from 'vuex' /*
* @Author: Kane
* @Date: 2022-12-14 15:12:46
* @LastEditors: Kane
* @LastEditTime: 2023-01-11 14:20:04
* @FilePath: \admin_system\src\store\index.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
import { createStore } from 'vuex';
import app from "./modules/app";
export default createStore({ const store = createStore({
state: {
},
getters: {
},
mutations: {
},
actions: {
},
modules: { modules: {
app,
} }
}) });
export default store;

View File

@@ -0,0 +1,39 @@
/*
* @Author: Kane
* @Date: 2023-01-07 22:25:43
* @LastEditors: Kane
* @LastEditTime: 2023-01-11 09:44:46
* @FilePath: \admin_system\src\store\modules\app.js
* @Description: vuex中存放全局数据的模块
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
const state = {
count: 1001,
asideBarCollapse: false, //侧边栏折叠标志位
userInfo: null, //用户信息和token
};
const getters = {};
const mutations = {
SET_COUNT(state, newCount)
{
state.count = newCount;
},
SET_ASIDE_COLLAPSE(state)
{
state.asideBarCollapse = !state.asideBarCollapse;
},
SET_USERINFO(state, userInfo)
{
state.userInfo = userInfo;
}
};
const actions = {};
export default {
namespaced: true,
state,
getters,
mutations,
actions,
};

View File

@@ -0,0 +1,29 @@
/*
* @Author: Kane
* @Date: 2022-12-22 17:16:53
* @LastEditors: Kane
* @LastEditTime: 2022-12-22 20:48:03
* @FilePath: \admin_system\src\utils\api\common.js
* @Description: 通用请求
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
//import axios from "axios";
import instance from "@utils/request";
const URL_GET_VALIDATE_CODE = "";
/**
* 获取验证码
*/
export function GetValidate(data)
{
return instance.request(
{
method: "post",
url: URL_GET_VALIDATE_CODE,
data,
}
);
}

View File

@@ -0,0 +1,14 @@
/*
* @Author: Kane
* @Date: 2022-12-23 11:10:23
* @LastEditors: Kane
* @LastEditTime: 2022-12-23 11:11:58
* @FilePath: \admin_system\src\utils\api\config.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
export const API_URL = {
URL_LOGIN: process.env.VUE_APP_API_URL_LOGIN,
};

View File

@@ -0,0 +1,45 @@
/*
* @Author: Kane
* @Date: 2022-12-22 09:10:20
* @LastEditors: Kane
* @LastEditTime: 2023-01-25 00:29:54
* @FilePath: \admin_system\src\utils\api\info\account.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
import instance from "@/utils/api/request";
import { API_URL } from "@/utils/api/config"; //所有API的地址
import router from "../../../router/index";
import store from "../../../store/index";
/**
* 登录请求函数
* @param {*} userInfo
* @returns 返回promise对象
*/
export function Login(userInfo)
{
//console.log("登录请求地址:", API_URL.URL_LOGIN);
//const url = "http://localhost:8080/admin-system/account/p13_account_check";
return instance.request(
{
method: "post",
url: API_URL.URL_LOGIN,
data: userInfo,
}
);
}
/**
* 退出登录
*/
export function Logout()
{
console.log(store);
window.localStorage.removeItem("token");
window.localStorage.removeItem("user_info");
router.replace("/login");
}

View File

@@ -0,0 +1,95 @@
/*
* @Author: Kane
* @Date: 2022-12-22 17:18:10
* @LastEditors: Kane
* @LastEditTime: 2023-01-12 17:47:39
* @FilePath: \admin_system\src\utils\api\request.js
* @Description: 配置axios拦截器
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
import axios from "axios";
import store from "../../store/index";
import { ElMessageBox } from "element-plus";
import router from "@/router";
const service = axios.create(
{
baseURL: "",
timeout: 5000,
}
);
/**
* 加上请求拦截器
*/
service.interceptors.request.use(
function (config)
{
//axios拦截器请求在请求的header加上用户名和token
if (store.state.app.userInfo)
{
//如果userInfo存在则加上用户名和token
const username = store.state.app.userInfo.user_info.p13uid;
const token = store.state.app.userInfo.token;
config.headers["token"] = token;
config.headers["username"] = username;
console.log("拦截器加上username和token", username, token);
}
else
{
console.log("拦截器userinfo为空");
}
return config;
},
function (error)
{
return Promise.reject(error);
}
);
//响应拦截器
service.interceptors.response.use(
function (response)
{
//200
if (response.status === 200)
{
console.log("响应拦截器,响应代码", response.status);
}
//401用户token失效跳转到
if (response.state === 401)
{
ElMessageBox.confirm(
"用户登录超时,请重新登录",
"警告",
{
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
},
).then(() =>
{
router.replace("/login");
}).catch(() =>
{
router.replace("/login");
});
}
return response;
},
function (error)
{
console.log("响应拦截器,异常信息:", error);
return Promise.reject(error);
}
);
export default service;

View File

@@ -1,5 +0,0 @@
<template>
<div class="about">
<h1>This is an about page</h1>
</div>
</template>

View File

@@ -1,18 +0,0 @@
<template>
<div class="home">
<img alt="Vue logo" src="../assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template>
<script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue'
export default {
name: 'HomeView',
components: {
HelloWorld
}
}
</script>

View File

@@ -1,8 +1,9 @@
<!-- eslint-disable no-unused-vars -->
<!-- <!--
* @Author: Kane * @Author: Kane
* @Date: 2022-12-14 15:23:54 * @Date: 2022-12-14 15:23:54
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-12-14 22:53:10 * @LastEditTime: 2023-01-28 21:35:47
* @FilePath: \admin_system\src\views\account\Login.vue * @FilePath: \admin_system\src\views\account\Login.vue
* @Description: * @Description:
* *
@@ -13,11 +14,11 @@
<div class="form-warp"> <div class="form-warp">
<ul class="menu-tab"> <ul class="menu-tab">
<li :class="{ 'current': current_menu === item.type }" @click="onToggleMenu(item.type)" v-for="item in tab_menu" <li :class="{ 'current': current_menu === item.type }" @click="onToggleMenu(item.type)" v-for="item in tab_menu"
:key="item.type">{{ item.label :key="item.type">{{ item.label }}
}}
</li> </li>
</ul> </ul>
<el-form ref="form" :model="form"> <!-- <el-form ref="form" :model="form"> -->
<el-form ref="form">
<el-form-item> <el-form-item>
<label class="form-label">用户名</label> <label class="form-label">用户名</label>
<el-input type="text" v-model.lazy.trim="loginForm.username"></el-input> <el-input type="text" v-model.lazy.trim="loginForm.username"></el-input>
@@ -28,21 +29,24 @@
</el-form-item> </el-form-item>
<el-form-item v-show="current_menu === tab_menu[1].type"> <el-form-item v-show="current_menu === tab_menu[1].type">
<label class="form-label">确认密码</label> <label class="form-label">确认密码</label>
<el-input type="password" v-model.lazy.trim="loginForm.confirm_password"></el-input> <el-input type="password" disabled v-model.lazy.trim="loginForm.confirm_password"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<label class="form-label">验证码</label> <label class="form-label">验证码</label>
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="14"> <el-col :span="14">
<el-input type="text"></el-input> <el-input type="text" disabled></el-input>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-button type="danger" class="el-button-block">获取验证码</el-button> <el-button type="danger" disabled class="el-button-block" @click="getValidateCode()">获取验证码</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" class="el-button-block">立即创建</el-button> <el-button type="primary" class="el-button-block" @click="login" :disabled="submit_btn_disable"
:loading="submit_btn_loading">
{{ current_menu === "login" ? "登录" : "注册" }}
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -50,32 +54,144 @@
</template> </template>
<script> <script>
// import { ref } from "vue"; import { Login } from "@/utils/api/info/account";
import { ElMessage } from "element-plus";
import router from "../../router/index";
export default { export default {
name: "loginPage", name: "loginPage",
data() { data()
{
return { return {
loginForm: { loginForm: {
username: "", username: "",
password: "", password: "",
confirm_password: "", confirm_password: "",
validateCode: "",
}, },
tab_menu: [ tab_menu: [
{ type: "login", label: "登录" }, { type: "login", label: "登录" },
{ type: "regiester", label: "注册" }, { type: "regiester", label: "注册" },
], ],
current_menu: "", current_menu: "",
} staffInfo: null,
submit_btn_disable: false,
submit_btn_loading: false,
};
}, },
methods: { methods: {
onToggleMenu(type) { onToggleMenu(type)
{
this.current_menu = type; this.current_menu = type;
console.log(process.env.VUE_APP_API_URL_LOGIN);
},
getValidateCode()
{
ElMessage({
message: "测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字",
center: true,
type: "error",
});
},
/**
* 登录
*/
login()
{
if (this.loginForm.username.length === 0 || this.loginForm.password === 0)
{
ElMessage({
message: "请填写您的P13账号和密码",
type: "error",
});
return;
}
this.submit_btn_disable = true;
this.submit_btn_loading = true;
const userInfo = {
p13account: this.loginForm.username,
password: this.loginForm.password,
};
Login(userInfo)
.then((response) =>
{
//成功获取到返回值时的响应函数,要判断返回值的成功标志
//验证成功将获取到的token和用户信息保存到vuex和localStoreage
//然后router.push进行路由跳转到控制台
const data = response.data;
//判断是否成功,显示提示信息
if (data.success === true)
{
ElMessage({
message: data.message,
type: "success",
center: true,
});
this.staffInfo = data.staffInfo;
//保存用户信息和token
this.saveUserInfo(data);
//验证成功,跳转路由
router.push("/Desktop");
}
else
{
//验证失败
ElMessage({
message: data.message,
type: "error",
center: true,
});
this.submit_btn_disable = false;
this.submit_btn_loading = false;
}
})
.catch((error) =>
{
//没有获取到响应数据
console.log(error);
ElMessage({
message: error.message,
type: "error",
center: true,
});
this.submit_btn_disable = false;
this.submit_btn_loading = false;
});
},
saveUserInfo(userInfo) //将获取到的用户信息和token保存到vuex和localStorage
{
//保存到vuex
this.$store.commit("app/SET_USERINFO", userInfo);
//保存到localStorage
const token = userInfo.token;
const userInfoJson = JSON.stringify(userInfo);
window.localStorage.setItem("token", token);
window.localStorage.setItem("user_info", userInfoJson);
} }
}, },
created() { created()
{
//初始化菜单选项 //初始化菜单选项
this.current_menu = this.tab_menu[0].type; this.current_menu = this.tab_menu[0].type;
} },
mounted()
{
//清理状态
this.$store.state.app.userInfo = null;
},
}; };
</script> </script>

View File

@@ -0,0 +1,27 @@
<!--
* @Author: Kane
* @Date: 2023-01-24 23:25:16
* @LastEditors: Kane
* @LastEditTime: 2023-01-24 23:57:11
* @FilePath: \admin_system\src\views\info\EditStaffInfo.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div></div>
</template>
<script>
export default {
name: "EditStaffInfo",
data: function ()
{
return {};
},
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,189 @@
/* eslint-disable */
<!--
* @Author: Kane
* @Date: 2023-01-12 14:43:46
* @LastEditors: Kane
* @LastEditTime: 2023-01-26 23:18:49
* @FilePath: \admin_system\src\views\info\StaffInfo.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div class="query_box">
<el-form inline width="600px">
<el-row :gutter="10" class="el-row">
<el-col :span="8">
<el-input v-model="query_param.staff_code" placeholder="请输入P09工号或P13账号"></el-input>
</el-col>
<el-col :span="4">
<el-button type="danger">查询</el-button>
</el-col>
<el-col :span="12"></el-col>
</el-row>
</el-form>
<el-table ref="table" :data="table_data" border width="100%" stripe>
<el-table-column type="selection" min-width="30" align="center"></el-table-column>
<el-table-column min-width="200" label="员工名称" align="left" fixed="left">
<template #default="rowdata">
<span @click="onShowStaffInfo(rowdata.row)" style="cursor: pointer; display: block; height: 100%">{{
rowdata.row.staff_name
}}</span>
</template>
</el-table-column>
<el-table-column prop="staff_code" min-width="100" label="工号" align="left"></el-table-column>
<el-table-column prop="p13uid" min-width="200" label="P13账号" align="left"></el-table-column>
<el-table-column label="操作" min-width="200" align="center" fixed="right">
<template #default>
<el-button type="warning">编辑</el-button>
<el-button type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-row :gutter="10" width="100%">
<el-col :span="18">
<el-pagination class="pull_left" @current-change="onCurrentPageIndexChange"
@size-change="onTablePageSizeChange" size="small" background :current-page="this.table_current_page"
:page-size="10" :page-sizes="[10, 20, 50, 100]" layout="total, sizes, prev, pager, nex, jumper"
:total="table_data.length">
</el-pagination>
</el-col>
</el-row>
</div>
</template>
<script>
/* eslint-disable no-unused-vars*/
export default {
name: "staff-info",
data()
{
return {
query_param: {
staff_code: "",
},
table_current_page: 1,
table_data: [
{
staff_name: "王炜",
staff_code: "588",
p13uid: "wangwei-202",
},
{
staff_name: "王炜",
staff_code: "588",
p13uid: "wangwei-202",
},
{
staff_name: "王炜",
staff_code: "588",
p13uid: "wangwei-202",
},
{
staff_name: "王炜",
staff_code: "588",
p13uid: "wangwei-202",
},
{
staff_name: "王炜",
staff_code: "588",
p13uid: "wangwei-202",
},
],
};
},
methods: {
onTableEdit(row) { },
/**
* 根据表格行index返回样式实现斑马纹
* @param row
* @param rowIndex
* @return 返回的样式名称
*/
tabRowClassName(row, rowIndex)
{
let index = rowIndex + 1;
if (index % 2 == 0)
{
return "warning-row";
}
},
/**
* 点击表格 用户名称 时的消息处理函数
* @param {*} staff
*/
onShowStaffInfo(staff)
{
console.log("点击名称", staff);
},
/**
* 表格页显示数量变更时消息处理函数
*/
onTablePageSizeChange() { },
/**
* 用户变更当前页时消息处理函数
*/
onCurrentPageIndexChange() { },
},
};
</script>
<style scoped>
.el-row {
display: flex;
justify-content: center;
align-items: center;
}
.el-label {
text-align: right;
}
.query_box {
width: 100%;
background-color: #fff;
border-radius: 5px;
padding: 15px;
margin-bottom: 15px;
text-align: left;
}
.query_box>*+* {
margin-top: 15px;
}
.info_box {
background-color: #fff;
border-radius: 5px;
padding: 15px;
margin-bottom: 15px;
width: 100%;
}
.el-table .warning-row {
background-color: #f3f9ff;
}
.query_box:hover,
.info_box:hover {
box-shadow: 0px 0px 20px -10px rgb(14 18 22 / 25%);
}
div.cell {
height: 100%;
}
.pull_left {
margin-left: 15px;
margin-right: auto;
}
.pull_right {
display: flex;
justify-content: right;
}
.pull_right:last-child {
margin-right: 15px;
}
</style>

View File

@@ -0,0 +1,37 @@
<!--
* @Author: Kane
* @Date: 2023-01-25 11:26:11
* @LastEditors: Kane
* @LastEditTime: 2023-01-25 11:26:13
* @FilePath: \admin_system\src\views\network\NetworkPoint copy.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<!--
* @Author: Kane
* @Date: 2023-01-25 11:24:47
* @LastEditors: Kane
* @LastEditTime: 2023-01-25 11:24:48
* @FilePath: \admin_system\src\views\network\NetworkPoint.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div>网络点位信息修改</div>
</template>
<script>
export default {
name: "network-point-editor",
data()
{
return {};
},
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,27 @@
<!--
* @Author: Kane
* @Date: 2023-01-25 11:24:47
* @LastEditors: Kane
* @LastEditTime: 2023-01-25 11:34:07
* @FilePath: \admin_system\src\views\network\NetworkPoint.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div>网络点位管理</div>
</template>
<script>
export default {
name: "network-point-management",
data()
{
return {};
},
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,27 @@
<!--
* @Author: Kane
* @Date: 2023-01-25 14:48:53
* @LastEditors: Kane
* @LastEditTime: 2023-01-25 14:48:54
* @FilePath: \admin_system\src\views\network\switch\SwitchManager.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
交换机管理
</template>
<script>
export default {
name: "switch-manager",
data()
{
return {};
},
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,23 @@
<!--
* @Author: Kane
* @Date: 2023-01-06 15:26:44
* @LastEditors: Kane
* @LastEditTime: 2023-01-06 15:26:46
* @FilePath: \admin_system\src\views\news\News.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
信息管理
</template>
<script>
export default {
name: "NewsPage"
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,52 @@
<!--
* @Author: Kane
* @Date: 2023-01-06 19:05:53
* @LastEditors: Kane
* @LastEditTime: 2023-01-08 19:26:26
* @FilePath: \admin_system\src\views\news\NewsEdit.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
信息编辑:{{ getCount }}
<br>
<el-button type="danger" @click="this.add">计数加一</el-button>
<SvgIcon icon="house"></SvgIcon>
</template>
<script>
//import { ElMessage } from 'element-plus';
export default {
name: "NewsEdit",
data()
{
return {
store: null,
};
},
computed: {
getCount()
{
return this.$store.state.app.count;
},
},
methods: {
add()
{
let count = this.store.state.app.count + 1;
this.store.commit("app/SET_COUNT", count);
},
},
created()
{
this.store = this.$store;
}
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,33 @@
<!--
* @Author: Kane
* @Date: 2023-01-06 19:23:12
* @LastEditors: Kane
* @LastEditTime: 2023-01-06 19:23:29
* @FilePath: \admin_system\src\views\news\NewsTest.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<!--
* @Author: Kane
* @Date: 2023-01-06 15:26:44
* @LastEditors: Kane
* @LastEditTime: 2023-01-06 15:26:46
* @FilePath: \admin_system\src\views\news\News.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
信息管理
</template>
<script>
export default {
name: "NewsPage"
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,67 @@
<!--
* @Author: Kane
* @Date: 2023-01-06 15:30:12
* @LastEditors: Kane
* @LastEditTime: 2023-01-28 09:44:31
* @FilePath: \admin_system\src\views\overview\OverView.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<el-form :inline="true" label-width="5em" class="query_form">
<el-row :gutter="10">
<el-col :span="7">
<el-form-item label="需求编号">
<el-input style="width:100%;"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="标题">
<el-input style="width:100%;"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="提交人">
<el-input style="width:100%;"></el-input>
</el-form-item>
</el-col>
<el-col :span="3"></el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="7">
<el-form-item label="状态">
<el-select style="width:100%;">
<el-option key="部门审批" value="部门审批"></el-option>
<el-option key="需求分析" value="需求分析">需求分析</el-option>
<el-option key="技术开发" value="技术开发">技术开发</el-option>
<el-option key="被退回" value="被退回"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="提交日期">
<el-date-picker style="width:100%;"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="至">
<el-date-picker style="width:100%;"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="3"></el-col>
</el-row>
</el-form>
</template>
<script>
export default {
name: "OverVue"
};
</script>
<style scoped>
.query_form {
max-width: 63em;
}
</style>

View File

@@ -0,0 +1,37 @@
<!--
* @Author: Kane
* @Date: 2023-01-25 23:16:29
* @LastEditors: Kane
* @LastEditTime: 2023-01-25 23:19:00
* @FilePath: \admin_system\src\views\requirement\RequirementEditing.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<!--
* @Author: Kane
* @Date: 2023-01-25 23:13:47
* @LastEditors: Kane
* @LastEditTime: 2023-01-25 23:15:21
* @FilePath: \admin_system\src\views\requirement\RequirementManager.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
需求编辑页面
</template>
<script>
export default {
name: "requirement-editing",
data()
{
return {};
},
};
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,404 @@
<!--
* @Author: Kane
* @Date: 2023-01-25 23:13:47
* @LastEditors: Kane
* @LastEditTime: 2023-01-28 23:40:51
* @FilePath: \admin_system\src\views\requirement\RequirementManager.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div class="requirement_wrapper">
<!-- 查询框 -->
<div class="search-box">
<el-row :gutter="10">
<el-col :span="2">
<span>标题</span>
</el-col>
<el-col :span="16">
<el-input></el-input>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="2">
<span>需求编号</span>
</el-col>
<el-col :span="4">
<el-input v-model="query_param.requirement_serial"></el-input>
</el-col>
<el-col :span="2">
<span>申请人</span>
</el-col>
<el-col :span="4">
<el-input v-model="query_param.request_people"></el-input>
</el-col>
<el-col :span="2">
<span>状态</span>
</el-col>
<el-col :span="4">
<!-- <el-input v-model="query_param.status"></el-input> -->
<el-select multiple collapse-tags collapse-tags-tooltip v-model="query_param.status">
<el-option v-for="option in requirement_status" :value="option" :key="option"></el-option>
</el-select>
</el-col>
<el-col :span="6"></el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="2">
<span>提交日期</span>
</el-col>
<el-col :span="4">
<el-date-picker v-model="query_param.submit_start_date" style="width:100%;"></el-date-picker>
</el-col>
<el-col :span="2">
<span></span>
</el-col>
<el-col :span="4">
<el-date-picker v-model="query_param.submit_end_date" style="width:100%;"></el-date-picker>
</el-col>
<el-col :span="6">
<div class="button-wrapper-right">
<el-button type="primary" icon="search">查询</el-button>
<el-button icon="Refresh">重置</el-button>
</div>
</el-col>
<el-col :span="6"></el-col>
</el-row>
</div>
<!-- 工具栏 -->
<div class="tool-button-wrapper">
<el-row :gutter="10">
<el-col :span="4">
<div class="button-wrapper-left">
<el-button type="success" icon="DocumentAdd" plain>新增</el-button>
<el-button type="warning" icon="document" plain>导出</el-button>
</div>
</el-col>
<el-col :span="20">
<div class="table-display-wrapper">
<span>结果筛选</span>
<div class="result-filter-wrapper">
<el-checkbox-button label="已完成" checked></el-checkbox-button>
<el-checkbox-button label="已取消" checked></el-checkbox-button>
<el-checkbox-button label="被退回" checked></el-checkbox-button>
</div>
</div>
</el-col>
</el-row>
</div>
<!-- 需求列表 -->
<el-table :data="tableData" border stripe style="width:100%;" :height="tableHeight">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column label="需求编号" align="center" width="160">
<template #default="requirement">
<span @click="dialogRequirementDetailVisible = true;" class="requirement-serial">{{
requirement.row.serial_no
}}</span>
</template>
</el-table-column>
<el-table-column label="标题" prop="title" min-width="200" align="center">
<template #default="requirement">
<span class="requirement-title">{{ requirement.row.title }}</span>
</template>
</el-table-column>
<el-table-column label="申请人" prop="request_people" align="center" width="100"></el-table-column>
<el-table-column label="状态" prop="status" align="center" width="100"></el-table-column>
<el-table-column label="提交日期" prop="submit_date" align="center" width="130"></el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="200">
<template #default>
<el-button type="warning" icon="edit">编辑</el-button>
<el-button type="danger" icon="delete">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination_wrapper">
<el-pagination class="pull_left" @current-change="onCurrentPageIndexChange"
@size-change="onTablePageSizeChange" size="small" background v-model="this.table_current_page"
:page-size="this.table_page_size" :page-sizes="[10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper" :total="requirement_data.length">
</el-pagination>
</div>
<!-- 需求详细信息对话框 -->
<el-dialog title="需求内容" class="requirement-detail-dialog" v-model="dialogRequirementDetailVisible" width="900px"
:close-on-click-modal="true" :close-on-press-escape="false" :show-close="true" :center="false">
<el-tabs v-model="activeTabName">
<el-tab-pane name="requirement-detail" label="详情">
<el-scrollbar height="300px">
<div class="requirement-detail-wrapper">
<el-row :gutter="10">
<el-col :span="2">
<span>标题</span>
</el-col>
<el-col :span="22">
<el-input></el-input>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="2">
<span>需求编号</span>
</el-col>
<el-col :span="6">
<el-input v-model="query_param.requirement_serial"></el-input>
</el-col>
<el-col :span="2">
<span>申请人</span>
</el-col>
<el-col :span="6">
<el-input v-model="query_param.request_people"></el-input>
</el-col>
<el-col :span="2">
<span>状态</span>
</el-col>
<el-col :span="6">
<!-- <el-input v-model="query_param.status"></el-input> -->
<el-select multiple collapse-tags collapse-tags-tooltip
v-model="query_param.status">
<el-option v-for="option in requirement_status" :value="option"
:key="option"></el-option>
</el-select>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="2">
<span>提交日期</span>
</el-col>
<el-col :span="6">
<el-date-picker v-model="query_param.submit_start_date"
style="width:100%;"></el-date-picker>
</el-col>
<el-col :span="2">
<span></span>
</el-col>
<el-col :span="6">
<el-date-picker v-model="query_param.submit_end_date"
style="width:100%;"></el-date-picker>
</el-col>
</el-row>
</div>
</el-scrollbar>
</el-tab-pane>
<el-tab-pane name="issue-date" label="排期">
<el-scrollbar height="300px">
<el-table style="width:100%;" border stripe>
<el-table-column label="需求编号" align="center" min-width="200"></el-table-column>
<el-table-column label="初次排期" align="center" width="200"></el-table-column>
<el-table-column label="最终排期" align="center" width="200"></el-table-column>
</el-table>
</el-scrollbar>
</el-tab-pane>
<el-tab-pane name="comment" label="备注">
<el-scrollbar height="400px">
<p>hello world</p>
<p><span style="font-size: 24px;">ejfalsjfoewafsdjfdsfewo;sd;fk</span></p>
<ol>
<li><span style="color: rgb(225, 60, 57); font-size: 24px;">12344</span></li>
<li><span style="font-size: 24px;">33445</span></li>
</ol>
<p><br></p>
</el-scrollbar>
</el-tab-pane>
</el-tabs>
<!-- <template #footer>
<div class="dialogFooter">
<el-button type="primary" @click="dialogRequirementDetailVisible = false;">关闭</el-button>
</div>
</template> -->
</el-dialog>
</div>
</template>
<script>
import { requirementTestData } from '@/test/data/TestData';
export default {
name: "requirement-manager",
data()
{
return {
requirement_data: requirementTestData, //需求数据,当前值是测试数据
table_current_page: 1,//分页组件当前的页面索引
table_page_size: 10,
query_param: {
requirement_serial: "",
request_people: "",
submit_start_date: "",
submit_end_date: "",
status: "",
},
requirement_status: [
"未提交", "部门审核", "需求分析", "技术开发", "待发布", "已发布", "被退回",
],
dialogRequirementDetailVisible: false, //需求详情对话框是否显示
activeTabName: "requirement-detail",
};
},
computed: {
//计算表格的高度
tableHeight()
{
return 10 * 50 + 40;
},
tableData()
{
const startIndex = this.table_page_size * (this.table_current_page - 1);
const endIndex = (this.table_page_size * this.table_current_page);// < this.requirement_data.length ? (this.table_page_size * this.table_current_page) : this.requirement_data.length;
return this.requirement_data.slice(startIndex, endIndex);
},
},
methods: {
onTablePageSizeChange(pageSize)
{
console.log("选择的pageSize", pageSize);
this.table_page_size = pageSize;
},
//用户变更当前页时消息处理函数
onCurrentPageIndexChange(pageIndex)
{
this.table_current_page = pageIndex;
},
}
};
</script>
<style scoped>
/* 整个页面的外壳 ******************************/
.requirement_wrapper {
padding: 15px 10px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0px 0px 20px -10px rgb(14 18 22 / 25%);
}
.requirement_wrapper:hover {
box-shadow: 0px 0px 20px -10px rgb(14 18 22 / 40%);
}
.requirement_wrapper>*+* {
margin-top: 15px;
}
/* 查询框 **********************************/
.search-box {
padding: 0 10px;
}
.search-box span {
font-weight: normal;
display: block;
text-align: right;
font-size: 15px;
color: #5f5f5f;
}
.search-box>.el-row {
display: flex;
align-items: center;
justify-content: left;
}
.search-box .el-row+.el-row {
margin-top: 10px;
}
/* 查询结果筛选框 */
.tool-button-wrapper {
padding: 0px 15px;
width: 100%;
}
.tool-button-wrapper>.el-row {
display: flex;
align-items: center;
justify-content: left;
}
.tool-button-wrapper span {
font-weight: small;
display: block;
text-align: right;
font-size: 15px;
color: #5f5f5f;
}
.tool-button-wrapper .el-checkbox {
font-size: 15px;
}
.table-display-wrapper {
display: flex;
align-items: center;
justify-content: right;
}
.button-wrapper-right {
display: flex;
justify-content: right;
align-items: center;
}
.button-wrapper-left {
display: flex;
justify-content: left;
align-items: center;
}
.result-filter-wrapper {
padding: 0 5px;
}
/* 需求列表 */
.requirement-title {
display: block;
text-align: left;
width: 100%;
font-size: 14px;
}
.requirement-serial {
width: 100%;
text-align: center;
cursor: pointer;
}
/***分页组件 *************/
.pagination_wrapper {
padding-right: 15px;
display: flex;
justify-content: right;
}
/*需求详情对话框 */
.requirement-detail-dialog {
width: 400px;
height: 600px;
}
.requirement-detail-dialog .el-row {
display: flex;
justify-content: left;
align-items: center;
/* margin-top: 10px; */
}
.requirement-detail-dialog .el-row+.el-row {
margin-top: 10px;
}
.requirement-detail-wrapper {
padding: 0px 10px;
}
.requirement-detail-wrapper span {
display: block;
text-align: right;
width: 100%;
}
</style>
<style>
.requirement-detail-dialog .el-dialog__body {
padding: 0px 15px !important;
}
</style>

View File

@@ -1,4 +1,51 @@
const { defineConfig } = require('@vue/cli-service') /*
module.exports = defineConfig({ * @Author: Kane
transpileDependencies: true * @Date: 2022-12-17 11:08:18
}) * @LastEditors: Kane
* @LastEditTime: 2023-01-07 12:08:14
* @FilePath: \admin_system\vue.config.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
// const { defineConfig } = require('@vue/cli-service');
// module.exports = defineConfig(
// {
// transpileDependencies: true,
// devServer: {
// open: true,
// host: "localhost",
// port: 8000,
// },
// }
// );
module.exports = {
transpileDependencies: true,
devServer: {
open: true,
host: "localhost",
port: 8000,
},
chainWebpack: (config) =>
{
// svg 图标解析
const svgRule = config.module.rule("svg"); //默认规则赋给 subRule 变量
svgRule.uses.clear(); // 清除已有的所有规则。
svgRule // 添加要替换的规则
.use("svg-sprite-loader")
.loader("svg-sprite-loader")
.options({
symbolId: "icon-[name]",
include: ["./src/components/svg/icons"] // 特别注意的目录路径
});
// 配置base64转换规则
// config.module
// .rule('images')
// .use('url-loader')
// .loader('url-loader')
// .tap(options => Object.assign(options, { limit: 1 }));
// 载入项目分析工具
// config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
},
};

View File

@@ -5,7 +5,7 @@ export const routes = [
redirect: "Login", redirect: "Login",
hidden: true, hidden: true,
aaa: "", aaa: "",
bbb:"" bbb: ""
}, },
// 登录 // 登录
{ {
@@ -105,11 +105,9 @@ export const routes = [
} }
] ]
} }
]; ];
const router = createRouter({ const router = createRouter({
history: createWebHashHistory(), history: createWebHashHistory(),
routes routes

View File

@@ -0,0 +1,847 @@
[
{
"serial_no": "RPXIM-220104-775",
"title": "<22><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>1<EFBFBD><31>4<EFBFBD><34>",
"issue_date": "",
"close_date": "2022<32><32>1<EFBFBD><31>12<31><32>",
"comment": <><C8B1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>ϡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220112-138",
"title": "<22><><EFBFBD>ڽ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷֹ<C5B7>˾<EFBFBD><CBBE>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22>ƶ<EFBFBD><C6B6><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>1<EFBFBD><31>12<31><32>",
"issue_date": "",
"close_date": "2022<32><32>3<EFBFBD><33>2<EFBFBD><32>",
"comment": "<22><><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>ǩ<EFBFBD><C7A9>ͬ<EFBFBD><EFBFBD><E2A3AC>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><E6BCB0><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><D5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>谴ϵͳ<CFB5><CDB3><EFBFBD>̹<EFBFBD><CCB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220112-213",
"title": "<22><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22>η<EFBFBD><CEB7><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>1<EFBFBD><31>12<31><32>",
"issue_date": "",
"close_date": "2022<32><32>2<EFBFBD><32>11<31><31>",
"comment": "<22>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-220114-324",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD><EFBFBD>2018<31><38><EFBFBD>dz<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>չ<EFBFBD><D5B9>",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>1<EFBFBD><31>14<31><34>",
"issue_date": "",
"close_date": "2022<32><32>3<EFBFBD><33>7<EFBFBD><37>",
"comment": "<22>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-220110-777",
"title": "<22><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD> ",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>1<EFBFBD><31>10<31><30>",
"issue_date": "",
"close_date": "2022<32><32>1<EFBFBD><31>25<32><35>",
"comment": "<22><><EFBFBD><EFBFBD>΢<EFBFBD><CEA2>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>ϵͳ<CFB5>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5>Ӱ<EFBFBD><D3B0><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>޿ͻ<DEBF>ǩ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ع<EFBFBD><D8B9>ܡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220207-108",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>2007<30><EFBFBD>ճб<D5B3>ϵͳ<CFB5><CDB3>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><E5B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>2<EFBFBD><32>7<EFBFBD><37>",
"issue_date": "",
"close_date": "2022<32><32>2<EFBFBD><32>10<31><30>",
"comment": "<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ϵͳȨ<CDB3><C8A8><EFBFBD><EFBFBD><E5B5A5>"
},
{
"serial_no": "RPXIM-220211-080",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>ݶԽӵ<D4BD><D3B5><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>˾",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>2<EFBFBD><32>11<31><31>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>19<31><39>",
"comment": ""
},
{
"serial_no": "RPXIM-220223-240",
"title": "<22><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Խӽӿڼ<D3BF><DABC><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>2<EFBFBD><32>23<32><33>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>15<31><35>",
"comment": ""
},
{
"serial_no": "RPXIM-220217-057",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>С<E9B3B5><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>˾",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>2<EFBFBD><32>28<32><38>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>30<33><30>",
"comment": ""
},
{
"serial_no": "RPXIM-220309-038",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22>ƶ<EFBFBD><C6B6><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>3<EFBFBD><33>14<31><34>",
"issue_date": "",
"close_date": "2022<32><32>5<EFBFBD><35>17<31><37>",
"comment": "<22><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220309-130",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>E<EFBFBD><45>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>3<EFBFBD><33>9<EFBFBD><39>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>22<32><32>",
"comment": "<22>޸ķ<DEB8><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-220304-488",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD><E4BEAD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD> ",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>3<EFBFBD><33>9<EFBFBD><39>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>29<32><39>",
"comment": ""
},
{
"serial_no": "RPXIM-220322-880",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>",
"department": "<22>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>չ<EFBFBD><D5B9>",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>3<EFBFBD><33>25<32><35>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>19<31><39>",
"comment": "<22><><EFBFBD><EFBFBD>ũ<EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>ߡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220324-385",
"title": "<22><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>3<EFBFBD><33>24<32><34>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>29<32><39>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD>񾭼<EFBFBD><F1BEADBC><EFBFBD><EFBFBD>϶Խ<CFB6><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յȲ<D5B5>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4>"
},
{
"serial_no": "RPXIM-220328-001",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɭ<EFBFBD><C9AD><EFBFBD>ۺϱ<DBBA><CFB1>գ<EFBFBD><D5A3><EFBFBD>Ʒ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD>ã<EFBFBD>",
"department": "<22>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>չ<EFBFBD><D5B9>",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>3<EFBFBD><33>28<32><38>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>21<32><31>",
"comment": "<22><><EFBFBD><EFBFBD>ũ<EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>ߡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220331-554",
"title": <><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD>ϵͳ<CFB5>Խ<EFBFBD><D4BD>Ҳ<EFBFBD><D2B2>º<EFBFBD><C2BA><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": <><CBBC>֧<EFBFBD><D6A7>˾",
"request_people": "<22><><EFBFBD><EFBFBD>ǿ",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>3<EFBFBD><33>30<33><30>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>29<32><39>",
"comment": "<22><><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>طdz<D8B7><C7B3>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡣"
},
{
"serial_no": "RPXIM-220401-218",
"title": "<22><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>E<EFBFBD><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "<22><>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>4<EFBFBD><34>1<EFBFBD><31>",
"issue_date": "",
"close_date": "2022<32><32>5<EFBFBD><35>20<32><30>",
"comment": ""
},
{
"serial_no": "RPXIM-220401-125",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɭ<EFBFBD><C9AD><EFBFBD>ۺϱ<DBBA><CFB1>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD>ã<EFBFBD>",
"department": "<22>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>չ<EFBFBD><D5B9>",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>4<EFBFBD><34>1<EFBFBD><31>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>21<32><31>",
"comment": ""
},
{
"serial_no": "RPXIM-220419-544",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>dz<EFBFBD><C7B3>º<EFBFBD><C2BA>ļƻ<C4BC><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ<EFBFBD><CDA5><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>",
"department": <><CBBC>֧<EFBFBD><D6A7>˾",
"request_people": "<22><><EFBFBD><EFBFBD>ǿ",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>4<EFBFBD><34>19<31><39>",
"issue_date": "",
"close_date": "2022<32><32>5<EFBFBD><35>5<EFBFBD><35>",
"comment": "<22>º<EFBFBD><C2BA><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD>Աʵ<D4B1><CAB5><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ѡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220419-267",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷֹ<C5B7>˾<EFBFBD><CBBE>΢<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>˽<EFBFBD><CBBD>ȨЭ<C8A8><EFBFBD><E9BCB0><EFBFBD>ؽӿڡ<D3BF><DAA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>",
"department": "",
"request_people": "<22>¹<EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>4<EFBFBD><34>19<31><39>",
"issue_date": "",
"close_date": "2022<32><32>5<EFBFBD><35>10<31><30>",
"comment": ""
},
{
"serial_no": "RPXIM-220418-646",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "<22>ۺ<EFBFBD><DBBA>г<EFBFBD><D0B3><EFBFBD>",
"current_people": "ԬҰ",
"submit_date": "2022<32><32>4<EFBFBD><34>18<31><38>",
"issue_date": "",
"close_date": "2022<32><32>4<EFBFBD><34>22<32><32>",
"comment": "<22><><EFBFBD>ۺ<EFBFBD><DBBA>г<EFBFBD><D0B3><EFBFBD>ԬҰ<D4AC><D2B0>ʦ<EFBFBD>˻أ<CBBB>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD>й<EFBFBD>һ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>Ǻϲ<C7BA><CFB2><EFBFBD>һҳ<D2BB>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3>պͼݳ<CDBC><DDB3>ձ<EFBFBD><D5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><E0B1A3>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>״̬<D7B4>¿<EFBFBD><C2BF>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>Ŀǰ<C4BF>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>б<EFBFBD><D0B1>۵<EFBFBD><DBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2>֣<EFBFBD> 2<><32><EFBFBD><EFBFBD><EBB8BD><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>עҪ<D7A2><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չʾ<D5B9><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>"
},
{
"serial_no": "RPXIM-220422-870",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>cibsϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>Ʒ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EBB5A5><EFBFBD><EFBFBD><E6BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD><45>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>4<EFBFBD><34>22<32><32>",
"issue_date": "",
"close_date": "2022<32><32>5<EFBFBD><35>24<32><34>",
"comment": "1<><31><EFBFBD><EFBFBD>cibsϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>Ʒ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF> 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD><45>ϵͳ<CFB5><CDB3>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>Ʒ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220429-002",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>վ<EFBFBD><D5BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD>ϵͳ<CFB5>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD>Ʒ",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>4<EFBFBD><34>29<32><39>",
"issue_date": "",
"close_date": "2022<32><32>5<EFBFBD><35>25<32><35>",
"comment": "<22><EFBFBD><EBB1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>վ<EFBFBD><D5BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD><45>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD>ż<EFBFBD><C5BC><EFBFBD><EFBFBD><EFBFBD>ԱЭ<D4B1><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-220513-575",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD>Ⱦ<EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>5<EFBFBD><35>13<31><33>",
"issue_date": "",
"close_date": "2022-05-23",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD>ҽ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD>ҽ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿͸<CBBF><CDB8><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD>ҽ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><D3B1>ս<EFBFBD><D5BD>20<32><30><EFBFBD><EFBFBD>ѡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220524-470",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>5<EFBFBD><35>24<32><34>",
"issue_date": "",
"close_date": "2022<32><32>6<EFBFBD><36>28<32><38>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-220526-213",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񾭼<EFBFBD><F1BEADBC><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD>Խ<EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>5<EFBFBD><35>26<32><36>",
"issue_date": "",
"close_date": "2022<32><32>8<EFBFBD><38>17<31><37>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5>Խӽӿ<D3BD><D3BF><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD>"
},
{
"serial_no": "RPXIM-220606-183",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>6<EFBFBD><36>6<EFBFBD><36>",
"issue_date": "",
"close_date": "2022<32><32>6<EFBFBD><36>16<31><36>",
"comment": ""
},
{
"serial_no": "RPXIM-220621-056",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ʽ<EEB7BD><CABD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ң<EFBFBD><D2A3><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>У<EFBFBD><D0A3><EFBFBD>ѡ<EFBFBD><D1A1>",
"department": "",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "<22>ۺ<EFBFBD><DBBA>г<EFBFBD><D0B3><EFBFBD>",
"current_people": "<22><><EFBFBD><EFBFBD>ɼ",
"submit_date": "2022<32><32>6<EFBFBD><36>21<32><31>",
"issue_date": "",
"close_date": "2022<32><32>6<EFBFBD><36>28<32><38>",
"comment": "<22><><EFBFBD>ۺ<EFBFBD><DBBA>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC>ʦ<EFBFBD>˻أ<CBBB>ԭ<EFBFBD><D4AD>:<3A>ܹ<EFBFBD>˾<EFBFBD><CBBE>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>޸ģ<DEB8><C4A3><EFBFBD><EFBFBD>ֹ<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD>ز<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>롣"
},
{
"serial_no": "RPXIM-220624-273",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ϵͳΪ<CDB3><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D3AA>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EEB7BD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ң<EFBFBD><D2A3><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>У<EFBFBD>ѡ<EFBFBD><D1A1>",
"department": "",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>6<EFBFBD><36>24<32><34>",
"issue_date": "",
"close_date": "2022<32><32>8<EFBFBD><38>11<31><31>",
"comment": ""
},
{
"serial_no": "RPXIM-220627-057",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>ͨ<EFBFBD>Խӳ<D4BD><D3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22>ν<EFBFBD><CEBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>6<EFBFBD><36>27<32><37>",
"issue_date": "",
"close_date": "2022<32><32>7<EFBFBD><37>27<32><37>",
"comment": ""
},
{
"serial_no": "RPXIM-220629-666",
"title": "<22><><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۡ<EFBFBD>ETC<54>ݳˡ<DDB3><CBA1><EFBFBD><EFBFBD>ز<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD>»<EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>6<EFBFBD><36>29<32><39>",
"issue_date": "",
"close_date": "2022<32><32>9<EFBFBD><39>30<33><30>",
"comment": ""
},
{
"serial_no": "RPXIM-220715-021",
"title": "<22><><EFBFBD><EFBFBD>cibsϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD>йܻ<D0B9><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><CEB1>ա<EFBFBD><D5A1><EFBFBD><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>",
"department": "",
"request_people": "<22>̽<EFBFBD><CCBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "<22><><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>",
"current_people": "<22><><EFBFBD><EFBFBD>",
"submit_date": "2022<32><32>7<EFBFBD><37>15<31><35>",
"issue_date": "",
"close_date": "2022<32><32>7<EFBFBD><37>20<32><30>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǩ<EFBFBD>Ƶ<EFBFBD><C6B5>º<EFBFBD><C2BA><EFBFBD>ϵͳ<CFB5><CDB3>"
},
{
"serial_no": "RPXIM-220715-157",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>idst<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>7<EFBFBD><37>15<31><35>",
"issue_date": "",
"close_date": "2022<32><32>8<EFBFBD><38>10<31><30>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD> idst <20><> nonauto_coinsurance_t <20><><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ֹ<EFBFBD>˾oracle <20><><EFBFBD>ݿ⡣"
},
{
"serial_no": "RPXIM-220721-138",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>ڷdz<DAB7><C7B3>º<EFBFBD><C2BA><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB0B8><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": <><D3AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_people": "<22>ܴ<EFBFBD>",
"submit_date": "2022<32><32>7<EFBFBD><37>21<32><31>",
"issue_date": "",
"close_date": "2022<32><32>7<EFBFBD><37>28<32><38>",
"comment": "<22><>Ӫ<EFBFBD><D3AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>ʦ<EFBFBD>˻أ<CBBB>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲм<CAB2><D0BC><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>ȷ˵<C8B7><CBB5>ҵ<EFBFBD>񳡾<EFBFBD><F1B3A1BE><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7>չ<EFBFBD><D5B9><EFBFBD>Ҫ<EFBFBD><D2AA>Ĭ<EFBFBD>ϲ<EFBFBD>ͬ<EFBFBD>⿪ͨ<E2BFAA><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܡ<EFBFBD><DCA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵģʽ<C4A3><CABD>ϸ˵<CFB8><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-220726-457",
"title": "<22><><EFBFBD><EFBFBD>ũ<EFBFBD>պ<EFBFBD><D5BA><EFBFBD>ϵͳ<CFB5><CDB3>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>7<EFBFBD><37>26<32><36>",
"issue_date": "",
"close_date": "2022<32><32>8<EFBFBD><38>11<31><31>",
"comment": <><C5A9><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD>"
},
{
"serial_no": "RPXIM-220729-433",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><>С<EFBFBD><D0A1>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>7<EFBFBD><37>29<32><39>",
"issue_date": "",
"close_date": "2022<32><32>8<EFBFBD><38>24<32><34>",
"comment": <><C5A9><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD>"
},
{
"serial_no": "RPXIM-220802-517",
"title": "<22><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": <>л<EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>8<EFBFBD><38>2<EFBFBD><32>",
"issue_date": "",
"close_date": "2022<32><32>9<EFBFBD><39>23<32><33>",
"comment": ""
},
{
"serial_no": "RPXIM-220809-255",
"title": "<22>÷<EFBFBD>&<26><><EFBFBD><EFBFBD>&<26>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ<EFBFBD>ۺ<EFBFBD><DBBA>ա<EFBFBD><D5A1><EFBFBD>Ŀ<EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>8<EFBFBD><38>9<EFBFBD><39>",
"issue_date": "",
"close_date": "2022<32><32>8<EFBFBD><38>9<EFBFBD><39>",
"comment": "<22>ظ<EFBFBD><D8B8><EFBFBD><E1BDBB>"
},
{
"serial_no": "RPXIM-220809-568",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ<EFBFBD>ۺ<EFBFBD><DBBA>ա<EFBFBD><D5A1><EFBFBD>Ŀ<EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>8<EFBFBD><38>9<EFBFBD><39>",
"issue_date": "",
"close_date": "2022<32><32>9<EFBFBD><39>7<EFBFBD><37>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD>񾭼<EFBFBD><F1BEADBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խӡ<D4BD><D3A1><EFBFBD>ͥ<EFBFBD>ۺ<EFBFBD><DBBA>ա<EFBFBD><D5A1><EFBFBD>Ŀ<EFBFBD><C4BF>"
},
{
"serial_no": "RPXIM-220820-663",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RMIϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": <><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>8<EFBFBD><38>20<32><30>",
"issue_date": "",
"close_date": "2022<32><32>9<EFBFBD><39>23<32><33>",
"comment": "<22><>RMIϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8>- <20><><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B8B6>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>͡<EFBFBD><CDA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAB1A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>ֶΣ<D6B6><CEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΣ<D6B6><CEA3><EFBFBD><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>Ʒ<EFBFBD>Ƶ<EFBFBD><C6B5>ѱ<EFBFBD><D1B1><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD>ı<C4B1><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>"
},
{
"serial_no": "RPXIM-220820-331",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>˺<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD>嵥",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>8<EFBFBD><38>22<32><32>",
"issue_date": "",
"close_date": "2022<32><32>10<31><30>15<31><35>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1BDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-220822-610",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ŷֹ<C5B7>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>8<EFBFBD><38>22<32><32>",
"issue_date": "",
"close_date": "2022<32><32>8<EFBFBD><38>26<32><36>",
"comment": "<22><><EFBFBD>Ϲ沿<CFB9><E6B2BF>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ŷֹ<C5B7>˾<EFBFBD>ϰ<EFBFBD><CFB0><EFBFBD><EAB4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5B5A5>"
},
{
"serial_no": "RPXIM-220831-802",
"title": "<22><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD><C6B7>ͨ<EFBFBD><CDA8><EFBFBD>ӷ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>8<EFBFBD><38>31<33><31>",
"issue_date": "",
"close_date": "2022<32><32>10<31><30>25<32><35>",
"comment": <><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><D5B1><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ӷ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD>ܡ<EFBFBD>"
},
{
"serial_no": "RPXIM-220902-504",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۡ<EFBFBD><DBA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>ա<EFBFBD><D5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>9<EFBFBD><39>2<EFBFBD><32>",
"issue_date": "",
"close_date": "2022<32><32>11<31><31>11<31><31>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾<EFBFBD><CBBE>"
},
{
"serial_no": "RPXIM-220909-477",
"title": "<22><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>ӿ<EFBFBD>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>9<EFBFBD><39>9<EFBFBD><39>",
"issue_date": "",
"close_date": "2022<32><32>9<EFBFBD><39>23<32><33>",
"comment": "<22>޸ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڵ<D3BF>ַ<EFBFBD><D6B7>"
},
{
"serial_no": "RPXIM-220902-648",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>e<EFBFBD><65>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ض<EFBFBD><D8B6>¹ʱ<C2B9><CAB1>ս<EFBFBD><D5BD><EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>9<EFBFBD><39>2<EFBFBD><32>",
"issue_date": "",
"close_date": "2022<32><32>11<31><31>11<31><31>",
"comment": <><CEAA><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ض<EFBFBD><D8B6>¹ʱ<C2B9><CAB1>ս<EFBFBD><D5BD><EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ʼ<EFBFBD><CABC>㡣"
},
{
"serial_no": "RPXIM-220829-756",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>E<EFBFBD><45>ϵͳΪ<CDB3><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD>Ӧ<EFBFBD><D3A6>ϵ",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>8<EFBFBD><38>29<32><39>",
"issue_date": "",
"close_date": "2022<32><32>10<31><30>28<32><38>",
"comment": "<22><><EFBFBD>գ<EFBFBD>23Z3980000000001 <20><>ͥ<EFBFBD><CDA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ͨ<D6A4>ã<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD>22Q1980000000000 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>סԺ<D7A1><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-221017-035",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>˺<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD>嵥",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>10<31><30>17<31><37>",
"issue_date": "",
"close_date": "2022<32><32>10<31><30>28<32><38>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD>ύRPXIM-220820-331<33><31>"
},
{
"serial_no": "RPXIM-220920-632",
"title": "<22><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ǻ<EFBFBD><C7BB>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󱣵<EFBFBD><F3B1A3B5>б<EFBFBD><D0B1><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>9<EFBFBD><39>20<32><30>",
"issue_date": "",
"close_date": "2022<32><32>11<31><31>1<EFBFBD><31>",
"comment": "<22>򿪷<EFBFBD><F2BFAAB7>Ŷ<EFBFBD><C5B6><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>©<EFBFBD><C2A9><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ģ<EFBFBD><EFBFBD><E9A3AC><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Ӱ<EFBFBD><EFBFBD><ECBFAA><EFBFBD>ŶӼ<C5B6>Ч<EFBFBD><D0A7><EFBFBD>رմ<D8B1><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1BDBB>"
},
{
"serial_no": "RPXIM-220923-388",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>º<EFBFBD><C2BA><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>ϰ<EFBFBD><CFB0><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>嵥",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>9<EFBFBD><39>23<32><33>",
"issue_date": "",
"close_date": "2022<32><32>10<31><30>31<33><31>",
"comment": "<22>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>"
},
{
"serial_no": "RPXIM-221014-671",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>Խӹ<D4BD><D3B9>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>10<31><30>14<31><34>",
"issue_date": "",
"close_date": "2022<32><32>10<31><30>14<31><34>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD>"
},
{
"serial_no": "RPXIM-221014-165",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>Խӹ<D4BD><D3B9>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>10<31><30>14<31><34>",
"issue_date": "2022<32><32>12<31><32>31<33><31>",
"close_date": "",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>ϵͳ<CFB5>ԽӵIJ<D3B5><C4B2>ֹ<EFBFBD><D6B9>ܡ<EFBFBD>"
},
{
"serial_no": "RPXIM-221021-435",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷֹ<C5B7>˾<EFBFBD><CBBE><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>10<31><30>21<32><31>",
"issue_date": "",
"close_date": "2022<32><32>11<31><31>30<33><30>",
"comment": <>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>Ͷ<EFBFBD><CDB6>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-221021-620",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񾭼ͺ<F1BEADBC><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "<22>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"submit_date": "2022<32><32>10<31><30>21<32><31>",
"issue_date": "",
"close_date": "2022<32><32>11<31><31>21<32><31>",
"comment": "<22><><EFBFBD>ܹ<EFBFBD>˾<EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʦ<EFBFBD>˻أ<CBBB>ԭ<EFBFBD>򣺾<EFBFBD><F2A3BABE><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ʦ<EFBFBD><CAA6>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>Ϊ<EFBFBD>Զ<EFBFBD><D4B6>˱<EFBFBD><CBB1><EFBFBD><EFBFBD>˹<EFBFBD><CBB9>˱<EFBFBD><CBB1><EFBFBD><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6BCB0><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>ܣ<EFBFBD><DCA3><EFBFBD>Ҫ<EFBFBD><D2AA>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>Ķ࣬<C4B6><E0A3AC><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ʦ<EFBFBD><CAA6>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD>ϸ<EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1BDBB>"
},
{
"serial_no": "RPXIM-221026-815",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>ֳб<D6B3>ϵͳ<CFB5>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "<22>ۺ<EFBFBD><DBBA>г<EFBFBD><D0B3><EFBFBD>",
"current_people": "<22><EFBFBD><E2BFAD>",
"submit_date": "2022<32><32>10<31><30>26<32><36>",
"issue_date": "",
"close_date": "",
"comment": "<22><>ֹΪ<D6B9><CEAA>δ<EFBFBD><CEB4><EFBFBD>ˡ<EFBFBD>"
},
{
"serial_no": "RPXIM-221026-156",
"title": "<22><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Խӽӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>10<31><30>26<32><36>",
"issue_date": "",
"close_date": "",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʴ<EFBFBD><CAB4>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-221028-572",
"title": "<22><><EFBFBD>ڹر<DAB9><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>10<31><30>28<32><38>",
"issue_date": "",
"close_date": "2022<32><32>11<31><31>12<31><32>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>󡣹رո<D8B1><D5B8><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-221028-083",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>ƽ̨<C6BD><CCA8>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>10<31><30>28<32><38>",
"issue_date": "",
"close_date": "2022<32><32>11<31><31>25<32><35>",
"comment": "<22><><EFBFBD>ܹ<EFBFBD>˾<EFBFBD><CBBE><EFBFBD>񲿷<EFBFBD><F1B2BFB7>ֹ<EFBFBD><D6B9><EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>Ŀ<EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><E4B8BA><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>Ӱ<EFBFBD><EFBFBD>˼<EFBFBD><CBBC>ᣬҪ<E1A3AC><D2AA><EFBFBD><EFBFBD>˾<EFBFBD>Բƻ<D4B2>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶Ժ<CBB6><D4BA><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>ѯ<EFBFBD>г<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD><><EFBFBD><E2B1A3><EFBFBD>⸶-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3>󲿷<EFBFBD><F3B2BFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1>ʴ<EFBFBD><CAB4><EFBFBD><E1BDBB><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>ϵͳͬ<CDB3><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD>ݡ<EFBFBD>"
},
{
"serial_no": "RPXIM-221101-483",
"title": "<22><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ǻ<EFBFBD><C7BB>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󱣵<EFBFBD><F3B1A3B5>б<EFBFBD><D0B1><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>11<31><31>1<EFBFBD><31>",
"issue_date": "",
"close_date": "",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>ѯ̫<D1AF><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ֵı<D6B5><C4B1><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-221107-744",
"title": "<22><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Խӽӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>11<31><31>7<EFBFBD><37>",
"issue_date": "",
"close_date": "2022<32><32>11<31><31>25<32><35>",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڱ<D3BF><DAB1><EFBFBD><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-221124-472",
"title": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񾭼ͺ<F1BEADBC><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "<22>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_people": "<22>ۼ<EFBFBD>",
"submit_date": "2022<32><32>11<31><31>24<32><34>",
"issue_date": "",
"close_date": "",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>"
},
{
"serial_no": "RPXIM-221025-861",
"title": "<22><><EFBFBD>뿪ͨ<EBBFAA><CDA8><EFBFBD>ֳ<EFBFBD><D6B3>յķdz<C4B7><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22>ν<EFBFBD><CEBD><EFBFBD>",
"status": "<22><>ȡ<EFBFBD><C8A1>",
"current_department": "<22><>ҵ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>",
"current_people": "<22><><EFBFBD><EFBFBD>",
"submit_date": "2022<32><32>10<31><30>25<32><35>",
"issue_date": "",
"close_date": "",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʦ<EFBFBD>˻أ<CBBB>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ղ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>վ<EFBFBD><D5BE>ʺϳ<CABA><CFB3>ա<EFBFBD>"
},
{
"serial_no": "RPXIM-221117-817",
"title": <><CCAB>e<EFBFBD><65>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ӡ<EFBFBD>˹<EFBFBD><CBB9><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>11<31><31>17<31><37>",
"issue_date": "",
"close_date": "2022<32><32>12<31><32>9<EFBFBD><39>",
"comment": "<22><>̫<EFBFBD><CCAB>e<EFBFBD><65>ϵͳ<CFB5><CDB3>ӡ<EFBFBD><D3A1><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ӡ<EFBFBD>ˡ<EFBFBD><CBA1>ֶΡ<D6B6>"
},
{
"serial_no": "RPXIM-221125-036",
"title": "<22><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Խӽӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>",
"current_department": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>",
"current_people": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"submit_date": "2022<32><32>11<31><31>25<32><35>",
"issue_date": "2023<32><33>1<EFBFBD><31>27<32><37>",
"close_date": "",
"comment": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RPXIM-221107-744<34><34><EFBFBD>ֳ<EFBFBD>5.6<EFBFBD>ӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><EFBFBD>󣬱<EFBFBD><EFBFBD><EFBFBD>ԭ·<EFBFBD>˻ؿͻ<EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD>Ĺ<EFBFBD><EFBFBD>ܡ<EFBFBD>"
},
{
"serial_no": "RPXIM-221226-013",
"title": "<22><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʒ<EFBFBD><C6B7>ʾ˳<CABE><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"department": "",
"request_people": "<22><><EFBFBD><EFBFBD>",
"status": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"current_department": "",
"current_people": "",
"submit_date": "2022<32><32>12<31><32>26<32><36>",
"issue_date": "",
"close_date": "",
"comment": "<22>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>ϱ<EFBFBD>ϵͳͶ<CDB3><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>Ʒ<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ǰ<EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶໨Ǯ<E0BBA8><C7AE>"
}
]