Commit b7e30dfd authored by dahai's avatar dahai

Merge branch 'dev' of…

Merge branch 'dev' of http://121.22.111.250:8000/zhangyusheng/YX_IDENT_beijing_auxiliary_YD into dev
parents 65294637 6a466128
package com.yxproject.start.api;
import com.yxproject.start.service.UtilService;
import org.apache.log4j.Logger;
import org.apache.log4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* Created by Administrator on 2019/6/18.
*/
@RestController
@RequestMapping("UtilApi")
public class UtilApi {
@Autowired
UtilService utilService;
Logger logger= Logger.getLogger(UtilApi.class);
/**
* 更新受理库导入时间
* @return
*/
@RequestMapping("updateImportTime")
public boolean updateImportTime(HttpServletRequest requ) {
String remoteAddr = requ.getRemoteAddr();
MDC.put("ip", remoteAddr);
try {
utilService.updateImportTime();
}catch (Exception e){
logger.error("Exception 更新受理库导入时间异常", e);
}
return true;
}
/**
* 更新受理库处理标志
* @return
*/
@RequestMapping("updateDealFlag")
public boolean updateDealFlag(@RequestParam("dealFlag") String dealFlag, HttpServletRequest requ) {
String remoteAddr = requ.getRemoteAddr();
MDC.put("ip", remoteAddr);
try {
utilService.updateDealFlag(dealFlag);
}catch (Exception e){
logger.error("处理标志:" + dealFlag);
logger.error("Exception 更新受理库处理标志异常", e);
}
return true;
}
}
package com.yxproject.start.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/**
* Created by Administrator on 2019/6/18.
*/
@Mapper
public interface UtilMapper {
/**
* 更新受理库导入时间
*/
@Update("UPDATE ACC_GROUP_T@ACCU_LINK SET IMPORT_TIME = SYSDATE")
public boolean updateImportTime();
/**
* 更新受理库处理标志
*/
@Update("UPDATE ACC_GROUP_T@ACCU_LINK SET SUBMIT_DATE = SYSDATE, DEAL_FLAG = #{dealFlag}")
public boolean updateDealFlag(String dealFlag);
}
package com.yxproject.start.service;
/**
* Created by Administrator on 2019/6/18.
*/
public interface UtilService {
public boolean updateImportTime();
public boolean updateDealFlag( String dealFlag );
}
package com.yxproject.start.service.impl;
import com.yxproject.start.mapper.UtilMapper;
import com.yxproject.start.service.UtilService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* Created by Administrator on 2019/6/18.
*/
@Service
public class UtilServiceImpl implements UtilService {
@Autowired
private UtilMapper utilMapper;
@Override
public boolean updateImportTime () {
utilMapper.updateImportTime();
return true;
}
@Override
public boolean updateDealFlag(String dealFlag) {
utilMapper.updateDealFlag(dealFlag);
return true;
}
}
...@@ -4,7 +4,7 @@ server: ...@@ -4,7 +4,7 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: oracle.jdbc.driver.OracleDriver driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@192.168.10.208:1521:yingxin url: jdbc:oracle:thin:@192.168.10.65:1521:yingxin
username: yingxin username: yingxin
password: yingxin password: yingxin
servlet: servlet:
......
### 设置###
log4j.rootLogger = debug,stdout,D,E
log4j.appenderRefs = ${appenders}
log4j.appenderRef.console.ref = STDOUT
log4j.appenderRef.rollingFileAppender.ref = rollingFile
### 输出信息到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ./logs/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%X{ip}] [ %t:%r ] - [ %p ] %l %m%n
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =./logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%X{ip}] [ %t:%r ] - [ %p ] %l %m%n
###打印SQL###
log4j.logger.org.mybatis = DEBUG
log4j.logger.java.sql = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.ResultSet = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG
### druid sql ###
log4j.logger.D.sql=stdout
log4j.logger.D.sql.DataSource=stdout
log4j.logger.D.sql.Connection=stdout
log4j.logger.D.sql.Statement=stdout
log4j.logger.D.sql.ResultSet=stdout
This diff is collapsed.
<style>
.table th, .table td {
text-align: center;
vertical-align: middle!important;
}
/*清除浮动代码*/
.cl:after{display:block;clear:both;content:"";visibility:hidden;height:0}
.cl{zoom:1}
</style>
<div class="content row">
<div class="col-md-12" style="margin-top:20px;">
<div class="box">
<strong class="box-header with-border">退回登记</strong>
<div class="box box-primary">
<table class="table table-bordered" style="margin-bottom:10px;">
<tr>
<td width="200px">
<span>退回登记数量:</span>
</td>
<td width="200px">
<input style="" type="number" ng-model="backCount"></td>
<td>
<div style="text-align: left;">
<input type="submit" ng-click="createInputs(backCount)" class="btn btn-primary" value="确定">
</div>
</td>
<!--<form ng-submit="createInputs()" style="padding-left: 15px;">-->
<!--<span style="font-size:20px;">余证数量:</span>-->
<!--<input style="margin-top:20px;height: 30px;" type="number" ng-model="restCount">-->
<!--<input type="submit" class="btn btn-primary" value="确定">-->
<!--<span style="font-size:14px;color: red;" ng-if="errMsglb">{{errMsglb}}</span>-->
<!--</form>-->
</tr>
</table>
<div style="padding: 15px;" ng-if="arr.length>0">
<table class="table table-bordered">
<tr ng-repeat="item in arr">
<td>{{$index+1}}</td>
<td>
身份证号:
</td>
<td>
<input type="text" placeholder="请填写身份证号" class="{{$index}}" style="height: 34px;">
</td>
<td>
备注:
</td>
<td>
<input type="text" placeholder="备注" class="{{$index}}" style="height: 34px;">
</td>
</tr>
</table>
<div ng-if="arr.length>0" style="text-align: right;">
<button class="btn btn-primary" ng-click="addBackCard()">提交</button>
<button class="btn btn-danger" ng-click="cancelAddBackCard()">取消</button>
</div>
</div>
</div>
</div>
<div class="box">
<div class="box-header">
<strong>退回登记提交详情</strong>
</div>
<div class="box box-primary">
<table class="table table-bordered" style="margin-bottom: 0;">
<tr>
<td width="200px;">
<span>起始日期:</span>
</td>
<td width="200px;">
<input type="text" class="form-control" ng-model="choseDate1" id="datepicker1" readonly/>
</td>
<td width="200px;">
<span>截止日期:</span>
</td>
<td width="200px;">
<input type="text" class="form-control" ng-model="choseDate" id="datepicker2" readonly/>
</td>
<td>
<div style="text-align: left;">
<button class="btn btn-primary" ng-click="aselectBackInfo()">查询</button>
</div>
</td>
</tr>
</table>
<div class="box-info" style="padding: 7px;padding-top: 0px;">
<table class="table table-bordered table-hover postTable" ng-if="backInfo.length>0">
<thead>
<tr>
<th>NO.</th>
<th>受理组号</th>
<th>保存时间</th>
<th>提交人</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in backInfo">
<td>{{$index+1}}</td>
<th>{{item.GROUP_NO}}</th>
<td>{{item.SUBMIT_DATE | date:'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{item.SUBMIT_NAME}}</td>
<td>{{item.TASK_STATE}}</td>
<td><a ng-click="deleteBack(item.GROUP_NO,item.TASK_ID)">删除</a></td>
</tr>
</tbody>
</table>
<div ng-if="backInfo.length==0">
<h4 style="padding-left: 10px;">暂无数据</h4>
</div>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
'use strict';
angular.module('AvatarCheck.addBackCard', ['ngRoute', 'AvatarCheck.http'])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/addBackCard', {
templateUrl: 'views/addBackCard/addBackCard.html' + urlTimeStamp(),
controller: 'addBackCardCtrl',
cache: false
});
}])
.controller('addBackCardCtrl', function ($scope, $rootScope, $timeout, HttpService, ngDialog, MessageService, $filter) {
//Date picker
$('#datepicker1').datetimepicker({
minView: "month", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN',
format: 'yyyy-mm-dd',
todayBtn: 1,
autoclose: 1
});
$scope.choseDate1 = $filter("date")(new Date(), "yyyy-MM-01");
//Date picker
$('#datepicker2').datetimepicker({
minView: "month", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN',
format: 'yyyy-mm-dd',
todayBtn: 1,
autoclose: 1
});
$scope.choseDate = $filter("date")(new Date(), "yyyy-MM-dd");
//查询退回登记
$scope.aselectBackInfo = function () {
var date1 = $('#datepicker1').val();
var date2 = $('#datepicker2').val();
if(date1==""){
date1=$scope.choseDate1;
}
if(date2==""){
date2=$scope.choseDate;
}
HttpService.aselectBackInfoData(date1,date2,$rootScope.loginData.name,function(data){
$scope.backInfo = data;
console.log($scope.backInfo)
})
};
if($rootScope.loginData.login == true){
$scope.aselectBackInfo();
}
$scope.createInputs = function(){
if($scope.backCount>0){
var count = $scope.backCount;
if(count>10){
count=10;
}
$scope.arr = [];
for (var i=0;i<count;i++){
$scope.arr.push(i);
}
}else{
MessageService.showAlert("请输入正确的数字")
}
};
$scope.cancelAddBackCard =function(){
$scope.arr = [];
}
var cancel=$scope.cancelAddBackCard;
var reGetData = $scope.aselectBackInfo;
$scope.addBackCard = function(){
var array = [];
for(var i=0;i<$scope.arr.length;i++){
for (var j=0;j<$("."+i).length;j++){
array.push($("."+i)[j].value)
}
}
var result = [];
console.log(array)
for (var i = 0, j = array.length; i < j; i += 2) {
result.push(array.slice(i, i + 2));
}
var list=[];
var count=0;
for (var i=0;i<result.length;i++){
if(result[i][0]==''){
count=count+1;
}else{
var json = {};
json.acceptNo=result[i][0];
json.note=result[i][1];
list.push(json)
}
}
if(count>0){
MessageService.showAlert("身份证或者受理号不能为空")
}else{
console.log(list);
ngDialog.open({
template: 'dialogs/confirmFailedCards.html' + urlTimeStamp(),
width: 800,
cache: false,
closeByDocument:false,
controller: ['$scope', 'HttpService','MessageService',function ($scope,HttpService,MessageService) {
var idCardArr =[];
for(var i=0;i<list.length;i++){
idCardArr.push(list[i].cardId);
}
HttpService.getPersonInfo(idCardArr,function(data){
$scope.personInfo = data;
$scope.can = false;
for(var i=0;i<$scope.personInfo.length;i++){
if($scope.personInfo[i].SEX_NO==-1){
$scope.can = true;
}
}
console.log($scope.personInfo)
})
$scope.confirmAdd = function(){
console.log("list",list)
HttpService.addBackCardDataBySjhy(list,function(data){
$scope.closeThisDialog();
// MessageService.showAlert("添加成功");
reGetData();
cancel();
console.log(data)
})
}
}]
});
}
}
// $scope.addBackCard = function(){
// var array = [];
// var acceptList =[];
// var count = 0;
// for(var i=0;i<$scope.arr.length;i++){
// if($(".back")[i].value==''){
// count=count+1;
// }else{
// array.push($(".back")[i].value)
// var confirmJson={};
// confirmJson.name=$rootScope.loginData.name;
// confirmJson.acceptNo =$(".back")[i].value;
// acceptList.push(confirmJson)
// }
// }
// if(count>0){
// MessageService.showAlert("内容不能为空")
// }else{
// console.log("array:",array);
// ngDialog.open({
// template: 'dialogs/confirmRestCards.html' + urlTimeStamp(),
// width: 800,
// cache: false,
// closeByDocument:false,
// controller: ['$scope', 'HttpService','MessageService',function ($scope,HttpService,MessageService) {
// HttpService.getPersonInfo(array,function(data){
// $scope.personInfo = data;
// $scope.can = false;
// for(var i=0;i<$scope.personInfo.length;i++){
// if($scope.personInfo[i].SEX_NO==-1
// // ||$scope.personInfo[i].SPECIAL_TYPE==0||$scope.personInfo[i].SPECIAL_TYPE==1||$scope.personInfo[i].SPECIAL_TYPE==2||$scope.personInfo[i].SPECIAL_TYPE==3
// ){
// $scope.can = true;
// }
// }
// console.log($scope.personInfo)
// })
// $scope.confirmAdd = function(){
// console.log("acceptList",acceptList)
// HttpService.addBackCardDataBySjhy(acceptList,function(data){
// $scope.closeThisDialog();
// // MessageService.showAlert("添加成功");
// reGetData();
// cancel();
// console.log(data)
// })
// }
// }]
// });
// }
//
// }
$scope.deleteBack = function(groupNo,taskid) {
ngDialog.open({
template: 'dialogs/confirmDeleteBack.html' + urlTimeStamp(),
width: 600,
cache: false,
closeByDocument:false,
controller: ['$scope', function ($scope) {
$scope.groupNo = groupNo;
$scope.confirmDelete = function () {
HttpService.deleteBackCard(taskid,function(data) {
$scope.closeThisDialog();
reGetData();
})
};
}]
});
}
});
\ No newline at end of file
<section class="content row">
<div class="col-md-12" style="margin-top:20px;">
<div class="box ">
<div class="box-header">
<strong>制证统计</strong>
<div class="pull-right">
<select class="form-control select2">
<option value="2019">2019年</option>
</select>
</div>
</div>
<div class="box box-primary">
<div style="text-align: center;">
<!--通过率统计图-->
<div class="row" >
<div class="col-md-12">
<div class="yx-div-header"></div>
<div id="diagram_item_ratio_certification" style="height:500px;"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
\ No newline at end of file
'use strict';
angular.module('AvatarCheck.blank', ['ngRoute', 'AvatarCheck.http', 'tm.pagination'])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/blank', {
templateUrl: 'views/blank/blank.html' + urlTimeStamp(),
controller: 'blankCtrl',
cache: false
});
}])
.controller('blankCtrl', function ($scope, $rootScope, $timeout, HttpService, ngDialog, MessageService, $filter,$location) {
if($rootScope.loginData.login==false){
$location.path("/login")
}
$scope.loadCertificationDiagram = function(){
HttpService.loadCertificationDiagram(
function (data) {
console.log("统计图:",data)
var myChart = echarts.init(document.getElementById('diagram_item_ratio_certification'));
myChart.setOption(buildDiagramDataCheckItemRatioProv('制证生产', data));
},
function (err) {
console.log("report query response got error", err);
}
)
};
$scope.loadCertificationDiagram();
});
\ No newline at end of file
<style>
.table th, .table td {
text-align: center;
vertical-align: middle!important;
}
.select2-search__field {
height:30px;
}
.ul li{
cursor: pointer;
}
.table .colSpan{
column-span: 5;
}
.page-list .pagination {float:left;}
.page-list .pagination span {cursor: pointer;}
.page-list .pagination .separate span{cursor: default; border-top:none;border-bottom:none;}
.page-list .pagination .separate span:hover {background: none;}
.page-list .page-total {float:left; margin: 25px 20px;}
.page-list .page-total input, .page-list .page-total select{height: 26px; border: 1px solid #ddd;}
.page-list .page-total input {width: 40px; padding-left:3px;}
.page-list .page-total select {width: 50px;}
.page-list:after {
display: block;
clear: both;
content: ""
}
.page-list{
zoom: 1
}
</style>
<div class="content row">
<div class="col-md-12" style="margin-top:20px;">
<div class="box">
<div class="box-header">
<strong>核验报表详情</strong>
</div>
<div class="box box-primary">
<table class="table table-bordered" style="margin-bottom: 0;">
<tr>
<td>起始日期:</td>
<td>
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text"
class="form-control pull-right"
ng-model="choseDate"
id="datepicker1" readonly/>
</div>
</td>
<td>截止日期:</td>
<td>
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text"
class="form-control pull-right"
ng-model="choseDate"
id="datepicker2" readonly/>
</div>
</td>
<td>制证类型:</td>
<td style="text-align: left;">
<select class="form-control select2" id="cardType">
<option value="">--请选择制证类型--</option>
<option value="{{type.cardTypeId}}" ng-repeat="type in typeList">{{type.cardType}}</option>
</select>
</td>
</tr>
<tr>
<td>单位代码:</td>
<td>
<input type="text" class="form-control" ng-model="policeCode" placeholder="单位代码">
</td>
<td>单位名称:</td>
<td>
<input type="text" class="form-control" ng-model="policeName" placeholder="单位名称">
</td>
<td>
<div style="text-align: left;">
<button class="btn btn-primary" ng-click="searchReportData()">查询</button>
</div>
</td>
</tr>
</table>
<div class="box-info" style="padding: 7px;padding-top: 0px;">
<h4 ng-if="dataCheckList.length==0">暂无数据</h4>
<table class="table table-bordered table-hover postTable" ng-if="dataCheckList.length>0">
<thead>
<tr>
<th>单位代码</th>
<th>单位名称</th>
<th>制证类型</th>
<th>制证数量</th>
<th>不合格数</th>
<th>不合格率</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in dataCheckList" ng-class="{true: 'bg-gray', false: ''}[item.POLICE_SUBSTATION=='合计']">
<td>{{item.POLICE_SUBSTATION}}</td>
<td>{{item.GAJG_MC}}</td>
<td>{{item.CARD_TYPE}}</td>
<td>{{item.VALID_COUNT}}</td>
<td>{{item.INVALID_COUNT}}</td>
<td>{{item.FAILURE_RATE}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
'use strict';
angular.module("AvatarCheck.dataCheckReport",['ngRoute', 'AvatarCheck.http'])
.config(['$routeProvider', function ($routeProvider){
$routeProvider.when('/dataCheckReport', {
templateUrl: 'views/dataCheckReport/dataCheckReport.html' + urlTimeStamp(),
controller: 'dataCheckReportCtrl',
cache: false
});
}])
.controller('dataCheckReportCtrl', function ($scope, $rootScope, $timeout, HttpService, $filter, $interval, MessageService, ngDialog) {
var getTypeList = function(){
HttpService.getTypeList(function(data){
$scope.typeList = data;
console.log(data)
})
};
//Date picker
$('#datepicker1').datetimepicker({
minView: "month", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN',
format: 'yyyy-mm-dd',
todayBtn: 1,
autoclose: 1
});
//Date picker
$('#datepicker2').datetimepicker({
minView: "month", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN',
format: 'yyyy-mm-dd',
todayBtn: 1,
autoclose: 1
});
$scope.choseDate = $filter("date")(new Date(), "yyyy-MM-dd");
$scope.searchReportData=function () {
var date1 = $("#datepicker1").val();
var date2 = $("#datepicker2").val();
var cardType = $("#cardType").val();
if(cardType==''){
cardType = -1;
}
HttpService.queryDataCheckReport(date1,date2,$scope.policeCode,$scope.policeName,cardType,function (data) {
$scope.dataCheckList = data;
console.log($scope.dataCheckList);
})
};
if($rootScope.loginData.login==true){
getTypeList();
$scope.searchReportData();
}
});
\ No newline at end of file
<div class="content row">
<div class="col-md-12" style="margin-top:20px;">
<div class="row">
<!-- /.col -->
<div class="col-md-12">
<div class="box box-primary">
<div class="box-header" style="border-bottom: 1px solid #e0e0e0;">
<strong>公安网反馈信息</strong>
<div class="box-tools pull-right" >
<span>交接日期:</span><input type="text" style="height: 30px;margin-right: 10px;border-radius: 4px;background-color: #eee;cursor: not-allowed;border: 1px solid #ccc;" ng-model="choseDate1" id="datepicker1" readonly/> <span></span>
<input type="text" style="height: 30px;margin-right: 10px;border-radius: 4px;background-color: #eee;cursor: not-allowed;border: 1px solid #ccc;" ng-model="choseDate" id="datepicker2" readonly/>
<button type="button" class="btn btn-primary pull-right" style="height: 30px;line-height: 17px;margin-left: 10px;" ng-click="searchHistory()">查询历史</button>
<button type="button" class="btn btn-primary pull-right" style="height: 30px;line-height: 17px;" ng-click="doSearchGongan()">查询</button>
</div>
<!-- /.box-tools -->
</div>
<!-- /.box-header -->
<div class="box-body" ng-if="isHistory==0">
<div class="table-responsive mailbox-messages">
<div class="mailbox-messages">
<table ng-if="gonganData.length>0" class="table table-hover postTable">
<thead>
<tr>
<th width="10%"><input type="checkbox" ng-model="all"></th>
<th width="30%">日期</th>
<th width="20%">证件数量</th>
<th width="10%">操作</th>
</tr>
</thead>
<tbody ng-repeat="item in gonganData">
<tr style="background-color: #eee">
<td><input type="checkbox" ng-checked="all" class="check" ng-click="checkAllPolice($event,item.date)"></td>
<td>{{item.date | myDateFilterByHour}}</td>
<td>{{item.count}}</td>
<td><a ng-click="showPoliceList($index)">派出所列表</a></td>
</tr>
<tr ng-show="$index==taskId">
<td colspan="7" style="padding: 0;">
<table class="table" style="margin-bottom: 0;">
<thead>
<tr>
<th></th>
<th>NO.</th>
<th>派出所代码</th>
<th>派出所名称</th>
<th>封签编号</th>
<th>证件数量</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="police in item.list">
<td><input type="checkbox" ng-checked="all" name="checkPolice{{item.date}}" value="{{police.ID}}" class="checkPoliceBox"></td>
<td>{{$index+1}}</td>
<td>{{police.POLICE_CODE}}</td>
<td>{{police.GAJG_MC}}</td>
<td>{{police.QR_CODE}}</td>
<td>{{police.FINISH_COUNT}}</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<!-- /.table -->
</div>
<!-- /.table -->
<div class="box-footer" ng-if="gonganData.length>0">
<div class="pull-right" style="margin-left: 10px;">
<button class="btn btn-primary" ng-click="downloadGongan()">下载公安网反馈信息</button>
</div>
</div>
<div ng-if="gonganData.length==0">
<h4>暂无数据</h4>
</div>
</div>
</div>
<!-- /.mail-box-messages -->
<div class="box-body" ng-if="isHistory==1">
<div class="table-responsive mailbox-messages">
<div class="mailbox-messages">
<table ng-if="gonganHistoryData.length>0" class="table table-hover postTable">
<thead>
<tr>
<th width="10%"><input type="checkbox" ng-model="all"></th>
<th width="30%">日期</th>
<th width="20%">证件数量</th>
<th width="10%">操作</th>
</tr>
</thead>
<tbody ng-repeat="item in gonganHistoryData">
<tr style="background-color: #eee">
<td><input type="checkbox" ng-checked="all" class="check" ng-click="checkAllPolice($event,item.date)"></td>
<td>{{item.date | myDateFilterByHour}}</td>
<td>{{item.count}}</td>
<td><a ng-click="showPoliceList($index)">派出所列表</a></td>
</tr>
<tr ng-show="$index==taskId">
<td colspan="7" style="padding: 0;">
<table class="table" style="margin-bottom: 0;">
<thead>
<tr>
<th></th>
<th>NO.</th>
<th>派出所代码</th>
<th>派出所名称</th>
<th>封签编号</th>
<th>证件数量</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="police in item.list">
<td><input type="checkbox" ng-checked="all" name="checkPolice{{item.date}}" value="{{police.ID}}" class="checkPoliceBox"></td>
<td>{{$index+1}}</td>
<td>{{police.POLICE_CODE}}</td>
<td>{{police.GAJG_MC}}</td>
<td>{{police.QR_CODE}}</td>
<td>{{police.FINISH_COUNT}}</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<!-- /.table -->
</div>
<!-- /.table -->
<div class="box-footer" ng-if="gonganHistoryData.length>0">
<div class="pull-right" style="margin-left: 10px;">
<button class="btn btn-primary" ng-click="downloadGongan()">下载公安网反馈信息</button>
</div>
</div>
<div ng-if="gonganHistoryData.length==0">
<h4>暂无数据</h4>
</div>
</div>
</div>
<!-- /. box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</div>
</div>
</div>
'use strict';
angular.module('AvatarCheck.downloadGongan', ['ngRoute', 'AvatarCheck.http'])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/downloadGongan', {
templateUrl: 'views/downloadGongan/downloadGongan.html' + urlTimeStamp(),
controller: 'downloadGonganCtrl',
cache: false
});
}])
.controller('downloadGonganCtrl', function ($scope, $rootScope, $timeout, HttpService, ngDialog, MessageService, $filter) {
$scope.isHistory = 0;
//Date picker
$('#datepicker1').datetimepicker({
minView:'month',
language: 'zh-CN',
format: 'yyyy-MM-dd',
todayBtn: 1,
autoclose: 1
});
$('#datepicker2').datetimepicker({
minView:'month',
language: 'zh-CN',
format: 'yyyy-MM-dd',
todayBtn: 1,
autoclose: 1
});
$scope.choseDate = $filter("date")(new Date(), "yyyy-MM-dd");
$scope.choseDate1 = $filter("date")(new Date(), "yyyy-MM-01");
$scope.downloadGongan = function(){
var json={
list:[],
name:$rootScope.loginData.name,
isHistory:$scope.isHistory
};
var checks = $(".checkPoliceBox:checked");
for (var i=0;i<checks.length;i++){
json.list.push(checks[i].value)
}
console.log(json);
if(json.list.length==0){
MessageService.showAlert("请选择要下载的分局或派出所")
}else{
HttpService.printExcelData(json,function (data) {
$scope.doSearchGongan();
var blob = new Blob([data], {type: "application/vnd.ms-excel"});
var a = document.createElement("a");
document.body.appendChild(a);
a.href = URL.createObjectURL(blob);
a.click();
})
}
};
$scope.taskId=-1;
$scope.showPoliceList = function(index) {
if($scope.taskId==-1){
$scope.taskId=index;
}else{
$scope.taskId=-1
}
};
$scope.currentTab = 0;
$scope.func = function (index) {
// $scope.taskId=-1;
for (var idx in $scope.gonganData) {
if (index == idx) {
$scope.gonganData[idx].isActive = true;
} else {
$scope.gonganData[idx].isActive = false;
}
}
for (var idx in $scope.gonganHistoryData) {
if (index == idx) {
$scope.gonganHistoryData[idx].isActive = true;
} else {
$scope.gonganHistoryData[idx].isActive = false;
}
}
$scope.currentTab = index;
};
$scope.doSearchGongan = function () {
$scope.isHistory = 0;
var startDate=$('#datepicker1').val();
var endDate=$('#datepicker2').val();
if(startDate==''){
startDate=$filter("date")(new Date(), "yyyy-MM-01");
}
if(endDate==''){
endDate=$filter("date")(new Date(), "yyyy-MM-dd");
}
HttpService.getGongan(startDate,endDate,function(data){
$scope.gonganData=data;
for(var i=0;i<$scope.gonganData.length;i++){
if(i==$scope.currentTab){
$scope.gonganData[i].isActive=true;
}else{
$scope.gonganData[i].isActive=false;
}
}
console.log($scope.gonganData,"点击查询公安网反馈");
})
};
if($rootScope.loginData.login==true){
$scope.doSearchGongan();
}
$scope.searchHistory = function () {
$scope.isHistory = 1;
var startDate=$('#datepicker1').val();
var endDate=$('#datepicker2').val();
HttpService.getHistoryGongan(startDate,endDate,function(data){
$scope.gonganHistoryData=data;
for(var i=0;i<$scope.gonganHistoryData.length;i++){
if(i==$scope.currentTab){
$scope.gonganHistoryData[i].isActive=true;
}else{
$scope.gonganHistoryData[i].isActive=false;
}
}
console.log($scope.gonganHistoryData);
})
}
$scope.checkAllPolice = function ($event,date) {
console.log(date)
var checkAllPolice = $event.target;
var checkbox =document.getElementsByName("checkPolice"+date);
console.log(checkbox.length);
for(var i=0;i<checkbox.length;i++){
if(checkAllPolice.checked) {
checkbox[i].checked = true;
}else {
checkbox[i].checked = false;
}
}
};
});
\ No newline at end of file
<div class="content row">
<div class="col-md-6" style="margin-top:17px;">
<div class="box" >
<strong class="box-header">密码修改</strong>
<div class="box box-primary">
<div class="box-body">
<div class="row">
<div class="col-lg-10">
<form name="pwd" class="form-validation">
<div class="form-group">
<p><strong>旧密码:</strong>
<label ng-show="pwd.password.$error.required &&
pwd.password.$touched" class="text-danger">旧密码不可为空</label>
<label ng-show="(pwd.password.$error.minlength||
pwd.password.$error.maxlength) && pwd.password.$touched" class="text-danger">密码应在6-16位之间</label>
</p>
<input type="text"
name="password"
class="form-control"
ng-model="password"
ng-minlength="6"
ng-maxlength="16"
placeholder="请输入旧密码"
width="50%"
required/>
</div>
<div class="form-group">
<p><strong>新密码:</strong>
<label ng-show="pwd.newPwd.$error.required &&
pwd.newPwd.$touched" class="text-danger">新密码不可为空</label>
<label ng-show="(pwd.newPwd.$error.minlength||
pwd.newPwd.$error.maxlength) && pwd.newPwd.$touched" class="text-danger">密码应在6-16位之间</label>
</p>
<input type="password"
name="newPwd"
class="form-control"
ng-model="newPwd"
ng-minlength="6"
ng-maxlength="16"
placeholder="请输入新密码"
width="50%"
required/>
</div>
<div class="form-group">
<p> <strong>确认密码:</strong>
<label ng-show="pwd.confirmPwd.$error.required &&
pwd.confirmPwd.$touched" class="text-danger">确认密码不可为空</label>
<label>
<label ng-show="newPwd!=confirmPwd" class="text-danger">两次密码输入不一致</label>
</label>
</p>
<input type="password"
name="confirmPwd"
class="form-control"
ng-model="confirmPwd"
placeholder="请输入确认密码"
width="50%"
required/>
</div>
</form>
</div>
</div>
<div class="row">
<div class="form-group" style="padding-left:15px;">
<input data-loading-text="loading..." style="width: 100px;" class="btn btn-primary" type="submit" ng-click="updPassword(password,newPwd)" value="提 交"/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
'use strict';
angular.module('AvatarCheck.updatePass', ['ngRoute', 'AvatarCheck.http'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/updatePass', {
templateUrl: 'views/updatePass/updatePass.html' + urlTimeStamp(),
controller: 'updatePassCtrl',
cache:false
});
}])
.controller('updatePassCtrl',function($scope,HttpService,MessageService) {
$scope.updPassword = function (password,newPwd) {
HttpService.updatePass(password,newPwd,function(data){
console.log(data)
if(data.string=='-1'){
MessageService.showAlert("旧密码输入有误,请重新输入");
}
if(data.string=='0'){
MessageService.showAlert("修改失败");
}
if(data.string=='1'){
MessageService.showAlertAndLogout("修改成功,请重新登录");
}
})
}
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment