1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237 |
- 'use strict';
- app.controller('event_formCtrl', ["$scope", "$rootScope", "$state", "$timeout", "$interval", "$http", "$cookieStore", "SweetAlert", "Restangular", "api_report", "api_statistic", "moment", "api_event_form", "api_user_data", "api_bpm", "api_category", "$modal", "i18nService", function ($scope, $rootScope, $state, $timeout, $interval, $http, $cookieStore, SweetAlert, Restangular, api_report, api_statistic, moment, api_event_form, api_user_data, api_bpm, api_category, $modal, i18nService) {
- //默认显示事件总数
- $scope.tap = 'SJZS';
- //默认无选中,选择日期
- $scope.searchstate = 'none';
- //默认按日统计
- $scope.dateItem = 'day';
- //按日
- $scope.dayByClick = function () {
- $scope.datepickerPopuptime = 'yyyy-MM-dd';//日期格式化
- $scope.day(7);//近7天
- };
- //按月
- $scope.monthByClick = function () {
- $scope.datepickerPopuptime = 'yyyy-MM';
- $scope.month(1);
- };
- //按年
- $scope.yearByClick = function () {
- $scope.datepickerPopuptime = 'yyyy';
- $scope.year(1);
- };
- //日期显示格式
- $scope.datepickerPopuptime = 'yyyy-MM-dd';
- //按日/月/年统计
- $scope.dateItemClick = function (str) {
- $scope.dateItem = str;
- switch (str) {
- case 'day':
- $scope.dayByClick();
- break;
- case 'month':
- $scope.monthByClick();
- break;
- case 'year':
- $scope.yearByClick();
- break;
- }
- };
- // 事件详情
- $scope.toDetail= function(rowData, own, searchCriteria, type){
- console.log(rowData, own, searchCriteria, type);
- var modalInstance = $modal.open({
- templateUrl: 'assets/views/incident/tpl/order.tpl.html',
- controller: function ($scope, scope, $rootScope, $modalInstance, Alert, api_user_data) {
- console.log(rowData, own, type);
- $scope.type = type;
- $scope.detailsTypeList = [
- {type: 'default', name: '事件详情', columnName: '事件详情'},
- {type: 'handlingPersonnelUser', name: '人员统计', columnName: '人员姓名'},
- {type: 'department', name: '科室统计', columnName: '科室名称'},
- {type: 'building', name: '楼栋统计', columnName: '楼栋名称'},
- {type: 'floor', name: '楼层统计', columnName: '楼栋楼层名称'},
- ];
- $scope.detailsType = "default";
- $scope.own = {
- handlingPersonnelUser: undefined,
- department: undefined,
- area: undefined,
- place: undefined,
- }
- $scope.columnDefs = [
- {
- name: 'acceptDate',
- displayName: '登记时间',
- width: 100,
- cellTemplate: '<div style="width: 100%;">' +
- '<div class="ui-grid-cell-contents">{{grid.appScope.transferTime(row.entity.acceptDate, "YYYY-MM-DD")}}<br>{{grid.appScope.transferTime(row.entity.acceptDate, "HH:mm")}}</div>' +
- '</div>'
- },
- {
- name: 'incidentsign',
- displayName: '单号',
- width: 110,
- cellTemplate: '<div style="width: 100%;">' +
- '<div class="ui-grid-cell-contents table_hover" ng-click="grid.appScope.toIncidentDetail(row.entity)">{{row.entity.incidentsign}}</div>' +
- '</div>'
- },
- {
- name: 'department',
- displayName: '报修科室',
- width: 130,
- cellTemplate: '<div style="width: 100%;">' +
- '<div class="ui-grid-cell-contents" title="{{row.entity.department ? row.entity.department.dept : \"无\"}}">{{row.entity.department ? row.entity.department.dept : "无"}}</div>' +
- '</div>'
- },
- {
- name: 'description',
- displayName: '故障描述',
- width: 125,
- cellTemplate: '<div style="width: 100%;">' +
- '<div class="ui-grid-cell-contents" title="{{row.entity.description}}">{{row.entity.description}}</div>' +
- '</div>'
- },
- {
- name: 'areaPlace',
- displayName: '楼栋楼层',
- width: 125,
- cellTemplate: '<div style="width: 100%;"><div class="ui-grid-cell-contents" ng-bind-html="grid.appScope.areaplace(row.entity)"></div></div>'
- },
- {
- name: 'groupORHandlerUser',
- displayName: '处理人',
- width: 85,
- },
- {
- name: 'row8',
- displayName: '响应时长',
- width: 100,
- },
- {
- name: 'row9',
- displayName: '解决时长',
- width: 100,
- },
- {
- name: 'degree.name',
- displayName: '满意度',
- width: 70,
- },
- ];
- $scope.areaplace = function (data) {
- var str = '';
- str += (data.place ? (data.place.area ? data.place.area.area : '') : '');
- str += (data.place ? (data.place.place ? data.place.place : '') : '');
- return str || '无';
- }
- $scope.gridOptions = {};
- $scope.gridOptions.columnDefs = $scope.columnDefs;
- $scope.gridOptions.rowHeight = 54;
- $scope.gridOptions.data = 'myData';
- $scope.gridOptions.enableColumnResizing = true;
- $scope.gridOptions.enableFiltering = false;
- $scope.gridOptions.enableGridMenu = true;
- $scope.gridOptions.enableSelectAll = true;
- $scope.gridOptions.enableRowSelection = true;
- $scope.gridOptions.showGridFooter = true;
- $scope.gridOptions.showColumnFooter = false;
- $scope.gridOptions.fastWatch = true;
- $scope.gridOptions.enableSorting = true;
- $scope.gridOptions.useExternalSorting = true;
- $scope.gridOptions.useExternalFiltering = false;
- $scope.gridOptions.useExternalPagination = true;
- $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
- $scope.gridOptions.paginationPageSize = 10;
- $scope.gridOptions.multiSelect = true;
- $scope.gridOptions.onRegisterApi = function (gridApi) {
- gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
- $scope.getData(newPage - 1, pageSize);
- });
- }
- // ---------------start
- $scope.columnDefs1 = [
- {
- name: $scope.detailsType,
- displayName: $scope.detailsTypeList.find(v => v.type == $scope.detailsType).columnName,
- width: "20%",
- cellTemplate: $scope.detailsType === "floor" ? '<div style="width: 100%;">' +
- '<div class="ui-grid-cell-contents">{{row.entity.building}} {{row.entity.floor}}</div>' +
- '</div>' : '<div style="width: 100%;">' +
- '<div class="ui-grid-cell-contents">{{row.entity.'+ $scope.detailsType + '}}</div>' +
- '</div>'
- },
- {
- name: 'sum',
- displayName: '事件数量',
- width: "20%",
- },
- {
- name: 'responseTime',
- displayName: '平均响应时长',
- width: "20%",
- },
- {
- name: 'resolvedTime',
- displayName: '平均解决时长',
- width: "20%",
- },
- {
- name: 'proportion',
- displayName: '占比',
- width: "20%",
- },
- ];
- $scope.gridOptions1 = {};
- $scope.gridOptions1.columnDefs = $scope.columnDefs1;
- $scope.gridOptions1.rowHeight = 54;
- $scope.gridOptions1.data = 'myData1';
- $scope.gridOptions1.enableColumnResizing = true;
- $scope.gridOptions1.enableFiltering = false;
- $scope.gridOptions1.enableGridMenu = true;
- $scope.gridOptions1.enableSelectAll = true;
- $scope.gridOptions1.enableRowSelection = true;
- $scope.gridOptions1.showGridFooter = true;
- $scope.gridOptions1.showColumnFooter = false;
- $scope.gridOptions1.fastWatch = true;
- $scope.gridOptions1.enableSorting = true;
- $scope.gridOptions1.useExternalSorting = true;
- $scope.gridOptions1.useExternalFiltering = false;
- $scope.gridOptions1.useExternalPagination = true;
- $scope.gridOptions1.paginationPageSizes = [10, 20, 50, 100];
- $scope.gridOptions1.paginationPageSize = 10;
- $scope.gridOptions1.multiSelect = true;
- // ---------------end
- $scope.transferTime = function (time, type) {
- if(time){
- return moment(time).format(type);
- }else{
- return '无';
- }
- }
- $scope.toIncidentDetail = function (data) {
- $scope.cancel();
- // $state.go('app.incident.detail', {
- // formKey: 'incident_back',
- // pdKey: 'incident',
- // dataId: data.id,
- // taskId: data.taskId,
- // processInstanceId: data.processInstanceId
- // });
- window.open(location.origin+'/#/app/incident/detail/incident_back/incident/'+data.id+'/'+data.taskId+'/'+data.processInstanceId+'//');
- }
- // 切换tab
- $scope.clickTab = function(item){
- $scope.detailsType = item.type;
- $scope.getData();
- // 故障现象
- if(type == 2 && $scope.detailsType != "default"){
- $scope.columnDefs1.splice(0, 1 , {
- name: $scope.detailsType,
- displayName: $scope.detailsTypeList.find(v => v.type == $scope.detailsType).columnName,
- width: "20%",
- cellTemplate: $scope.detailsType === "floor" ? '<div style="width: 100%;">' +
- '<div class="ui-grid-cell-contents">{{row.entity.building}} {{row.entity.floor}}</div>' +
- '</div>' : '<div style="width: 100%;">' +
- '<div class="ui-grid-cell-contents">{{row.entity.'+ $scope.detailsType + '}}</div>' +
- '</div>'
- })
- }
- }
- //获取列表数据
- $scope.langs = i18nService.getAllLangs();
- $scope.lang = 'zh-cn';
- i18nService.setCurrentLang($scope.lang);
- $scope.langs1 = i18nService.getAllLangs();
- $scope.lang1 = 'zh-cn';
- i18nService.setCurrentLang($scope.lang1);
- $scope.myData1 = [];
- $scope.myData = [];
- $scope.getData = function (idx = 0, sum = 10) {
- // 故障现象
- if(type == 2 && $scope.detailsType != "default"){
- $rootScope.isMask = true;
- api_event_form.fetchSjlxDetail({
- "dutyId": own.duty ? own.duty.id : undefined,
- "branchId": own.duty ? undefined: (own.branch ? own.branch.id : undefined),
- "startTime": moment(searchCriteria.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment(searchCriteria.endtimesModel).format('YYYY-MM-DD'),
- "hierarchy": scope.sjSelectedOne.value.id,
- "sortData": scope.name,
- "sortType": scope.type,
- // "sortData": "sum",
- // "sortType": "desc",
- "detailsType": $scope.detailsType,
- "categoryId": rowData.categoryId,
- }).then(function (data) {
- $rootScope.isMask = false;
- if (data.stats) {
- $scope.gridOptions1['totalItems'] = data.totalNum;
- $scope.myData1 = data.typedataList;//表格列表
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "请稍后再试!",
- type: "error"
- });
- }
- }, function () {
- $rootScope.isMask = false;
- });
- return;
- }
- var filterData = {
- "idx": idx,
- "sum": sum,
- "incident": {}
- };
- switch(type){
- case 1:
- filterData.incident.state = {value: 'close'};
- filterData.incident.hasHandlingPersonnelUser = 1;
- filterData.incident.acceptDate = moment(rowData.accdate).startOf(searchCriteria.dateItem).format('YYYY-MM-DD HH:mm:ss');
- filterData.incident.acceptDateEnd = moment(rowData.accdate).endOf(searchCriteria.dateItem).format('YYYY-MM-DD HH:mm:ss');
- filterData.incident.duty = own.duty ? own.duty : undefined;
- filterData.incident.branch = own.duty ? undefined : (own.branch ? own.branch.id : undefined);
- break;
- case 2:
- filterData.incident.state = {value: 'close'};
- filterData.incident.hasHandlingPersonnelUser = 1;
- filterData.incident.acceptDate = moment(searchCriteria.starttimesModel).startOf('day').format('YYYY-MM-DD HH:mm:ss');
- filterData.incident.acceptDateEnd = moment(searchCriteria.endtimesModel).endOf('day').format('YYYY-MM-DD HH:mm:ss');
- filterData.incident.duty = own.duty ? own.duty : undefined;
- filterData.incident.branch = own.duty ? undefined : (own.branch ? own.branch.id : undefined);
- filterData.incident.levelCategory = {id: rowData.categoryId};
- break;
- case 3:
- filterData.incident.state = {value: 'close'};
- filterData.incident.hasHandlingPersonnelUser = 1;
- filterData.incident.acceptDate = moment(searchCriteria.starttimesModel).startOf('day').format('YYYY-MM-DD HH:mm:ss');
- filterData.incident.acceptDateEnd = moment(searchCriteria.endtimesModel).endOf('day').format('YYYY-MM-DD HH:mm:ss');
- filterData.incident.duty = own.duty ? own.duty : undefined;
- filterData.incident.branch = own.duty ? undefined : (own.branch ? own.branch.id : undefined);
- filterData.incident.handlingPersonnelUser = {id: rowData.handlingPersonnelUserId};
- break;
- case 4:
- filterData.incident.state = {value: 'close'};
- filterData.incident.hasHandlingPersonnelUser = 1;
- filterData.incident.acceptDate = moment(searchCriteria.starttimesModel).startOf('day').format('YYYY-MM-DD HH:mm:ss');
- filterData.incident.acceptDateEnd = moment(searchCriteria.endtimesModel).endOf('day').format('YYYY-MM-DD HH:mm:ss');
- filterData.incident.handlingPersonnelUser = {id: rowData.userId};
- break;
- }
- filterData.incident.handlingPersonnelUser = $scope.own.handlingPersonnelUser;
- filterData.incident.department = $scope.own.department;
- filterData.incident.area = $scope.own.area;
- filterData.incident.place = $scope.own.place;
- // debugger;
- $rootScope.isMask = true;
- api_user_data.fetchDataList('incident', filterData).then(function (data) {
- $rootScope.isMask = false;
- if (data.list) {
- var myData = Restangular.stripRestangular(data);
- $scope.gridOptions['totalItems'] = myData.totalNum;
- $scope.myData = myData.list;
- for (var i = 0; i < $scope.myData.length; i++) {
- var row8Minutes = moment($scope.myData[i]['responseHandleTime']).diff(moment($scope.myData[i]['acceptDate']), 'minute');
- var row9Minutes = moment($scope.myData[i]['handleTime']).diff(moment($scope.myData[i]['responseHandleTime']), 'minute');
- $scope.myData[i]['row8'] = (row8Minutes / 60 >= 1 ? parseInt(row8Minutes / 60) + '小时' : '') + row8Minutes % 60 + '分';
- $scope.myData[i]['row9'] = (row9Minutes / 60 >= 1 ? parseInt(row9Minutes / 60)+ '小时' : '') + row9Minutes % 60 + '分';
- }
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "请稍后再试!",
- type: "error"
- });
- }
- }, function () {
- $rootScope.isMask = false;
- });
- };
- $scope.getData();
- // 获取处理人
- $scope.getUsers = function(keyWord){
- var postData = {
- "idx": 0,
- "sum": 10,
- "user": {
- "selectDetails": "1",
- "simple": true,
- "name": keyWord,
- "selectType": "pinyin_qs",
- engineer: 1,
- }
- };
- if(own.duty){
- postData.user.duty = own.duty;
- }else if(own.branch){
- postData.user.branch = own.branch;
- }
- api_user_data.fetchDataList("user", postData).then(function (data) {
- $scope.users = data.list || [];
- });
- }
- // 获取报修科室
- $scope.getDepts = function(keyWord){
- var postData = {
- "idx": 0,
- "sum": 10,
- "department": {
- dept: keyWord,
- selectType: "pinyin_qs"
- }
- };
- if(own.branch){
- postData.department.branch = own.branch.id;
- }
- api_user_data.fetchDataList("department", postData).then(function (data) {
- $scope.depts = data.list || [];
- });
- }
- // 获取楼栋
- $scope.getAreas = function(keyWord){
- var postData = {
- "idx": 0,
- "sum": 9999,
- "area": {
- area: keyWord,
- selectType: "pinyin_qs"
- }
- };
- if(own.branch){
- postData.area.branch = own.branch.id;
- }
- api_user_data.fetchDataList("area", postData).then(function (data) {
- $scope.areas = data.list || [];
- });
- }
- // 选择楼栋
- $scope.changeArea = function(){
- $scope.own.place = undefined;
- $scope.places = [];
- $scope.getPlaces('', $scope.own.area.id)
- }
- // 获取楼层
- $scope.getPlaces = function(keyWord,areaId){
- if(!areaId){
- $scope.places = [];
- return;
- }
- var postData = {
- "idx": 0,
- "sum": 9999,
- "place": {
- areaId: areaId,
- place: keyWord,
- selectType: "pinyin_qs"
- }
- };
- if(own.branch){
- postData.place.branch = own.branch.id;
- }
- api_user_data.fetchDataList("place", postData).then(function (data) {
- $scope.places = data.list || [];
- });
- }
- $scope.reload = function(){
- $scope.own = {
- handlingPersonnelUser: undefined,
- department: undefined,
- area: undefined,
- place: undefined,
- }
- $scope.places = [];
- $scope.getData();
- }
- $scope.cancel = function () {
- $modalInstance.dismiss('cancel');
- }
- },
- size: 'lg',
- resolve: {
- Alert: function () {
- return SweetAlert;
- },
- api_user_data: function () {
- return api_user_data;
- },
- scope: function () {
- return $scope;
- }
- }
- });
- modalInstance.result.then(function (selectedItem) {});
- }
- // 切换院区
- $scope.own = {};
- $scope.changeBranch = function(){
- console.log($scope.own.branch);
- $scope.dutys = [];
- $scope.own.duty = null;
- $scope.own.branch && $scope.getOwnDuty($scope.own.branch.id);
- $scope.groupSelected = [{
- id: -2,
- groupName: '按组选择'
- }, {
- id: -1,
- groupName: '按人选择'
- }];
- $scope.groupSelectedOne = {
- value: $scope.groupSelected[1]//选中
- };
- $scope.own.duty && $scope.tap == 'CLRZ' && $scope.mdxquery();
- }
- // 切换责任科室
- $scope.changeDuty = function(){
- console.log($scope.own.duty);
- $scope.groupSelected = [{
- id: -2,
- groupName: '按组选择'
- }, {
- id: -1,
- groupName: '按人选择'
- }];
- $scope.groupSelectedOne = {
- value: $scope.groupSelected[1]//选中
- };
- $scope.own.duty && $scope.tap == 'CLRZ' && $scope.mdxquery();
- }
- // 获取院区
- $scope.branchs = [];
- $scope.getOwnBranch = function(){
- api_category
- .getOwnBranch({})
- .then(function (response) {
- if (response) {
- if ((response.status = 200)) {
- $scope.branchs = response.data;
- if($rootScope.user.duty){
- $scope.own.branch = {id: $rootScope.user.duty.branch, hosName: $rootScope.user.duty.branchName};
- $scope.getOwnDuty($rootScope.user.duty.branch, true);
- }else if($rootScope.user.branch){
- $scope.own.branch = $rootScope.user.branch;
- $scope.getOwnDuty($rootScope.user.branch.id, true);
- $scope.init();
- }
- }
- }
- });
- }
- $scope.getOwnBranch();
- // 获取责任科室
- $scope.dutys = [];
- $scope.getOwnDuty = function(branchId, isFirst = false, isReload = false){
- api_category
- .getOwnDuty({branchId: branchId})
- .then(function (response) {
- if (response) {
- if ((response.status = 200)) {
- $scope.dutys = response.data;
- if(isFirst && $rootScope.user.duty){
- $scope.own.duty = $rootScope.user.duty;
- // $scope.getGroups($scope.own.duty);
- $scope.init();
- }
- if(isReload){
- if($rootScope.user.duty){
- $scope.own.duty = $rootScope.user.duty;
- }
- switch ($scope.tap) {
- case 'SJZS'://事件总数
- $scope.sortActive = 'accdatetop';
- $scope.name = 'accdate';//表格排序,字段名称
- $scope.mdxquery('accdate', 'desc');
- break;
- case 'SJLX'://故障现象
- $scope.sortActive = 'sumtop';
- $scope.name = 'sum';//表格排序,字段名称
- $scope.mdxquery('sum', 'desc');
- $scope.sjSelectedOne.value = $scope.sjSelected[0];//故障现象级别
- break;
- case 'CLRZ'://处理人/组
- $scope.sortActive = 'sumtop';
- $scope.name = 'sum';//表格排序,字段名称
- $scope.mdxquery('sum', 'desc');
- $scope.groupSelectedOne.value = $scope.groupSelected[1];//选择处理人/组
- break;
- case 'SFGS'://三方公司
- $scope.sortActive = 'i_totaltop';
- $scope.name = 'i_total';//表格排序,字段名称
- $scope.mdxquery('i_total', 'desc');
- $scope.companySelectedOne.value = {id:-1,name:''};//选择三方公司
- break;
- case 'QYDD'://区域地点
- $scope.sortActive = 'sumtop';
- $scope.name = 'sum';//表格排序,字段名称
- $scope.mdxquery('sum', 'desc');
- $scope.areaSelectedOne.value = $scope.areaSelected[0];//区域/地点
- break;
- case 'KSTJ'://科室统计
- $scope.sortActive = 'sumtop';
- $scope.name = 'sum';//表格排序,字段名称
- $scope.mdxquery('sum', 'desc');
- break;
- case 'SJLY'://事件来源
- $scope.sortActive = 'sumtop';
- $scope.name = 'sum';//表格排序,字段名称
- $scope.mdxquery('sum', 'desc');
- break;
- }
- }
- }
- }
- });
- }
- //切换开始/结束日期
- $scope.timesChange = function (str) {
- //切换结束日期的时候为年底或月底,方便传参
- switch (str) {
- case 'month':
- $scope.endtimesModel = moment($scope.endtimesModel).endOf('month').toDate();
- break;
- case 'year':
- $scope.endtimesModel = moment($scope.endtimesModel).endOf('year').toDate();
- break;
- }
- $scope.datepickerUpdate(str);
- };
- //配置项更新
- $scope.datepickerUpdate = function (str) {
- //开始的datepickerOptions
- $scope.datepickerOptionsStart = {
- maxDate: moment($scope.endtimesModel).format('YYYY/MM/DD'),
- minMode: str,
- datepickerMode: str
- };
- //结束的datepickerOptions
- $scope.datepickerOptionsEnd = {
- minDate: moment($scope.starttimesModel).format('YYYY/MM/DD'),
- maxDate: moment().format('YYYY/MM/DD'),
- minMode: str,
- datepickerMode: str
- };
- };
- //日期选择
- //近N周
- $scope.week = function (num) {
- num = num > 1 ? num : 1;
- $scope.searchstate = "week" + num;
- var weeks = new Date().getDay();
- $scope.starttimesModel = moment(new Date().getTime() - num * 86400000 * (weeks + 6)).toDate();
- $scope.endtimesModel = moment(new Date().getTime() - 86400000 * (weeks)).toDate();
- $scope.datepickerUpdate('day');
- }
- //近N月
- $scope.month = function (num) {
- num = num > 1 ? num : 1;
- $scope.searchstate = "month" + num;
- $scope.starttimesModel = moment().startOf('month').add(-num, 'M').toDate();
- $scope.endtimesModel = moment().endOf('month').add(-1, 'M').toDate();
- $scope.datepickerUpdate('month');
- }
- //近N年
- $scope.year = function (num) {
- num = num > 1 ? num : 1;
- $scope.searchstate = "year" + num;
- $scope.starttimesModel = moment().startOf('year').add(-num, 'y').toDate();
- $scope.endtimesModel = moment().endOf('year').add(-1, 'y').toDate();
- $scope.datepickerUpdate('year');
- }
- //近N日
- $scope.day = function (num) {
- num = num > 1 ? num : 1;
- $scope.searchstate = "none";
- $scope.starttimesModel = moment().subtract(num, "days").toDate();
- $scope.endtimesModel = moment().subtract(1, "days").toDate();
- $scope.datepickerUpdate('day');
- }
- //选择上一周,上个月,去年等等快捷方式
- $scope.chooseDate = function (date) {
- switch (date) {
- case 'week1'://上周
- $scope.week(1);
- break;
- case 'month1'://上个月
- $scope.month(1);
- break;
- case 'month3'://近三月
- $scope.month(3);
- break;
- case 'month6'://近六月
- $scope.month(6);
- break;
- case 'year1'://去年
- $scope.year(1);
- break;
- case 'year3'://近三年
- $scope.year(3);
- break;
- case 'year5'://近五年
- $scope.year(5);
- break;
- }
- };
- // 故障现象级别
- $scope.sjSelected = [{
- name: '一级分类',
- id: 1
- }, {
- name: '二级分类',
- id: 2
- }, {
- name: '三级分类',
- id: 3
- }];
- $scope.sjSelectedOne = {
- value: $scope.sjSelected[0]//选中
- };
- // 处理人/组
- $scope.groupSelected = [{
- id: -2,
- groupName: '按组选择'
- }, {
- id: -1,
- groupName: '按人选择'
- }];
- $scope.groupSelectedOne = {
- value: $scope.groupSelected[1]//选中
- };
- $scope.tableGroupSelectedOne = '';//处理组或人
- // 三方公司
- $scope.companySelected = [];
- $scope.companySelectedOne = {
- value: {id:-1,name:""}//选中
- };
- // 区域地点
- $scope.areaSelected = [{
- name: '区域',
- id: 1
- }, {
- name: '地点',
- id: 2
- }];
- $scope.areaSelectedOne = {
- value: $scope.areaSelected[0]//选中
- };
- /**
- *日历
- */
- //打开开始日期选择框
- $scope.startOpen = function ($event) {
- console.log(1)
- $event.preventDefault();
- $event.stopPropagation();
- $scope.endOpened = false;
- $scope.startOpened = !$scope.startOpened;
- };
- //打开结束日期选择框
- $scope.endOpen = function ($event) {
- $event.preventDefault();
- $event.stopPropagation();
- $scope.startOpened = false;
- $scope.endOpened = !$scope.endOpened;
- };
- //重置
- $scope.reload = function () {
- $scope.dateItemClick('day');
- $scope.type = 'desc';//表格排序,排序方式desc,asc
- $scope.direction = 'top';//箭头方向 top,bottom
- if($rootScope.user.duty){
- $scope.own.branch = {id: $rootScope.user.duty.branch, hosName: $rootScope.user.duty.branchName};
- $scope.getOwnDuty($rootScope.user.duty.branch, false, true);
- }else if($rootScope.user.branch){
- $scope.own.branch = $rootScope.user.branch;
- $scope.getOwnDuty($rootScope.user.branch.id, false, true);
- }
- };
- //选择类型,事件总数,故障现象,处理人/组,区域地点
- $scope.active = function (name) {
- $scope.tap = name;
- $scope.reload();
- };
- //事件总数,无限滚动加载
- $scope.topEndComplete = function () {
- console.log('滚动');
- };
- //表格排序------------------------------------------------
- $scope.sortActive = '';//表格排序,箭头高亮选中状态
- $scope.type = '';//表格排序,排序方式desc,asc
- $scope.name = '';//表格排序,字段名称
- $scope.direction = '';//箭头方向 top,bottom
- /**
- * 表格排序
- *
- * @param {string} name 字段名称
- * @param {string} type 排序方式desc,asc
- * @param {string} direction 箭头方向 top,bottom
- */
- $scope.tableSort = function (name, type, direction) {
- if ($scope.name == name) {
- $scope.type = $scope.type == 'desc' ? 'asc' : 'desc';
- $scope.direction = $scope.direction == 'top' ? 'bottom' : 'top';
- } else {
- $scope.type = 'desc';
- $scope.direction = 'top';
- }
- $scope.name = name;
- $scope.sortActive = name + $scope.direction;
- $scope.mdxquery(name, $scope.type);
- };
- //搜索----------------------------------------------------
- //loading
- $scope.isArrays = function (arr) {
- return Array.isArray(arr);
- };
- //事件总数
- $scope.sjzs_list = null;//表格列表
- $scope.sjzs_num = 0;//事件总数数量
- $scope.sjzs_responseTime = '0分';//平均响应时间
- $scope.sjzs_resolvedTime = '0分';//平均解决时间
- $scope.sjzs_satisfactionRatio = 0;//满意度
- //故障现象
- $scope.sjlx_list = null;//表格列表
- $scope.sjlx_num = 0;//事件总数数量
- //处理人/组
- $scope.clrz_list = null;//表格列表
- $scope.clrz_num = 0;//事件总数数量
- $scope.clrz_responseTime = '0分';//平均响应时间
- $scope.clrz_resolvedTime = '0分';//平均解决时间
- $scope.clrz_satisfactionRatio = 0;//满意度
- //三方公司
- $scope.sfgs_list = null;//表格列表
- $scope.sfgs_c_total = 0;//公司总数
- $scope.sfgs_u_total = 0;//人员总数
- $scope.sfgs_p_total = 0;//解决事件总数
- $scope.sfgs_p_time = '0分';//平均解决时长
- //区域地点
- $scope.qydd_list = null;//表格列表
- $scope.qydd_num = 0;//事件总数数量
- //科室统计
- $scope.kstj_list = null;//表格列表
- $scope.kstj_num = 0;//事件总数数量
- //事件来源
- $scope.sjly_list = null;//表格列表
- $scope.sjly_num = 0;//事件总数数量
- /**
- *
- *
- * @param {string} name 排序字段
- * @param {string} type 排序方式 desc,asc
- */
- $scope.mdxquery = function (name, type) {
- if (!name) {
- if($scope.tap == 'SJZS'){
- name = 'accdate';
- }else if($scope.tap == 'SFGS'){
- name = 'i_total';
- }else{
- name = 'sum';
- }
- }
- type = type || 'desc';
- switch ($scope.tap) {
- case 'SJZS'://事件总数
- $scope.sjzs_list = null;
- // 请求列表
- api_event_form.fetchSjzsList({
- "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "type": $scope.dateItem,
- "sortData": name,
- "sortType": type
- }).then(function (res) {
- if (res.stats == 200) {
- $scope.sjzs_list = res.dataList;//表格列表
- $scope.sjzs_num = res.sum;//事件总数数量
- $scope.sjzs_responseTime = res.responseTime;//平均响应时间
- $scope.sjzs_resolvedTime = res.resolvedTime;//平均解决时间
- $scope.sjzs_satisfactionRatio = res.satisfactionRatio;//满意度
- }
- })
- break;
- case 'SJLX'://故障现象
- $scope.sjlx_list = null;
- // 请求列表
- api_event_form.fetchSjlxList({
- "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "hierarchy": $scope.sjSelectedOne.value.id,
- "sortData": name,
- "sortType": type
- }).then(function (res) {
- if (res.stats == 200) {
- $scope.sjlx_list = res.typedataList;//表格列表
- $scope.sjlx_num = res.data.sum;//事件总数数量
- }
- })
- // 请求事件总数数量
- // api_event_form.getSjNum({
- // "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- // "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- // "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- // "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- // }).then(function (res) {
- // if (res.stats == 200) {
- // $scope.sjlx_num = res.data[0].sum;//事件总数数量
- // }
- // })
- break;
- case 'CLRZ'://处理人/组
- $scope.clrz_list = null;
- //获取组
- api_user_data.fetchDataList('group', {
- idx: 0,
- sum: 1000,
- group: {
- duty: $scope.own.duty || undefined,
- selectType: "nouser"
- }
- }).then(res => {
- if (res.status == 200) {
- var groupList = [{
- id: -2,
- groupName: '按组选择'
- }, {
- id: -1,
- groupName: '按人选择'
- }];
- groupList.push(...res.list);
- $scope.groupSelected = groupList;//下拉框数据
- // 请求列表
- if ($scope.groupSelectedOne.value.id == -2) {//按组
- var params = {
- "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "type": 1,
- "sortData": name,
- "sortType": type
- };
- } else if ($scope.groupSelectedOne.value.id == -1) {//按人
- var params = {
- "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "type": 2,
- "sortData": name,
- "sortType": type
- };
- } else {
- var params = {
- "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "type": 3,
- "groupid": $scope.groupSelectedOne.value.id,
- "sortData": name,
- "sortType": type
- };
- }
- api_event_form.fetchClrzList(params).then(function (res) {
- if (res.stats == 200) {
- $scope.tableGroupSelectedOne = params.type;//处理人或组
- $scope.clrz_list = res.listData;//表格列表
- $scope.clrz_num = res.sum;//事件总数量
- $scope.clrz_responseTime = res.responseTime;//平均响应时间
- $scope.clrz_resolvedTime = res.resolvedTime;//平均解决时间
- $scope.clrz_satisfactionRatio = res.satisfactionRatio;//满意度
- }
- })
- }
- })
- break;
- case 'SFGS'://三方公司
- $scope.sfgs_list = null;
- //获取三方公司
- api_user_data.fetchDataList('company', {
- idx: 0,
- sum: 1000,
- company: {}
- }).then(res => {
- if (res.status == 200) {
- $scope.companySelected = res.list;//下拉框数据
- // 请求列表
- var postData = {
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "sortData": name,
- "sortType": type
- }
- if($scope.companySelectedOne.value.id > 0){
- postData.companyId = $scope.companySelectedOne.value.id;
- }
- api_event_form.fetchSfgsList(postData).then(function (res) {
- if (res.stats == 200) {
- $scope.sfgs_list = res.dataList;//表格列表
- $scope.sfgs_c_total = res.title.c_total;//公司总数
- $scope.sfgs_u_total = res.title.u_total;//人员总数
- $scope.sfgs_p_total = res.title.p_total;//解决事件总数
- $scope.sfgs_p_time = res.title.p_time;//平均解决时长
- }
- })
- }
- })
- break;
- case 'QYDD'://区域地点
- $scope.qydd_list = null;
- // 请求列表
- api_event_form.fetchQyddList({
- "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "type": $scope.areaSelectedOne.value.id,
- "sortData": name,
- "sortType": type
- }).then(function (res) {
- if (res.stats == 200) {
- $scope.qydd_list = res.listData;//表格列表
- $scope.qydd_num = res.data.sum;//事件总数数量
- }
- })
- // 请求事件总数数量
- // api_event_form.getSjNum({
- // "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- // "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- // "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- // "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD')
- // }).then(function (res) {
- // if (res.stats == 200) {
- // $scope.qydd_num = res.data[0].sum;//事件总数数量
- // }
- // })
- break;
- case 'KSTJ'://科室统计
- $scope.kstj_list = null;
- // 请求列表
- api_event_form.fetchKstjList({
- "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "sortData": name,
- "sortType": type
- }).then(function (res) {
- if (res.stats == 200) {
- $scope.kstj_list = res.dataList;//表格列表
- $scope.kstj_num = res.data.sum;//事件总数数量
- }
- })
- break;
- case 'SJLY'://事件来源
- $scope.sjly_list = null;
- // 请求列表
- api_event_form.fetchSjlyList({
- "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "sortData": name,
- "sortType": type
- }).then(function (res) {
- if (res.stats == 200) {
- $scope.sjly_list = res.listData;//表格列表
- $scope.sjly_num = res.data.sum;//事件总数数量
- }
- })
- // 请求事件总数数量
- // api_event_form.getSjNum({
- // "dutyId": $scope.own.duty ? $scope.own.duty.id : undefined,
- // "branchId": $scope.own.duty ? undefined: ($scope.own.branch ? $scope.own.branch.id : undefined),
- // "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- // "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD')
- // }).then(function (res) {
- // if (res.stats == 200) {
- // $scope.sjly_num = res.data[0].sum;//事件总数数量
- // }
- // })
- break;
- }
- };
- // 请求人
- // api_user_data.fetchDataList('requester', {
- // "idx": 0,
- // "sum": 10
- // }).then(function (response) {
- // if (response) {
- // if (response.status = 200) {
- // $scope.requester = response.list;
- // }
- // }
- // })
- //导出
- $scope.export = function () {
- var postData = {
- "startTime": moment($scope.starttimesModel).format('YYYY-MM-DD'),
- "endTime": moment($scope.endtimesModel).format('YYYY-MM-DD'),
- "sortData": $scope.name,
- "sortType": $scope.type,
- report: {}
- }
- switch ($scope.tap) {
- case 'SJZS'://事件总数
- postData.dutyId = $scope.own.duty ? $scope.own.duty.id : undefined;
- postData.branchId = $scope.own.duty ? undefined : ($scope.own.branch ? $scope.own.branch.id : undefined);
- postData.type = $scope.dateItem;
- postData.key = 'mdv2_incident_repot_sum';
- if($scope.own.duty && $scope.own.duty.addSummary == 1){
- postData.titles = ['时间', '事件数量', '平均响应时间', '平均解决时间', '耗材费用', '工时费用', '总费用'];
- }else{
- postData.titles = ['时间', '事件数量', '平均响应时间', '平均解决时间'];
- }
- break;
- case 'SJLX'://故障现象
- postData.dutyId = $scope.own.duty ? $scope.own.duty.id : undefined;
- postData.branchId = $scope.own.duty ? undefined : ($scope.own.branch ? $scope.own.branch.id : undefined);
- postData.hierarchy = $scope.sjSelectedOne.value.id;
- postData.key = 'mdv2_incident_repot_type';
- if($scope.own.duty && $scope.own.duty.addSummary == 1){
- postData.titles = ['故障现象', '类型数量', '类型占比', '平均响应时间', '平均解决时间', '耗材费用', '工时费用', '总费用'];
- }else{
- postData.titles = ['故障现象', '类型数量', '类型占比', '平均响应时间', '平均解决时间'];
- }
- break;
- case 'CLRZ'://处理人/组
- postData.dutyId = $scope.own.duty ? $scope.own.duty.id : undefined;
- postData.branchId = $scope.own.duty ? undefined : ($scope.own.branch ? $scope.own.branch.id : undefined);
- let CLRZ_TYPE = ''
- if ($scope.groupSelectedOne.value.id == -2) {//按组
- postData.type = 1;
- CLRZ_TYPE = '处理组';
- postData.titles = [CLRZ_TYPE, '协同处理数', '事件数量', '事件占比', '按时响应', '超时响应', '平均响应时间', '超时响应占比', '按时解决', '超时解决', '平均解决时间', '超时解决占比', '满意度(%)'];
- } else if ($scope.groupSelectedOne.value.id == -1) {//按人
- postData.type = 2;
- CLRZ_TYPE = '处理人';
- postData.titles = [CLRZ_TYPE, '协同处理数', '事件数量', '事件占比', '按时响应', '超时响应', '平均响应时间', '超时响应占比', '按时解决', '超时解决', '平均解决时间', '超时解决占比', '满意度(%)', '耗材费用', '工时费用', '总费用'];
- } else {
- postData.type = 3;
- CLRZ_TYPE = '处理人';
- postData.titles = [CLRZ_TYPE, '协同处理数', '事件数量', '事件占比', '按时响应', '超时响应', '平均响应时间', '超时响应占比', '按时解决', '超时解决', '平均解决时间', '超时解决占比', '满意度(%)', '耗材费用', '工时费用', '总费用'];
- }
- postData.key = 'mdv2_incident_repot_handle';
- break;
- case 'SFGS'://三方公司
- postData.key = 'mdv2_incident_repot_company';
- postData.titles = [($scope.sfgs_list[0]&&$scope.sfgs_list[0].userName)?'人员名称':'公司名称', '人员总数', '事件数量', '平均响应时长', '平均解决时长'];
- if($scope.sfgs_list[0]&&$scope.sfgs_list[0].userName){
- postData.titles.splice(1,1);
- }
- break;
- case 'QYDD'://区域地点
- postData.dutyId = $scope.own.duty ? $scope.own.duty.id : undefined;
- postData.branchId = $scope.own.duty ? undefined : ($scope.own.branch ? $scope.own.branch.id : undefined);
- postData.type = $scope.areaSelectedOne.value.id;
- postData.key = 'mdv2_incident_repot_area_place';
- postData.titles = ['区域/地点', '事件数量', '事件占比'];
- break;
- case 'KSTJ'://科室统计
- postData.dutyId = $scope.own.duty ? $scope.own.duty.id : undefined;
- postData.branchId = $scope.own.duty ? undefined : ($scope.own.branch ? $scope.own.branch.id : undefined);
- postData.key = 'mdv2_incident_repot_dept';
- if($scope.own.duty && $scope.own.duty.addSummary == 1){
- postData.titles = ['科室名称', '事件数量', '事件占比', '耗材费用', '工时费用', '总费用'];
- }else{
- postData.titles = ['科室名称', '事件数量', '事件占比'];
- }
- break;
- case 'SJLY'://事件来源
- postData.dutyId = $scope.own.duty ? $scope.own.duty.id : undefined;
- postData.branchId = $scope.own.duty ? undefined : ($scope.own.branch ? $scope.own.branch.id : undefined);
- postData.key = 'mdv2_incident_repot_source';
- postData.titles = ['事件来源', '事件数量', '事件来源占比'];
- break;
- }
- var wt_url = api_bpm.downDataModel('report', 1).getRequestedUrl()
- $http({
- url: wt_url,
- method: 'POST',
- data: JSON.stringify(postData),
- headers: {
- 'Accept': '*/*'
- },
- responseType: 'arraybuffer'
- }).success(function (data, status, headers, config) {
- var fileName = '';
- switch ($scope.tap) {
- case 'SJZS'://事件总数
- fileName = '事件总数';
- break;
- case 'SJLX'://故障现象
- fileName = '故障现象';
- break;
- case 'CLRZ'://处理人/组
- fileName = '处理人/组';
- break;
- case 'SFGS'://三方公司
- fileName = '三方公司';
- break;
- case 'QYDD'://区域地点
- fileName = '区域地点';
- break;
- case 'KSTJ'://科室统计
- fileName = '科室统计';
- break;
- case 'SJLY'://事件来源
- fileName = '事件来源';
- break;
- }
- // var fileName = headers("Content-Disposition").split(";")[1].split("filename=")[1];
- var file = new Blob([data], {
- type: 'application/vnd.ms-excel'
- });
- var fileURL = URL.createObjectURL(file);
- var a = document.createElement('a');
- a.href = fileURL;
- a.target = '_blank';
- a.download = fileName + '.xls';
- document.body.appendChild(a);
- a.click();
- }).error(function (data, status, headers, config) {
- });
- };
- //初始化
- $scope.init = function(){
- $scope.dateItemClick('day');
- $scope.mdxquery('accdate', 'desc');
- $scope.sortActive = 'accdatetop';
- $scope.name = 'accdate';//表格排序,字段名称
- $scope.type = 'desc';//表格排序,排序方式desc,asc
- $scope.direction = 'top';//箭头方向 top,bottom
- }
- }])
|