Commit b75d1cec authored by zhkwei's avatar zhkwei

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

parents 355c5d38 f09fa1dd
......@@ -9,6 +9,7 @@ import pwc.taxtech.atms.common.message.ErrorMessage;
import pwc.taxtech.atms.dpo.PagingDto;
import pwc.taxtech.atms.dto.*;
import pwc.taxtech.atms.dto.dataimport.DataImportParam;
import pwc.taxtech.atms.dto.dataimport.DataProcessParam;
import pwc.taxtech.atms.dto.input.CamelPagingResultDto;
import pwc.taxtech.atms.dto.vatdto.TrialBalanceDto;
import pwc.taxtech.atms.dto.vatdto.TrialBalanceParam;
......@@ -218,6 +219,12 @@ public class DataImportController extends BaseController {
return new CamelPagingResultDto<>(dataImportService.displayImportLog(param));
}
/* @ResponseBody
@RequestMapping(value = "displayProcessLog", method = RequestMethod.POST)
public CamelPagingResultDto<DataProcessLogDto> displayProcessLog(@RequestBody DataProcessParam param) {
return new CamelPagingResultDto<>(dataImportService.displayProcessLog(param));
}*/
@ResponseBody
@RequestMapping(value = "callExtractFinancialData", method = RequestMethod.POST)
public OperationResultDto callExtractFinancialData(@RequestBody DataExtractParam dataExtractParam) {
......
......@@ -46,7 +46,7 @@ import java.util.List;
@RestController
@RequestMapping(value = "api/v1/template")
public class TemplateController extends BaseController implements ServletContextAware {
public class TemplateController extends BaseController{
private ServletContext servletContext;
......@@ -242,7 +242,6 @@ public class TemplateController extends BaseController implements ServletContext
@RequestMapping(value = "file/downloadTemplate", method = RequestMethod.GET)
public void fileDownload(@RequestParam Integer fileType, @RequestParam(required=false) Integer serviceType, HttpServletResponse response){
//获取网站部署路径(通过ServletContext对象),用于确定下载文件位置,从而实现下载
String path = servletContext.getRealPath("/")+"\\WEB-INF\\classes";
String fileName = "";
if(serviceType == null){
fileName = getFileName(fileType);
......@@ -252,9 +251,8 @@ public class TemplateController extends BaseController implements ServletContext
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName="+fileName+".xlsx");
ServletOutputStream out;
File file = new File(path + "\\document\\DataImport\\" + fileName+".xlsx");
try {
FileInputStream inputStream = new FileInputStream(file);
InputStream inputStream = this.getClass().getResourceAsStream("/document/DataImport/" + fileName+".xlsx");
out = response.getOutputStream();
int b = 0;
byte[] buffer = new byte[512];
......@@ -314,9 +312,4 @@ public class TemplateController extends BaseController implements ServletContext
return null;
}
@Override
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
}
}
......@@ -156,4 +156,17 @@ public class TemplateGroupController {
return OperationResultDto.error(ErrorMessage.SystemError);
}
@RequestMapping(value = "withoutTemplate", method = RequestMethod.POST)
public @ResponseBody OperationResultDto withoutTemplate(@RequestBody TemplateGroupDto templateGroupDto) {
try {
templateGroupService.addTemplateGroupWithoutTemplate(templateGroupDto);
return OperationResultDto.success();
} catch (ServiceException e) {
return OperationResultDto.error(e.getMessage());
} catch (Exception e) {
logger.error("withoutTemplate error.", e);
}
return OperationResultDto.error(ErrorMessage.SystemError);
}
}
package pwc.taxtech.atms.dto.dataimport;
import pwc.taxtech.atms.dto.input.CamelPagingDto;
public class DataProcessParam {
private CamelPagingDto pageInfo;
//后续添加查询条件
public CamelPagingDto getPageInfo() {
return this.pageInfo;
}
public void setPageInfo(CamelPagingDto pageInfo) {
this.pageInfo = pageInfo;
}
}
......@@ -38,10 +38,8 @@ import pwc.taxtech.atms.entity.TemplateGroup;
import pwc.taxtech.atms.entity.TemplateGroupExample;
import pwc.taxtech.atms.exception.ServiceException;
import pwc.taxtech.atms.vat.dao.PeriodDataSourceMapper;
import pwc.taxtech.atms.vat.entity.PeriodCellData;
import pwc.taxtech.atms.vat.entity.PeriodDataSource;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.math.BigDecimal;
......@@ -527,6 +525,28 @@ public class TemplateGroupServiceImpl extends AbstractService {
}
@Transactional
public void addTemplateGroupWithoutTemplate(TemplateGroupDto templateGroupDto) throws ServiceException {
List<TemplateGroup> groupList = templateGroupDao.getByGroupName(templateGroupDto.getName());
if (CollectionUtils.isNotEmpty(groupList)) {
throw new ServiceException(TemplateMessage.TemplateGroupNameExist);
}
try {
TemplateGroup templateGroup=new TemplateGroup();
CommonUtils.copyProperties(templateGroupDto,templateGroup);
Long newGroupId = distributedIdService.nextId();
Date now = new Date();
templateGroup.setId(newGroupId);
templateGroup.setCreateTime(now);
templateGroup.setUpdateTime(now);
templateGroup.setName(templateGroupDto.getName());
templateGroupMapper.insertSelective(templateGroup);
} catch (Exception e) {
logger.error("addTemplateGroupWithoutTemplate error.", e);
throw new ServiceException(ErrorMessage.SystemError);
}
}
private List<CellTemplateConfig> getByTemplateId(Long id) {
CellTemplateConfigExample example = new CellTemplateConfigExample();
CellTemplateConfigExample.Criteria criteria = example.createCriteria();
......
......@@ -21,8 +21,8 @@
<select id="getTemplateUniqDtosByTemplateAndTemplateGroup" parameterType="map" resultMap="TemplateUniqDto">
SELECT
P.id as ID,
p.code as Code,
p.name as Name,
P.code as Code,
P.name as Name,
P.report_type as ReportType,
Q.id AS TEMPLATE_GROUP_ID,
Q.name AS TEMPLATE_GROUP_NAME,
......
......@@ -1420,6 +1420,24 @@ var dataImpModule = angular.module('app.dataImp', ['ui.grid', 'ui.router','ui.gr
sticky: true
});
$stateProvider.state({
name: 'recordProcessLog',
url: "/dataImportLog/dataProcessingCheck",
dsr: true,
views: {
'importContent': {
controller: ['$scope', '$state','appTranslation',
function ($scope, $state, appTranslation) {
$scope.state = $state;
appTranslation.load([appTranslation.appPart]);
}],
template: '<process-log></process-log>'
}
},
resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.dataImp),
sticky: true
});
$stateProvider.state({
name: 'certifiedInvoicesListImportDistribution',
url: "/importDistribution/certifiedInvoicesList",
......
......@@ -1880,6 +1880,15 @@
"extractInvoiceData": "Extract Invoice Data",
"ExtractInvoiceDataTitle": "Extract Invoice Data",
"TBInterCompany": "Inter-Company",
"~MustBeEndOneApp": "I Must be the End One, please!",
"dataValidate" : "data Validate"
"dataValidate" : "data Validate",
"DataProcessLog": "Data Process Log",
"DataProcessLogTitle": "Data Process Log",
"ValidateContent": "Validate Content",
"ValidateResult": "Validate Result",
"ResultMsg": "Result Message",
"Operater": "Operater",
"OperateTime": "Operate Time",
"~MustBeEndOneApp": "I Must be the End One, please!"
}
\ No newline at end of file
......@@ -2122,6 +2122,9 @@
"SelectedOrganization": "选择机构",
"SelectedDataType": "选择数据类型",
"DataProcessLog": "数据处理校验记录",
"DataProcessLogTitle": "数据处理校验记录",
"extractFinancialData": "财务数据抽取",
"ExtractFinancialDataTitle": "财务数据抽取",
......@@ -2147,7 +2150,7 @@
"RevenueGetOrgError": "获取机构信息失败",
"RevenueAddSuccess": "添加成功",
"RevenueUpdateSuccess": "更新成功",
"dataValidate" : "数据校验",
"dataValidate": "数据校验",
"RevDetail": "收入明细",
"RevSearchAccountCode": "科目代码",
"RevSearchAccountName": "科目名称",
......@@ -2173,61 +2176,43 @@
"RevDetailType": "收入类型",
"RevDetailCategory": "收入类别",
"RevDetailTaxOn": "计税方法",
"RevDetail": "收入明细",
"RevSearchAccountCode": "科目代码",
"RevSearchAccountName": "科目名称",
"RevSearchProfitCenterCode": "利润中心代码",
"RevSearchProfitCenterName": "利润中心名称",
"RevSearchProductCode": "产品代码",
"RevSearchProductName": "产品名称",
"RevSearchType": "收入类型",
"RevSearchCategory": "收入类别",
"RevSearchTaxOn": "计税方法",
"RevDetailSearch": "查询",
"RevDetailReset": "重置",
"RevDetailColSerialNo": "序号",
"RevDetailColSubject": "主体",
"RevDetailColAccount": "科目",
"RevDetailColProfitCenter": "利润中心",
"RevDetailProduct": "产品",
"RevDetailColSubjectExp": "主体说明",
"RevDetailColAccountExp": "科目说明",
"RevDetailColProfitCenterExp": "利润中心说明",
"RevDetailProductExp": "产品说明",
"RevDetailAmount": "发生额",
"RevDetailType": "收入类型",
"RevDetailCategory": "收入类别",
"RevDetailTaxOn": "计税方法",
"BillDetail": "开票明细",
"BillEditRevenueType": "编辑收入类型",
"BillDtlHandle": "操作",
"BillSearchType": "发票类型",
"BillSearchCustomer": "客户名称",
"BillSearchProfitCenter": "利润中心代码",
"BillSearchContent": "开票内容",
"BillSearchDate": "开票日期",
"BillSearchRevenueType": "收入类型",
"BillSearchDepartment": "申请部门",
"BillSearchTaxRate": "税率",
"BillSearchNumber": "发票号码",
"BillDtlSearch": "查询",
"BillDtlReset": "重置",
"BillDtlMoreSearch": "更多查询",
"BillDtlShrink": "收起",
"BillDtlColSerialNo": "序号",
"BillDtlColSubject": "开票主体",
"BillDtlColCustCompany": "客户公司名称",
"BillDtlColType": "发票类型",
"BillDtlColContent": "开票内容",
"BillDtlColAmount": "开票金额",
"BillDtlColTaxRate": "税率",
"BillDtlColTaxAmount": "税额",
"BillDtlColOANo": "OA申请单号",
"BillDtlColDepartment": "所属部门",
"BillDtlColDate": "开票日期",
"BillDtlColCode": "发票代码",
"BillDtlColNumber": "发票号码",
"BillDtlColRevenueType": "收入类型",
"BillDtlUpdateSuccess": "更新成功",
"BillDetail": "开票明细",
"BillEditRevenueType": "编辑收入类型",
"BillDtlHandle": "操作",
"BillSearchType": "发票类型",
"BillSearchCustomer": "客户名称",
"BillSearchProfitCenter": "利润中心代码",
"BillSearchContent": "开票内容",
"BillSearchDate": "开票日期",
"BillSearchRevenueType": "收入类型",
"BillSearchDepartment": "申请部门",
"BillSearchTaxRate": "税率",
"BillSearchNumber": "发票号码",
"BillDtlSearch": "查询",
"BillDtlReset": "重置",
"BillDtlMoreSearch": "更多查询",
"BillDtlShrink": "收起",
"BillDtlColSerialNo": "序号",
"BillDtlColSubject": "开票主体",
"BillDtlColCustCompany": "客户公司名称",
"BillDtlColType": "发票类型",
"BillDtlColContent": "开票内容",
"BillDtlColAmount": "开票金额",
"BillDtlColTaxRate": "税率",
"BillDtlColTaxAmount": "税额",
"BillDtlColOANo": "OA申请单号",
"BillDtlColDepartment": "所属部门",
"BillDtlColDate": "开票日期",
"BillDtlColCode": "发票代码",
"BillDtlColNumber": "发票号码",
"BillDtlColRevenueType": "收入类型",
"BillDtlUpdateSuccess": "更新成功",
"ValidateContent": "校验内容",
"ValidateResult": "校验结果",
"ResultMsg": "校验信息",
"Operater": "操作员",
"OperateTime": "操作时间",
"~MustBeEndOneApp": "我必须是最后一个!"
}
......@@ -120,18 +120,14 @@
defaultValue = find;
$scope.templateGroupId = find.id;
}
else {
$scope.curTemplateGroup = null;
}
}
dxControl.renderTemplateGroupDropDown(templateGroupData, defaultValue);
if (templateGroupData && templateGroupData.length > 0) {
loadReportType();
} else {
$('#dx-select-template-groups').dxDropDownBox('instance').option('dataSource', []);
$('#dx-select-template').dxDropDownBox('instance').option('dataSource', []);
}
loadReportType();
});
}
};
......@@ -147,39 +143,48 @@
}
};
if ($scope.curTemplateGroup && $scope.curTemplateGroup.id) {
if ($scope.curServiceTypeId === enums.serviceType.CIT) {
$scope.detailReportTypeList = angular.copy(defaultReportTypeOpt);
$scope.detailReportTypeList.dataSource = new DevExpress.data.ArrayStore({
data: citReportTypeList
});
$scope.detailReportTypeList.value = citReportTypeList[0].name;
$('#dx-select-report-type').dxSelectBox('instance').option($scope.detailReportTypeList);
$scope.reportType = citReportTypeList[0];
listTemplates();
} else if ($scope.curServiceTypeId === enums.serviceType.CF) {
$scope.detailReportTypeList = angular.copy(defaultReportTypeOpt);
$scope.detailReportTypeList.dataSource = new DevExpress.data.ArrayStore({
data: cfReportTypeList
});
$scope.detailReportTypeList.value = cfReportTypeList[1].name;
$('#dx-select-report-type').dxSelectBox('instance').option($scope.detailReportTypeList);
$scope.reportType = cfReportTypeList[1];
listTemplates();
} else if ($scope.curServiceTypeId === enums.serviceType.Others) {
$scope.detailReportTypeList = angular.copy(defaultReportTypeOpt);
$scope.detailReportTypeList.dataSource = new DevExpress.data.ArrayStore({
data: citReportTypeList
});
$scope.detailReportTypeList.value = citReportTypeList[0].name;
$('#dx-select-report-type').dxSelectBox('instance').option($scope.detailReportTypeList);
$scope.reportType = citReportTypeList[0];
listTemplates();
} else {
$('#dx-select-report-type').dxSelectBox('instance').option('dataSource', []);
$scope.reportType = null;
listTemplates();
}
if ($scope.curServiceTypeId === enums.serviceType.VAT) {
$scope.detailReportTypeList = angular.copy(defaultReportTypeOpt);
var ds = _.filter(citReportTypeList, function (item) { return item.value == 1 || item.value == 3 || item.value == 4 });
$scope.detailReportTypeList.dataSource = new DevExpress.data.ArrayStore({
data: ds
});
$scope.detailReportTypeList.value = citReportTypeList[0].name;
$('#dx-select-report-type').dxSelectBox('instance').option($scope.detailReportTypeList);
$scope.reportType = citReportTypeList[0];
listTemplates();
} else if ($scope.curServiceTypeId === enums.serviceType.CIT) {
$scope.detailReportTypeList = angular.copy(defaultReportTypeOpt);
$scope.detailReportTypeList.dataSource = new DevExpress.data.ArrayStore({
data: citReportTypeList
});
$scope.detailReportTypeList.value = citReportTypeList[0].name;
$('#dx-select-report-type').dxSelectBox('instance').option($scope.detailReportTypeList);
$scope.reportType = citReportTypeList[0];
listTemplates();
} else if ($scope.curServiceTypeId === enums.serviceType.CF) {
$scope.detailReportTypeList = angular.copy(defaultReportTypeOpt);
$scope.detailReportTypeList.dataSource = new DevExpress.data.ArrayStore({
data: cfReportTypeList
});
$scope.detailReportTypeList.value = cfReportTypeList[1].name;
$('#dx-select-report-type').dxSelectBox('instance').option($scope.detailReportTypeList);
$scope.reportType = cfReportTypeList[1];
listTemplates();
} else if ($scope.curServiceTypeId === enums.serviceType.Others) {
$scope.detailReportTypeList = angular.copy(defaultReportTypeOpt);
$scope.detailReportTypeList.dataSource = new DevExpress.data.ArrayStore({
data: citReportTypeList
});
$scope.detailReportTypeList.value = citReportTypeList[0].name;
$('#dx-select-report-type').dxSelectBox('instance').option($scope.detailReportTypeList);
$scope.reportType = citReportTypeList[0];
listTemplates();
} else {
$('#dx-select-report-type').dxSelectBox('instance').option('dataSource', []);
$scope.reportType = null;
listTemplates();
}
};
......@@ -315,31 +320,41 @@
//加载'报表'源数据
var listTemplates = function () {
templateGroupService.getTemplateList($scope.curTemplateGroup.id, $scope.reportType && $scope.reportType.value).success(function (templateData) {
templateData = _.filter(templateData, function (row) {
return row.isActiveAssociation;
});
if ($scope.curTemplateGroup && $scope.curTemplateGroup.id) {
templateGroupService.getTemplateList($scope.curTemplateGroup.id, $scope.reportType && $scope.reportType.value).success(function (templateData) {
var defaultValue = templateData[0];
if ($scope.currentTemplate && ($scope.currentTemplate.name || $scope.currentTemplate.id)) {
var find = _.find(templateData, function (row) {
return row.name === $scope.currentTemplate.name || row.id === $scope.currentTemplate;
templateData = _.filter(templateData, function (row) {
return row.isActiveAssociation;
});
if (find) {
defaultValue = find;
var defaultValue = templateData[0];
if ($scope.currentTemplate && ($scope.currentTemplate.name || $scope.currentTemplate.id)) {
var find = _.find(templateData, function (row) {
return row.name === $scope.currentTemplate.name || row.id === $scope.currentTemplate;
});
if (find) {
defaultValue = find;
}
else {
$scope.currentTemplate = null;
}
}
}
$scope.templates = templateData; //当前组下的所有模板数据
$scope.templates = templateData; //当前组下的所有模板数据
dxControl.renderTemplateDropDown(templateData, defaultValue);
//配置报表下拉框
if (templateData && templateData.length > 0) {
$scope.ToggleSaveAs = showSavebutton();
}
});
dxControl.renderTemplateDropDown(templateData, defaultValue);
//配置报表下拉框
if (templateData && templateData.length > 0) {
$scope.ToggleSaveAs = showSavebutton();
}
});
}
else {
$('#dx-select-template-groups').dxDropDownBox('instance').option('dataSource', []);
$scope.templates.length = 0;
$scope.currentTemplate = null;
}
};
//模板不是默认模板才可以编辑和保存
var showSavebutton = function () {
......
......@@ -28,15 +28,15 @@
<div class="templates-top">
<div class="form-group">
<span class="tab-content-select-lable" ng-show="curServiceTypeId !=='12'">{{'IndustryColon' | translate}}</span>
<div id="dx-select-industry" class="tab-content-select industry col-md-2" ng-show="curServiceTypeId !=='12'" dx-select-box="dataSourceIndustryList"
dx-item-alias="itemObj">
<div id="dx-select-industry" class="tab-content-select industry col-md-2" ng-show="curServiceTypeId !=='12'"
dx-select-box="dataSourceIndustryList" dx-item-alias="itemObj">
<div data-options="dxTemplate: { name: 'industryItem' }" class="dx-item-content dx-list-item-content" title="{{itemObj.name}}">
{{itemObj.name}}
</div>
</div>
<span class="tab-content-select-lable" translate="ReportType" ng-show="curServiceTypeId === '2'"></span>
<div class="tab-content-select reportType col-md-2" id="dx-select-pay-tax-type" ng-show="curServiceTypeId === '2'" dx-select-box="dataSourcePayTaxTypeList"
dx-item-alias="itemObj">
<span class="tab-content-select-lable" ng-show="curServiceTypeId === '2'">{{'Ratepayer' | translate}}:</span>
<div class="tab-content-select reportType col-md-2" id="dx-select-pay-tax-type" ng-show="curServiceTypeId === '2'"
dx-select-box="dataSourcePayTaxTypeList" dx-item-alias="itemObj">
<div data-options="dxTemplate: { name: 'filingTypeItem' }" class="dx-item-content dx-list-item-content" title="{{itemObj.name}}">
{{itemObj.name}}
</div>
......@@ -44,9 +44,9 @@
<span class="tab-content-select-lable">{{'SelectTemplateGroup' | translate}}</span>
<div class="tab-content-select selectTemplateGroup col-md-2" id="dx-select-template-groups">
</div>
<span class="tab-content-select-lable" translate="ReportType" ng-show="curServiceTypeId === '6' || curServiceTypeId === '11' || curServiceTypeId === '99'"></span>
<div class="tab-content-select reportType col-md-2" id="dx-select-report-type" ng-show="curServiceTypeId === '6' || curServiceTypeId === '11' || curServiceTypeId === '99'"
dx-select-box="detailReportTypeList" dx-item-alias="itemObj">
<span class="tab-content-select-lable" translate="ReportType" ng-show="curServiceTypeId === '2' ||curServiceTypeId === '6' || curServiceTypeId === '11' || curServiceTypeId === '99'"></span>
<div class="tab-content-select reportType col-md-2" id="dx-select-report-type" ng-show="curServiceTypeId === '2' ||curServiceTypeId === '6' || curServiceTypeId === '11' || curServiceTypeId === '99'"
dx-select-box="detailReportTypeList" dx-item-alias="itemObj">
<div data-options="dxTemplate: { name: 'reportTypeItem' }" class="dx-item-content dx-list-item-content" title="{{itemObj.name}}">
{{itemObj.name}}
</div>
......
......@@ -240,15 +240,15 @@
}
&.reportType {
width: 130px;
width: 120px;
}
&.selectTemplateGroup {
width: 200px;
width: 150px;
}
&.selectReport {
width: 200px;
width: 150px;
}
}
}
......
commonModule.directive('editTemplateModal', ['$log',
function ($log) {
'use strict';
$log.debug('editUserModal.ctor()...');
return {
restrict: 'E',
templateUrl: '/app/common/controls/edit-template-modal/edit-template-modal.html' + '?_=' + Math.random(),
replace: true,
controller: 'editTemplateModalController',
scope:
{
operateType:'=',
templateModel:'=?',
isUpdate:'=?',
onClosed: '&'
}
//,
//link: function (scope, element) {
// element.find('.selector-input').on('focus', function () {
// element.find('.org-tree-container').show();
// });
// $(document).on('click', function () {
// element.find('.org-tree-container').hide();
// }).on('click', '.org-tree-wrapper', function (e) {
// e.stopPropagation();
// });
//}
};
}
commonModule.directive('editTemplateModal', ['$log',
function ($log) {
'use strict';
$log.debug('editUserModal.ctor()...');
return {
restrict: 'E',
templateUrl: '/app/common/controls/edit-template-modal/edit-template-modal.html' + '?_=' + Math.random(),
replace: true,
controller: 'editTemplateModalController',
scope:
{
operateType:'=',
templateModel:'=?',
isUpdate:'=?',
onClosed: '&'
}
//,
//link: function (scope, element) {
// element.find('.selector-input').on('focus', function () {
// element.find('.org-tree-container').show();
// });
// $(document).on('click', function () {
// element.find('.org-tree-container').hide();
// }).on('click', '.org-tree-wrapper', function (e) {
// e.stopPropagation();
// });
//}
};
}
]);
\ No newline at end of file
@import "~/app-resources/css/admin-theme.less";
.edit-template-modal-wrapper {
.radio-wrapper {
margin-left: 0px;
}
.control-label {
width: 100px!important;
font-weight: normal;
padding-left: 15px!important;
padding-right: 0px!important;
text-align: left;
}
.normal-label {
font-weight: normal;
padding-left: 0px!important;
padding-right: 0px!important;
input[type="radio"] {
margin: 0px 0.5em 0px 0px;
}
}
.col-sm-5,
.col-sm-7,
col-sm-9 {
padding-left: 0px!important;
padding-right: 0px!important;
}
.upload-sheet-wrapper {
padding-left: 0;
padding-right: 32px;
}
}
.edit-template-name-wrapper {
.modal-content {
width: 400px!important;
}
.must-input {
color: red;
}
.control-label {
width: 100px !important;
font-weight: normal;
padding-left: 15px;
padding-right: 0px;
text-align: left;
}
.col-sm-8 {
padding-left: 0px;
padding-right: 0px;
}
}
.margin-find{
margin: -10px -10px 10px -10px;
}
.margin-sheet{
margin: -10px -10px 10px -20px;
}
.tree-view-list {
.dx-checkbox-container {
padding: 4px;
.dx-checkbox-icon {
height: 16px;
width: 16px;
}
.dx-checkbox-icon {
font-size: 14px;
}
}
.dx-checkbox-indeterminate .dx-checkbox-icon:before {
width: 14px;
height: 14px;
left: 0px;
top: 0px;
}
}
.search-box {
margin: 6px -10px -10px -10px;
@import "~/app-resources/css/admin-theme.less";
.edit-template-modal-wrapper {
.radio-wrapper {
margin-left: 0px;
}
.control-label {
width: 100px!important;
font-weight: normal;
padding-left: 15px!important;
padding-right: 0px!important;
text-align: left;
}
.normal-label {
font-weight: normal;
padding-left: 0px!important;
padding-right: 0px!important;
input[type="radio"] {
margin: 0px 0.5em 0px 0px;
}
}
.col-sm-5,
.col-sm-7,
col-sm-9 {
padding-left: 0px!important;
padding-right: 0px!important;
}
.upload-sheet-wrapper {
padding-left: 0;
padding-right: 32px;
}
.checkbox {
margin-left: 100px;
}
}
.edit-template-name-wrapper {
.modal-content {
width: 400px!important;
}
.must-input {
color: red;
}
.control-label {
width: 100px !important;
font-weight: normal;
padding-left: 15px;
padding-right: 0px;
text-align: left;
}
.col-sm-8 {
padding-left: 0px;
padding-right: 0px;
}
}
.margin-find{
margin: -10px -10px 10px -10px;
}
.margin-sheet{
margin: -10px -10px 10px -20px;
}
.tree-view-list {
.dx-checkbox-container {
padding: 4px;
.dx-checkbox-icon {
height: 16px;
width: 16px;
}
.dx-checkbox-icon {
font-size: 14px;
}
}
.dx-checkbox-indeterminate .dx-checkbox-icon:before {
width: 14px;
height: 14px;
left: 0px;
top: 0px;
}
}
.search-box {
margin: 6px -10px -10px -10px;
}
\ No newline at end of file
// web service proxy for voucher
webservices.factory('dataProcessService', ['$log', 'vatReportService', function ($log, vatReportService) {
'use strict';
function Job(serviceType, tplId, month, status) {
this.serviceType = serviceType;
this.tplId = tplId;
this.month = month;
this.status = status;
}
var jobsArr = [];
//执行更新项目状态的任务
function status_job() {
var job = jobsArr.shift();
if (job) {
//更新每个状态值
vatReportService.updateProcInfo(job.serviceType, job.tplId, job.month, job.status).then(function (resData) {
setTimeout(status_job, 100);
$log.log("status_job request: " + job.tplId + ", " + job.status);
});
} else {
setTimeout(status_job, 1000);
}
}
//页面容错机制
//1. 后台查询当前项目有没有正在 处理中的报表, 间隔连续两次没查询到,证明没有处理中的,更新页面状态
var timeInterval = 15 * 1000;
var noProcItemCount = 0;
var _serviceType, _projectId, _month, _status,_cb;
function heartBeat() {
vatReportService.heartBeat(_projectId, _month).then(function (resData) {
//if ($scope.isStartProcData) {//如果是当前处理页面
$log.info("heartBeat......" + noProcItemCount);
if (resData && resData.data.result) {
//没有处理中加一次
noProcItemCount++;
//超过两次,就更新状态
if (noProcItemCount > 3) {
//1. 更新项目状态,当前项目状态更改为 处理已完成
//vatReportService.updateProcInfo($scope.serviceType, vatSessionService.project.id, vatSessionService.month, getStatus('completed')).then(function (resData) {
vatReportService.updateProcInfo(_serviceType, _projectId, _month, _status).then(function (resData) {
//更新页面状态
_cb();
timeInterval = 60 * 1000;//60s
});
//注意后台要考虑的问题, 为了防止 signalR 的断线情况,将报表完成状态放到后台更新,前台通知更新显示而已
}
} else {
//表示有处理中
noProcItemCount = 0;
}
if (noProcItemCount == 0) {
timeInterval = 60 * 1000 * 3;//正在处理中,降低频率
} else {
timeInterval = 15 * 1000;
}
setTimeout(heartBeat, timeInterval);
//}
});
}
return {
startJob: function () {
setTimeout(status_job, 100);
},
addJob: function (serviceType, tplId, month, status) {
jobsArr.push(new Job(serviceType, tplId, month, status));
},
startHeartBeat: function (serviceType, projectId, month, status,cb) {
_serviceType = serviceType;
_projectId = projectId;
_month = month;
_status = status;
_cb = cb;
setTimeout(heartBeat, timeInterval);
}
};
// web service proxy for voucher
webservices.factory('dataProcessService', ['$log', 'vatReportService', function ($log, vatReportService) {
'use strict';
function Job(serviceType, tplId, month, status) {
this.serviceType = serviceType;
this.tplId = tplId;
this.month = month;
this.status = status;
}
var jobsArr = [];
//执行更新项目状态的任务
function status_job() {
var job = jobsArr.shift();
if (job) {
//更新每个状态值
vatReportService.updateProcInfo(job.serviceType, job.tplId, job.month, job.status).then(function (resData) {
setTimeout(status_job, 100);
$log.log("status_job request: " + job.tplId + ", " + job.status);
});
} else {
setTimeout(status_job, 1000);
}
}
//页面容错机制
//1. 后台查询当前项目有没有正在 处理中的报表, 间隔连续两次没查询到,证明没有处理中的,更新页面状态
var timeInterval = 15 * 1000;
var noProcItemCount = 0;
var _serviceType, _projectId, _month, _status,_cb;
function heartBeat() {
vatReportService.heartBeat(_projectId, _month).then(function (resData) {
//if ($scope.isStartProcData) {//如果是当前处理页面
$log.info("heartBeat......" + noProcItemCount);
if (resData && resData.data.result) {
//没有处理中加一次
noProcItemCount++;
//超过两次,就更新状态
if (noProcItemCount > 3) {
//1. 更新项目状态,当前项目状态更改为 处理已完成
//vatReportService.updateProcInfo($scope.serviceType, vatSessionService.project.id, vatSessionService.month, getStatus('completed')).then(function (resData) {
vatReportService.updateProcInfo(_serviceType, _projectId, _month, _status).then(function (resData) {
//更新页面状态
_cb();
timeInterval = 60 * 1000;//60s
});
//注意后台要考虑的问题, 为了防止 signalR 的断线情况,将报表完成状态放到后台更新,前台通知更新显示而已
}
} else {
//表示有处理中
noProcItemCount = 0;
}
if (noProcItemCount == 0) {
timeInterval = 60 * 1000 * 3;//正在处理中,降低频率
} else {
timeInterval = 15 * 1000;
}
setTimeout(heartBeat, timeInterval);
//}
});
}
return {
startJob: function () {
setTimeout(status_job, 100);
},
addJob: function (serviceType, tplId, month, status) {
jobsArr.push(new Job(serviceType, tplId, month, status));
},
startHeartBeat: function (serviceType, projectId, month, status,cb) {
_serviceType = serviceType;
_projectId = projectId;
_month = month;
_status = status;
_cb = cb;
setTimeout(heartBeat, timeInterval);
},
displayProcessLog: function (queryParams) {
return $http.post('/DataImport/displayProcessLog', queryParams, apiConfig.create());
}
};
}]);
\ No newline at end of file
......@@ -12,7 +12,7 @@ webservices.factory('templateGroupService', ['$http', 'apiConfig', 'httpCacheSer
return $http.post('/templateGroup/addTemplateGroup', templateGroup, apiConfig.create());
},
addTemplateGroupWithoutTemplate: function (templateGroup) {
return $http.post('/templateGroup/templateGroup/withoutTemplate', templateGroup, apiConfig.create());
return $http.post('/templateGroup/withoutTemplate', templateGroup, apiConfig.create());
},
getTemplateList: function (templateGroupID, reportType) {
return $http.get('/template/get?templateGroupID=' + templateGroupID + '&reportType=' + reportType, apiConfig.create());
......
......@@ -134,10 +134,10 @@
}
}
};
getImportIDStatus();
getImportLog();
};
var getImportIDStatus = function () {
var getImportLog = function () {
vatImportService.displayImportLog($scope.pagingOptions,constant.importFileType.undefined).success(function (data) {
if (data && data.list) {
$scope.ImportLogGridSource = data.list;
......
citModule.controller('processLogController', ['$scope', '$log', '$translate', '$timeout', '$q', '$interval'
, 'apiInterceptor', 'Upload', 'vatImportService', 'SweetAlert', 'uiGridConstants', '$uibModal'
, 'vatSessionService', 'enums',
function ($scope, $log, $translate, $timeout, $q, $interval
, apiInterceptor, Upload, vatImportService, SweetAlert, uiGridConstants, $uibModal
, vatSessionService, enums) {
'use strict';
$scope.period = $scope.periodId;
$scope.moduleid = enums.vatModuleEnum.Import_TrialBalance;
$scope.chunkSize = 100000;
$scope.projectID = vatSessionService.project.id;
$scope.startRowNum = 2;
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth();
$scope.selectedDate = new Date(vatSessionService.year, vatSessionService.month - 1, 1);
$scope.startDate = new Date(year - 20, 1, 1);
$scope.endDate = new Date(year + 20, 1, 1);
$scope.viewMode = 1;
$scope.dateFormat = $translate.instant('dateFormat4YearMonth');
//初始化ack-pagination
$scope.pagingOptions = {
pageIndex: 1, //当前页码
totalItems: 0, //总数据
totalPages: 10, //总页数
maxSize: 5, //分页数字的限制。
pageSize: constant.page.pageSizeArrary[3], //每页多少条数据,100条
pageSizeString: constant.page.pageSizeArrary[3].toString(),
firstPage: $translate.instant('PagingFirstPage'),
previousPage: $translate.instant('PagingPreviousPage'),
nextPage: $translate.instant('PagingNextPage'),
lastPage: $translate.instant('PagingLastPage')
};
//初始化查询参数
$scope.queryParams = {
pageInfo: {
pageIndex: 1, //当前页码
totalItems: 0, //总数据
totalPages: 10, //总页数
maxSize: 5, //分页数字的限制。
pageSize: constant.page.pageSizeArrary[3], //每页多少条数据,100条
pageSizeString: constant.page.pageSizeArrary[3].toString(),
firstPage: $translate.instant('PagingFirstPage'),
previousPage: $translate.instant('PagingPreviousPage'),
nextPage: $translate.instant('PagingNextPage'),
lastPage: $translate.instant('PagingLastPage'),
}
};
var loadProcessLogInfoDatagrid = function () {
$scope.processLogGridOptions = {
bindingOptions: {
dataSource: 'ProcessLogGridSource'
},
showBorders: true,
columns: [{
dataField: "id",
visible: false,
allowHeaderFiltering: false,
caption: $translate.instant('id')
}, {
dataField: "taxpayerIdNum",
width: '15%',
allowHeaderFiltering: false,
caption: $translate.instant('CompanyCode')
}, {
dataField: "companyCode",
allowHeaderFiltering: false,
caption: $translate.instant('CompanyName'),
width: '15%'
}, {
dataField: "companyName",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('YearPeriod')
}, {
dataField: "periodYear",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('Period')
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '15%',
caption: $translate.instant('ValidateContent')
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('ValidateResult')
}, {
dataField: "recordSize",
allowHeaderFiltering: false,
width: '15%',
caption: $translate.instant('ResultMsg')
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('Operater')
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
caption: $translate.instant('OperateTime')
}
],
onContentReady: function (e) {
$scope.accountingRateListInstance = e.component;
var totalCount = e.component.totalCount();
if (totalCount > 0) {
$scope.totalCount = totalCount;
}
},
loadPanel: {
enabled: false
},
selection: {
mode: "single"
},
grouping: {
autoExpandAll: false
},
allowColumnResizing: true,
columnAutoWidth: true,
showRowLines: true,
showColumnLines: true,
rowAlternationEnabled: true, //单双行颜色
noDataText: $translate.instant('NoDataText'),
selectAllText: $translate.instant('SelectAll'),
headerFilter: {
visible: false,
texts: {
cancel: $translate.instant('Cancel'),
ok: $translate.instant('Confirm'),
emptyValue: $translate.instant('Empty'),
selectAllText: $translate.instant('SelectAll')
}
}
};
// getProcessLog();
};
var getProcessLog = function () {
vatImportService.displayProcessLog($scope.queryParams).success(function (data) {
if (data && data.list) {
$scope.ProcessLogGridSource = data.list;
$scope.pagingOptions.totalItems = data.pageInfo.totalCount;
}else {
SweetAlert.error($translate.instant('SystemError'));
}
});
};
var initPagingControl = function (totalItemsCount) {
$scope.pagingOptions.totalItems = totalItemsCount;
};
// 检查用户机构权限
var checkUserOrganizationPermissionList = function () {
var list = [];
var userManageTemp = constant.vatPermission.dataImport.balanceSheet;
list.push(userManageTemp.importCode);
$scope.hasImportPermission = false;
$scope.$root.checkUserOrganizationPermissionList(list).success(function (data) {
$scope.hasImportPermission = data[userManageTemp.importCode];
});
};
//控制明细信息中删除权限
var getUserPermission = function () {
var list = [];
var code = constant.vatPermission.dataImport.balanceSheet.importCode;
list.push(code);
$scope.$root.checkUserOrganizationPermissionList(list).success(function (data) {
$scope.hasEditPermission = data[code];
});
};
var setButtonWrapStyle = function () {
if ($scope.fileName) {
return { width: "100%" };
}
};
var setGridStyle = function () {
if ($scope.showTotalSecondRow) {
return { 'margin-top': '60px' }
}
else {
return { 'margin-top': '55px' }
}
};
var initDatePicker = function () {
var ele1 = $("#periodDatepicker");
ele1.datepicker({
startDate: $scope.startDate,
endDate: $scope.endDate,
viewMode: $scope.viewMode,
minViewMode: $scope.viewMode,
autoclose: true, //选中之后自动隐藏日期选择框
clearBtn: true, //清除按钮
todayBtn: false, //今日按钮
format: $scope.dateFormat //日期格式,详见 http://bootstrap-datepicker.readthedocs.org/en/release/options.html#format
});
ele1.datepicker("setDate", $scope.selectedDate);
};
var initParam = function () {
$scope.initPagingControl = initPagingControl;
$scope.setButtonWrapStyle = setButtonWrapStyle;
$scope.setGridStyle = setGridStyle;
};
//开始
(function initialize() {
$log.debug('ImportLogController.ctor()...');
initParam();
checkUserOrganizationPermissionList();
getUserPermission();
loadProcessLogInfoDatagrid();
initDatePicker();
$timeout(function () {
$scope.isLoadComplete = true;
}, 500);
})();
}
]);
\ No newline at end of file
<div class="process-log">
<!--标题-->
<div class="nav-wrapper">
<div class="nav-header" translate="DataProcessLogTitle"></div>
</div>
<div id="tab_total">
<div class="dt-init-wrapper">
<div class="dx-viewport grid-container">
<div id="processLogGridContainer" dx-data-grid="processLogGridOptions"
style="margin-top: 30px;">
</div>
</div>
<!--<div class="page-footer">
<ack-pagination page-options="pagingOptions"
refresh-table="refreshConfigGrid()"></ack-pagination>
</div>-->
</div>
</div>
</div>
citModule.directive('processLog', ['$log',
function ($log) {
'use strict';
$log.debug('processLog.ctor()...');
return {
restrict: 'E',
templateUrl: '/app/dataImport/log/process-log/process-log.html' + '?_=' + Math.random(),
scope: {
serviceTypeId: "=?",
periodId: "=?"
},
controller: 'processLogController',
link: function (scope, element) {
$('.main-contents')[0].style.width = "260px";
$('.data-import-contents')[0].style.display = "block";
$('.main-contents')[0].style.float = "left";
$('.main-contents')[0].style.styleFloat = "left";
$('.main-contents')[0].style.cssFloat = "left";
}
};
}
]);
\ No newline at end of file
@import "~/app-resources/less/theme.less";
.process-log {
/*background-color: @color-white;*/
padding-left: 20px;
/*min-height: 800px;*/
height: 96%;
.nav-wrapper {
/*padding-bottom: 5px;
border-bottom: 1px solid #DBD8D3;*/
.nav-header {
height: 54px;
line-height: 54px;
font-family: "Microsoft YaHei Bold", "Microsoft YaHei Regular", "Microsoft YaHei";
font-weight: 700;
font-style: normal;
font-size: 15px;
color: #333;
display: inline-block;
}
.nav-tab {
span {
display: inline-block;
height: 34px;
line-height: 34px;
padding: 0 10px;
background-color: #B90808;
color: #FFF;
font-family: "Microsoft YaHei";
font-weight: 400;
font-style: normal;
font-size: 14px;
cursor: pointer;
}
.active {
background-color: #F91000;
}
}
.alert-warning {
background-color: #FDE2DE;
cursor: pointer;
}
.alert {
color: #CF2D1B;
font-weight: bold;
display: inline-block;
padding: 5px;
margin-left: 60px;
margin-bottom: 0px;
i {
font-size: 20px;
vertical-align: middle;
margin-right: 5px;
}
}
.operation-wrapper {
margin: 15px 25px 10px 10px;
span {
cursor: pointer;
}
}
}
.dropdown-common() {
display: inline-block;
.select-button {
background-color: #F5F5F5;
padding: 6px 0;
width: 100px;
}
.caret {
margin-top: 8px;
}
.dropdown-menu {
min-width: 100px;
li {
text-align: center;
min-height: 0px;
height: 30px;
line-height: 30px;
color: #000;
font-weight: normal;
&:hover {
background-color: #F91000;
color: #FFF;
}
}
}
}
#tab_total {
display: block;
height: calc(~'100% - 40px');
position: relative;
.import-wrapper {
span {
margin-left: 10px;
color: #333;
font-family: "Microsoft YaHei";
font-style: normal;
font-size: 14px;
font-weight: bold;
}
.period-picker {
width: 150px;
border: 1px solid #c7c5c0;
display: inline-block;
line-height: 20px;
margin-top: 7px;
}
.imp-subheader {
display: inline-block;
font-size: 15px;
height: 30px;
line-height: 30px;
vertical-align: middle;
border: none;
select {
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
background: transparent;
}
}
.dropdown {
.dropdown-common();
}
input {
width: 50px;
outline: none;
border-radius: 3px;
border: 1px solid #3c3a36;
padding: 2px;
text-align: center;
}
> button:last-child {
float: right;
margin-right: 20px;
}
.btn-wrapper {
border-radius: 5px;
background-color: #e0301e;
color: #FFF;
display: inline-block;
float: right;
margin-right: 10px;
.btn-vat-primary {
min-width: 80px;
}
}
}
.dt-init-wrapper {
max-width: 99%;
height: calc(~'100% - 25px');
position: relative;
.dropdown {
.dropdown-common();
i {
color: #F85550;
}
}
.processLogGridContainer {
height: calc(~'100% - 30px');
overflow: hidden;
position: absolute;
top: 0;
bottom: 136px; /* 130 + 6 */
left: 0;
right: 0;
background-color: #FFF;
}
}
.error-info-wrapper {
position: absolute;
height: 150px;
bottom: 0;
left: 0;
right: 0;
overflow: hidden;
background-color: #FFF;
margin-left: -40px;
}
#content-resizer {
width: 110%;
position: absolute;
height: 4px;
bottom: 150px;
left: 0;
right: 0;
background-color: red;
cursor: n-resize;
margin-left: -40px;
#topIcon {
cursor: pointer;
margin-top: -19px;
width: 38px;
margin-left: 46%;
z-index: 999;
bottom: -381px;
text-align: center;
display: block !important;
}
}
.dt-import-wrapper {
margin: 60px 0;
max-width: 99%;
overflow: auto;
height: calc(~"100% - 35px");
.dropdown {
.dropdown-common();
i {
color: #F85550;
}
}
}
}
.error-list-modal {
.modal-title {
color: #FF0000;
}
.modal-body {
max-height: 300px;
overflow-y: auto;
table {
border: 1px solid #CCC;
thead tr th {
height: 30px;
border: 1px solid #CCC;
}
tbody tr td {
height: 25px;
border: 1px solid #CCC;
}
}
}
.modal-footer {
text-align: center;
}
}
#tab_detail {
display: none;
}
/*覆写ack-pagination.less中:.page-size, .pagination 中的margin演示 */
.page-form-group{
float:right;
.page-size{
margin:0;
}
.pagination {
margin:0;
}
}
}
.tb-model-period-dropdow-popup {
width: 400px;
height: 500px;
position: fixed;
top: 25%;
left: 40%;
.modal-dialog {
width: 100%;
height: 90%;
margin: 20px auto;
.modal-content {
width: 100%;
.modal-body {
height: 90%;
}
}
}
}
#totalWrapper {
margin: 5px 10px 10px -10px;
width: 100%;
padding-left: 10px;
font-family: Microsoft YaHei;
font-size: 13px;
float:right;
.total_span{
color: #B4122A !important;
background-color:#ddd !important;
font-size: 12px !important;
font-weight:bold !important;
border-radius:10px !important;
padding-left: 8px !important;
padding-right: 8px !important;
}
.total-column{
width:15%;
float:left;
padding-left: 15px;
}
}
\ No newline at end of file
......@@ -30,15 +30,15 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
// },
{
name: 'inputInvoice', permission: constant.vatPermission.dataPreview.inputInvoice.queryCode,
text: $translate.instant('inputInvoice'), icon: 'fa fa-file-text-o', show: true
text: $translate.instant('inputInvoice'), icon: 'fa fa-file-text-o', show: false
},
{
name: 'outputInvoice', permission: constant.vatPermission.dataPreview.outputInvoice.queryCode,
text: $translate.instant('outputInvoice'), icon: 'fa fa-file-text-o', show: true
text: $translate.instant('outputInvoice'), icon: 'fa fa-file-text-o', show: false
},
{
name: 'outputoffInvoice', permission: constant.vatPermission.dataPreview.outputInvoice.queryCode,
text: $translate.instant('offlineBilling'), icon: 'fa fa-file-text-o', show: true
text: $translate.instant('offlineBilling'), icon: 'fa fa-file-text-o', show: false
},
{
name: 'trialBalance', permission: constant.vatPermission.dataPreview.trialBalance.queryCode,
......
vatModule.controller('VatPreviewCashFlowController', ['$scope', '$log', '$translate', '$timeout', 'SweetAlert', '$q', 'uiGridConstants', '$interval', 'vatPreviewService', 'browserService', 'vatSessionService', 'region', 'enums', 'vatExportService','$filter',
function ($scope, $log, $translate, $timeout, SweetAlert, $q, uiGridConstants, $interval, vatPreviewService, browserService, vatSessionService, region, enums, vatExportService,$filter) {
vatModule.controller('VatPreviewCashFlowController', ['$rootScope','$scope', '$log', '$translate', '$timeout', 'SweetAlert', '$q', 'uiGridConstants', '$interval', 'vatPreviewService', 'browserService', 'vatSessionService', 'region', 'enums', 'vatExportService','$filter',
function ($rootScope,$scope, $log, $translate, $timeout, SweetAlert, $q, uiGridConstants, $interval, vatPreviewService, browserService, vatSessionService, region, enums, vatExportService,$filter) {
'use strict';
$scope.startDate = new Date(vatSessionService.project.year, 0, 1);
......@@ -252,6 +252,11 @@
$scope.queryParams.periodStart = vatSessionService.year * 100 + vatSessionService.month;
$scope.queryParams.periodEnd = vatSessionService.year * 100 + vatSessionService.month;
$scope.queryParams.orgId = vatSessionService.project.organizationID;
if($rootScope.currentLanguageDesc = $rootScope.currentLanguage === 'en-us'){
$('.periodInput')[0].style.left = "240px";
}else{
$('.periodInput')[0].style.left = "140px";
}
loadIncomeInvoiceItemDataFromDB(1);
})();
......
<div class="vat-preview-cash-flow" id="mainPreviewDiv">
<div class="top-area-wrapper" style="margin-top: 10px">
<span translate="CashFlowDDTitle" class="text-bold"></span> &nbsp;&nbsp;|&nbsp;&nbsp;<span class="text-bold" translate="InvoiceQJ"></span>
<input type="text" class="form-control input-width-middle" style="position: relative; top: -30px; left: 130px;" id="input-invoice-period-picker" />
<input type="text" class="form-control input-width-middle periodInput" style="position: relative; top: -30px; left: 130px;" id="input-invoice-period-picker" />
<span ng-click="downloadCashFlow()" style="position: relative; top: -13px; left: 95%;"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'ExportBtn' | translate}}</span>
</div>
......
......@@ -303,9 +303,9 @@
initCertifiedInvoicesListPagination();
//初始化查询条件-期间范围
if($rootScope.currentLanguageDesc = $rootScope.currentLanguage === 'en-us'){
$('.periodInput')[0].style.left = "280px";
$('.periodInput')[0].style.left = "310px";
}else{
$('.periodInput')[0].style.left = "170px";
$('.periodInput')[0].style.left = "200px";
}
$scope.queryParams.periodStart = vatSessionService.year * 100 + vatSessionService.month;
$scope.queryParams.periodEnd = vatSessionService.year * 100 + vatSessionService.month;
......
......@@ -320,7 +320,7 @@
if($rootScope.currentLanguageDesc = $rootScope.currentLanguage === 'en-us'){
$('.periodInput')[0].style.left = "250px";
}else{
$('.periodInput')[0].style.left = "150px";
$('.periodInput')[0].style.left = "130px";
}
loadInvoiceDataItemDataFromDB(1);
......
......@@ -333,7 +333,7 @@
$scope.queryParams.periodEnd = vatSessionService.year * 100 + vatSessionService.month;
$scope.queryParams.orgId = vatSessionService.project.organizationID;
if($rootScope.currentLanguageDesc = $rootScope.currentLanguage === 'en-us'){
$('.periodInput')[0].style.left = "280px";
$('.periodInput')[0].style.left = "260px";
}else{
$('.periodInput')[0].style.left = "150px";
}
......
......@@ -317,9 +317,9 @@
initRedLetterInfoTabItemPagination();
//初始化查询条件-期间范围
if($rootScope.currentLanguageDesc = $rootScope.currentLanguage === 'en-us'){
$('.periodInput')[0].style.left = "280px";
$('.periodInput')[0].style.left = "350px";
}else{
$('.periodInput')[0].style.left = "170px";
$('.periodInput')[0].style.left = "150px";
}
$scope.queryParams.periodStart = vatSessionService.year * 100 + vatSessionService.month;
$scope.queryParams.periodEnd = vatSessionService.year * 100 + vatSessionService.month;
......
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