Commit 19fbecc3 authored by suichenguang's avatar suichenguang

Merge remote-tracking branch 'origin/dev' into dev

parents 8f8e3c29 98533f7a
...@@ -194,7 +194,7 @@ public class ExportXMLApi { ...@@ -194,7 +194,7 @@ public class ExportXMLApi {
* @param str 原始字符串 * @param str 原始字符串
* @return 返回新的字符串 * @return 返回新的字符串
*/ */
public static String replaceNullString(String str) { private String replaceNullString(String str) {
if (str == null) return ""; if (str == null) return "";
else return str; else return str;
} }
......
...@@ -175,7 +175,7 @@ public class ReadExcelApi { ...@@ -175,7 +175,7 @@ public class ReadExcelApi {
*/ */
@RequestMapping("queryPersonPost") @RequestMapping("queryPersonPost")
public String queryPersonPost(@RequestParam("fileName") String fileName,@RequestParam("analysisState") String analysisState,@RequestParam("uploadDate") String uploadDate, @RequestParam("currPage") String currPage,@RequestParam("pageSize") String pageSize, HttpServletResponse resp) { public String queryPersonPost(@RequestParam("fileName") String fileName,@RequestParam("analysisState") String analysisState,@RequestParam("uploadDate") String uploadDate, @RequestParam("currPage") String currPage,@RequestParam("pageSize") String pageSize, HttpServletResponse resp) {
List<FileNameDicEntity> fileNameDicEntities = fileNameDicService.queryFileNameDic(uploadDate,fileName, Long.valueOf(analysisState), Long.valueOf(currPage), Long.valueOf(pageSize)); List<FileNameDicEntity> fileNameDicEntities = fileNameDicService.queryFileNameDic(uploadDate,replaceNullString(fileName), Long.valueOf(analysisState), Long.valueOf(currPage), Long.valueOf(pageSize));
YXJSONResponse yxjsonResponse = new YXJSONResponse(); YXJSONResponse yxjsonResponse = new YXJSONResponse();
resp.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding("UTF-8");
yxjsonResponse.outPutSuccess(fileNameDicEntities); yxjsonResponse.outPutSuccess(fileNameDicEntities);
...@@ -191,7 +191,7 @@ public class ReadExcelApi { ...@@ -191,7 +191,7 @@ public class ReadExcelApi {
*/ */
@RequestMapping("queryPersonPostCount") @RequestMapping("queryPersonPostCount")
public String queryPersonPostCount(@RequestParam("fileName") String fileName,@RequestParam("analysisState") String analysisState,@RequestParam("uploadDate") String uploadDate, HttpServletResponse resp) { public String queryPersonPostCount(@RequestParam("fileName") String fileName,@RequestParam("analysisState") String analysisState,@RequestParam("uploadDate") String uploadDate, HttpServletResponse resp) {
int i = fileNameDicService.queryFileNameDicCount(uploadDate, fileName, Long.valueOf(analysisState)); int i = fileNameDicService.queryFileNameDicCount(uploadDate,replaceNullString(fileName), Long.valueOf(analysisState));
YXJSONResponse yxjsonResponse = new YXJSONResponse(); YXJSONResponse yxjsonResponse = new YXJSONResponse();
resp.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding("UTF-8");
yxjsonResponse.outPutSuccess(i+""); yxjsonResponse.outPutSuccess(i+"");
...@@ -202,4 +202,15 @@ public class ReadExcelApi { ...@@ -202,4 +202,15 @@ public class ReadExcelApi {
return str.replace("-",""); return str.replace("-","");
} }
/**
* 字符串去除空格
* @param str 原始字符串
* @return 返回新的字符串
*/
private String replaceNullString(String str) {
if (str == ""){
return null;
} else return str;
}
} }
\ No newline at end of file
...@@ -158,4 +158,14 @@ public class ReadXmlApi { ...@@ -158,4 +158,14 @@ public class ReadXmlApi {
return str.replace("-",""); return str.replace("-","");
} }
/**
* 字符串去除空格
* @param str 原始字符串
* @return 返回新的字符串
*/
private String replaceNullString(String str) {
if (str == ""){
return null;
} else return str;
}
} }
...@@ -50,7 +50,7 @@ public interface FileNameDicMapper { ...@@ -50,7 +50,7 @@ public interface FileNameDicMapper {
" and FILE_NAME =#{fileName}" + " and FILE_NAME =#{fileName}" +
"</if>" + "</if>" +
" </where>" + " </where>" +
"and ROWNUM less then #{maxNum} ) where rn more then #{minNum} " + " ) where rn BETWEEN #{minNum} and #{maxNum} " +
"</script>") "</script>")
public List<FileNameDicEntity> queryFileNameDic(@Param("uploadDate")String uploadDate,@Param("fileName") String fileName, @Param("analysisState") long analysisState, @Param("maxNum") long maxNum, @Param("minNum") long minNum); public List<FileNameDicEntity> queryFileNameDic(@Param("uploadDate")String uploadDate,@Param("fileName") String fileName, @Param("analysisState") long analysisState, @Param("maxNum") long maxNum, @Param("minNum") long minNum);
...@@ -66,10 +66,10 @@ public interface FileNameDicMapper { ...@@ -66,10 +66,10 @@ public interface FileNameDicMapper {
" and STATE =#{analysisState}" + " and STATE =#{analysisState}" +
"</if>" + "</if>" +
"<if test='uploadDate !=null' >" + "<if test='uploadDate !=null' >" +
" and to_char(UPLOAD_DATE,'yyyyMMdd') =#{uploadDate}" + " and to_char(UPLOAD_DATE,'yyyyMMdd') = #{uploadDate}" +
"</if>" + "</if>" +
"<if test='fileName != null ' >" + "<if test='fileName != null ' >" +
" and FILE_NAME =#{fileName}" + " and FILE_NAME = #{fileName}" +
"</if> </where> </script>") "</if> </where> </script>")
public List<FileNameDicEntity> queryFileNameDicCount(@Param("uploadDate")String uploadDate,@Param("fileName") String fileName, @Param("analysisState") long analysisState); public List<FileNameDicEntity> queryFileNameDicCount(@Param("uploadDate")String uploadDate,@Param("fileName") String fileName, @Param("analysisState") long analysisState);
......
...@@ -25,8 +25,8 @@ public interface FilesMapper { ...@@ -25,8 +25,8 @@ public interface FilesMapper {
"<if test=\"importDate !=null\">"+ "<if test=\"importDate !=null\">"+
" and to_char(FILES.UPLOAD_DATE,'yyyyMMdd')= #{importDate}" + " and to_char(FILES.UPLOAD_DATE,'yyyyMMdd')= #{importDate}" +
"</if> "+ "</if> "+
"group by FILES.upload_date,FILES.ID) where ROWNUM less then #{maxNum} group by upload_date" + "group by FILES.upload_date,FILES.ID) group by upload_date" +
") where rn more then #{minNum} </script>") ") where rn BETWEEN #{minNum} and #{maxNum} </script>")
public List<CountDataEntity> selectFiles(@Param("importDate") String importDate,@Param("maxNum")long maxNum,@Param("minNum")long minNum); public List<CountDataEntity> selectFiles(@Param("importDate") String importDate,@Param("maxNum")long maxNum,@Param("minNum")long minNum);
@Select({"<script>"+ @Select({"<script>"+
......
...@@ -25,12 +25,12 @@ public class FileNameDicServiceImpl implements FileNameDicService { ...@@ -25,12 +25,12 @@ public class FileNameDicServiceImpl implements FileNameDicService {
@Override @Override
public List<FileNameDicEntity> queryFileNameDic(String uploadDate,String fileName, long analysisState, long currPage, long pageSize) { public List<FileNameDicEntity> queryFileNameDic(String uploadDate,String fileName, long analysisState, long currPage, long pageSize) {
fileNameDicMapper.queryFileNameDic(uploadDate, fileName, analysisState, currPage * pageSize, (currPage - 1) * pageSize + 1);
return fileNameDicMapper.queryFileNameDic(uploadDate,fileName, analysisState, currPage*pageSize,(currPage-1)*pageSize+1 ); return fileNameDicMapper.queryFileNameDic(uploadDate,fileName, analysisState, currPage*pageSize,(currPage-1)*pageSize+1 );
// return null; // return null;
} }
@Override @Override
public int queryFileNameDicCount(String uploadDate,String fileName, long analysisState) { public int queryFileNameDicCount(String uploadDate,String fileName, long analysisState) {
// return 2;
return fileNameDicMapper.queryFileNameDicCount(uploadDate,fileName, analysisState ).size(); return fileNameDicMapper.queryFileNameDicCount(uploadDate,fileName, analysisState ).size();
} }
......
...@@ -53,15 +53,58 @@ public class TaskListServiceImpl implements TaskListService { ...@@ -53,15 +53,58 @@ public class TaskListServiceImpl implements TaskListService {
@Override @Override
public List<Object> selectByCountyAtACCU(String date) { public List<Object> selectByCountyAtACCU(String date) {
List<Map<String, Object>> maps = taskListMapper.selectByCountyAtACCU(date); List<Map<String, Object>> maps = taskListMapper.selectByCountyAtACCU(date);
List<Map<String,Object>> list = new ArrayList<>(); List list = new ArrayList();
Map<String,Object> typeMap = new LinkedHashMap<>();
for (Map o :maps){ for (Map o :maps){
//TODO 组合JSON //TODO 组合JSON
Map<String,Object> countyMap = new LinkedHashMap<>(); if (typeMap.containsKey(o.get("CARD_TYPE")+"")){
countyMap.containsKey((Map<String,Object>)o); List<Map<String,Object>> mapList= (List<Map<String,Object>>)typeMap.get("CARD_TYPE");
mapList.add(o);
typeMap.put(o.get("CARD_TYPE")+"",mapList);
}else {
List<Map<String,Object>> mapList = new ArrayList<>();
mapList.add(o);
typeMap.put(o.get("CARD_TYPE")+"",mapList);
}
}
for (String type:typeMap.keySet()){
Map<String,Object> typeMapList = new LinkedHashMap<>();
List<Map<String,Object>> typeList = new ArrayList<>();
List<Map<String,Object>> mapList = (List<Map<String,Object>>)typeMap.get(type);
int typeSum =0;
for (Map o:mapList) {
typeSum+=Integer.valueOf(o.get("VALID_COUNT") + "");
Map<String,Object> countyMap = new LinkedHashMap<>();
if (countyMap.containsKey(o.get("COUNTYNAME")+"")){
List<Map<String,Object>> countyList= (List<Map<String,Object>>)countyMap.get("CARD_TYPE");
countyList.add(o);
Integer valid_count = Integer.valueOf(o.get("VALID_COUNT") + "");
valid_count+=Integer.valueOf(countyMap.get("countyValidCount").toString());
Integer invalid_count = Integer.valueOf(o.get("INVALID_COUNT") + "");
invalid_count+=Integer.valueOf(countyMap.get("countyInvalidCount").toString());
countyMap.put(o.get("COUNTYNAME")+"",countyList);
countyMap.put("countyValidCount",valid_count);
countyMap.put("countyInvalidCount",invalid_count);
}else {
List<Map<String,Object>> countyList = new ArrayList<>();
countyList.add(o);
countyMap.put(o.get("COUNTYNAME")+"",countyList);
countyMap.put("countyValidCount",Integer.valueOf(o.get("VALID_COUNT")+""));
countyMap.put("countyInvalidCount",Integer.valueOf(o.get("INVALID_COUNT")+""));
}
countyMap.put("countyList",o);
typeList.add(countyMap);
}
typeMapList.put("typeName",type);
typeMapList.put("typeSum",typeSum);
typeMapList.put("typeList",typeList);
list.add(typeMapList);
} }
System.out.println(maps.toString()+"---------"); System.out.println(maps.toString()+"---------");
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
<!-- Logo --> <!-- Logo -->
<a href="index.html" class="logo" style="line-height: 50px;"> <a href="index.html" class="logo" style="line-height: 50px;">
<!-- mini logo for sidebar mini 50x50 pixels --> <!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><span>{{loginData.name}}</span></span> <span class="logo-mini"><span><img src="newTheme/dist/img/logo.jpg" style="width:25px;height:25px;"></span></span>
<!-- logo for regular state and mobile devices --> <!-- logo for regular state and mobile devices -->
<span class="logo-lg"><span>{{loginData.roleList[0].role}}</span></span> <span class="logo-lg"><span>{{loginData.roleList[0].role}}</span></span>
</a> </a>
...@@ -94,9 +94,9 @@ ...@@ -94,9 +94,9 @@
</a> </a>
</li> </li>
<li class="sidebar no-padding navbar-left" style="width: 230px;margin-left:27px;height: auto;"> <li class="sidebar no-padding navbar-left" style="width: 230px;margin-left:27px;height: auto;">
<form style="margin-top: 6px;"> <form style="margin-top: 6px;" name="form">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<input type="text" class="form-control input-sm bg-light no-border padder" style="height: 35px;background-color: #fff;" ng-model="searchInput" placeholder="身份证号/受理号/任务单id..."> <input type="text" class="form-control input-sm bg-light no-border padder" ng-keyup="enterEvent($event,searchInput)" style="height: 35px;background-color: #fff;" ng-model="searchInput" placeholder="身份证号/受理号/任务单id...">
<span class="input-group-btn"> <span class="input-group-btn">
<button type="button" style="height: 35px;background-color: #fff;border-left:0;outline:none;" ng-click="doSearch(searchInput)" class="btn btn-sm bg-light"> <button type="button" style="height: 35px;background-color: #fff;border-left:0;outline:none;" ng-click="doSearch(searchInput)" class="btn btn-sm bg-light">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
</ul> </ul>
</li> </li>
<li class="dropdown user user-menu"> <li class="dropdown user user-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" style="padding-bottom: 0;"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" style="padding-bottom: 11px;">
<img src="newTheme/dist/img/logo.jpg" class="user-image" alt="User Image"> <img src="newTheme/dist/img/logo.jpg" class="user-image" alt="User Image">
<span style="font-size: 1.7em;">北京制证辅助平台</span> <span style="font-size: 1.7em;">北京制证辅助平台</span>
</a> </a>
......
...@@ -156,13 +156,18 @@ angular.module('AvatarCheck', [ ...@@ -156,13 +156,18 @@ angular.module('AvatarCheck', [
} }
$scope.doSearch = function (searchInput) { $scope.doSearch = function (searchInput) {
console.log(searchInput) if(angular.isUndefined(searchInput)){
// HttpService.searchCards(searchInput, function (data) { $location.path("/searchCard");
// $scope.alertMsg = "请输入要查询的受理号/身份证号/任务单id";
// }) }else{
$rootScope.searchResult = '查询结果'; console.log(searchInput,"//")
$location.path("/searchCard"); HttpService.searchCards(searchInput, function (data) {
} $rootScope.searchResult = data;
console.log($rootScope.searchResult)
})
$location.path("/searchCard");
}
};
$scope.logout = function(){ $scope.logout = function(){
HttpService.logout(function(data) { HttpService.logout(function(data) {
...@@ -170,9 +175,13 @@ angular.module('AvatarCheck', [ ...@@ -170,9 +175,13 @@ angular.module('AvatarCheck', [
$location.path('/login') $location.path('/login')
$rootScope.loginData = {userid:'用户未登录', login:false}; $rootScope.loginData = {userid:'用户未登录', login:false};
}); });
}
$scope.enterEvent = function(e,search) {
console.log(search)
var keycode = window.event?e.keyCode:e.which;
if(keycode==13){
$scope.doSearch(search)
}
} }
}); });
......
...@@ -134,10 +134,13 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule']) ...@@ -134,10 +134,13 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
success(response.data) success(response.data)
}) })
}, },
searchCards: function (value, success) { searchCards: function (searchInput, success) {
$http({ $http({
method: 'GET', method: 'GET',
url: url url:"../specialCardInfo/selectByCard",
params:{
id:searchInput
}
}).then(function successCallback(response) { }).then(function successCallback(response) {
success(response.data) success(response.data)
}) })
...@@ -153,10 +156,10 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule']) ...@@ -153,10 +156,10 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
success(response.data) success(response.data)
}) })
}, },
uploadExcelFile:function(startDate,endDate,fd,success){ uploadExcelFile:function(date1,date2,fd,success){
$http({ $http({
method: 'POST', method: 'POST',
url: "../ReadExcel/ReadPersonPost", url: "../ReadExcel/ReadPersonPost?formStartTime="+date1+"&formDeadLine="+date2,
data: fd, data: fd,
headers: {'Content-Type': undefined}, headers: {'Content-Type': undefined},
transformRequest: angular.identity transformRequest: angular.identity
...@@ -307,6 +310,17 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule']) ...@@ -307,6 +310,17 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
}).then(function successCallback(response) { }).then(function successCallback(response) {
success(response.data) success(response.data)
}) })
},
selectTagPrintData:function(idCard,success){
$http({
method: 'GET',
url: "../tagPrint/selectTagPrintData"+urlTimeStamp(),
params:{
idCard:idCard
}
}).then(function successCallback(response) {
success(response.data)
})
} }
} }
}); });
\ No newline at end of file
...@@ -24,43 +24,38 @@ angular.module('AvatarCheck.excelAndSearch', ['ngRoute', 'AvatarCheck.http', 'tm ...@@ -24,43 +24,38 @@ angular.module('AvatarCheck.excelAndSearch', ['ngRoute', 'AvatarCheck.http', 'tm
$('#datepicker1').datetimepicker({ $('#datepicker1').datetimepicker({
minView: "month", //选择日期后,不会再跳转去选择时分秒 minView: "month", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN', language: 'zh-CN',
format: 'yyyyMMdd', format: 'yyyy-MM-dd',
todayBtn: 1, todayBtn: 1,
autoclose: 1 autoclose: 1
}); });
$('#datepicker2').datetimepicker({ $('#datepicker2').datetimepicker({
minView: "month", //选择日期后,不会再跳转去选择时分秒 minView: "month", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN', language: 'zh-CN',
format: 'yyyyMMdd', format: 'yyyy-MM-dd',
todayBtn: 1, todayBtn: 1,
autoclose: 1 autoclose: 1
}); });
$('#datepicker3').datetimepicker({ $('#datepicker3').datetimepicker({
minView: "month", //选择日期后,不会再跳转去选择时分秒 minView: "month", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN', language: 'zh-CN',
format: 'yyyyMMdd', format: 'yyyy-MM-dd',
todayBtn: 1, todayBtn: 1,
autoclose: 1 autoclose: 1
}); });
$scope.choseDate = $filter("date")(new Date(), "yyyyMMdd"); $scope.choseDate = $filter("date")(new Date(), "yyyy-MM-dd");
$scope.uploadExcel = function () { $scope.uploadExcel = function () {
console.log($("#datepicker1").val())
var fd = new FormData(); var fd = new FormData();
var files = document.querySelector('input#id_file_photo_for_check').files; var files = document.querySelector('input#id_file_photo_for_check').files;
fd.append("formStartTime",$("#datepicker1").val());
fd.append("formDeadline",$("#datepicker2").val());
for(var i in files){
fd.append('file', files[i]);
}
if(angular.isUndefined(files)){ if(angular.isUndefined(files)){
MessageService.showAlert("请选择上传的文件...") MessageService.showAlert("请选择上传的文件...")
}else{ }else{
fd.append('file', files); for(var i in files){
fd.append('file', files[i]);
}
HttpService.uploadExcelFile($("#datepicker1").val(),$("#datepicker2").val(),fd,function (data) { HttpService.uploadExcelFile($("#datepicker1").val(),$("#datepicker2").val(),fd,function (data) {
console.log("导入项目的返回结果:",data) console.log("导入项目的返回结果:",data)
}) })
......
...@@ -5,8 +5,9 @@ ...@@ -5,8 +5,9 @@
查询结果 查询结果
</strong> </strong>
<div class="box-info" style="padding:0px 10px 7px 10px;"> <div class="box-info" style="padding:0px 10px 7px 10px;">
<h4 ng-if="alertMsg">{{alertMsg}}</h4>
<div class="panel panel-info"> <!--任务单-->
<div class="panel panel-info" ng-if="searchResult.workOrderDate.length>0">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title"> <h3 class="panel-title">
任务单 任务单
...@@ -43,8 +44,8 @@ ...@@ -43,8 +44,8 @@
</table> </table>
</div> </div>
</div> </div>
<!--受理库-->
<div class="panel panel-info"> <div class="panel panel-info" ng-if="searchResult.ACCdata.length>0">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title"> <h3 class="panel-title">
受理库 受理库
...@@ -91,7 +92,8 @@ ...@@ -91,7 +92,8 @@
<button class="btn btn-danger">退证</button> <button class="btn btn-danger">退证</button>
</div> </div>
</div> </div>
<div class="panel panel-info"> <!--制证库-->
<div class="panel panel-info" ng-if="searchResult.PRODData.length>0">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title"> <h3 class="panel-title">
制证库 制证库
......
...@@ -46,12 +46,12 @@ ...@@ -46,12 +46,12 @@
<div class="box-info" style="padding: 15px;padding-top: 0;"> <div class="box-info" style="padding: 15px;padding-top: 0;">
<table class="table table-bordered" style="margin-bottom: 0;"> <table class="table table-bordered" style="margin-bottom: 0;">
<tr> <tr>
<td width="10%">身份证号:</td> <td width="10%" style="text-align: center;vertical-align: middle!important;">身份证号:</td>
<td colspan="2" width="35%"> <td colspan="2" width="35%">
<input type="text" class="form-control" placeholder="身份证号"/> <input type="text" class="form-control" placeholder="身份证号" ng-model="idCard"/>
</td> </td>
<td style="text-align: left;"> <td style="text-align: left;">
<button class="btn btn-primary">查询</button> <button class="btn btn-primary" ng-click="searchTagPrintData()">查询</button>
<button class="btn btn-primary">证件读取</button> <button class="btn btn-primary">证件读取</button>
</td> </td>
</tr> </tr>
......
...@@ -1051,6 +1051,12 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin ...@@ -1051,6 +1051,12 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
} }
$scope.searchTagPrintData = function(){
HttpService.selectTagPrintData($scope.idCard,function(data){
$scope.tagPrintData =data;
})
}
}); });
...@@ -49,14 +49,12 @@ angular.module('AvatarCheck.xmlAndSearch', ['ngRoute', 'AvatarCheck.http', 'tm.p ...@@ -49,14 +49,12 @@ angular.module('AvatarCheck.xmlAndSearch', ['ngRoute', 'AvatarCheck.http', 'tm.p
$scope.uploadXml = function () { $scope.uploadXml = function () {
var fd = new FormData(); var fd = new FormData();
var files = document.querySelector('input#id_file_photo_for_check').files; var files = document.querySelector('input#id_file_photo_for_check').files;
for(var i in files){
fd.append('file', files[i]);
}
if(angular.isUndefined(files)){ if(angular.isUndefined(files)){
MessageService.showAlert("请选择上传的文件...") MessageService.showAlert("请选择上传的文件...")
}else{ }else{
fd.append('file', files); for(var i in files){
fd.append('file', files[i]);
}
HttpService.uploadPackage(fd,function (data) { HttpService.uploadPackage(fd,function (data) {
console.log("导入项目的返回结果:",data) console.log("导入项目的返回结果:",data)
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment