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 @@
<artifactId>lombok</artifactId>
<version>1.18.0</version>
</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>
<profiles>
......
......@@ -37,7 +37,7 @@ public class ApprovalController {
@ResponseBody
@RequestMapping(value = "/deploy", method = RequestMethod.POST)
public ResponseEntity deploy() {
repositoryService.createDeployment().addClasspathResource("bpmn/approval.bpmn").deploy();
repositoryService.createDeployment().addClasspathResource("bpmn/approval1.bpmn").deploy();
return ResponseEntity.ok().build();
}
......
......@@ -94,13 +94,13 @@ public class OperationLogFileTypeController {
// public ReturnData selectListForLog(@RequestBody OperationLogFileType operationLogFileType){
try {
Map<String, String> headers = new LinkedHashMap<>();
headers.put("id", "id");
headers.put("id", "序号");
headers.put("create_time", "操作时间");
headers.put("operation_action", "操作");
headers.put("update_state", "操作内容");
headers.put("operation_user", "操作人员");
headers.put("ip", "操作ip");
headers.put("comment", "备注");
headers.put("create_time", "操作时间");
List<OperationLogFileType> fileTypes = operationLogFileTypeService.selectFileTypesList();
// List<OperationLogFileType> operationLogFileTypes = operationLogFileTypeService.selectListForLog(operationLogFileType.getFileTypeIds());
response.setContentType("multipart/form-data");
......
......@@ -31,12 +31,8 @@ import pwc.taxtech.atms.vat.entity.FileUpload;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
......@@ -112,6 +108,50 @@ public class TaxDocumentController {
//地址示例: D://multipaiInitData
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")
@ResponseBody
public void exportExcelFile(HttpServletResponse response, @RequestBody TaxDocumentDto taxDocumentDto) {
......@@ -207,7 +247,7 @@ public class TaxDocumentController {
try {
JSONArray dataArray = new JSONArray();
//根据url地址 获取文件输入流
InputStream is = getInputStreamByUrl(taxDocumentDto.getPath());
InputStream is = taxDocumentService.getInputStreamByUrl(taxDocumentDto.getPath());
InputStream inStream =is;
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inStream);
// 循环工作表Sheet 将数据解析后 存入json对象
......@@ -219,6 +259,7 @@ public class TaxDocumentController {
}
}
/**
* 下载全部附件
*/
......@@ -352,32 +393,4 @@ public class TaxDocumentController {
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;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -26,7 +28,9 @@ import pwc.taxtech.atms.vat.entity.FileUpload;
import pwc.taxtech.atms.vat.entity.ReportFileUpload;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
......@@ -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) {
//如果只选择了一个附件,则不打包
if (null != ids && ids.size() == 1) {
......@@ -1114,4 +1133,88 @@ public class TaxDocumentServiceImpl {
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;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
public class OrganizationServiceTemplateGroupDto {
......@@ -11,8 +12,11 @@ public class OrganizationServiceTemplateGroupDto {
@JsonProperty("serviceTypeID")
private String serviceTypeId;
private String serviceTypeName;
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JsonProperty("templateGroupID")
private Long templateGroupId;
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 {
}catch (Exception e){
logger.error("ddSSOCallback error",e);
}
return "redirect:"+tempContextUrl+"Account/LogOn";
return "redirect:"+tempContextUrl;
}
@RequestMapping(value = {"/admin", "/admin.html"}, method = RequestMethod.GET)
......
......@@ -778,6 +778,7 @@
"settings": "Configuration Management",
"startsWith": "Start From",
"~MustBeEndOneApp": "I Must be the End One, please!",
"batchImport": "Batch Import",
"Accessable": "可访问",
"BusinessUnitDesc": "Business unit",
......
......@@ -855,6 +855,7 @@
"originalAmount": "原先金额",
"settings": "配置管理",
"startsWith": "起始于",
"batchImport": "批处理",
"RecordSize": "记录条数",
"ExtractFile": "抽取类型",
......
......@@ -278,7 +278,8 @@
}
else {
$scope.confirmDocFileType = createDocFileType;
$scope.editModel = {};
//默认为选中
$scope.editModel = {"status":1};
}
createMultiSelect();
$('#editPopDialog').modal('show');
......
......@@ -162,7 +162,7 @@
|| editModel.status == null
|| editModel.status == undefined
|| editModel.status == ''"
ng-model="editModel.status"/>
ng-model="editModel.status" />
<span translate="Enable"></span>
</label>
<label class="col-sm-5 DM-state-label">
......
......@@ -133,6 +133,18 @@ controller('editOrganizationModalController', ['$scope', '$log', '$translate', '
if ($scope.componentSelectedArea) {
editModel.areaID = $scope.selectedAreaId;
}
//所属业务线校验
if(!editModel.businessUnitID){
SweetAlert.error("请检查必填项");
return;
}
//区域校验
if (editModel.areaID === "") {
SweetAlert.error("请检查必填项");
return;
}
if ($scope.isAdd) {
editModel.isActive = true;
orgService.addOrg(editModel).success(function (orgId) {
......@@ -277,6 +289,17 @@ controller('editOrganizationModalController', ['$scope', '$log', '$translate', '
editModel.areaID = $scope.selectedAreaId;
}
//所属业务线校验
if(!editModel.businessUnitID){
SweetAlert.error("请检查必填项");
return;
}
//区域校验
if (editModel.areaID === "") {
SweetAlert.error("请检查必填项");
return;
}
if((typeof $scope.editOrgModel.foundationDate) ==="string"){
if (""!==($scope.editOrgModel.foundationDate)) {
$scope.editOrgModel.foundationDate = new Date($scope.editOrgModel.foundationDate);
......
......@@ -738,9 +738,16 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
// var orgIds = $scope.checkedCompanyList;
Upload.upload({
url: $scope.importATExcelFile,
......
......@@ -12,11 +12,11 @@
<div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%;margin-bottom: -38px;">
<div class="import-wrapper">
<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>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -31,7 +31,7 @@
<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;">{{i.name}}</span>
<span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div>
</li>
</ul>
......@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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>
......
......@@ -712,7 +712,15 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({
......
......@@ -16,7 +16,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -27,12 +27,12 @@
<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>
<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>
......@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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 class="col-sm-6 rightNav " style="width: 40%;margin-top: 10px;">
......
......@@ -716,9 +716,16 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({
url: $scope.importCFExcelFile,
data: {
......
......@@ -16,7 +16,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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 class="col-sm-6 rightNav" style="width: 40%;margin-top: 10px;">
......
......@@ -16,7 +16,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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 style = "width:40%; margin-top: 10px;" class="col-sm-6 rightNav">
......
......@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -26,7 +26,7 @@
<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;">{{i.name}}</span>
<span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div>
</li>
</ul>
......@@ -38,7 +38,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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>
<button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
......
......@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -26,7 +26,7 @@
<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;">{{i.name}}</span>
<span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div>
</li>
</ul>
......@@ -38,7 +38,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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>
<button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
......
......@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -26,7 +26,7 @@
<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;">{{i.name}}</span>
<span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div>
</li>
</ul>
......
......@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -26,7 +26,7 @@
<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;">{{i.name}}</span>
<span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div>
</li>
</ul>
......@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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>
<button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
......
......@@ -11,7 +11,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -26,7 +26,7 @@
<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;">{{i.name}}</span>
<span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
</div>
</li>
</ul>
......@@ -38,7 +38,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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>
<button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
......
......@@ -181,10 +181,16 @@
logDto.OperationName = $translate.instant('AddImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({
url: $scope.importCPRExcelFile,
data: {
......@@ -209,6 +215,7 @@
logDto.UpdateState = $translate.instant('ImportSuccess');
vatOperationLogService.addOperationLog(logDto);
SweetAlert.success($translate.instant('ImportSuccess'));
$scope.fileNameShow=false;
} else {
if (ret.resultMsg && ret.resultMsg.length > 0) {
SweetAlert.warning($translate.instant(ret.resultMsg));
......@@ -355,6 +362,7 @@
return;
}
$scope.fileName = fileName.name;
$scope.fileNameShow = $scope.fileName?true:false;
//初始化数据
$scope.selectedMappingList = [];
$scope.ImportErrorTab = false;
......@@ -404,7 +412,7 @@
var setButtonWrapStyle = function () {
if ($scope.fileName) {
if ($scope.fileNameShow) {
return { width: "100%" };
}
};
......
......@@ -137,7 +137,15 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({
......
......@@ -12,11 +12,11 @@
<div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%; margin-bottom: -38px;">
<div class="import-wrapper">
<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>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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 class="col-sm-6 rightNav" style="width: 40%; margin-top: 10px;">
......
......@@ -164,10 +164,16 @@
logDto.OperationName = $translate.instant('AddImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({
url: $scope.importIRExcelFile,
data: {
......@@ -192,6 +198,7 @@
logDto.UpdateState = $translate.instant('ImportSuccess');
vatOperationLogService.addOperationLog(logDto);
SweetAlert.success($translate.instant('ImportSuccess'));
$scope.fileNameShow = false;
} else {
if (ret.resultMsg && ret.resultMsg.length > 0) {
SweetAlert.warning($translate.instant(ret.resultMsg));
......@@ -346,6 +353,7 @@
return;
}
$scope.fileName = fileName.name;
$scope.fileNameShow = $scope.fileName?true:false;
//初始化数据
$scope.selectedMappingList = [];
$scope.ImportErrorTab = false;
......
......@@ -16,7 +16,7 @@
<span class="text-bold" translate="SelectedOrganization"></span>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -42,8 +42,8 @@
readonly="readonly" ng-model="UploadPeriodTime"/>
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>
<div ng-show="fileNameShow" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:20}}</span>
</div>
</div>
<div class="col-sm-6 col-xs-6 col-lg-6 rightNav" style="width: 40%; margin-top: 10px" >
......
......@@ -166,7 +166,15 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({
......
......@@ -12,11 +12,11 @@
<div class="form-group" ng-style="setButtonWrapStyle()" style="width: 100%;margin-bottom: -38px;">
<div class="import-wrapper">
<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>:
<div class="dropdown" style="margin-left:10px">
<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)}}
<span class="caret" style="float: right "></span>
</button>
......@@ -43,7 +43,7 @@
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<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 class="col-sm-6 rightNav" style="width: 40%; margin-top: 10px;">
......
......@@ -165,7 +165,15 @@
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
if($scope.checkedCompanyCodeList.length == 0){
SweetAlert.warning($translate.instant('PleaseSelectOrganization'));
return;
}
var period = $scope.UploadPeriodTime;
if(period == null){
SweetAlert.warning($translate.instant('PleaseSelectPeriod'));
return;
}
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({
......
......@@ -2,13 +2,14 @@
<!--标题-->
<div class="nav-wrapper">
<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}}
</div>
</div>
<!--导航栏-->
<div id="tab_total">
<!-- <form class="form-inline" id="navigationForm" name="navigationForm">
<!-- <form class="form-inline" id="navigationForm" name="navigationForm">
<div class="form-group" >
<div class="import-wrapper1">
<span class="text-bold" translate="SelectedOrganization"></span>:
......@@ -65,53 +66,76 @@
</div>
</form>-->
<form class="form-inline">
<div class="form-group" style="margin-bottom: -38px;width: 100%" >
<div class="row">
<div class="col-sm-6 leftNav" style="width: 60%">
<label class="col-sm-1 control-label marTop">{{'SelectedOrganization' | translate}}:</label>
<div class="col-sm-3 marTop">
<div class="form-group" style="margin-bottom: -38px;width: 100%">
<div class="import-wrapper">
<div class="col-sm-6 leftNav" style="width: 60%;">
<span class="text-bold" translate="SelectedOrganization"></span>:
<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>
<label class="col-sm-1 control-label marTop" style="margin-left: 60px;">{{'InvoiceQJ' | translate}}:</label>
<div class="col-sm-1 marTop" style=" width: 14%;">
<label class="col-sm-2 control-label marTop" style="margin-left: 60px;">{{'InvoiceQJ' | translate}}:</label>
<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"
readonly="readonly" ng-model="UploadPeriodTime"/>
<i class="fa fa-calendar imp-subheader red-color" style=" position: relative; right: relative; right: -100px; top: -26px;"></i>
</div> -->
</div>
</div>
<div class="col-sm-6 rightNav" style="margin-top: 10px; width: 40%">
<button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
ngf-allow-dir="false" class="btn btn-vat-third" >
{{'SelectFile' | translate}}
</button>
<span ng-show="fileName" class="marTop" title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>
<button type="button"
class="btn btn-vat-primary"
translate="TemplateBtn"
<div class="col-sm-6 rightNav" style="margin-top: 10px; width: 40%">
<button type="button" ngf-select="" type="file" ng-model="importExcelFile"
ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
ngf-allow-dir="false" class="btn btn-vat-third">
{{'SelectFile' | translate}}
</button>
<span ng-show="fileName" class="marTop"
title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>
<button type="button" class="btn btn-vat-primary" translate="TemplateBtn"
ng-click="downloadTemplate()"></button>
<button type="button"
class="btn btn-vat-primary topButton"
translate="CoverImportBtn"
<button type="button" class="btn btn-vat-primary topButton" translate="CoverImportBtn"
ng-click="doUploadRLIT(importEnum.CoverImport)"></button>
<button type="button"
class="btn btn-vat-primary topButton"
translate="AddImportBtn"
<button type="button" class="btn btn-vat-primary topButton" translate="AddImportBtn"
ng-click="doUploadRLIT(importEnum.AddImport)"></button>
</div>
</div>
</div>
</div>
</form>
<div class="dt-init-wrapper">
<div class="dx-viewport grid-container">
<div id="importRLITStatusGridContainer" dx-data-grid="importRLITStatusGridOptions"
style="margin-top: 30px;">
style="margin-top: 30px;">
</div>
</div>
<div class="page-footer">
<ack-pagination page-options="pagingOptions"
refresh-table="refreshConfigGrid()"></ack-pagination>
<ack-pagination page-options="pagingOptions" refresh-table="refreshConfigGrid()"></ack-pagination>
</div>
</div>
</div>
......@@ -137,8 +161,4 @@
</script>
<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 @@
{{'SelectFile' | translate}}
</button>
<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>
<div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;">
......
......@@ -79,7 +79,7 @@
<!--</a>-->
<!--</div>-->
<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>
</a>
</div>
......
......@@ -908,23 +908,23 @@
$state.go('vat.importData.erpImport');
} else if (data[constant.vatPermission.dataPreview.trialBalance.queryCode]) {
$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');
} else if (data[constant.vatPermission.previewData.offBalanceSheet.queryCode]) {
} else if (data[constant.vatPermission.dataPreview.offBalanceSheet.queryCode]) {
$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');
} else if (data[constant.vatPermission.previewData.cashFlow.queryCode]) {
} else if (data[constant.vatPermission.dataPreview.cashFlow.queryCode]) {
$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');
} else if (data[constant.vatPermission.previewData.certifiedInvoicesList.queryCode]) {
} else if (data[constant.vatPermission.dataPreview.certifiedInvoicesList.queryCode]) {
$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');
} else if (data[constant.vatPermission.previewData.coupaPurchasingReport.queryCode]) {
} else if (data[constant.vatPermission.dataPreview.coupaPurchasingReport.queryCode]) {
$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');
} else if (data[constant.vatPermission.dataManage.caculateDataCode]) {
$state.go('vat.reductionData.caculateData');
......
......@@ -378,7 +378,7 @@
<span translate="DocumentAttr"></span>
</div>
<div class="TDL-query-val">
<select ng-model="queryFieldModel.fileAttr"
<select ng-model="queryFieldModel.fileAttr" ng-change="queryFileAttr(queryFieldModel.fileAttr)"
class="form-control radius3"
placeholder="{{'PleaseSelected' | translate}}">
<option value=""></option>
......@@ -415,11 +415,11 @@
<!--<input type="text" class="form-control radius3"-->
<!--ng-model="queryFieldModel.AvailabilityDate"/>-->
<!--<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"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.fileBeginTime"
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"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.fileEndTTime"
data-min-view-mode="0" />
......@@ -433,11 +433,11 @@
<div class="TDL-query-val">
<!--<input type="text" class="form-control radius3"-->
<!--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"
data-date-format="yyyymm" ng-model="queryFieldModel.ownBeginTime"
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"
data-date-format="yyyymm" ng-model="queryFieldModel.ownEndTime"
data-min-view-mode="1"/>
......@@ -478,7 +478,7 @@
<span translate="CorporationName"></span>
</div>
<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"-->
<!--title="{{queryFieldModel.companyName}}" required-->
......@@ -499,11 +499,11 @@
<div class="TDL-query-val">
<!--<input type="text" class="form-control radius3"-->
<!--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"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.effectiveBeginTime"
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"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.effectiveEndTime"
data-min-view-mode="0"/>
......@@ -585,11 +585,11 @@
<!--<input type="text" class="form-control radius3"-->
<!--ng-model="queryFieldModel.UploadDate"/>-->
<!--<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"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.uploadBeginTime"
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"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.uploadEndTime"
data-min-view-mode="0"/>
......@@ -821,7 +821,7 @@
</label>
<div class="col-sm-11" style="width:61.67%">
<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')"
class="form-control" ng-model="editFieldModel.fileTime"/>
</div>
......@@ -834,7 +834,7 @@
<div class="col-sm-11" style="width:61.67%">
<input type='text' placeholder="{{'PleaseSelected' | translate}}" date-time-picker
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"/>
</div>
</div>
......@@ -990,7 +990,7 @@
{{'CorporationName' | translate}}
</label>
<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"-->
<!--title="{{editFieldItem.companyName}}"-->
......@@ -1063,7 +1063,7 @@
{{'AvailabilityDate' | translate}}
</label>
<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}"
date-time-picker data-date-format="yyyy/mm/dd"
class="form-control" ng-model="editFieldItem.fileTime"/>
......@@ -1075,7 +1075,7 @@
{{'DueDate' | translate}}
</label>
<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}"
date-time-picker data-date-format="yyyy/mm/dd"
class="form-control" ng-model="editFieldItem.effectiveTime"/>
......
......@@ -133,6 +133,9 @@ taxDocumentManageModule.factory('taxDocumentListService',
readXLSX:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/previewExcelToJson', params);
},
readPDF:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/previewPDF', params);
},
getBinaryData:function(url){
var defer = $q.defer();
var oReq = new XMLHttpRequest();
......
......@@ -23,7 +23,7 @@
{{'SelectFile' | translate}}
</button>
<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>
<div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeIncomeInvoiceSheet($item)" search-enabled="false" style="width:120px;">
......
<div class="vat-import-output-invoice">
<div class="nav-wrapper">
<div class="nav-header" translate="OutputInvoiceTitle"></div>
<div class="nav-tab">
<span class="active" ng-click="switchTab($event)" translate="OutputInvoiceTab"></span><span ng-click="switchTab($event)" >{{ 'EvidenceTab' | translate }}{{evidenceTotalCount}}</span>
</div>
<!-- <div class="nav-tab"> -->
<!-- <span class="active" ng-click="switchTab($event)" translate="OutputInvoiceTab"></span> -->
<!-- <span ng-click="switchTab($event)" >{{ 'EvidenceTab' | translate }}{{evidenceTotalCount}}</span> -->
<!-- </div> -->
</div>
<!--销项界面-->
<div id="tab_total">
......@@ -30,7 +31,7 @@
{{'SelectFile' | translate}}
</button>
<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>
<div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;">
......
......@@ -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('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('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('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>' },
......
<!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>
\ No newline at end of file
<!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>
<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