Commit 40104c90 authored by neo's avatar neo

[DEV] add output off voice page

parent 3029eabf
......@@ -589,6 +589,23 @@ var vatModule = angular.module('app.vat', ['ui.grid', 'ui.grid.selection', 'ui.g
sticky: true
});
$stateProvider.state({
name: 'vat.previewData.outputoffInvoice',
url: '/outputoffInvoice',
views: {
'@vat.previewData': {
controller: ['$scope', '$stateParams', 'appTranslation',
function ($scope, $stateParams, appTranslation) {
appTranslation.load([appTranslation.vat]);
}],
template: '<vat-preview-outputoff-invoice></vat-preview-outputoff-invoice>',
}
},
resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.vat),
deepStateRedirect: true,
sticky: true
});
$stateProvider.state({
name: 'vat.previewData.inputInvoice',
url: '/inputInvoice',
......
......@@ -520,6 +520,23 @@ var vatModule = angular.module('app.vat', ['ui.grid', 'ui.grid.selection', 'ui.g
sticky: true
});
$stateProvider.state({
name: 'vat.previewData.outputoffInvoice',
url: '/outputoffInvoice',
views: {
'@vat.previewData': {
controller: ['$scope', '$stateParams', 'appTranslation',
function ($scope, $stateParams, appTranslation) {
appTranslation.load([appTranslation.vat]);
}],
template: '<vat-preview-outputoff-invoice></vat-preview-outputoff-invoice>',
}
},
resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.vat),
deepStateRedirect: true,
sticky: true
});
$stateProvider.state({
name: 'vat.previewData.inputInvoice',
url: '/inputInvoice',
......
......@@ -36,6 +36,10 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
name: 'outputInvoice', permission: constant.vatPermission.dataPreview.outputInvoice.queryCode,
text: $translate.instant('outputInvoice'), icon: 'fa fa-file-text-o', show: true
},
{
name: 'outputoffInvoice', permission: constant.vatPermission.dataPreview.outputInvoice.queryCode,
text: '线下开票', icon: 'fa fa-file-text-o', show: true
},
// ,
// {
// name: 'customInvoice', permission: constant.vatPermission.dataPreview.customInvoice.queryCode,
......
<div class="popover">
<div class="arrow"></div>
<div class="popover-content">
<div>
<table class="table table-responsive">
<tr>
<td>
<span translate="InvoiceDate"></span>
<input class="form-control input-width-small" id="invoiceDateStart" ng-model="queryParams.invoiceDateStart" />&nbsp;-&nbsp;
<input class="form-control input-width-small" id="invoiceDateEnd" ng-model="queryParams.invoiceDateEnd" />
</td>
</tr>
<tr>
<td>
<span translate="ClassCode"></span>
<input class="form-control input-width-middle" type="text" id="classCode" ng-model="queryParams.classCode" />
</td>
</tr>
<tr>
<td>
<span translate="InvoiceNumber"></span>
<input class="form-control input-width-middle" type="text" id="invoiceNumber" ng-model="queryParams.invoiceNumber" />
</td>
</tr>
<tr>
<td>
<span translate="BuyerName"></span>
<input class="form-control input-width-middle" type="text" id="buyerName" ng-model="queryParams.buyerName" />
</td>
</tr>
<tr>
<td>
<span translate="ProductName"></span>
<input class="form-control input-width-middle" type="text" id="productName" ng-model="queryParams.productName" />
</td>
</tr>
<tr>
<td>
<span translate="Amount"></span>
<input class="form-control input-width-small" type="text" id="amountStart" ng-model="queryParams.amountStart" onkeyup="PWC.inputNumberFormat(this);" />&nbsp;-&nbsp;
<input class="form-control input-width-small" type="text" id="amountEnd" ng-model="queryParams.amountEnd" onkeyup="PWC.inputNumberFormat(this);" />
</td>
</tr>
<tr>
<td>
<span translate="TaxAmount"></span>
<input class="form-control input-width-small" type="text" id="taxAmountStart" ng-model="queryParams.taxAmountStart" onkeyup="PWC.inputNumberFormat(this);" />&nbsp;-&nbsp;
<input class="form-control input-width-small" type="text" id="taxAmountEnd" ng-model="queryParams.taxAmountEnd" onkeyup="PWC.inputNumberFormat(this);" />
</td>
</tr>
<tr>
<td>
<span translate="InvoiceType"></span>
<div class="ui-select-has-border input-width-middle">
<ui-select ng-model="InvoiceType.selected" search-enabled="false" style="text-align:left;" class="input-width-middle">
<ui-select-match>{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="item in invoiceTypeList | propsFilter: {name: $select.search}">
<div title="{{item.name}}" ng-bind-html="item.name"></div>
</ui-select-choices>
</ui-select>
</div>
</td>
</tr>
</table>
</div>
<div class="row">
<div style="float:right;margin-right:10px;">
<button class="btn btn-default btn-primary" ng-click="doDataFilter('')">
<span class="fa fa-chevron-down" aria-hidden="true"> </span> <span translate="Confirm"></span>
</button>
<button class="btn btn-default margin-right10" ng-click="doDataFilterReset()">
<span class="fa fa-times" aria-hidden="true"> </span> <span translate="Reset"></span>
</button>
</div>
</div>
</div>
</div>
<div class="vat-preview-output-invoice" id="mainPreviewDiv">
<div class="top-area-wrapper">
<!--<button class="filter-button"
atms-popover ng-mouseenter="prepareSummary()" ng-click="showPopover()"
popover-container="body" popover-auto-hide="true" data-overwrite="true"
use-optimized-placement-algorithm="true"
data-placement="bottom"
data-templateurl="/app/vat/preview/vat-preview-output-invoice/vat-preview-output-invoice-search.html">
<i class="fa fa-filter" aria-hidden="true"></i>
</button>-->
<span translate="OutputInvoiceTitle" class="text-bold"></span> &nbsp;&nbsp;|&nbsp;&nbsp;<span class="text-bold" translate="InvoiceQJ"></span>
<input type="text" class="form-control input-width-middle" id="output-invoice-period-picker" />
<div class="pull-right operation-wrapper">
<span ng-click="doExport()"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'ExportBtn' | translate}}</span>
</div>
</div>
<div style="margin-bottom: 8px;margin-left: 30px">
<span class="text-bold">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;
金额<span class="numAmount">{{totalMoneyAmount}}</span>&nbsp;&nbsp;&nbsp;
税额<span class="numAmount">{{totalTaxAmount}}</span>
</div>
<div id="filterCriteriaDiv" style="max-width:98%;margin-bottom:2px;" ng-show="criteriaList.length>0">
<!--<span class="text-bold margin-left20" translate="FilterCriteriaTags"></span>:
<div id="filterDiv" >
<span class="tag label label-default" ng-repeat="criteria in criteriaList" >
<span>{{criteria.name | limitString:20}}</span>
<a><i class="remove glyphicon glyphicon-remove-sign glyphicon-white" ng-click="doDataFilter(criteria.propertyName)"></i></a>
</span>
</div>-->
<span class="text-bold margin-left20" translate="FilterCriteriaTags"></span>:
<span class="tag label label-default" ng-repeat="criteria in criteriaList">
<span>
{{criteria.name}}
</span>
<a><i class="remove glyphicon glyphicon-remove-sign glyphicon-white" ng-click="doDataFilter(criteria.propertyName)"></i></a>
</span>
</div>
<!--数据列表界面-->
<div id="mainAreaDiv" class="main-area">
<div class="outputInvoiceGrid" ui-grid-expandable ui-grid="gridOptions">
<div class="watermark" ng-show="!gridOptions.data.length"><span translate="NoDataAvailable"></span></div>
</div>
<div class="pagination-container">
<span >本页{{curPageItemCount}}条记录,共{{queryOutputInvoiceResult.pageInfo.total}}条记录</span>
<div id="totalInvoicePage" class="common-pagination" style="display:none;">
</div>
</div>
</div>
</div>
vatModule.directive('vatPreviewOutputoffInvoice', ['$log',
function ($log) {
'use strict';
$log.debug('vatImportOutputInvoice.ctor()...');
return {
restrict: 'E',
templateUrl: '/app/vat/preview/vat-preview-outputoff-invoice/vat-preview-outputoff-invoice.html' + '?_=' + Math.random(),
scope: {},
controller: 'vatPreviewOutputInvoiceController',
link: function (scope, element) {
}
};
}
]);
\ No newline at end of file
@import "~/app-resources/less/theme.less";
.vat-preview-output-invoice {
background-color: white;
height: 100%;
.top-area-wrapper {
height: 60px;
width: 98%;
margin: 0 20px;
.filter-button {
width: 30px;
margin-top: 16px;
}
.operation-wrapper {
margin: 15px 25px 10px 10px;
span {
cursor: pointer;
}
}
}
.filter-popup-wrapper {
display: none;
}
.margin-left20 {
margin-left: 20px;
}
/*******************************************/
/*Filter Criteria tags:*/
.tag {
font-size: 12px;
padding: .3em .4em .4em;
margin: 0 .1em;
a {
color: #bbb;
cursor: pointer;
opacity: 0.6;
margin: 0 0 0 .3em;
&:hover {
opacity: 1.0;
}
.glyphicon-white {
color: #fff;
margin-bottom: 2px;
}
}
.remove {
vertical-align: bottom;
top: 0;
}
}
/*Filter Criteria tags:*/
/*******************************************/
.main-area {
height: 100%;
margin: 0 20px;
.watermark {
position: absolute;
top: 50%;
transform: translateY(-50%);
opacity: .25;
font-size: 3em;
width: 100%;
text-align: center;
z-index: 1000;
}
.outputInvoiceGrid {
width: 100%;
height: calc(~'100% - 158px');
.ui-grid-header-cell-wrapper .ui-grid-header-cell-row .ui-grid-cell-contents {
height: 40px;
i {
display: none;
}
}
}
}
.form-control {
display: inline-block;
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.numAmount {
padding: 0 3px;
height: 21px;
margin-left: 5px;
/* font-family: 'Arial'; */
font-weight: 600;
border-radius: 2px;
font-style: normal;
outline: none;
border: none;
min-width: 20px;
background-color: #DDDDDD;
color: #AA0000;
}
.input-width-middle {
width: 217px;
}
}
.popover {
min-width: 370px;
left: 119px !important;
.arrow {
left: 5% !important;
}
}
.popover-content {
td {
text-align: right;
padding: 6px;
span {
float: left;
}
}
.form-control {
display: inline-block;
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.input-width-small {
width: 100px;
}
.input-width-middle {
width: 217px;
}
}
......@@ -266,7 +266,7 @@ function ($scope, $rootScope, $q, $log, $timeout, $state, $translate, projectSer
name: 'previewData.balanceSheet', state: 'previewData.balanceSheet', num: 2,
permission: constant.vatPermission.dataPreview.balanceSheet.queryCode, url: '#/vat/previewData/balanceSheet'
});
}
// }
// else if (data[constant.vatPermission.dataPreview.accountVoucher.queryCode]) {
// $scope.menus.push({
// name: 'previewData', state: 'previewData', num: 2,
......@@ -277,25 +277,29 @@ function ($scope, $rootScope, $q, $log, $timeout, $state, $translate, projectSer
// permission: constant.vatPermission.dataPreview.accountVoucher.queryCode, url: '#/vat/previewData/accountVoucher'
// });
// }
else if (data[constant.vatPermission.dataPreview.inputInvoice.queryCode]) {
$scope.menus.push({
name: 'previewData', state: 'previewData', num: 2,
permission: constant.vatPermission.dataPreview.dataPreviewCode, url: '#/vat/previewData'
});
// else if (data[constant.vatPermission.dataPreview.inputInvoice.queryCode]) {
// $scope.menus.push({
// name: 'previewData', state: 'previewData', num: 2,
// permission: constant.vatPermission.dataPreview.dataPreviewCode, url: '#/vat/previewData'
// });
subMenus.push({
name: 'previewData.inputInvoice', state: 'previewData.inputInvoice', num: 2,
permission: constant.vatPermission.dataPreview.inputInvoice.queryCode, url: '#/vat/previewData/inputInvoice'
});
}
else if (data[constant.vatPermission.dataPreview.outputInvoice.queryCode]) {
$scope.menus.push({
name: 'previewData', state: 'previewData', num: 2,
permission: constant.vatPermission.dataPreview.dataPreviewCode, url: '#/vat/previewData'
});
// }
// else if (data[constant.vatPermission.dataPreview.outputInvoice.queryCode]) {
// $scope.menus.push({
// name: 'previewData', state: 'previewData', num: 2,
// permission: constant.vatPermission.dataPreview.dataPreviewCode, url: '#/vat/previewData'
// });
subMenus.push({
name: 'previewData.outputInvoice', state: 'previewData.outputInvoice', num: 2,
permission: constant.vatPermission.dataPreview.outputInvoice.queryCode, url: '#/vat/previewData/outputInvoice'
});
subMenus.push({
name: 'previewData.outputoffInvoice', state: 'previewData.outputoffInvoice', num: 2,
permission: constant.vatPermission.dataPreview.outputInvoice.queryCode, url: '#/vat/previewData/outputoffInvoice'
});
}
// else if (data[constant.vatPermission.dataPreview.customInvoice.queryCode]) {
// $scope.menus.push({
......
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