| | |
| | | // ,{field: 'hostId$', align: 'center',title: '所属商户'} |
| | | ,{field: 'userId$', align: 'left',title: '业务员',hide: false, width: 100} |
| | | ,{field: 'planType$', align: 'left',title: '业务类型', width: 150,hide: false} |
| | | ,{field: 'name', align: 'left',title: '售前规划申请单名称', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'more',hide: false} |
| | | ,{ |
| | | field: 'name', |
| | | align: 'left', |
| | | title: '售前规划申请单名称', |
| | | width: 220, |
| | | style: 'color: #1890ff;cursor:pointer', |
| | | event: 'more', |
| | | hide: false |
| | | } |
| | | ,{field: 'uuid', align: 'left',title: '规划单号', width: 100,hide: false} |
| | | ,{field: 'planNeed$', align: 'left',title: '所需', templet:function(d){return emptyShow(d.planNeed$)},hide: false} |
| | | ,{ |
| | | field: 'planNeed$', |
| | | align: 'left', |
| | | title: '所需', |
| | | templet:function(d){ |
| | | return emptyShow(d.planNeed$) |
| | | }, |
| | | hide: false |
| | | } |
| | | ,{field: 'deptId$', align: 'left',title: '所属部门',hide: true} |
| | | ,{field: 'planner$', align: 'left',title: '规划员',hide: false, width: 100} |
| | | // ,{field: 'nowHeadman$', align: 'left',title: '规划组长',hide: true} |
| | | ,{field: 'orderId$', align: 'left',title: '跟踪项目', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'orderMore',hide: false} |
| | | // ,{field: 'cstmrId$', align: 'left',title: '甲方单位', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'cstmrMore',hide: true} |
| | | ,{field: 'appleTime$', align: 'left',title: '申请日期', hide: true} |
| | | ,{ |
| | | field: 'orderId$', |
| | | align: 'left', |
| | | title: '跟踪项目', |
| | | width: 220, |
| | | style: 'color: #1890ff;cursor:pointer', |
| | | event: 'orderMore',hide: false |
| | | } |
| | | // ,{ |
| | | // field: 'cstmrId$', |
| | | // align: 'left', |
| | | // title: '甲方单位', |
| | | // width: 220, |
| | | // style: 'color: #1890ff;cursor:pointer', |
| | | // event: 'cstmrMore', |
| | | // hide: true |
| | | // } |
| | | ,{field: 'appleTime$', align: 'left',title: '申请日期', hide: false} |
| | | // ,{field: 'beItem$', align: 'center',title: '立项'} |
| | | // ,{field: 'planner', align: 'left',title: '规划员', templet:function(d){return emptyShow(d.planner)}} |
| | | // ,{field: 'finishTime$', align: 'center',title: '完成时间'} |
| | |
| | | ,{field: 'settle$', align: 'center',title: '进度', width: 150} |
| | | // ,{field: 'settleMsg', align: 'center',title: '审核进度'} |
| | | // ,{field: 'comment', align: 'center',title: '评论'} |
| | | // ,{field: 'status$', align: 'center',title: '状态'} |
| | | ,{field: 'createTime$', align: 'left',title: '添加日期', width: 160, hide: false} |
| | | ,{field: 'status$', align: 'center',title: '状态'} |
| | | ,{field: 'createTime$', align: 'left',title: '添加日期', width: 160, hide: true} |
| | | ,{field: 'updateBy$', align: 'left',title: '修改人', width: 100} |
| | | ,{field: 'updateTime$', align: 'left',title: '修改时间', hide: true} |
| | | ,{field: 'memo', align: 'left',title: '注释', hide: true} |
| | | |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width: 280} |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width: 340} |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | |
| | | method: 'GET', |
| | | success: function (res0) { |
| | | let planType = res0.data.planType; |
| | | console.log(planType.html) |
| | | if (res0.code === 200) { |
| | | admin.open({ |
| | | type: 1, |
| | |
| | | ]) |
| | | let planNeedSel = loadPlanNeedSel(); |
| | | form.val('detail', { |
| | | planTypeName: planType.name |
| | | planTypeName: planType.name, |
| | | userXmlSelPhone: res0.data.mobile |
| | | }); |
| | | layDateRender(); |
| | | form.on('submit(editSubmit)', function (data) { |
| | | console.log(data) |
| | | data.field.planType = planType.id; |
| | | data.field.orderId = orderSel.getValue()[0] ? orderSel.getValue()[0].value : null; |
| | | data.field.cstmrId = cstmrSel.getValue()[0] ? cstmrSel.getValue()[0].value : null; |
| | |
| | | }, function (i) { |
| | | layer.close(i); |
| | | // 指定规划员 |
| | | if (data.settle === 2) { |
| | | if (data.settle === 1) { |
| | | admin.open({ |
| | | type: 1, |
| | | area: '300px', |
| | |
| | | autoRow: true, |
| | | filterable: true, |
| | | remoteSearch: true, |
| | | clickClose: true, |
| | | radio: true, |
| | | remoteMethod: function (val, cb, show) { |
| | | let loadIndex = layer.load(2); |
| | |
| | | } else { |
| | | approval(data.id); |
| | | } |
| | | }); |
| | | break; |
| | | case 'approvalEnd': |
| | | layer.confirm('审批拒绝?', { |
| | | skin: 'layui-layer-admin', |
| | | shade: .1, |
| | | offset: '200px', |
| | | title: data.name |
| | | }, function (i) { |
| | | layer.close(i); |
| | | approvalEnd(data.id); |
| | | }); |
| | | break; |
| | | case 'edit': |
| | |
| | | |
| | | // 点击下载按钮时触发文件下载 |
| | | $('#data-btn-file3').on('click', 'a', function() { |
| | | var downloadUrl = $(this).attr('href'); |
| | | // console.log(downloadUrl) |
| | | // console.log(baseUrl) |
| | | // window.open("/\//"+downloadUrl); |
| | | // return false; |
| | | // var downloadUrl = $(this).attr('href'); |
| | | // console.log(downloadUrl) |
| | | // // console.log(baseUrl) |
| | | // // window.open("/\//"+downloadUrl); |
| | | // // return false; |
| | | // // var downloadUrl = $(this).attr('href'); |
| | | // // console.log(downloadUrl) |
| | | // // // 发起 AJAX 请求,获取文件 |
| | | // $.ajax({ |
| | | // url: '/plan/download/file/auth', |
| | | // type: 'POST', |
| | | // data: { downloadUrl: downloadUrl }, // 传递下载链接作为参数 |
| | | // success: function(response) { |
| | | // // console.log(response) |
| | | // // // window.open(baseUrl+response.msg) |
| | | // // // 创建一个Blob对象 |
| | | // // var blob = new Blob([response]); |
| | | // // // 使用FileSaver保存文件 |
| | | // // var fileName = downloadUrl.substring(downloadUrl.lastIndexOf('\\') + 1); |
| | | // // console.log(fileName) |
| | | // // saveAs(blob, fileName); |
| | | // // 发起 AJAX 请求,获取文件 |
| | | $.ajax({ |
| | | url: '/plan/download/file/auth', |
| | | type: 'POST', |
| | | data: { downloadUrl: downloadUrl }, // 传递下载链接作为参数 |
| | | success: function(response) { |
| | | console.log(response) |
| | | layer.msg(response.msg+',已下载至默认路径!详细下载路径:'+response.data, {icon: 1}); |
| | | // // window.open(baseUrl+response.msg) |
| | | // // 创建一个Blob对象 |
| | | // var blob = new Blob([response]); |
| | | // // 使用FileSaver保存文件 |
| | | // var fileName = downloadUrl.substring(downloadUrl.lastIndexOf('\\') + 1); |
| | | // console.log(fileName) |
| | | // saveAs(blob, fileName); |
| | | // return false; |
| | | // }, |
| | | // error: function() { |
| | | // layer.msg('请求文件下载失败'); |
| | | // } |
| | | // }); |
| | | var downloadUrl = $(this).attr('href'); |
| | | console.log(downloadUrl) |
| | | if (downloadUrl == "" || downloadUrl == null) { |
| | | layer.msg('请先上传app文件',{time:1000},() => { |
| | | parent.location.reload() |
| | | }) |
| | | }else{ |
| | | window.open(downloadUrl); |
| | | } |
| | | }, |
| | | error: function() { |
| | | layer.msg('请求文件下载失败'); |
| | | } |
| | | }); |
| | | // var downloadUrl = $(this).attr('href'); |
| | | // console.log(downloadUrl) |
| | | // if (downloadUrl == "" || downloadUrl == null) { |
| | | // layer.msg('请先上传app文件',{time:1000},() => { |
| | | // parent.location.reload() |
| | | // }) |
| | | // }else{ |
| | | // window.open(downloadUrl); |
| | | // } |
| | | return false; // 阻止默认的链接跳转行为 |
| | | }); |
| | | |
| | |
| | | let loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/plan/approval/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | planId: planId, |
| | | plannerId: plannerId |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (dIdx) { |
| | | layer.close(dIdx); |
| | | } |
| | | layer.close(loadIndex); |
| | | if (res.code === 200){ |
| | | layer.msg(res.msg, {icon: 1}); |
| | | tableReload(); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | function approvalEnd(planId, plannerId, dIdx) { |
| | | let loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/plan/approvalEnd/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | planId: planId, |
| | |
| | | autoRow: true, |
| | | filterable: true, |
| | | remoteSearch: true, |
| | | clickClose: true, |
| | | radio: true, |
| | | remoteMethod: function (val, cb, show) { |
| | | $.ajax({ |
| | |
| | | autoRow: true, |
| | | filterable: true, |
| | | remoteSearch: true, |
| | | clickClose: true, |
| | | radio: true, |
| | | remoteMethod: function (val, cb, show) { |
| | | $.ajax({ |
| | |
| | | if (res.code === 200) { |
| | | cb(res.data) |
| | | } else { |
| | | cb([]); |
| | | cb([]);Query/auth |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | on: function (data){ |
| | | if (data.change.length > 0) { |
| | | let orderId = data.change[0].value; |
| | | $.ajax({ |
| | | url: baseUrl + "/order/" + orderId + "/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {}, |
| | | method: 'GET', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | let cstmrSel = loadCstmrSel(); |
| | | cstmrSel.setValue([{name: res.data.cstmrId$, value: res.data.cstmrId}]); |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | |
| | | autoRow: true, |
| | | filterable: true, |
| | | remoteSearch: true, |
| | | clickClose: true, |
| | | radio: true, |
| | | remoteMethod: function (val, cb, show) { |
| | | $.ajax({ |
| | |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | cb(res.data) |
| | | // cb(res.data) |
| | | cb([]); |
| | | } else { |
| | | cb([]); |
| | | layer.msg(res.msg, {icon: 2}); |
| | |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | console.log(planNeedXmlSelData) |
| | | planNeedXmlSel.update({ |
| | | initValue: planNeedXmlSelData, |
| | | data: res.data |
| | |
| | | autoRow: true, |
| | | filterable: true, |
| | | remoteSearch: true, |
| | | clickClose: true, |
| | | radio: true, |
| | | remoteMethod: function (val, cb, show) { |
| | | $.ajax({ |