Commit b16820a0 authored by zhkwei's avatar zhkwei

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

parents a70c0b0d 66136186
...@@ -426,7 +426,17 @@ ...@@ -426,7 +426,17 @@
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>1.18.0</version> <version>1.18.0</version>
</dependency> </dependency>
<!--PDF转换为图片-->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies> </dependencies>
<profiles> <profiles>
......
...@@ -37,7 +37,7 @@ public class ApprovalController { ...@@ -37,7 +37,7 @@ public class ApprovalController {
@ResponseBody @ResponseBody
@RequestMapping(value = "/deploy", method = RequestMethod.POST) @RequestMapping(value = "/deploy", method = RequestMethod.POST)
public ResponseEntity deploy() { public ResponseEntity deploy() {
repositoryService.createDeployment().addClasspathResource("bpmn/approval.bpmn").deploy(); repositoryService.createDeployment().addClasspathResource("bpmn/approval1.bpmn").deploy();
return ResponseEntity.ok().build(); return ResponseEntity.ok().build();
} }
......
...@@ -94,13 +94,13 @@ public class OperationLogFileTypeController { ...@@ -94,13 +94,13 @@ public class OperationLogFileTypeController {
// public ReturnData selectListForLog(@RequestBody OperationLogFileType operationLogFileType){ // public ReturnData selectListForLog(@RequestBody OperationLogFileType operationLogFileType){
try { try {
Map<String, String> headers = new LinkedHashMap<>(); Map<String, String> headers = new LinkedHashMap<>();
headers.put("id", "id"); headers.put("id", "序号");
headers.put("create_time", "操作时间");
headers.put("operation_action", "操作"); headers.put("operation_action", "操作");
headers.put("update_state", "操作内容"); headers.put("update_state", "操作内容");
headers.put("operation_user", "操作人员"); headers.put("operation_user", "操作人员");
headers.put("ip", "操作ip"); headers.put("ip", "操作ip");
headers.put("comment", "备注"); headers.put("comment", "备注");
headers.put("create_time", "操作时间");
List<OperationLogFileType> fileTypes = operationLogFileTypeService.selectFileTypesList(); List<OperationLogFileType> fileTypes = operationLogFileTypeService.selectFileTypesList();
// List<OperationLogFileType> operationLogFileTypes = operationLogFileTypeService.selectListForLog(operationLogFileType.getFileTypeIds()); // List<OperationLogFileType> operationLogFileTypes = operationLogFileTypeService.selectListForLog(operationLogFileType.getFileTypeIds());
response.setContentType("multipart/form-data"); response.setContentType("multipart/form-data");
......
...@@ -31,12 +31,8 @@ import pwc.taxtech.atms.vat.entity.FileUpload; ...@@ -31,12 +31,8 @@ import pwc.taxtech.atms.vat.entity.FileUpload;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -112,6 +108,50 @@ public class TaxDocumentController { ...@@ -112,6 +108,50 @@ public class TaxDocumentController {
//地址示例: D://multipaiInitData //地址示例: D://multipaiInitData
return taxDocumentService.multipalInitData(address); return taxDocumentService.multipalInitData(address);
} }
/**
* 读取PDF 转换为图片
*
*/
@PostMapping("/previewPDF")
@ResponseBody
public void previewPDF(@RequestBody TaxDocumentDto taxDocumentDto) {
taxDocumentService.previewPDF(taxDocumentDto.getPath());
/*InputStream is = null;
ByteArrayOutputStream os = null;
try {
//根据url地址 获取文件输入流
is = getInputStreamByUrl(taxDocumentDto.getPath());
os = new ByteArrayOutputStream();
byte[] buff = new byte[1024];
int len = 0;
String dUrlData="";
while ((len = is.read(buff)) != -1) {
os.write(buff, 0, len);
}
//刷新此输出流并强制写出所有缓冲的输出字节,必须这行代码,否则有可能有问题
os.flush();
os.toByteArray();
dUrlData= Base64.encode(os.toByteArray());
return dUrlData;
} catch (Exception e) {
e.printStackTrace();
return null;
}finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}*/
}
@RequestMapping("exportExcel") @RequestMapping("exportExcel")
@ResponseBody @ResponseBody
public void exportExcelFile(HttpServletResponse response, @RequestBody TaxDocumentDto taxDocumentDto) { public void exportExcelFile(HttpServletResponse response, @RequestBody TaxDocumentDto taxDocumentDto) {
...@@ -207,7 +247,7 @@ public class TaxDocumentController { ...@@ -207,7 +247,7 @@ public class TaxDocumentController {
try { try {
JSONArray dataArray = new JSONArray(); JSONArray dataArray = new JSONArray();
//根据url地址 获取文件输入流 //根据url地址 获取文件输入流
InputStream is = getInputStreamByUrl(taxDocumentDto.getPath()); InputStream is = taxDocumentService.getInputStreamByUrl(taxDocumentDto.getPath());
InputStream inStream =is; InputStream inStream =is;
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inStream); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inStream);
// 循环工作表Sheet 将数据解析后 存入json对象 // 循环工作表Sheet 将数据解析后 存入json对象
...@@ -219,6 +259,7 @@ public class TaxDocumentController { ...@@ -219,6 +259,7 @@ public class TaxDocumentController {
} }
} }
/** /**
* 下载全部附件 * 下载全部附件
*/ */
...@@ -352,32 +393,4 @@ public class TaxDocumentController { ...@@ -352,32 +393,4 @@ public class TaxDocumentController {
dataArray.add(sheetJson); dataArray.add(sheetJson);
} }
} }
/**
* 根据url地址 获取输入流
* @param url
* @return
* @throws IOException
*/
private InputStream getInputStreamByUrl(String url) throws IOException {
URL httpurl=new URL(URLDecoder.decode(url, "UTF-8"));
InputStream is;
HttpURLConnection httpConn=(HttpURLConnection)httpurl.openConnection();
httpConn.setDoOutput(true);// 使用 URL 连接进行输出
httpConn.setDoInput(true);// 使用 URL 连接进行输入
httpConn.setUseCaches(false);// 忽略缓存
httpConn.setRequestMethod("GET");// 设置URL请求方法
//可设置请求头
httpConn.setRequestProperty("Content-Type", "application/octet-stream");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
httpConn.connect();
if (httpConn.getResponseCode() >= 400 ) {
is = httpConn.getErrorStream();
}
else{
is = httpConn.getInputStream();
}
return is;
}
} }
...@@ -6,6 +6,8 @@ import com.google.common.collect.Maps; ...@@ -6,6 +6,8 @@ import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -26,7 +28,9 @@ import pwc.taxtech.atms.vat.entity.FileUpload; ...@@ -26,7 +28,9 @@ import pwc.taxtech.atms.vat.entity.FileUpload;
import pwc.taxtech.atms.vat.entity.ReportFileUpload; import pwc.taxtech.atms.vat.entity.ReportFileUpload;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.*; import java.io.*;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
...@@ -428,6 +432,21 @@ public class TaxDocumentServiceImpl { ...@@ -428,6 +432,21 @@ public class TaxDocumentServiceImpl {
} }
} }
public void previewPDF(String path) {
String imageType = "PNG";
OutputStream sos = null;
try {
PDFToImg(sos, path, getPDFNum(path), imageType);
} catch (IOException e) {
log.error("PDF转换图片异常: " + e.getMessage());
} finally {
try {
sos.close();
} catch (IOException e) {
log.error("关闭输出流异常: " + e.getMessage());
}
}
}
public void downloadAllFile(HttpServletResponse response, List<Long> ids) { public void downloadAllFile(HttpServletResponse response, List<Long> ids) {
//如果只选择了一个附件,则不打包 //如果只选择了一个附件,则不打包
if (null != ids && ids.size() == 1) { if (null != ids && ids.size() == 1) {
...@@ -1114,4 +1133,88 @@ public class TaxDocumentServiceImpl { ...@@ -1114,4 +1133,88 @@ public class TaxDocumentServiceImpl {
return false; return false;
} }
} }
/**
* 获取PDF总页数
* @throws IOException
*/
public int getPDFNum(String fileUrl) throws IOException {
PDDocument pdDocument = null;
int pages = 0;
try {
pdDocument = getPDDocument(fileUrl);
pages = pdDocument.getNumberOfPages();
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(),e);
} finally {
if (pdDocument != null) {
pdDocument.close();
}
}
return pages;
}
/**
* PDF转图片 根据页码一页一页转
* @throws IOException
* imgType:转换后的图片类型 jpg,png
*/
private void PDFToImg(OutputStream sos,String fileUrl,int page,String imgType) throws IOException {
PDDocument pdDocument = null;
/* dpi越大转换后越清晰,相对转换速度越慢 */
int dpi = 100;
try {
pdDocument = getPDDocument(fileUrl);
PDFRenderer renderer = new PDFRenderer(pdDocument);
int pages = pdDocument.getNumberOfPages();
if (page <= pages && page > 0) {
BufferedImage image = renderer.renderImageWithDPI(page,dpi);
ImageIO.write(image, imgType, sos);
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(),e);
} finally {
if (pdDocument != null) {
pdDocument.close();
}
}
}
private PDDocument getPDDocument(String fileUrl) throws IOException {
InputStream inputStream = getInputStreamByUrl(fileUrl);
return PDDocument.load(inputStream);
}
/**
* 根据url地址 获取输入流
* @param url
* @return
* @throws IOException
*/
public InputStream getInputStreamByUrl(String url) throws IOException {
URL httpurl=new URL(URLDecoder.decode(url, "UTF-8"));
InputStream is;
HttpURLConnection httpConn=(HttpURLConnection)httpurl.openConnection();
httpConn.setDoOutput(true);// 使用 URL 连接进行输出
httpConn.setDoInput(true);// 使用 URL 连接进行输入
httpConn.setUseCaches(false);// 忽略缓存
httpConn.setRequestMethod("GET");// 设置URL请求方法
//可设置请求头
httpConn.setRequestProperty("Content-Type", "application/octet-stream");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
httpConn.connect();
if (httpConn.getResponseCode() >= 400 ) {
is = httpConn.getErrorStream();
}
else{
is = httpConn.getInputStream();
}
return is;
}
} }
package pwc.taxtech.atms.dpo; package pwc.taxtech.atms.dpo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
public class OrganizationServiceTemplateGroupDto { public class OrganizationServiceTemplateGroupDto {
...@@ -11,8 +12,11 @@ public class OrganizationServiceTemplateGroupDto { ...@@ -11,8 +12,11 @@ public class OrganizationServiceTemplateGroupDto {
@JsonProperty("serviceTypeID") @JsonProperty("serviceTypeID")
private String serviceTypeId; private String serviceTypeId;
private String serviceTypeName; private String serviceTypeName;
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JsonProperty("templateGroupID") @JsonProperty("templateGroupID")
private Long templateGroupId; private Long templateGroupId;
private String templateGroupName; private String templateGroupName;
/** /**
......
package pwc.taxtech.atms.common;
import com.alibaba.fastjson.annotation.JSONField;
/**
* @Auther: Gary J Li
* @Date: 05/03/2019 18:25
* @Description:
*/
public class DDUserInfo {
private int uid;
private String phone;
@JSONField(name = "username_zh")
private String username_zh;
private String email;
private String username;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUsername_zh() {
return username_zh;
}
public void setUsername_zh(String username_zh) {
this.username_zh = username_zh;
}
}
package pwc.taxtech.atms.common;
import com.alibaba.fastjson.annotation.JSONField;
/**
* @Auther: Gary J Li
* @Date: 05/03/2019 18:25
* @Description:
*/
public class DDUserInfoRes {
private int errno;
@JSONField(name = "data")
private DDUserInfo ddUserInfo;
private String errmsg;
public int getErrno() {
return errno;
}
public void setErrno(int errno) {
this.errno = errno;
}
public DDUserInfo getDdUserInfo() {
return ddUserInfo;
}
public void setDdUserInfo(DDUserInfo ddUserInfo) {
this.ddUserInfo = ddUserInfo;
}
public String getErrmsg() {
return errmsg;
}
public void setErrmsg(String errmsg) {
this.errmsg = errmsg;
}
}
...@@ -130,7 +130,7 @@ public class IndexController { ...@@ -130,7 +130,7 @@ public class IndexController {
}catch (Exception e){ }catch (Exception e){
logger.error("ddSSOCallback error",e); logger.error("ddSSOCallback error",e);
} }
return "redirect:"+tempContextUrl+"Account/LogOn"; return "redirect:"+tempContextUrl;
} }
@RequestMapping(value = {"/admin", "/admin.html"}, method = RequestMethod.GET) @RequestMapping(value = {"/admin", "/admin.html"}, method = RequestMethod.GET)
......
...@@ -778,6 +778,7 @@ ...@@ -778,6 +778,7 @@
"settings": "Configuration Management", "settings": "Configuration Management",
"startsWith": "Start From", "startsWith": "Start From",
"~MustBeEndOneApp": "I Must be the End One, please!", "~MustBeEndOneApp": "I Must be the End One, please!",
"batchImport": "Batch Import",
"Accessable": "可访问", "Accessable": "可访问",
"BusinessUnitDesc": "Business unit", "BusinessUnitDesc": "Business unit",
......
...@@ -855,6 +855,7 @@ ...@@ -855,6 +855,7 @@
"originalAmount": "原先金额", "originalAmount": "原先金额",
"settings": "配置管理", "settings": "配置管理",
"startsWith": "起始于", "startsWith": "起始于",
"batchImport": "批处理",
"RecordSize": "记录条数", "RecordSize": "记录条数",
"ExtractFile": "抽取类型", "ExtractFile": "抽取类型",
......
...@@ -278,7 +278,8 @@ ...@@ -278,7 +278,8 @@
} }
else { else {
$scope.confirmDocFileType = createDocFileType; $scope.confirmDocFileType = createDocFileType;
$scope.editModel = {}; //默认为选中
$scope.editModel = {"status":1};
} }
createMultiSelect(); createMultiSelect();
$('#editPopDialog').modal('show'); $('#editPopDialog').modal('show');
......
...@@ -162,7 +162,7 @@ ...@@ -162,7 +162,7 @@
|| editModel.status == null || editModel.status == null
|| editModel.status == undefined || editModel.status == undefined
|| editModel.status == ''" || editModel.status == ''"
ng-model="editModel.status"/> ng-model="editModel.status" />
<span translate="Enable"></span> <span translate="Enable"></span>
</label> </label>
<label class="col-sm-5 DM-state-label"> <label class="col-sm-5 DM-state-label">
......
...@@ -133,6 +133,18 @@ controller('editOrganizationModalController', ['$scope', '$log', '$translate', ' ...@@ -133,6 +133,18 @@ controller('editOrganizationModalController', ['$scope', '$log', '$translate', '
if ($scope.componentSelectedArea) { if ($scope.componentSelectedArea) {
editModel.areaID = $scope.selectedAreaId; editModel.areaID = $scope.selectedAreaId;
} }
//所属业务线校验
if(!editModel.businessUnitID){
SweetAlert.error("请检查必填项");
return;
}
//区域校验
if (editModel.areaID === "") {
SweetAlert.error("请检查必填项");
return;
}
if ($scope.isAdd) { if ($scope.isAdd) {
editModel.isActive = true; editModel.isActive = true;
orgService.addOrg(editModel).success(function (orgId) { orgService.addOrg(editModel).success(function (orgId) {
...@@ -277,6 +289,17 @@ controller('editOrganizationModalController', ['$scope', '$log', '$translate', ' ...@@ -277,6 +289,17 @@ controller('editOrganizationModalController', ['$scope', '$log', '$translate', '
editModel.areaID = $scope.selectedAreaId; editModel.areaID = $scope.selectedAreaId;
} }
//所属业务线校验
if(!editModel.businessUnitID){
SweetAlert.error("请检查必填项");
return;
}
//区域校验
if (editModel.areaID === "") {
SweetAlert.error("请检查必填项");
return;
}
if((typeof $scope.editOrgModel.foundationDate) ==="string"){ if((typeof $scope.editOrgModel.foundationDate) ==="string"){
if (""!==($scope.editOrgModel.foundationDate)) { if (""!==($scope.editOrgModel.foundationDate)) {
$scope.editOrgModel.foundationDate = new Date($scope.editOrgModel.foundationDate); $scope.editOrgModel.foundationDate = new Date($scope.editOrgModel.foundationDate);
......
...@@ -738,9 +738,16 @@ ...@@ -738,9 +738,16 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport; logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
} }
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime; var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList); var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
// var orgIds = $scope.checkedCompanyList;
Upload.upload({ Upload.upload({
url: $scope.importATExcelFile, url: $scope.importATExcelFile,
......
...@@ -12,11 +12,11 @@ ...@@ -12,11 +12,11 @@
<div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%;margin-bottom: -38px;"> <div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%;margin-bottom: -38px;">
<div class="import-wrapper"> <div class="import-wrapper">
<div class="row"> <div class="row">
<div class="col-sm-6 leftNav"> <div class="col-sm-6 leftNav" style="width: 60%;">
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" > data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width:200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()" <input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne" ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px"> style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;">{{i.name}}</span> <span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div> </div>
</li> </li>
</ul> </ul>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
</div> </div>
......
...@@ -712,7 +712,15 @@ ...@@ -712,7 +712,15 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport; logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
} }
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime; var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList); var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({ Upload.upload({
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" > data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width:200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
</div> </div>
<div class="col-sm-6 rightNav " style="width: 40%;margin-top: 10px;"> <div class="col-sm-6 rightNav " style="width: 40%;margin-top: 10px;">
......
...@@ -716,9 +716,16 @@ ...@@ -716,9 +716,16 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport; logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
} }
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime; var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList); var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({ Upload.upload({
url: $scope.importCFExcelFile, url: $scope.importCFExcelFile,
data: { data: {
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" > data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width:200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
</div> </div>
<div class="col-sm-6 rightNav" style="width: 40%;margin-top: 10px;"> <div class="col-sm-6 rightNav" style="width: 40%;margin-top: 10px;">
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="auto"> data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width:200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
</div> </div>
<div style = "width:40%; margin-top: 10px;" class="col-sm-6 rightNav"> <div style = "width:40%; margin-top: 10px;" class="col-sm-6 rightNav">
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 380px;"> data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width:200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()" <input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne" ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px"> style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;">{{i.name}}</span> <span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div> </div>
</li> </li>
</ul> </ul>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
<button type="button" <button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false" ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 380px;"> data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()" <input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne" ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px"> style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;">{{i.name}}</span> <span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div> </div>
</li> </li>
</ul> </ul>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
<button type="button" <button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false" ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 380px;"> data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()" <input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne" ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px"> style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;">{{i.name}}</span> <span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div> </div>
</li> </li>
</ul> </ul>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 380px;"> data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()" <input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne" ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px"> style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;">{{i.name}}</span> <span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div> </div>
</li> </li>
</ul> </ul>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
<button type="button" <button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false" ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 380px;"> data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()" <input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne" ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px"> style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;">{{i.name}}</span> <span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div> </div>
</li> </li>
</ul> </ul>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
<button type="button" <button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false" ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
......
...@@ -181,10 +181,16 @@ ...@@ -181,10 +181,16 @@
logDto.OperationName = $translate.instant('AddImportProfitLoss'); logDto.OperationName = $translate.instant('AddImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport; logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
} }
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime; var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList); var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({ Upload.upload({
url: $scope.importCPRExcelFile, url: $scope.importCPRExcelFile,
data: { data: {
...@@ -209,6 +215,7 @@ ...@@ -209,6 +215,7 @@
logDto.UpdateState = $translate.instant('ImportSuccess'); logDto.UpdateState = $translate.instant('ImportSuccess');
vatOperationLogService.addOperationLog(logDto); vatOperationLogService.addOperationLog(logDto);
SweetAlert.success($translate.instant('ImportSuccess')); SweetAlert.success($translate.instant('ImportSuccess'));
$scope.fileNameShow=false;
} else { } else {
if (ret.resultMsg && ret.resultMsg.length > 0) { if (ret.resultMsg && ret.resultMsg.length > 0) {
SweetAlert.warning($translate.instant(ret.resultMsg)); SweetAlert.warning($translate.instant(ret.resultMsg));
...@@ -355,6 +362,7 @@ ...@@ -355,6 +362,7 @@
return; return;
} }
$scope.fileName = fileName.name; $scope.fileName = fileName.name;
$scope.fileNameShow = $scope.fileName?true:false;
//初始化数据 //初始化数据
$scope.selectedMappingList = []; $scope.selectedMappingList = [];
$scope.ImportErrorTab = false; $scope.ImportErrorTab = false;
...@@ -404,7 +412,7 @@ ...@@ -404,7 +412,7 @@
var setButtonWrapStyle = function () { var setButtonWrapStyle = function () {
if ($scope.fileName) { if ($scope.fileNameShow) {
return { width: "100%" }; return { width: "100%" };
} }
}; };
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
<!--标题--> <!--标题-->
<div class="nav-wrapper"> <div class="nav-wrapper">
<div class="nav-header" translate="CoupaPurchasingReportTitle"></div> <div class="nav-header" translate="CoupaPurchasingReportTitle"></div>
<div class="alert alert-warning" style="width:400px;margin-bottom:5px;" ng-show="ImportErrorTab" ng-click="toggleErrorTab()"> <div class="alert alert-warning" style="width:400px;margin-bottom:5px;" ng-show="ImportErrorTab"
ng-click="toggleErrorTab()">
<i class="fa fa-exclamation-circle" aria-hidden="true"></i>{{errorMsg}} <i class="fa fa-exclamation-circle" aria-hidden="true"></i>{{errorMsg}}
</div> </div>
</div> </div>
...@@ -11,15 +12,15 @@ ...@@ -11,15 +12,15 @@
<form class="form-inline" id="navigationForm" name="navigationForm"> <form class="form-inline" id="navigationForm" name="navigationForm">
<div class="form-group" ng-style="setButtonWrapStyle()" style="margin-bottom: -38px; width: 100%;"> <div class="form-group" ng-style="setButtonWrapStyle()" style="margin-bottom: -38px; width: 100%;">
<div class="import-wrapper"> <div class="import-wrapper">
<div class="col-sm-6 leftNav"> <div class="col-sm-6 leftNav" style="width: 60%;">
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" style="width:200px;" type="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" > id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
<ul class="dropdown-menu" style="width: 380px;" aria-labelledby="dropdownMenu1"> <ul class="dropdown-menu" style="width: 400px;" aria-labelledby="dropdownMenu1">
<li><input type="checkbox" ng-model="selectedAll" ng-change="selectAll()" <li><input type="checkbox" ng-model="selectedAll" ng-change="selectAll()"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px" checked> style="float: left;margin-left: 10px; margin-top: 7px; width: 15px" checked>
<span style="margin-left:5px;float: left;">全选</span></li> <span style="margin-left:5px;float: left;">全选</span></li>
...@@ -30,40 +31,34 @@ ...@@ -30,40 +31,34 @@
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()" <input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne" ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px"> style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;">{{i.name}}</span> <span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div> </div>
</li> </li>
</ul> </ul>
</div> </div>
<span class="text-bold" translate="InvoiceQJ"></span>: <span class="text-bold" translate="InvoiceQJ"></span>:
<div class="period-picker" style="margin-left:10px"> <div class="period-picker" style="margin-left:10px">
<input type="text" id="periodDatepicker" class="datepicker imp-subheader" style="width:120px;" <input type="text" id="periodDatepicker" class="datepicker imp-subheader"
readonly="readonly" ng-model="UploadPeriodTime"/> style="width:120px;" readonly="readonly" ng-model="UploadPeriodTime" />
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileNameShow" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
</div> </div>
<div class="col-sm-6 rightNav" style="width: 40%;margin-top: 10px;"> <div class="col-sm-6 rightNav" style="width: 40%;margin-top: 10px;">
<button type="button" <button type="button" ngf-select="" type="file" ng-model="importExcelFile"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
ngf-allow-dir="false" class="btn btn-vat-third" > ngf-allow-dir="false" class="btn btn-vat-third">
{{'SelectFile' | translate}} {{'SelectFile' | translate}}
</button> </button>
<button type="button" <button type="button" class="btn btn-vat-primary" translate="TemplateBtn"
class="btn btn-vat-primary"
translate="TemplateBtn"
ng-click="downloadTemplate()"></button> ng-click="downloadTemplate()"></button>
<button type="button " <button type="button " class="btn btn-vat-primary topButton" translate="AddImportBtn"
class="btn btn-vat-primary topButton"
translate="AddImportBtn"
ng-click="doUploadCPR(importEnum.AddImport)"></button> ng-click="doUploadCPR(importEnum.AddImport)"></button>
<button type="button" <button type="button" class="btn btn-vat-primary topButton" translate="CoverImportBtn"
class="btn btn-vat-primary topButton"
translate="CoverImportBtn"
ng-click="doUploadCPR(importEnum.CoverImport)"></button> ng-click="doUploadCPR(importEnum.CoverImport)"></button>
...@@ -89,8 +84,7 @@ ...@@ -89,8 +84,7 @@
</div> </div>
</div> </div>
<div class="page-footer"> <div class="page-footer">
<ack-pagination page-options="pagingOptions" <ack-pagination page-options="pagingOptions" refresh-table="refreshConfigGrid()"></ack-pagination>
refresh-table="refreshConfigGrid()"></ack-pagination>
</div> </div>
</div> </div>
</div> </div>
...@@ -117,7 +111,3 @@ ...@@ -117,7 +111,3 @@
<vat-operate-log period="period" module-type="moduleid" is-show="isShowLog"></vat-operate-log> <vat-operate-log period="period" module-type="moduleid" is-show="isShowLog"></vat-operate-log>
</div> </div>
\ No newline at end of file
...@@ -137,7 +137,15 @@ ...@@ -137,7 +137,15 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport; logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
} }
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime; var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList); var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({ Upload.upload({
......
...@@ -12,11 +12,11 @@ ...@@ -12,11 +12,11 @@
<div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%; margin-bottom: -38px;"> <div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%; margin-bottom: -38px;">
<div class="import-wrapper"> <div class="import-wrapper">
<div class="row"> <div class="row">
<div class="col-sm-6 leftNav "> <div class="col-sm-6 leftNav " style="width: 60%;">
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
</div> </div>
<div class="col-sm-6 rightNav" style="width: 40%; margin-top: 10px;"> <div class="col-sm-6 rightNav" style="width: 40%; margin-top: 10px;">
......
...@@ -164,10 +164,16 @@ ...@@ -164,10 +164,16 @@
logDto.OperationName = $translate.instant('AddImportProfitLoss'); logDto.OperationName = $translate.instant('AddImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport; logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
} }
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime; var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList); var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({ Upload.upload({
url: $scope.importIRExcelFile, url: $scope.importIRExcelFile,
data: { data: {
...@@ -192,6 +198,7 @@ ...@@ -192,6 +198,7 @@
logDto.UpdateState = $translate.instant('ImportSuccess'); logDto.UpdateState = $translate.instant('ImportSuccess');
vatOperationLogService.addOperationLog(logDto); vatOperationLogService.addOperationLog(logDto);
SweetAlert.success($translate.instant('ImportSuccess')); SweetAlert.success($translate.instant('ImportSuccess'));
$scope.fileNameShow = false;
} else { } else {
if (ret.resultMsg && ret.resultMsg.length > 0) { if (ret.resultMsg && ret.resultMsg.length > 0) {
SweetAlert.warning($translate.instant(ret.resultMsg)); SweetAlert.warning($translate.instant(ret.resultMsg));
...@@ -346,6 +353,7 @@ ...@@ -346,6 +353,7 @@
return; return;
} }
$scope.fileName = fileName.name; $scope.fileName = fileName.name;
$scope.fileNameShow = $scope.fileName?true:false;
//初始化数据 //初始化数据
$scope.selectedMappingList = []; $scope.selectedMappingList = [];
$scope.ImportErrorTab = false; $scope.ImportErrorTab = false;
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" > data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -42,8 +42,8 @@ ...@@ -42,8 +42,8 @@
readonly="readonly" ng-model="UploadPeriodTime"/> readonly="readonly" ng-model="UploadPeriodTime"/>
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileNameShow" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
</div> </div>
<div class="col-sm-6 col-xs-6 col-lg-6 rightNav" style="width: 40%; margin-top: 10px" > <div class="col-sm-6 col-xs-6 col-lg-6 rightNav" style="width: 40%; margin-top: 10px" >
......
...@@ -166,7 +166,15 @@ ...@@ -166,7 +166,15 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport; logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
} }
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime; var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList); var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({ Upload.upload({
......
...@@ -12,11 +12,11 @@ ...@@ -12,11 +12,11 @@
<div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%;margin-bottom: -38px;"> <div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%;margin-bottom: -38px;">
<div class="import-wrapper"> <div class="import-wrapper">
<div class="row"> <div class="row">
<div class="col-sm-6 leftNav"> <div class="col-sm-6 leftNav" style="width: 60%;">
<span class="text-bold" translate="SelectedOrganization"></span>: <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" > data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}} {{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span> <span class="caret" style="float: right "></span>
</button> </button>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i> <i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div> </div>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div> </div>
</div> </div>
<div class="col-sm-6 rightNav" style="width: 40%; margin-top: 10px;"> <div class="col-sm-6 rightNav" style="width: 40%; margin-top: 10px;">
......
...@@ -165,7 +165,15 @@ ...@@ -165,7 +165,15 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport; logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
} }
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime; var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList); var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({ Upload.upload({
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
<!--标题--> <!--标题-->
<div class="nav-wrapper"> <div class="nav-wrapper">
<div class="nav-header" translate="RedLetterInformationTableTitle"></div> <div class="nav-header" translate="RedLetterInformationTableTitle"></div>
<div class="alert alert-warning" style="width:400px;margin-bottom:5px;" ng-show="ImportErrorTab" ng-click="toggleErrorTab()"> <div class="alert alert-warning" style="width:400px;margin-bottom:5px;" ng-show="ImportErrorTab"
ng-click="toggleErrorTab()">
<i class="fa fa-exclamation-circle" aria-hidden="true"></i>{{errorMsg}} <i class="fa fa-exclamation-circle" aria-hidden="true"></i>{{errorMsg}}
</div> </div>
</div> </div>
...@@ -65,38 +66,62 @@ ...@@ -65,38 +66,62 @@
</div> </div>
</form>--> </form>-->
<form class="form-inline"> <form class="form-inline">
<div class="form-group" style="margin-bottom: -38px;width: 100%" > <div class="form-group" style="margin-bottom: -38px;width: 100%">
<div class="row"> <div class="import-wrapper">
<div class="col-sm-6 leftNav" style="width: 60%"> <div class="col-sm-6 leftNav" style="width: 60%;">
<label class="col-sm-1 control-label marTop">{{'SelectedOrganization' | translate}}:</label> <span class="text-bold" translate="SelectedOrganization"></span>:
<div class="col-sm-3 marTop"> <div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" style="width: 200px;" type="button"
id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 200px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span>
</button>
<ul class="dropdown-menu" style="width: 400px;" aria-labelledby="dropdownMenu1">
<li><input type="checkbox" ng-model="selectedAll" ng-change="selectAll()"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px" checked>
<span style="margin-left:5px;float: left;">全选</span></li>
<li role="separator" class="divider" style="height: 1px;margin: 9px 0;
overflow: hidden;background-color: #e5e5e5;"></li>
<li ng-repeat="i in companyList">
<div class="checkbox-custom checkbox-default">
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div>
</li>
</ul>
</div>
<span class="text-bold" translate="InvoiceQJ"></span>:
<div class="period-picker" style="margin-left:10px">
<input type="text" id="periodDatepicker" class="datepicker imp-subheader"
style="width:120px;" readonly="readonly" ng-model="UploadPeriodTime" />
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<!-- <label class="col-sm-2 control-label marTop">{{'SelectedOrganization' | translate}}:</label>
<div class="col-sm-5 marTop">
<div dx-tag-box="selectOrgOptions" style="position: relative; left: 33px;"></div> <div dx-tag-box="selectOrgOptions" style="position: relative; left: 33px;"></div>
</div> </div>
<label class="col-sm-1 control-label marTop" style="margin-left: 60px;">{{'InvoiceQJ' | translate}}:</label> <label class="col-sm-2 control-label marTop" style="margin-left: 60px;">{{'InvoiceQJ' | translate}}:</label>
<div class="col-sm-1 marTop" style=" width: 14%;"> <div class="col-sm-3 marTop" style=" width: 14%;">
<input type="text" id="periodDatepicker" class="datepicker form-control imp-subheader" style="width:120px; display: inline-block" <input type="text" id="periodDatepicker" class="datepicker form-control imp-subheader" style="width:120px; display: inline-block"
readonly="readonly" ng-model="UploadPeriodTime"/> readonly="readonly" ng-model="UploadPeriodTime"/>
<i class="fa fa-calendar imp-subheader red-color" style=" position: relative; right: relative; right: -100px; top: -26px;"></i> <i class="fa fa-calendar imp-subheader red-color" style=" position: relative; right: relative; right: -100px; top: -26px;"></i>
</div> </div> -->
</div> </div>
<div class="col-sm-6 rightNav" style="margin-top: 10px; width: 40%"> <div class="col-sm-6 rightNav" style="margin-top: 10px; width: 40%">
<button type="button" <button type="button" ngf-select="" type="file" ng-model="importExcelFile"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
ngf-allow-dir="false" class="btn btn-vat-third" > ngf-allow-dir="false" class="btn btn-vat-third">
{{'SelectFile' | translate}} {{'SelectFile' | translate}}
</button> </button>
<span ng-show="fileName" class="marTop" title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span> <span ng-show="fileName" class="marTop"
<button type="button" title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>
class="btn btn-vat-primary" <button type="button" class="btn btn-vat-primary" translate="TemplateBtn"
translate="TemplateBtn"
ng-click="downloadTemplate()"></button> ng-click="downloadTemplate()"></button>
<button type="button" <button type="button" class="btn btn-vat-primary topButton" translate="CoverImportBtn"
class="btn btn-vat-primary topButton"
translate="CoverImportBtn"
ng-click="doUploadRLIT(importEnum.CoverImport)"></button> ng-click="doUploadRLIT(importEnum.CoverImport)"></button>
<button type="button" <button type="button" class="btn btn-vat-primary topButton" translate="AddImportBtn"
class="btn btn-vat-primary topButton"
translate="AddImportBtn"
ng-click="doUploadRLIT(importEnum.AddImport)"></button> ng-click="doUploadRLIT(importEnum.AddImport)"></button>
</div> </div>
</div> </div>
...@@ -110,8 +135,7 @@ ...@@ -110,8 +135,7 @@
</div> </div>
</div> </div>
<div class="page-footer"> <div class="page-footer">
<ack-pagination page-options="pagingOptions" <ack-pagination page-options="pagingOptions" refresh-table="refreshConfigGrid()"></ack-pagination>
refresh-table="refreshConfigGrid()"></ack-pagination>
</div> </div>
</div> </div>
</div> </div>
...@@ -138,7 +162,3 @@ ...@@ -138,7 +162,3 @@
<vat-operate-log period="period" module-type="moduleid" is-show="isShowLog"></vat-operate-log> <vat-operate-log period="period" module-type="moduleid" is-show="isShowLog"></vat-operate-log>
</div> </div>
\ No newline at end of file
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
{{'SelectFile' | translate}} {{'SelectFile' | translate}}
</button> </button>
<div ng-show="fileName" style="display:inline-block"> <div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>&nbsp;&nbsp;&nbsp;&nbsp;| <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:50}}</span>&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="WorkSheet"></span> <span translate="WorkSheet"></span>
<div class="ui-select-no-border"> <div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;"> <ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;">
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
<!--</a>--> <!--</a>-->
<!--</div>--> <!--</div>-->
<div class="nav-element-right" ng-show="batchImportShow"> <div class="nav-element-right" ng-show="batchImportShow">
<a ui-sref="overviewDataImp"> <a title="{{'batchImport'|translate}}" ui-sref="overviewDataImp">
<i class="fa fa-circle-o-notch nav-icon-color"></i> <i class="fa fa-circle-o-notch nav-icon-color"></i>
</a> </a>
</div> </div>
......
...@@ -908,23 +908,23 @@ ...@@ -908,23 +908,23 @@
$state.go('vat.importData.erpImport'); $state.go('vat.importData.erpImport');
} else if (data[constant.vatPermission.dataPreview.trialBalance.queryCode]) { } else if (data[constant.vatPermission.dataPreview.trialBalance.queryCode]) {
$state.go('vat.previewData.trialBalance'); $state.go('vat.previewData.trialBalance');
} else if (data[constant.vatPermission.previewData.profitLoss.queryCode]) { } else if (data[constant.vatPermission.dataPreview.profitLoss.queryCode]) {
$state.go('vat.previewData.profitLoss'); $state.go('vat.previewData.profitLoss');
} else if (data[constant.vatPermission.previewData.offBalanceSheet.queryCode]) { } else if (data[constant.vatPermission.dataPreview.offBalanceSheet.queryCode]) {
$state.go('vat.previewData.offBalanceSheet'); $state.go('vat.previewData.offBalanceSheet');
} else if (data[constant.vatPermission.previewData.journal.queryCode]) { } else if (data[constant.vatPermission.dataPreview.journal.queryCode]) {
$state.go('vat.previewData.journal'); $state.go('vat.previewData.journal');
} else if (data[constant.vatPermission.previewData.cashFlow.queryCode]) { } else if (data[constant.vatPermission.dataPreview.cashFlow.queryCode]) {
$state.go('vat.previewData.cashFlow'); $state.go('vat.previewData.cashFlow');
} else if (data[constant.vatPermission.previewData.invoiceRecord.queryCode]) { } else if (data[constant.vatPermission.dataPreview.invoiceRecord.queryCode]) {
$state.go('vat.previewData.invoiceRecord'); $state.go('vat.previewData.invoiceRecord');
} else if (data[constant.vatPermission.previewData.certifiedInvoicesList.queryCode]) { } else if (data[constant.vatPermission.dataPreview.certifiedInvoicesList.queryCode]) {
$state.go('vat.previewData.certifiedInvoicesList'); $state.go('vat.previewData.certifiedInvoicesList');
} else if (data[constant.vatPermission.previewData.redLetterInformationTable.queryCode]) { } else if (data[constant.vatPermission.dataPreview.redLetterInformationTable.queryCode]) {
$state.go('vat.previewData.redLetterInfoTab'); $state.go('vat.previewData.redLetterInfoTab');
} else if (data[constant.vatPermission.previewData.coupaPurchasingReport.queryCode]) { } else if (data[constant.vatPermission.dataPreview.coupaPurchasingReport.queryCode]) {
$state.go('vat.previewData.coupaPurchasingReport'); $state.go('vat.previewData.coupaPurchasingReport');
} else if (data[constant.vatPermission.previewData.invoiceData.queryCode]) { } else if (data[constant.vatPermission.dataPreview.invoiceData.queryCode]) {
$state.go('vat.previewData.invoiceData'); $state.go('vat.previewData.invoiceData');
} else if (data[constant.vatPermission.dataManage.caculateDataCode]) { } else if (data[constant.vatPermission.dataManage.caculateDataCode]) {
$state.go('vat.reductionData.caculateData'); $state.go('vat.reductionData.caculateData');
......
...@@ -378,7 +378,7 @@ ...@@ -378,7 +378,7 @@
<span translate="DocumentAttr"></span> <span translate="DocumentAttr"></span>
</div> </div>
<div class="TDL-query-val"> <div class="TDL-query-val">
<select ng-model="queryFieldModel.fileAttr" <select ng-model="queryFieldModel.fileAttr" ng-change="queryFileAttr(queryFieldModel.fileAttr)"
class="form-control radius3" class="form-control radius3"
placeholder="{{'PleaseSelected' | translate}}"> placeholder="{{'PleaseSelected' | translate}}">
<option value=""></option> <option value=""></option>
...@@ -415,11 +415,11 @@ ...@@ -415,11 +415,11 @@
<!--<input type="text" class="form-control radius3"--> <!--<input type="text" class="form-control radius3"-->
<!--ng-model="queryFieldModel.AvailabilityDate"/>--> <!--ng-model="queryFieldModel.AvailabilityDate"/>-->
<!--<input type="text" class="form-control radius3" id="period-picker1"/>--> <!--<input type="text" class="form-control radius3" id="period-picker1"/>-->
<input type='text' placeholder="From" ng-change="changeDateRangeError()" <input type='text' placeholder="From" ng-change="changeDateRangeError(1)"
date-time-picker class="form-control TDL-query-val-multi" date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.fileBeginTime" data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.fileBeginTime"
data-min-view-mode="0" /> data-min-view-mode="0" />
<input type='text' placeholder="To" ng-change="changeDateRangeError()" <input type='text' placeholder="To" ng-change="changeDateRangeError(2)"
date-time-picker class="form-control TDL-query-val-multi" date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.fileEndTTime" data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.fileEndTTime"
data-min-view-mode="0" /> data-min-view-mode="0" />
...@@ -433,11 +433,11 @@ ...@@ -433,11 +433,11 @@
<div class="TDL-query-val"> <div class="TDL-query-val">
<!--<input type="text" class="form-control radius3"--> <!--<input type="text" class="form-control radius3"-->
<!--ng-model="queryFieldModel.Duration"/>--> <!--ng-model="queryFieldModel.Duration"/>-->
<input type='text' placeholder="From" ng-change="changeDateRangeError()" <input type='text' placeholder="From" ng-change="changeDateRangeError(1)"
date-time-picker class="form-control TDL-query-val-multi" date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyymm" ng-model="queryFieldModel.ownBeginTime" data-date-format="yyyymm" ng-model="queryFieldModel.ownBeginTime"
data-min-view-mode="1"/> data-min-view-mode="1"/>
<input type='text' placeholder="To" ng-change="changeDateRangeError()" <input type='text' placeholder="To" ng-change="changeDateRangeError(2)"
date-time-picker class="form-control TDL-query-val-multi" date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyymm" ng-model="queryFieldModel.ownEndTime" data-date-format="yyyymm" ng-model="queryFieldModel.ownEndTime"
data-min-view-mode="1"/> data-min-view-mode="1"/>
...@@ -478,7 +478,7 @@ ...@@ -478,7 +478,7 @@
<span translate="CorporationName"></span> <span translate="CorporationName"></span>
</div> </div>
<div class="TDL-query-val"> <div class="TDL-query-val">
<div dx-select-box="queryOrgOptions"></div> <div dx-select-box="queryOrgOptions" style="height: 33px;position: relative;top: 9px"></div>
<!--<select ng-model="queryFieldModel.companyName" class="form-control radius3"--> <!--<select ng-model="queryFieldModel.companyName" class="form-control radius3"-->
<!--title="{{queryFieldModel.companyName}}" required--> <!--title="{{queryFieldModel.companyName}}" required-->
...@@ -499,11 +499,11 @@ ...@@ -499,11 +499,11 @@
<div class="TDL-query-val"> <div class="TDL-query-val">
<!--<input type="text" class="form-control radius3"--> <!--<input type="text" class="form-control radius3"-->
<!--ng-model="queryFieldModel.DueDate"/>--> <!--ng-model="queryFieldModel.DueDate"/>-->
<input type='text' placeholder="From" ng-change="changeDateRangeError()" <input type='text' placeholder="From" ng-change="changeDateRangeError(1)"
date-time-picker class="form-control TDL-query-val-multi" date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.effectiveBeginTime" data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.effectiveBeginTime"
data-min-view-mode="0"/> data-min-view-mode="0"/>
<input type='text' placeholder="To" ng-change="changeDateRangeError()" <input type='text' placeholder="To" ng-change="changeDateRangeError(2)"
date-time-picker class="form-control TDL-query-val-multi" date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.effectiveEndTime" data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.effectiveEndTime"
data-min-view-mode="0"/> data-min-view-mode="0"/>
...@@ -585,11 +585,11 @@ ...@@ -585,11 +585,11 @@
<!--<input type="text" class="form-control radius3"--> <!--<input type="text" class="form-control radius3"-->
<!--ng-model="queryFieldModel.UploadDate"/>--> <!--ng-model="queryFieldModel.UploadDate"/>-->
<!--<input type="text" class="form-control radius3" id="period-picker4" />--> <!--<input type="text" class="form-control radius3" id="period-picker4" />-->
<input type='text' placeholder="From" ng-change="changeDateRangeError()" <input type='text' placeholder="From" ng-change="changeDateRangeError(1)"
date-time-picker class="form-control TDL-query-val-multi" date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.uploadBeginTime" data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.uploadBeginTime"
data-min-view-mode="0"/> data-min-view-mode="0"/>
<input type='text' placeholder="To" ng-change="changeDateRangeError()" <input type='text' placeholder="To" ng-change="changeDateRangeError(2)"
date-time-picker class="form-control TDL-query-val-multi" date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.uploadEndTime" data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.uploadEndTime"
data-min-view-mode="0"/> data-min-view-mode="0"/>
...@@ -821,7 +821,7 @@ ...@@ -821,7 +821,7 @@
</label> </label>
<div class="col-sm-11" style="width:61.67%"> <div class="col-sm-11" style="width:61.67%">
<input type='text' placeholder="{{'PleaseSelected' | translate}}" date-time-picker <input type='text' placeholder="{{'PleaseSelected' | translate}}" date-time-picker
data-date-format="yyyy/mm/dd" ng-change="changeFieldModel()" data-date-format="yyyy/mm/dd" ng-change="changeFieldModel(1)"
ng-required="isRequired('AvailabilityDate')" ng-required="isRequired('AvailabilityDate')"
class="form-control" ng-model="editFieldModel.fileTime"/> class="form-control" ng-model="editFieldModel.fileTime"/>
</div> </div>
...@@ -834,7 +834,7 @@ ...@@ -834,7 +834,7 @@
<div class="col-sm-11" style="width:61.67%"> <div class="col-sm-11" style="width:61.67%">
<input type='text' placeholder="{{'PleaseSelected' | translate}}" date-time-picker <input type='text' placeholder="{{'PleaseSelected' | translate}}" date-time-picker
data-date-format="yyyy/mm/dd" data-date-format="yyyy/mm/dd"
ng-required="isRequired('DueDate')" ng-change="changeFieldModel()" ng-required="isRequired('DueDate')" ng-change="changeFieldModel(2)"
class="form-control" ng-model="editFieldModel.effectiveTime"/> class="form-control" ng-model="editFieldModel.effectiveTime"/>
</div> </div>
</div> </div>
...@@ -990,7 +990,7 @@ ...@@ -990,7 +990,7 @@
{{'CorporationName' | translate}} {{'CorporationName' | translate}}
</label> </label>
<div class="col-sm-11" style="width:61.67%;height: 13px"> <div class="col-sm-11" style="width:61.67%;height: 13px">
<div dx-select-box="editFieldItemOrgOptions"></div> <div ng-class="{'upload-fail-mark':!editFieldItem.companyName}" dx-select-box="editFieldItemOrgOptions"></div>
<!--<select ng-model="editFieldItem.companyName" class="form-control"--> <!--<select ng-model="editFieldItem.companyName" class="form-control"-->
<!--title="{{editFieldItem.companyName}}"--> <!--title="{{editFieldItem.companyName}}"-->
...@@ -1063,7 +1063,7 @@ ...@@ -1063,7 +1063,7 @@
{{'AvailabilityDate' | translate}} {{'AvailabilityDate' | translate}}
</label> </label>
<div class="col-sm-11" style="width:61.67%"> <div class="col-sm-11" style="width:61.67%">
<input type='text' placeholder="{{'PleaseSelected' | translate}}" ng-change="changeFieldItem()" <input type='text' placeholder="{{'PleaseSelected' | translate}}" ng-change="changeFieldItem(1)"
ng-class="{'upload-fail-mark':isRequired('AvailabilityDate') && !editFieldItem.fileTime}" ng-class="{'upload-fail-mark':isRequired('AvailabilityDate') && !editFieldItem.fileTime}"
date-time-picker data-date-format="yyyy/mm/dd" date-time-picker data-date-format="yyyy/mm/dd"
class="form-control" ng-model="editFieldItem.fileTime"/> class="form-control" ng-model="editFieldItem.fileTime"/>
...@@ -1075,7 +1075,7 @@ ...@@ -1075,7 +1075,7 @@
{{'DueDate' | translate}} {{'DueDate' | translate}}
</label> </label>
<div class="col-sm-11" style="width:61.67%"> <div class="col-sm-11" style="width:61.67%">
<input type='text' placeholder="{{'PleaseSelected' | translate}}" ng-change="changeFieldItem()" <input type='text' placeholder="{{'PleaseSelected' | translate}}" ng-change="changeFieldItem(2)"
ng-class="{'upload-fail-mark':isRequired('DueDate') && !editFieldItem.effectiveTime}" ng-class="{'upload-fail-mark':isRequired('DueDate') && !editFieldItem.effectiveTime}"
date-time-picker data-date-format="yyyy/mm/dd" date-time-picker data-date-format="yyyy/mm/dd"
class="form-control" ng-model="editFieldItem.effectiveTime"/> class="form-control" ng-model="editFieldItem.effectiveTime"/>
......
...@@ -133,6 +133,9 @@ taxDocumentManageModule.factory('taxDocumentListService', ...@@ -133,6 +133,9 @@ taxDocumentManageModule.factory('taxDocumentListService',
readXLSX:function(params){ readXLSX:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/previewExcelToJson', params); return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/previewExcelToJson', params);
}, },
readPDF:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/previewPDF', params);
},
getBinaryData:function(url){ getBinaryData:function(url){
var defer = $q.defer(); var defer = $q.defer();
var oReq = new XMLHttpRequest(); var oReq = new XMLHttpRequest();
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
{{'SelectFile' | translate}} {{'SelectFile' | translate}}
</button> </button>
<div class="import-info-wrapper" ng-show="fileName"> <div class="import-info-wrapper" ng-show="fileName">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>&nbsp;&nbsp;&nbsp;&nbsp;| <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:50}}</span>&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="WorkSheet"></span> <span translate="WorkSheet"></span>
<div class="ui-select-no-border"> <div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeIncomeInvoiceSheet($item)" search-enabled="false" style="width:120px;"> <ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeIncomeInvoiceSheet($item)" search-enabled="false" style="width:120px;">
......
<div class="vat-import-output-invoice"> <div class="vat-import-output-invoice">
<div class="nav-wrapper"> <div class="nav-wrapper">
<div class="nav-header" translate="OutputInvoiceTitle"></div> <div class="nav-header" translate="OutputInvoiceTitle"></div>
<div class="nav-tab"> <!-- <div class="nav-tab"> -->
<span class="active" ng-click="switchTab($event)" translate="OutputInvoiceTab"></span><span ng-click="switchTab($event)" >{{ 'EvidenceTab' | translate }}{{evidenceTotalCount}}</span> <!-- <span class="active" ng-click="switchTab($event)" translate="OutputInvoiceTab"></span> -->
</div> <!-- <span ng-click="switchTab($event)" >{{ 'EvidenceTab' | translate }}{{evidenceTotalCount}}</span> -->
<!-- </div> -->
</div> </div>
<!--销项界面--> <!--销项界面-->
<div id="tab_total"> <div id="tab_total">
...@@ -30,7 +31,7 @@ ...@@ -30,7 +31,7 @@
{{'SelectFile' | translate}} {{'SelectFile' | translate}}
</button> </button>
<div class="import-info-wrapper" ng-show="fileName"> <div class="import-info-wrapper" ng-show="fileName">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>&nbsp;&nbsp;&nbsp;&nbsp;| <span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:50}}</span>&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="WorkSheet"></span> <span translate="WorkSheet"></span>
<div class="ui-select-no-border"> <div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;"> <ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;">
......
...@@ -314,7 +314,7 @@ ...@@ -314,7 +314,7 @@
{ name: $translate.instant('InvoicePaperNum'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.invoicesAmount}}</span></div>' }, { name: $translate.instant('InvoicePaperNum'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.invoicesAmount}}</span></div>' },
{ name: $translate.instant('CustomerCompanyTaxNum'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.customerCompanyTaxNum}}</span></div>' }, { name: $translate.instant('CustomerCompanyTaxNum'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.customerCompanyTaxNum}}</span></div>' },
{ name: $translate.instant('CustomerSourceSystem'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.contractSourceSystem}}</span></div>' }, { name: $translate.instant('CustomerSourceSystem'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.contractSourceSystem}}</span></div>' },
{ name: $translate.instant('TaxRate'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.taxRate}}</span></div>' }, { name: $translate.instant('TaxRate'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.taxRate*100+"%"}}</span></div>' },
{ name: $translate.instant('TaxAmount'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.taxAmount}}</span></div>' }, { name: $translate.instant('TaxAmount'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.taxAmount}}</span></div>' },
{ name: $translate.instant('InvoiceStatus'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.invoiceStatus}}</span></div>' }, { name: $translate.instant('InvoiceStatus'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.invoiceStatus}}</span></div>' },
{ name: $translate.instant('InvoiceSource'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.source}}</span></div>' }, { name: $translate.instant('InvoiceSource'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.source}}</span></div>' },
......
<!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"><link rel=icon href=favicon.ico><title>didi2</title><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Material+Icons"><link href=js/about.17654e8a.js rel=prefetch><link href=css/app.cf16809e.css rel=preload as=style><link href=css/chunk-vendors.2f35f377.css rel=preload as=style><link href=js/app.c8b0fed0.js rel=preload as=script><link href=js/chunk-vendors.39b13767.js rel=preload as=script><link href=css/chunk-vendors.2f35f377.css rel=stylesheet><link href=css/app.cf16809e.css rel=stylesheet></head><body><noscript><strong>We're sorry but didi2 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.39b13767.js></script><script src=js/app.c8b0fed0.js></script></body></html> <!DOCTYPE html>
\ No newline at end of file <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">
<link rel=icon href=favicon.ico>
<title>didi2</title>
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Material+Icons">
<link href=js/about.17654e8a.js rel=prefetch>
<link href=css/app.cf16809e.css rel=preload as=style>
<link href=css/chunk-vendors.2f35f377.css rel=preload as=style>
<link href=js/app.c8b0fed0.js rel=preload as=script>
<link href=js/chunk-vendors.39b13767.js rel=preload as=script>
<link href=css/chunk-vendors.2f35f377.css rel=stylesheet>
<link href=css/app.cf16809e.css rel=stylesheet>
</head>
<body>
<noscript>
<strong>We're sorry but didi2 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<script src=js/chunk-vendors.39b13767.js></script>
<script src=js/app.c8b0fed0.js></script>
<script>
//获取地址栏参数,name:参数名称
var z =function getUrlParms(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)
return unescape(r[2]);
return null;
}
var code = z("code");
var ticket=z("ticketStr");
var sc= function setCookie(name,value) {
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
sc("ddCode",code);
sc("ddTicket",ticket );
var gc= function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
</script>
</body>
</html>
\ No newline at end of file
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