| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 |
- /**
- * 查看设备巡检工单详情
- * */
- var timeRules = ''; //超时时长规则 暂时定5、10、 15 (分钟)三个阶段;展示不同的颜色
- $(function() {
- var pro_id = helper.request.queryString("edit_id");
- //获取超时时长的规则
- timeoutRules().then(function() {
- getProjectDetail(pro_id);
- });
- });
- //获取单个
- function getProjectDetail(ids) {
- $.getJSON(huayi.config.callcenter_url + "equipmentapi/api/WoEquipmentRunning/getdetails", {
- id: ids,
- }, function(data) {
- if(data.state == "success") {
- var res = data.data;
- var lastcheckresult = res.lastcheckresultid; //巡检结果
- var quipmentstate = res.quipmenttype; //设备状态
- var wostate = res.wostate; //工单状态
- $('#wocode').html('工单编号:' + res.wocode); //工单编号
- $('#plan_woname').html(res.woname); //工单名称
- $('#plan_title').html(res.planname); //计划名称
- $('#project_detail_title').html(res.projectname); //项目名称
- if(res.matternames){
- $('#sys_title').html(res.matternames.join(',')); //检查事项名称
- }
- // if(res.equipmentname && res.equipmentname[0] != '') {
- // $('#eqp_title').html(res.equipmentname.join(',')); //设备名称
- // }
- $('#lastchecktime').html(formatterCheckTime(res.lastchecktime)); //上次巡检时间
- if($('#lastchecktime').text() != '-') {
- $('#lastcheckresultid').text(ftype(lastcheckresult).stateTxt); //巡检结果
- $('#lastcheckresultid').addClass(ftype(lastcheckresult).stateClass); //巡检结果
- } else {
- $('#lastcheckresultid').text('-'); //巡检结果
- }
- //创建人
- if(res.createby && res.createbyuser) {
- $('#createby').html(res.createby + '-' + res.createbyuser);
- }
- $('#createTime').html(res.createtime); //创建时间
- $('#abnormalcontent').html(helper.filter.content(res.wocontent)); //工单内容
- $('#wostart').html(res.starttime); //工单开始时间
- $('#woend').html(res.endtime); //工单结束时间
- $('#overLongTime').html(formatterTimeoutlong(res.timeoutlong)); //超时时长
- if(res.checkby) {
- $('#checkby').html(res.checkby); //巡检人
- }
- //设备状态
- // if($('#eqp_title').text() != '-') {
- $('#quipmenttype').text(ftype(quipmentstate).stateTxt); //巡检结果
- $('#quipmenttype').addClass(ftype(quipmentstate).stateClass); //巡检结果
- // } else {
- // $('#quipmenttype').text('-');
- // }
- //工单状态
- $('#wostate').text(formatterWostate(wostate).stateName);
- $('#wostate').addClass(formatterWostate(wostate).stateClass);
- if(res.dealby) {
- $('#dealby').html(res.dealby); //处理人
- }
- $('#dealSubmitTime').html(formatterCheckTime(res.dealtime)); //处理提交时间
- $('#checkcontent').html(helper.filter.content(res.checkcontent)); //处理异常说明
- //自定义字段
- var customfields = res.extensionlist;
- if(customfields && customfields.length > 0) {
- $.each(customfields, function(i, v) {
- $('#customfields').append('<li><div id="extension_'+ i +'" class="extension_con file_imgs clearfix"><div class="extension_txt">' + v.name + ':<span id="userCode">' + (v.value == null ? '' : v.value) + '</div></span>'+
- '</div></li>');
- if(v.picfiles && v.picfiles.length > 0){
- var $list = $('#extension_' + i);
- $.each(v.picfiles, function(j, m) {
- if(m.filesmallurl) {
- //图片
- var $li = $(
- '<li><span class="img_mask"><a href="' + m.fileurl + '" download="filename" title="点击下载"><i class="glyphicon glyphicon-download-alt" aria-hidden="true"></i></a></span>' +
- '<img layer-src="' + m.fileurl + '" alt="' + m.filename + '" src="' + m.filesmallurl + '" title="图片"/>' +
- '<span class="file_name">' + m.filename + '</span>' +
- '</li>'
- );
- $list.append($li);
- } else {
- var $liFile = $(
- '<li><span class="img_mask"><a href="' + m.fileurl + '" download="filename" title="点击下载"><i class="glyphicon glyphicon-download-alt" aria-hidden="true"></i></a></span>' +
- '<div class="noThumb" title="文件"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>' +
- '<span class="file_name">' + m.filename + '</span>' +
- '</li>'
- );
- $list.append($liFile);
- }
- });
- layer.photos({
- photos: '#extension_' + i,
- anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
- title: '查看图片',
- move: '.layui-layer-title',
- shadeClose: false,
- closeBtn: 1,
- area: ['80%', '90%'],
- tab: function(pic, layero) {
- $('.layui-layer-content').on("mousewheel", function(e, d) {
- helper.methods.zoomImg($('#layui-layer-photos').find('img[alt="' + pic.alt + '"]'), d);
- $('#layui-layer-photos').find('img[alt="' + pic.alt + '"]').dragging({
- move: "both", //拖动方向,x y both
- randomPosition: false //初始位置是否随机
- });
- return false;
- });
- helper.methods.initLayerPhotos('#layui-layer-photos', pic, layero);
- },
- });
- }
- });
- } else {
- $("#customfields").html("暂无内容。。。");
- }
- //转派流程
- var transferLines = res.itemlist;
- if(transferLines && transferLines.length > 0) {
- transferLines.sort(helper.methods.compare('createtime', -1));
- $('#transferLines').empty();
- $.each(transferLines, function(i, v) {
- //工单状态:0创建工单,1已转派,2已接收,3已处理,6挂起
- var timelineHtml = '';
- if(i === 0) {
- timelineHtml = creatTimeLineHtml(v, 'layui-item_active');
- } else {
- timelineHtml = creatTimeLineHtml(v, 'layui-item_default');
- }
- $('#transferLines').append(timelineHtml);
- });
- }
- //附件
- var EnclosureList = res.checkpic;
- if(EnclosureList && EnclosureList.length > 0) {
- var $list = $("#fileList");
- $.each(EnclosureList, function(i, v) {
- if(v.filesmallurl) {
- //原来的图片
- var $li = $(
- '<li><span class="img_mask"><a href="' + v.fileurl + '" download="filename" title="点击下载"><i class="glyphicon glyphicon-download-alt" aria-hidden="true"></i></a></span>' +
- '<img layer-src="' + v.fileurl + '" alt="' + v.filename + '" src="' + v.filesmallurl + '" title="图片"/>' +
- '<span class="file_name">' + v.filename + '</span>' +
- '</li>'
- );
- $list.append($li);
- } else {
- var $liFile = $(
- '<li><span class="img_mask"><a href="' + v.fileurl + '" download="filename" title="点击下载"><i class="glyphicon glyphicon-download-alt" aria-hidden="true"></i></a></span>' +
- '<div class="noThumb" title="文件"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>' +
- '<span class="file_name">' + v.filename + '</span>' +
- '</li>'
- );
- $list.append($liFile);
- }
- });
- layer.photos({
- photos: '#fileList',
- anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
- title: '查看图片',
- move: '.layui-layer-title',
- shadeClose: false,
- closeBtn: 1,
- area: ['80%', '90%'],
- tab: function(pic, layero) {
- $('.layui-layer-content').on("mousewheel", function(e, d) {
- helper.methods.zoomImg($('#layui-layer-photos').find('img[alt="' + pic.alt + '"]'), d);
- $('#layui-layer-photos').find('img[alt="' + pic.alt + '"]').dragging({
- move: "both", //拖动方向,x y both
- randomPosition: false //初始位置是否随机
- });
- return false;
- });
- helper.methods.initLayerPhotos('#layui-layer-photos', pic, layero);
- },
- });
- } else {
- $("#fileList").html("暂无内容。。。");
- }
- }
- });
- }
- /**
- * 创建时间线 内容
- * v 数据
- * vC class名
- * */
- function creatTimeLineHtml(v, vC) {
- var timelineHtml = '';
- if(v.wostate === 0) {
- timelineHtml += '<li class="layui-timeline-item ' + vC + '">' +
- '<i class="layui-icon layui-timeline-axis"></i>' +
- '<div class="layui-timeline-content layui-text">' +
- '<h3 class="layui-timeline-title">创建工单</h3>' +
- '<p>' + v.createtime + '</p>' +
- '<p>' + v.detail + '</p>' +
- '</div>' +
- '</li>';
- } else {
- timelineHtml += '<li class="layui-timeline-item ' + vC + '">' +
- '<i class="layui-icon layui-timeline-axis"></i>' +
- '<div class="layui-timeline-content layui-text">' +
- '<h3 class="layui-timeline-title">' + formatterWostate(v.wostate).stateName + '</h3>' +
- '<p>' + v.createtime + '</p>' +
- '<p>' + v.detail + '</p>' +
- '</div>' +
- '</li>';
- }
- return timelineHtml;
- }
- //格式化时间
- function formatterCheckTime(val) {
- if(val == "0001-01-01 00:00:00" || val == "" || val == null || val == undefined) {
- return "-";
- } else {
- return val;
- }
- }
- //获取超时时长的规则
- function timeoutRules() {
- var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
- $.ajax({
- type: "get",
- url: huayi.config.callcenter_url + "configurationapi/api/dictionary/getdicvaluelistdrop",
- dataType: 'json',
- async: true,
- data: {
- code: 'GDCSSC',
- },
- success: function(data) {
- if(data.state.toLowerCase() === 'success') {
- data = data.data;
- if(data && data.length > 0) {
- timeRules = data[0].name;
- }
- }
- dtd.resolve(); // 改变Deferred对象的执行状态
- }
- });
- return dtd.promise(); // 返回promise对象
- }
- //格式化超时时长 暂时定5、10、 15 (分钟)三个阶段;展示不同的颜色
- function formatterTimeoutlong(val) {
- if(val < 0) {
- return val;
- }
- var stateClass = 'timeout_default';
- if(timeRules) {
- var rule1 = (timeRules.split('|')[0] - 0) * 60;
- var rule2 = (timeRules.split('|')[1] - 0) * 60;
- var rule3 = (timeRules.split('|')[2] - 0) * 60;
- if(val === 0) {
- stateClass = 'timeout_default';
- } else if((val > 0) && (val <= rule1)) {
- stateClass = 'timeout_wait';
- } else if((val > rule1) && (val <= rule2)) {
- stateClass = 'timeout_refuse';
- } else if((val > rule2) && (val <= rule3)) {
- stateClass = 'timeout_revoke';
- } else {
- stateClass = 'timeout_termination';
- }
- }
- return '<span class="' + stateClass + '" href="javascript:;">' + helper.DateFormat.getDuring(val) + '</span>';
- }
- //格式化状态
- function formatterWostate(wostate) {
- //0创建工单,1已转派,2已接收,3已处理,6挂起
- var stateClass, stateName;
- switch(wostate) {
- case 0:
- stateClass = 'state_audit state_audit_wait';
- stateName = '新工单';
- break;
- case 1:
- stateClass = 'state_audit state_audit_refuse';
- stateName = '已转派';
- break;
- case 2:
- stateClass = 'state_audit state_audit_doned';
- stateName = '已接收';
- break;
- case 3:
- stateClass = 'state_audit state_audit_done';
- stateName = '已处理';
- break;
- case 6:
- stateClass = 'state_audit state_audit_revoke';
- stateName = '挂起';
- break;
- default:
- stateClass = '';
- stateName = '-';
- break;
- }
- return {
- 'stateClass': stateClass,
- 'stateName': stateName
- };
- }
- //格式化状态
- function ftype(val) {
- //1正常,0异常
- var stateClass = 'timeout_default';
- var stateTxt = '-';
- if(val === 1) {
- stateClass = 'timeout_success';
- stateTxt = '正常';
- } else {
- stateClass = 'timeout_termination';
- stateTxt = '异常';
- }
- return {
- "stateClass": stateClass,
- "stateTxt": stateTxt
- };
- }
|