Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
T
traffic-front
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangxiaoming
traffic-front
Commits
ce3ea281
Commit
ce3ea281
authored
Feb 26, 2019
by
chase
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
收入明细功能代码
parent
0ed8adc2
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1310 additions
and
4 deletions
+1310
-4
RevenueDetailController.java
.../pwc/taxtech/atms/controller/RevenueDetailController.java
+27
-0
RevenueDetailParam.java
...wc/taxtech/atms/dto/revenueDetail/RevenueDetailParam.java
+140
-0
RevenueDetailResult.java
...c/taxtech/atms/dto/revenueDetail/RevenueDetailResult.java
+130
-0
RevenueDetailService.java
...a/pwc/taxtech/atms/service/impl/RevenueDetailService.java
+37
-0
RevenueDetailDto.java
.../src/main/java/pwc/taxtech/atms/dpo/RevenueDetailDto.java
+130
-0
TrialBalanceFinalMapper.java
...ava/pwc/taxtech/atms/vat/dao/TrialBalanceFinalMapper.java
+18
-1
TrialBalanceFinalExtendsMapper.xml
...h/atms/vat/dao/extends/TrialBalanceFinalExtendsMapper.xml
+79
-0
module-part1.js
atms-web/src/main/webapp/Scripts/module-part1.js
+16
-0
vat.json
atms-web/src/main/webapp/app-resources/i18n/zh-CN/vat.json
+27
-0
constant.js
atms-web/src/main/webapp/app/common/utils/constant.js
+2
-1
vat-revenue-config.ctrl.js
.../dataImport/vat-revenue-config/vat-revenue-config.ctrl.js
+1
-1
app-overview.ctrl.js
...in/webapp/app/framework/app-overview/app-overview.ctrl.js
+3
-1
vat-import-layout.ctrl.js
...pp/vat/import/vat-import-layout/vat-import-layout.ctrl.js
+4
-0
vat-revenue-detail.ctrl.js
...t/reduction/vat-revenue-detail/vat-revenue-detail.ctrl.js
+264
-0
vat-revenue-detail.html
.../vat/reduction/vat-revenue-detail/vat-revenue-detail.html
+110
-0
vat-revenue-detail.js
...pp/vat/reduction/vat-revenue-detail/vat-revenue-detail.js
+14
-0
vat-revenue-detail.less
.../vat/reduction/vat-revenue-detail/vat-revenue-detail.less
+303
-0
vat-layout.ctrl.js
...web/src/main/webapp/app/vat/vat-layout/vat-layout.ctrl.js
+5
-0
No files found.
atms-api/src/main/java/pwc/taxtech/atms/controller/RevenueDetailController.java
0 → 100644
View file @
ce3ea281
package
pwc
.
taxtech
.
atms
.
controller
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
pwc.taxtech.atms.dto.input.CamelPagingResultDto
;
import
pwc.taxtech.atms.dto.revenueDetail.RevenueDetailParam
;
import
pwc.taxtech.atms.dto.revenueDetail.RevenueDetailResult
;
import
pwc.taxtech.atms.service.impl.RevenueDetailService
;
import
javax.annotation.Resource
;
@RestController
@RequestMapping
(
value
=
"api/v1/revenueDetail"
)
public
class
RevenueDetailController
extends
BaseController
{
@Resource
private
RevenueDetailService
revenueDetailService
;
@PostMapping
(
"queryPage"
)
public
CamelPagingResultDto
<
RevenueDetailResult
>
queryPage
(
@RequestBody
RevenueDetailParam
param
)
{
return
new
CamelPagingResultDto
<>(
revenueDetailService
.
queryPage
(
param
));
}
}
atms-api/src/main/java/pwc/taxtech/atms/dto/revenueDetail/RevenueDetailParam.java
0 → 100644
View file @
ce3ea281
package
pwc
.
taxtech
.
atms
.
dto
.
revenueDetail
;
import
pwc.taxtech.atms.dto.input.CamelPagingDto
;
import
java.io.Serializable
;
public
class
RevenueDetailParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6544829900689477447L
;
private
CamelPagingDto
pageInfo
;
private
String
accountCode
;
private
String
accountName
;
private
String
type
;
private
String
profitCenterCode
;
private
String
profitCenterName
;
private
Integer
taxOn
;
private
String
productCode
;
private
String
productName
;
private
Integer
category
;
private
String
projectId
;
private
Integer
period
;
private
String
queryDate
;
public
String
getQueryDate
()
{
return
queryDate
;
}
public
void
setQueryDate
(
String
queryDate
)
{
this
.
queryDate
=
queryDate
;
}
public
String
getAccountCode
()
{
return
accountCode
;
}
public
void
setAccountCode
(
String
accountCode
)
{
this
.
accountCode
=
accountCode
;
}
public
String
getAccountName
()
{
return
accountName
;
}
public
void
setAccountName
(
String
accountName
)
{
this
.
accountName
=
accountName
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getProfitCenterCode
()
{
return
profitCenterCode
;
}
public
void
setProfitCenterCode
(
String
profitCenterCode
)
{
this
.
profitCenterCode
=
profitCenterCode
;
}
public
String
getProfitCenterName
()
{
return
profitCenterName
;
}
public
void
setProfitCenterName
(
String
profitCenterName
)
{
this
.
profitCenterName
=
profitCenterName
;
}
public
Integer
getTaxOn
()
{
return
taxOn
;
}
public
void
setTaxOn
(
Integer
taxOn
)
{
this
.
taxOn
=
taxOn
;
}
public
String
getProductCode
()
{
return
productCode
;
}
public
void
setProductCode
(
String
productCode
)
{
this
.
productCode
=
productCode
;
}
public
String
getProductName
()
{
return
productName
;
}
public
void
setProductName
(
String
productName
)
{
this
.
productName
=
productName
;
}
public
Integer
getCategory
()
{
return
category
;
}
public
void
setCategory
(
Integer
category
)
{
this
.
category
=
category
;
}
public
String
getProjectId
()
{
return
projectId
;
}
public
void
setProjectId
(
String
projectId
)
{
this
.
projectId
=
projectId
;
}
public
Integer
getPeriod
()
{
return
period
;
}
public
void
setPeriod
(
Integer
period
)
{
this
.
period
=
period
;
}
public
CamelPagingDto
getPageInfo
()
{
return
this
.
pageInfo
;
}
public
void
setPageInfo
(
CamelPagingDto
pageInfo
)
{
this
.
pageInfo
=
pageInfo
;
}
}
atms-api/src/main/java/pwc/taxtech/atms/dto/revenueDetail/RevenueDetailResult.java
0 → 100644
View file @
ce3ea281
package
pwc
.
taxtech
.
atms
.
dto
.
revenueDetail
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
public
class
RevenueDetailResult
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8385521700489579616L
;
private
String
subject
;
private
String
account
;
private
String
profitCenter
;
private
String
product
;
private
String
subjectExplain
;
private
String
accountExplain
;
private
String
profitCenterExplain
;
private
String
productExplain
;
private
BigDecimal
amount
;
private
String
type
;
private
String
category
;
private
String
taxOn
;
public
String
getSubject
()
{
return
subject
;
}
public
void
setSubject
(
String
subject
)
{
this
.
subject
=
subject
;
}
public
String
getAccount
()
{
return
account
;
}
public
void
setAccount
(
String
account
)
{
this
.
account
=
account
;
}
public
String
getProfitCenter
()
{
return
profitCenter
;
}
public
void
setProfitCenter
(
String
profitCenter
)
{
this
.
profitCenter
=
profitCenter
;
}
public
String
getProduct
()
{
return
product
;
}
public
void
setProduct
(
String
product
)
{
this
.
product
=
product
;
}
public
String
getSubjectExplain
()
{
return
subjectExplain
;
}
public
void
setSubjectExplain
(
String
subjectExplain
)
{
this
.
subjectExplain
=
subjectExplain
;
}
public
String
getAccountExplain
()
{
return
accountExplain
;
}
public
void
setAccountExplain
(
String
accountExplain
)
{
this
.
accountExplain
=
accountExplain
;
}
public
String
getProfitCenterExplain
()
{
return
profitCenterExplain
;
}
public
void
setProfitCenterExplain
(
String
profitCenterExplain
)
{
this
.
profitCenterExplain
=
profitCenterExplain
;
}
public
String
getProductExplain
()
{
return
productExplain
;
}
public
void
setProductExplain
(
String
productExplain
)
{
this
.
productExplain
=
productExplain
;
}
public
BigDecimal
getAmount
()
{
return
amount
;
}
public
void
setAmount
(
BigDecimal
amount
)
{
this
.
amount
=
amount
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getCategory
()
{
return
category
;
}
public
void
setCategory
(
String
category
)
{
this
.
category
=
category
;
}
public
String
getTaxOn
()
{
return
taxOn
;
}
public
void
setTaxOn
(
String
taxOn
)
{
this
.
taxOn
=
taxOn
;
}
}
atms-api/src/main/java/pwc/taxtech/atms/service/impl/RevenueDetailService.java
0 → 100644
View file @
ce3ea281
package
pwc
.
taxtech
.
atms
.
service
.
impl
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
org.springframework.stereotype.Service
;
import
pwc.taxtech.atms.dpo.RevenueDetailDto
;
import
pwc.taxtech.atms.dto.revenueDetail.RevenueDetailParam
;
import
pwc.taxtech.atms.dto.revenueDetail.RevenueDetailResult
;
import
pwc.taxtech.atms.vat.dao.TrialBalanceFinalMapper
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Service
public
class
RevenueDetailService
extends
BaseService
{
@Resource
private
TrialBalanceFinalMapper
trialBalanceFinalMapper
;
/**
* @param param
* @return
*/
public
PageInfo
<
RevenueDetailResult
>
queryPage
(
RevenueDetailParam
param
)
{
Page
page
=
PageHelper
.
startPage
(
param
.
getPageInfo
().
getPageIndex
(),
param
.
getPageInfo
().
getPageSize
());
List
<
RevenueDetailDto
>
dataList
=
trialBalanceFinalMapper
.
queryBalanceWithRevenueConfig
(
param
.
getAccountCode
(),
param
.
getAccountName
(),
param
.
getType
(),
param
.
getProfitCenterCode
(),
param
.
getProfitCenterName
(),
param
.
getTaxOn
(),
param
.
getProductCode
(),
param
.
getProductName
(),
param
.
getCategory
(),
param
.
getProjectId
(),
param
.
getPeriod
(),
param
.
getQueryDate
());
PageInfo
<
RevenueDetailResult
>
pageInfo
=
new
PageInfo
<>(
dataList
.
stream
()
.
map
(
o
->
beanUtil
.
copyProperties
(
o
,
new
RevenueDetailResult
())).
collect
(
Collectors
.
toList
()));
pageInfo
.
setTotal
(
page
.
getTotal
());
return
pageInfo
;
}
}
atms-dao/src/main/java/pwc/taxtech/atms/dpo/RevenueDetailDto.java
0 → 100644
View file @
ce3ea281
package
pwc
.
taxtech
.
atms
.
dpo
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
public
class
RevenueDetailDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3774022182707357862L
;
private
String
subject
;
private
String
account
;
private
String
profitCenter
;
private
String
product
;
private
String
subjectExplain
;
private
String
accountExplain
;
private
String
profitCenterExplain
;
private
String
productExplain
;
private
BigDecimal
amount
;
private
String
type
;
private
String
category
;
private
String
taxOn
;
public
String
getSubject
()
{
return
subject
;
}
public
void
setSubject
(
String
subject
)
{
this
.
subject
=
subject
;
}
public
String
getAccount
()
{
return
account
;
}
public
void
setAccount
(
String
account
)
{
this
.
account
=
account
;
}
public
String
getProfitCenter
()
{
return
profitCenter
;
}
public
void
setProfitCenter
(
String
profitCenter
)
{
this
.
profitCenter
=
profitCenter
;
}
public
String
getProduct
()
{
return
product
;
}
public
void
setProduct
(
String
product
)
{
this
.
product
=
product
;
}
public
String
getSubjectExplain
()
{
return
subjectExplain
;
}
public
void
setSubjectExplain
(
String
subjectExplain
)
{
this
.
subjectExplain
=
subjectExplain
;
}
public
String
getAccountExplain
()
{
return
accountExplain
;
}
public
void
setAccountExplain
(
String
accountExplain
)
{
this
.
accountExplain
=
accountExplain
;
}
public
String
getProfitCenterExplain
()
{
return
profitCenterExplain
;
}
public
void
setProfitCenterExplain
(
String
profitCenterExplain
)
{
this
.
profitCenterExplain
=
profitCenterExplain
;
}
public
String
getProductExplain
()
{
return
productExplain
;
}
public
void
setProductExplain
(
String
productExplain
)
{
this
.
productExplain
=
productExplain
;
}
public
BigDecimal
getAmount
()
{
return
amount
;
}
public
void
setAmount
(
BigDecimal
amount
)
{
this
.
amount
=
amount
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getCategory
()
{
return
category
;
}
public
void
setCategory
(
String
category
)
{
this
.
category
=
category
;
}
public
String
getTaxOn
()
{
return
taxOn
;
}
public
void
setTaxOn
(
String
taxOn
)
{
this
.
taxOn
=
taxOn
;
}
}
atms-dao/src/main/java/pwc/taxtech/atms/vat/dao/TrialBalanceFinalMapper.java
View file @
ce3ea281
package
pwc
.
taxtech
.
atms
.
vat
.
dao
;
package
pwc
.
taxtech
.
atms
.
vat
.
dao
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.session.RowBounds
;
import
org.apache.ibatis.session.RowBounds
;
import
pwc.taxtech.atms.MyVatMapper
;
import
pwc.taxtech.atms.MyVatMapper
;
import
pwc.taxtech.atms.dpo.RevenueDetailDto
;
import
pwc.taxtech.atms.vat.entity.TrialBalanceFinal
;
import
pwc.taxtech.atms.vat.entity.TrialBalanceFinal
;
import
pwc.taxtech.atms.vat.entity.TrialBalanceFinalExample
;
import
pwc.taxtech.atms.vat.entity.TrialBalanceFinalExample
;
import
java.util.List
;
@Mapper
@Mapper
public
interface
TrialBalanceFinalMapper
extends
MyVatMapper
{
public
interface
TrialBalanceFinalMapper
extends
MyVatMapper
{
/**
/**
...
@@ -105,4 +107,18 @@ public interface TrialBalanceFinalMapper extends MyVatMapper {
...
@@ -105,4 +107,18 @@ public interface TrialBalanceFinalMapper extends MyVatMapper {
* @mbg.generated
* @mbg.generated
*/
*/
int
updateByPrimaryKey
(
TrialBalanceFinal
record
);
int
updateByPrimaryKey
(
TrialBalanceFinal
record
);
List
<
RevenueDetailDto
>
queryBalanceWithRevenueConfig
(
@Param
(
"accountCode"
)
String
accountCode
,
@Param
(
"accountName"
)
String
accountName
,
@Param
(
"type"
)
String
type
,
@Param
(
"profitCenterCode"
)
String
profitCenterCode
,
@Param
(
"profitCenterName"
)
String
profitCenterName
,
@Param
(
"taxOn"
)
Integer
taxOn
,
@Param
(
"productCode"
)
String
productCode
,
@Param
(
"productName"
)
String
productName
,
@Param
(
"category"
)
Integer
category
,
@Param
(
"projectId"
)
String
projectId
,
@Param
(
"period"
)
Integer
period
,
@Param
(
"queryDate"
)
String
queryDate
);
}
}
\ No newline at end of file
atms-dao/src/main/resources/pwc/taxtech/atms/vat/dao/extends/TrialBalanceFinalExtendsMapper.xml
0 → 100644
View file @
ce3ea281
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"pwc.taxtech.atms.vat.dao.TrialBalanceFinalMapper"
>
<select
id=
"queryBalanceWithRevenueConfig"
resultType=
"pwc.taxtech.atms.dpo.RevenueDetailDto"
>
select detail.*
from (
select tbf.segment1 as subject,
tbf.segment3 as account,
tbf.segment5 profitCenter,
tbf.segment6 product,
tbf.segment1_name subjectExplain,
tbf.segment3_name accountExplain,
tbf.segment5_name profitCenterExplain,
tbf.segment6_name productExplain,
tbf.period_dr amount,
rc.name type,
rc.revenue_type category,
rc.tax_type taxOn,
case
when tbf.segment3 like '4001%' and rc.id is null then 1
when tbf.segment3 like '4002%' and rc.id is null then 1
when tbf.segment3 like '4010%' and rc.id is null then 1
when tbf.segment3 like '8002%' and rc.id is null then 1
<![CDATA[WHEN rc.id IS NOT NULL and rc.start_date > #{queryDate} and rc.end_date < #{queryDate} then 1]]>
<![CDATA[WHEN rc.id IS NOT NULL and rc.start_date <= #{queryDate} and rc.end_date >= #{queryDate} THEN 2]]>
else 3 end as isEmpty
from trial_balance_final as tbf
left join
revenue_config as rc
on
rc.org_id = tbf.organization_id
and
rc.tb_segment3 = tbf.segment3
and
rc.tb_segment5 = tbf.segment5
and
rc.tb_segment6 = tbf.segment6
where
tbf.project_id = #{projectId}
and tbf.period = #{period}
<if
test=
"accountCode != null and accountCode != ''"
>
and tbf.segment3 like concat('%',#{accountCode},'%')
</if>
<if
test=
"accountName != null and accountName != ''"
>
and tbf.segment3_name like concat('%',#{accountName},'%')
</if>
<if
test=
"profitCenterCode != null and profitCenterCode != ''"
>
and tbf.segment5 like concat('%',#{profitCenterCode},'%')
</if>
<if
test=
"profitCenterName != null and profitCenterName != ''"
>
and tbf.segment5_name like concat('%',#{profitCenterName},'%')
</if>
<if
test=
"productCode != null and productCode != ''"
>
and tbf.segment6 like concat('%',#{productCode},'%')
</if>
<if
test=
"productName != null and productName != ''"
>
and tbf.segment6_name like concat('%',#{productName},'%')
</if>
<if
test=
"type != null"
>
and rc.name = #{type}
</if>
<if
test=
"category != null"
>
and rc.revenue_type = #{category}
</if>
<if
test=
"taxOn != null"
>
and rc.tax_rate = #{taxOn}
</if>
) as detail
where
<![CDATA[detail.isEmpty < 3]]>
order by detail.isEmpty
</select>
</mapper>
\ No newline at end of file
atms-web/src/main/webapp/Scripts/module-part1.js
View file @
ce3ea281
...
@@ -964,6 +964,22 @@ var vatModule = angular.module('app.vat', ['ui.grid', 'ui.grid.selection', 'ui.g
...
@@ -964,6 +964,22 @@ var vatModule = angular.module('app.vat', ['ui.grid', 'ui.grid.selection', 'ui.g
sticky
:
true
sticky
:
true
});
});
$stateProvider
.
state
({
name
:
'vat.reductionData.revenueDetail'
,
url
:
'/revenueDetail'
,
views
:
{
'@vat.reductionData'
:
{
controller
:
[
'$scope'
,
'$stateParams'
,
'appTranslation'
,
function
(
$scope
,
$stateParams
,
appTranslation
)
{
appTranslation
.
load
([
appTranslation
.
vat
]);
}],
template
:
'<vat-revenue-detail></vat-revenue-detail>'
,
}
},
resolve
:
scriptDependencyProvider
.
createDependenciesMap
(
scriptDependencyProvider
.
vat
),
deepStateRedirect
:
true
,
sticky
:
true
});
$stateProvider
.
state
({
$stateProvider
.
state
({
name
:
'vat.reductionData.unbilledInvoice'
,
name
:
'vat.reductionData.unbilledInvoice'
,
url
:
'/unbilledInvoice'
,
url
:
'/unbilledInvoice'
,
...
...
atms-web/src/main/webapp/app-resources/i18n/zh-CN/vat.json
View file @
ce3ea281
...
@@ -1745,6 +1745,7 @@
...
@@ -1745,6 +1745,7 @@
"c_vatType"
:
"增值税纳税类型"
,
"c_vatType"
:
"增值税纳税类型"
,
"c_year"
:
"申报年"
,
"c_year"
:
"申报年"
,
"caculateData"
:
"数据处理"
,
"caculateData"
:
"数据处理"
,
"revenueDetail"
:
"收入明细"
,
"cancelled"
:
"已作废"
,
"cancelled"
:
"已作废"
,
"caseNumberColon"
:
"事件号"
,
"caseNumberColon"
:
"事件号"
,
"chartData"
:
"数据"
,
"chartData"
:
"数据"
,
...
@@ -2105,5 +2106,30 @@
...
@@ -2105,5 +2106,30 @@
"RevenueAddSuccess"
:
"添加成功"
,
"RevenueAddSuccess"
:
"添加成功"
,
"RevenueUpdateSuccess"
:
"更新成功"
,
"RevenueUpdateSuccess"
:
"更新成功"
,
"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"
:
"计税方法"
,
"~MustBeEndOneApp"
:
"我必须是最后一个!"
"~MustBeEndOneApp"
:
"我必须是最后一个!"
}
}
\ No newline at end of file
atms-web/src/main/webapp/app/common/utils/constant.js
View file @
ce3ea281
...
@@ -500,8 +500,9 @@ constant.vatPermission = {
...
@@ -500,8 +500,9 @@ constant.vatPermission = {
saveCode
:
'02.003.002.002'
saveCode
:
'02.003.002.002'
},
},
revenueDetailCode
:
'02.003.004'
,
caculateDataCode
:
'02.003.003'
,
caculateDataCode
:
'02.003.003'
,
unbilledInvoiceCode
:
'02.003.004'
,
unbilledInvoiceCode
:
'02.003.004'
,
},
},
reportView
:
{
reportView
:
{
...
...
atms-web/src/main/webapp/app/dataImport/vat-revenue-config/vat-revenue-config.ctrl.js
View file @
ce3ea281
ci
tModule
.
controller
(
'VatRevenueConfigController'
,
[
'$scope'
,
'$log'
,
'$translate'
,
'$timeout'
,
'SweetAlert'
,
'$q'
,
va
tModule
.
controller
(
'VatRevenueConfigController'
,
[
'$scope'
,
'$log'
,
'$translate'
,
'$timeout'
,
'SweetAlert'
,
'$q'
,
'$interval'
,
'dxDataGridService'
,
'$http'
,
'apiConfig'
,
'$interval'
,
'dxDataGridService'
,
'$http'
,
'apiConfig'
,
function
(
$scope
,
$log
,
$translate
,
$timeout
,
SweetAlert
,
$q
,
$interval
,
dxDataGridService
,
$http
,
apiConfig
)
{
function
(
$scope
,
$log
,
$translate
,
$timeout
,
SweetAlert
,
$q
,
$interval
,
dxDataGridService
,
$http
,
apiConfig
)
{
'use strict'
;
'use strict'
;
...
...
atms-web/src/main/webapp/app/framework/app-overview/app-overview.ctrl.js
View file @
ce3ea281
...
@@ -946,7 +946,9 @@
...
@@ -946,7 +946,9 @@
// }
// }
else
if
(
data
[
constant
.
vatPermission
.
dataManage
.
caculateDataCode
])
{
else
if
(
data
[
constant
.
vatPermission
.
dataManage
.
caculateDataCode
])
{
$state
.
go
(
'vat.reductionData.caculateData'
);
$state
.
go
(
'vat.reductionData.caculateData'
);
}
/*else if (data[constant.vatPermission.dataManage.unbilledInvoiceCode]) {
}
else
if
(
data
[
constant
.
vatPermission
.
dataManage
.
revenueDetailCode
]){
$state
.
go
(
'vat.reductionData.revenueDetail'
);
}
/*else if (data[constant.vatPermission.dataManage.unbilledInvoiceCode]) {
$state.go('vat.reductionData.unbilledInvoice');
$state.go('vat.reductionData.unbilledInvoice');
}*/
else
if
(
data
[
constant
.
vatPermission
.
reportView
.
bsplCode
]
||
data
[
constant
.
vatPermission
.
reportView
.
taxReturnCode
])
{
}*/
else
if
(
data
[
constant
.
vatPermission
.
reportView
.
bsplCode
]
||
data
[
constant
.
vatPermission
.
reportView
.
taxReturnCode
])
{
$state
.
go
(
'vat.generateReport'
);
$state
.
go
(
'vat.generateReport'
);
...
...
atms-web/src/main/webapp/app/vat/import/vat-import-layout/vat-import-layout.ctrl.js
View file @
ce3ea281
...
@@ -103,6 +103,10 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
...
@@ -103,6 +103,10 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
name
:
'caculateData'
,
permission
:
constant
.
vatPermission
.
dataManage
.
caculateDataCode
,
name
:
'caculateData'
,
permission
:
constant
.
vatPermission
.
dataManage
.
caculateDataCode
,
text
:
$translate
.
instant
(
'caculateData'
),
icon
:
'fa fa-random'
,
show
:
true
text
:
$translate
.
instant
(
'caculateData'
),
icon
:
'fa fa-random'
,
show
:
true
},
},
{
name
:
'revenueDetail'
,
permission
:
constant
.
vatPermission
.
dataManage
.
revenueDetailCode
,
text
:
$translate
.
instant
(
'revenueDetail'
),
icon
:
'fa fa-random'
,
show
:
true
},
/*{
/*{
name: 'accountMapping', permission: constant.vatPermission.dataManage.accountMappingCode,
name: 'accountMapping', permission: constant.vatPermission.dataManage.accountMappingCode,
text: $translate.instant('accountMapping'), icon: 'fa fa-map', show: true
text: $translate.instant('accountMapping'), icon: 'fa fa-map', show: true
...
...
atms-web/src/main/webapp/app/vat/reduction/vat-revenue-detail/vat-revenue-detail.ctrl.js
0 → 100644
View file @
ce3ea281
vatModule
.
controller
(
'vatRevenueDetailController'
,
[
'$scope'
,
'$log'
,
'$translate'
,
'$timeout'
,
'SweetAlert'
,
'$q'
,
'$interval'
,
'dxDataGridService'
,
'$http'
,
'apiConfig'
,
'vatSessionService'
,
function
(
$scope
,
$log
,
$translate
,
$timeout
,
SweetAlert
,
$q
,
$interval
,
dxDataGridService
,
$http
,
apiConfig
,
vatSessionService
)
{
'use strict'
;
$log
.
debug
(
'vatRevenueDetailController.ctor()...'
);
//表格配置
$scope
.
revenueGridOptions
=
$
.
extend
(
true
,
{},
dxDataGridService
.
BASIC_GRID_OPTIONS
,
{
columns
:
[
{
dataField
:
'serialNo'
,
caption
:
$translate
.
instant
(
'RevDetailColSerialNo'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'subject'
,
caption
:
$translate
.
instant
(
'RevDetailColSubject'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'account'
,
caption
:
$translate
.
instant
(
'RevDetailColAccount'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'profitCenter'
,
caption
:
$translate
.
instant
(
'RevDetailColProfitCenter'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'product'
,
caption
:
$translate
.
instant
(
'RevDetailProduct'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'subjectExplain'
,
caption
:
$translate
.
instant
(
'RevDetailColSubjectExp'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'accountExplain'
,
caption
:
$translate
.
instant
(
'RevDetailColAccountExp'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'profitCenterExplain'
,
caption
:
$translate
.
instant
(
'RevDetailColProfitCenterExp'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'productExplain'
,
caption
:
$translate
.
instant
(
'RevDetailProductExp'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'amount'
,
caption
:
$translate
.
instant
(
'RevDetailAmount'
),
fixed
:
true
,
allowHeaderFiltering
:
true
},
{
dataField
:
'type'
,
caption
:
$translate
.
instant
(
'RevDetailType'
),
fixed
:
true
,
allowHeaderFiltering
:
true
,
cellTemplate
:
function
(
container
,
options
)
{
try
{
if
(
options
.
data
.
type
==
null
)
{
$
(
'<i class="fa fa-exclamation-triangle"></i> '
)
.
appendTo
(
container
);
}
else
{
$
(
"<span>"
+
options
.
data
.
type
+
"</span>"
)
.
appendTo
(
container
);
}
}
catch
(
e
)
{
$log
.
error
(
e
);
}
}
},
{
dataField
:
'category'
,
caption
:
$translate
.
instant
(
'RevDetailCategory'
),
fixed
:
true
,
allowHeaderFiltering
:
true
,
cellTemplate
:
function
(
container
,
options
)
{
try
{
if
(
options
.
data
.
category
==
null
)
{
$
(
'<i class="fa fa-exclamation-triangle"></i> '
)
.
appendTo
(
container
);
}
else
{
switch
(
options
.
data
.
category
)
{
case
"0"
:
$
(
"<span>货物及加工修理修配劳务</span>"
)
.
appendTo
(
container
);
case
"1"
:
$
(
"<span>服务、不动产和无形资产</span>"
)
.
appendTo
(
container
);
}
}
}
catch
(
e
)
{
$log
.
error
(
e
);
}
}
},
{
dataField
:
'taxOn'
,
caption
:
$translate
.
instant
(
'RevDetailTaxOn'
),
fixed
:
true
,
allowHeaderFiltering
:
true
,
cellTemplate
:
function
(
container
,
options
)
{
try
{
if
(
options
.
data
.
taxOn
==
null
)
{
$
(
'<i class="fa fa-exclamation-triangle"></i> '
)
.
appendTo
(
container
);
}
else
{
switch
(
options
.
data
.
taxOn
)
{
case
"0"
:
$
(
"<span>一般计税</span>"
)
.
appendTo
(
container
);
case
"1"
:
$
(
"<span>简易计税</span>"
)
.
appendTo
(
container
);
case
"2"
:
$
(
"<span>免抵退税</span>"
)
.
appendTo
(
container
);
case
"3"
:
$
(
"<span>免税</span>"
)
.
appendTo
(
container
);
}
}
}
catch
(
e
)
{
$log
.
error
(
e
);
}
}
}
],
bindingOptions
:
{
dataSource
:
'pageConfDataSource'
}
});
//刷新页面
$scope
.
refreshGrid
=
function
()
{
$scope
.
searchParam
.
projectId
=
vatSessionService
.
project
.
id
;
var
month
=
vatSessionService
.
month
<
10
?
(
"0"
+
vatSessionService
.
month
)
:
vatSessionService
.
month
;
$scope
.
searchParam
.
period
=
""
+
vatSessionService
.
year
+
month
;
$scope
.
searchParam
.
queryDate
=
vatSessionService
.
year
+
"-"
+
month
;
$scope
.
searchParam
.
pageInfo
=
{
pageIndex
:
$scope
.
pagingOptions
.
pageIndex
,
totalItems
:
$scope
.
pagingOptions
.
totalItems
,
pageSize
:
$scope
.
pagingOptions
.
pageSize
};
console
.
log
(
'searchParam:'
+
JSON
.
stringify
(
$scope
.
searchParam
));
$http
.
post
(
'/revenueDetail/queryPage'
,
$scope
.
searchParam
,
apiConfig
.
createVat
())
.
success
(
function
(
res
)
{
if
(
res
&&
res
.
list
)
{
$scope
.
pageConfDataSource
=
res
.
list
;
$scope
.
pagingOptions
.
totalItems
=
res
.
pageInfo
.
totalCount
;
}
else
{
SweetAlert
.
error
(
$translate
.
instant
(
'SystemError'
));
}
})
};
//搜索框的处理
$scope
.
searchboxService
=
{
showOrHideSearchBox
:
function
()
{
$scope
.
hasShowMoreSearchBox
=
!
$scope
.
hasShowMoreSearchBox
;
},
search
:
function
()
{
$scope
.
pagingOptions
.
pageIndex
=
1
;
$scope
.
refreshGrid
();
},
resetBox
:
function
()
{
$scope
.
searchParam
=
{};
}
};
$scope
.
revenueType
=
[];
$scope
.
getRevenueType
=
function
()
{
$http
.
post
(
'/revenueConf/queryPage'
,
{
pageInfo
:
$scope
.
pagingOptions
},
apiConfig
.
createVat
())
.
success
(
function
(
res
)
{
if
(
res
&&
res
.
list
)
{
angular
.
forEach
(
res
.
list
,
function
(
d
)
{
$scope
.
revenueType
.
push
({
'key'
:
d
.
name
,
'val'
:
d
.
name
});
})
}
else
{
SweetAlert
.
error
(
$translate
.
instant
(
'GetRevenueTypeError'
));
}
})
};
(
function
initialize
()
{
//分页的设置
$scope
.
pagingOptions
=
{
pageIndex
:
1
,
//当前页码
totalItems
:
0
,
//总数据
pageSize
:
20
//每页多少条数据
};
$scope
.
hasShowMoreSearchBox
=
true
;
$scope
.
searchParam
=
{};
$scope
.
searchOptions
=
{
categoryOptions
:
{
displayExpr
:
'key'
,
valueExpr
:
'val'
,
bindingOptions
:
{
value
:
'searchParam.category'
},
dataSource
:
[
{
'key'
:
'货物及加工修理修配劳务'
,
'val'
:
0
},
{
'key'
:
'服务、不动产和无形资产'
,
'val'
:
1
},
]
},
taxOnOptions
:
{
displayExpr
:
'key'
,
valueExpr
:
'val'
,
bindingOptions
:
{
value
:
'searchParam.taxOn'
},
dataSource
:
[
{
'key'
:
'一般计税'
,
'val'
:
0
},
{
'key'
:
'简易计税'
,
'val'
:
1
},
{
'key'
:
'免抵退税'
,
'val'
:
2
},
{
'key'
:
'免税'
,
'val'
:
3
},
]
},
typeOptions
:
{
displayExpr
:
'key'
,
valueExpr
:
'val'
,
bindingOptions
:
{
value
:
'searchParam.type'
},
dataSource
:
$scope
.
revenueType
}
};
$scope
.
revenueConfAddDiv
=
".vat-revenue-config #revenueConfAddDiv"
;
function
init
()
{
$scope
.
getRevenueType
();
$scope
.
refreshGrid
();
}
init
()
})();
}
]);
\ No newline at end of file
atms-web/src/main/webapp/app/vat/reduction/vat-revenue-detail/vat-revenue-detail.html
0 → 100644
View file @
ce3ea281
<div
class=
"vat-revenue-detail"
>
<div
class=
"header-title"
>
<div
style=
"display:inline-block"
><span
class=
"title-name"
>
{{'RevDetail' | translate }}
</span></div>
</div>
<div
class=
"content-container"
>
<div
class=
"header"
>
<div
class=
"search-panel"
>
<table
class=
"table borderless table-bottom"
>
<tr>
<td><span
class=
"lbl-name"
>
{{'RevSearchAccountCode' | translate }}:
</span></td>
<td>
<input
class=
"form-control"
name=
"name"
ng-model=
"searchParam.accountCode"
maxlength=
"20"
>
</td>
<td><span
class=
"lbl-name"
>
{{'RevSearchAccountName' | translate }}:
</span>
:
</td>
<td>
<input
class=
"form-control"
name=
"name"
ng-model=
"searchParam.accountName"
maxlength=
"20"
>
</td>
<td><span
class=
"lbl-name"
>
{{'RevSearchType' | translate }}:
</span></td>
<td>
<div
dx-select-box=
"searchOptions.typeOptions"
></div>
</td>
<td
ng-show=
"!hasShowMoreSearchBox"
>
<button
type=
"button"
class=
"btn btn-primary invoice-btn"
ng-click=
"searchboxService.search()"
>
查询
</button>
</td>
<td
ng-show=
"!hasShowMoreSearchBox"
>
<button
type=
"button"
class=
"btn btn-primary invoice-btn"
ng-click=
"searchboxService.resetBox()"
>
重置
</button>
</td>
<td
ng-show=
"!hasShowMoreSearchBox"
>
<span
class=
"lbl-name"
>
<a
href=
"javacript:void(0)"
ng-click=
"searchboxService.showOrHideSearchBox()"
><span><i
class=
"fa fa-chevron-down"
aria-hidden=
"true"
></i><span
style=
"margin-left:3px;"
>
更多查询
</span></span></a>
</span>
</td>
</tr>
<tr
ng-show=
"hasShowMoreSearchBox"
>
</td>
<td><span
class=
"lbl-name"
>
{{'RevSearchProfitCenterCode' | translate }}:
</span></td>
<td>
<input
class=
"form-control"
name=
"name"
ng-model=
"searchParam.profitCenterCode"
maxlength=
"20"
>
</td>
<td><span
class=
"lbl-name"
>
{{'RevSearchProfitCenterName' | translate }}:
</span></td>
<td>
<input
class=
"form-control"
name=
"name"
ng-model=
"searchParam.centerName"
maxlength=
"20"
>
</td>
<td><span
class=
"lbl-name"
>
{{'RevSearchTaxOn' | translate }}:
</span></td>
<td>
<div
dx-select-box=
"searchOptions.taxOnOptions"
></div>
</td>
</tr>
<tr
ng-show=
"hasShowMoreSearchBox"
>
<td><span
class=
"lbl-name"
>
{{'RevSearchProductCode' | translate }}:
</span></td>
<td>
<input
class=
"form-control"
name=
"name"
ng-model=
"searchParam.productCode"
maxlength=
"20"
>
</td>
<td><span
class=
"lbl-name"
>
{{'RevSearchProductName' | translate }}:
</span></td>
<td>
<input
class=
"form-control"
name=
"name"
ng-model=
"searchParam.productName"
maxlength=
"20"
>
</td>
<td><span
class=
"lbl-name"
>
{{'RevSearchCategory' | translate }}:
</span></td>
<td>
<div
dx-select-box=
"searchOptions.categoryOptions"
></div>
</td>
<td>
<button
type=
"button"
class=
"btn btn-primary invoice-btn"
ng-click=
"searchboxService.search()"
>
查询
</button>
</td>
<td>
<button
type=
"button"
class=
"btn btn-primary invoice-btn"
ng-click=
"searchboxService.resetBox()"
>
重置
</button>
</td>
<td>
<a
href=
"javascript:void(0);"
ng-click=
"searchboxService.showOrHideSearchBox()"
>
<span><i
class=
"fa fa-chevron-up"
aria-hidden=
"true"
></i><span
style=
"margin-left:3px;"
>
收起
</span></span></a>
</td>
</tr>
</table>
</div>
</div>
<div
class=
"body"
>
<div
class=
"grid-container"
>
<div
id=
"invoiceGridContainer"
dx-data-grid=
"revenueGridOptions"
>
<div
data-options=
"dxTemplate:{ name:'editCellTemplate' }"
>
</div>
</div>
</div>
<div
class=
"page-footer"
>
<ack-pagination
page-options=
"pagingOptions"
refresh-table=
"refreshConfigGrid()"
></ack-pagination>
</div>
</div>
</div>
</div>
atms-web/src/main/webapp/app/vat/reduction/vat-revenue-detail/vat-revenue-detail.js
0 → 100644
View file @
ce3ea281
vatModule
.
directive
(
'vatRevenueDetail'
,
[
'$log'
,
'browserService'
,
'$translate'
,
'region'
,
'$timeout'
,
function
(
$log
,
browserService
,
$translate
,
region
,
$timeout
)
{
$log
.
debug
(
'vatRevenueDetail.ctor()...'
);
return
{
restrict
:
'E'
,
templateUrl
:
'/app/vat/reduction/vat-revenue-detail/vat-revenue-detail.html'
+
'?_='
+
Math
.
random
(),
scope
:
{},
controller
:
'vatRevenueDetailController'
}
}
]);
\ No newline at end of file
atms-web/src/main/webapp/app/vat/reduction/vat-revenue-detail/vat-revenue-detail.less
0 → 100644
View file @
ce3ea281
@border-color: #d4d4d4;
@margin-left: 60px;
@container-width: 970px;
@control-width: 120px;
//sharing
.header {
padding: 15px;
img {
margin-top: 3px;
}
.search-panel {
border: 1px solid #CDCDCD;
border-radius: 5px;
padding: 5px;
.row {
margin: 10px 0;
.filter-item {
display: inline-block;
vertical-align: middle;
height: 32px;
}
.fileter-label {
text-align: right;
height: 32px;
padding-top: 5px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
padding-left: 0;
}
.invoice-btn {
min-width: 90px;
height: 34px;
}
}
.table-bottom {
margin-bottom: 0px !important;
.lbl-name {
word-break: keep-all;
}
td {
vertical-align: middle;
}
}
}
}
.table-bottom {
margin-bottom: 0px !important;
.lbl-name {
word-break: keep-all;
}
td {
vertical-align: middle;
}
}
.red-color {
color: #d04a02;
/*vertical-align: middle;*/
}
.dx-widget {
font-size: 13px;
}
//share
.header-title {
padding: 10px;
.sub-title {
font-family: "Microsoft YaHei";
font-weight: 400;
font-size: 12px;
color: rgb(153, 153, 153);
}
.title-name {
font-family: "Microsoft YaHei Bold", "Microsoft YaHei Regular", "Microsoft YaHei";
font-weight: 700;
font-style: normal;
}
}
.inline-block {
display: inline-block;
.left-side {
display: inline-block;
}
.right-side {
float: right;
display: inline-block;
}
}
.invoice-btn {
min-width: 80px;
height: 28px;
margin-right: 10px;
font-weight: normal;
font-size: 13px;
font-family: 'Microsoft YaHei';
}
.invoice-card {
width: 120px;
height: 130px;
border: 1px dashed @border-color;
border: 1px dashed rgba(0, 0, 0, 0.2);
border-radius: 5px;
background-color: #fff; /*#fbfbfb;*/
text-align: center;
cursor: pointer;
float: left;
margin: 10px;
position: relative;
&:hover {
background-color: #fff !important;
box-shadow: #a06748 1px 1px;
}
//卡片顶部的绝对定位
.dx-checkbox-container {
position: absolute;
left: 59px;
top: -8px;
}
}
.span-btn {
color: #6699CC;
padding: 0px 4px;
cursor: pointer;
font-size: 12px;
}
.borderless td, .borderless th {
border: none !important;
vertical-align: middle !important;
}
.page-footer {
display: inline-block;
float: right;
/*padding-right: 20px;*/
}
.invoice-table-dialog {
.modal-dialog {
min-width: 650px;
.modal-title {
color: red;
}
}
}
.invoiceNumber-link {
cursor: pointer;
/*color:#6699cc;*/
}
.vat-revenue-detail {
height: 100% !important;
padding-top: 0px !important;
position: relative;
font-size: 13px;
.dx-datagrid-group-closed:before {
/* font-family: "ui-grid"; */
font-style: normal;
font-weight: normal;
speak: none;
display: inline-block;
text-decoration: inherit;
width: 1em;
margin-right: .2em;
text-align: center;
font-variant: normal;
text-transform: none;
line-height: 1em;
margin-left: .2em;
content: inherit!important;
}
.header-title {
padding: 10px;
.title-name {
font-family: "Microsoft YaHei Bold", "Microsoft YaHei Regular", "Microsoft YaHei";
font-weight: 700;
font-style: normal;
}
}
.custom-control {
width: @control-width !important;
height: 25px;
line-height: 25px;
}
.btn-search {
width: @control-width !important;
}
.content-container {
height: calc(~'100% - 40px');
position: relative;
.body {
.buttom-row {
padding: 15px;
display: inline-block;
width: 100%;
.left-side {
display: inline-block;
/*padding-left:5px;*/
.select-title {
margin-left: 20px;
}
.select-number {
padding: 0 1px;
color: red;
}
}
.right-side {
float: right;
display: inline-block;
/*padding-right:5px;*/
.btn {
margin-left: 20px;
}
}
}
.grid-container {
padding: 0px 15px;
/*height: 350px;*/
/*height:100%;*/
#invoiceGridContainer {
max-height: 100%;
}
.dx-datagrid-rowsview .dx-row > .dx-master-detail-cell {
padding: 0px !important;
}
.dx-datagrid-nowrap.dx-datagrid-headers .dx-header-row > td > .dx-datagrid-text-content {
white-space: normal !important;
}
.internal-grid-container {
padding: 10px 10px 10px 0;
& > div:first-child {
padding: 0 0 5px 10px;
font-size: 13px;
/*font-weight: bold;*/
}
}
}
}
}
.importVerifyInvoiceModal {
.modal-dialog {
height: 200px;
width: 610px;
}
.modal-footer {
text-align: left;
}
}
}
atms-web/src/main/webapp/app/vat/vat-layout/vat-layout.ctrl.js
View file @
ce3ea281
...
@@ -142,6 +142,7 @@ function ($scope, $rootScope, $q, $log, $timeout, $state, $translate, projectSer
...
@@ -142,6 +142,7 @@ function ($scope, $rootScope, $q, $log, $timeout, $state, $translate, projectSer
constant
.
vatPermission
.
dataPreview
.
inputInvoice
.
queryCode
,
constant
.
vatPermission
.
dataPreview
.
inputInvoice
.
queryCode
,
constant
.
vatPermission
.
dataManage
.
caculateDataCode
,
constant
.
vatPermission
.
dataManage
.
caculateDataCode
,
constant
.
vatPermission
.
dataManage
.
revenueDetailCode
,
// constant.vatPermission.dataManage.accountMappingCode,
// constant.vatPermission.dataManage.accountMappingCode,
// constant.vatPermission.dataManage.goodsMappingCode,
// constant.vatPermission.dataManage.goodsMappingCode,
// constant.vatPermission.dataManage.unbilledInvoiceCode,
// constant.vatPermission.dataManage.unbilledInvoiceCode,
...
@@ -331,6 +332,10 @@ function ($scope, $rootScope, $q, $log, $timeout, $state, $translate, projectSer
...
@@ -331,6 +332,10 @@ function ($scope, $rootScope, $q, $log, $timeout, $state, $translate, projectSer
name
:
'reductionData.caculateData'
,
state
:
'reductionData.caculateData'
,
num
:
3
,
name
:
'reductionData.caculateData'
,
state
:
'reductionData.caculateData'
,
num
:
3
,
permission
:
constant
.
vatPermission
.
dataManage
.
caculateDataCode
,
url
:
'#/vat/reductionData/caculateData'
permission
:
constant
.
vatPermission
.
dataManage
.
caculateDataCode
,
url
:
'#/vat/reductionData/caculateData'
});
});
subMenus
.
push
({
name
:
'reductionData.revenueDetail'
,
state
:
'reductionData.revenueDetail'
,
num
:
3
,
permission
:
constant
.
vatPermission
.
dataManage
.
revenueDetailCode
,
url
:
'#/vat/reductionData/revenueDetail'
});
}
}
else
if
(
data
[
constant
.
vatPermission
.
dataManage
.
accountMappingCode
])
{
else
if
(
data
[
constant
.
vatPermission
.
dataManage
.
accountMappingCode
])
{
$scope
.
menus
.
push
({
$scope
.
menus
.
push
({
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment