$(function() { layui.use('laydate', function(){ var laydate = layui.laydate; //日期时间选择器 laydate.render({ elem: '#receiveTime' }); laydate.render({ elem: '#startTime', done:function (data) { var endTime=$("#endTime").val(); if(data>endTime && endTime!=''){ layer.msg("开始时间不能大于结束时间"); $("#startTime").val(''); } } }); laydate.render({ elem: '#endTime', done:function (data) { var startTime=$("#startTime").val(); if(data 0) { var leng = (pageNum - 1) * pageSize; for (var i = 0; i < results.length; i++) { var l = results[i]; html += ""; html += "" + (i + leng + 1) + ""; html += ""+ JY.Object.notEmpty(l.applyTime) + ""; html += ""+ JY.Object.notEmpty(l.leaseCompany) + ""; html += ""+ JY.Object.notEmpty(l.leaseProject) + ""; html += ""+ JY.Object.notEmpty(l.applyNumber) + ""; html += ""+ JY.Object.notEmpty(l.agreementCode) + ""; html += ""+ JY.Object.notEmpty(l.leasePerson) + ""; html += ""+ JY.Object.notEmpty(l.phone) + ""; let shInfo = ''; let wsh = l.wsh; if(wsh != null) { wsh = "未审核:" + wsh ; let shtg = l.shtg; shtg = "
审核通过:" + shtg; let shbh = l.shbh; shbh = "
审核驳回:" + shbh ; shInfo = wsh+shtg+shbh; let pzInfo = ''; let wpz = l.wpz; wpz = "未批准:" + wpz + ""; let pztg = l.pztg; pztg = "
批准通过:" + pztg ; let pzbh = l.pzbh; pzbh = "
批准驳回:" + pzbh; pzInfo = wpz+pztg+pzbh; console.log(l.pztg); if (l.pzbh != null && Number(l.pzbh) > 0) { html += ""+ JY.Object.notEmpty(pzInfo) + ""; } else if (l.wpz != null && Number(l.wpz) > 0) { html += ""+ JY.Object.notEmpty(pzInfo) + ""; } else { html += ""+ JY.Object.notEmpty(pzInfo) + ""; } }else{ html += ""; } html += rowFunction(l.taskId, l.applyTime, l.leaseProjectId, l.planOutId); html += ""; } $("#baseTable tbody").append(html); JY.Page.setPage("baseForm", "pageing", pageSize,pageNum, totalRecord, "getbaseList"); } else { html += "没有相关数据"; $("#baseTable tbody").append(html); $("#pageing ul").empty();// 清空分页 } JY.Model.loadingClose(); }); } function rowFunction(taskId, applyTime, leaseProjectId, planOutId) { var h = ""; h += ""; h += ""; h += ""; h += ""; return h; } function receive(taskId){ saveTaskId(taskId); cleanForm(taskId); JY.Ajax.doRequest(null, bonuspath + '/backstage/machineReceive/findSheet', { taskId : taskId }, function(data) { //alert("data="+JSON.stringify(data)); console.log("data=",data); if(data.obj.list.length != 0){ setForm(data); JY.Model.check("auDiv"); }else { var indexMsg = layer.confirm(data.resMsg, {btn: ['关闭']},function(){ layer.close(indexMsg); }); } }); } //在页面保存taskId function saveTaskId(taskId){ $("#taskId0").val(""); $("#taskId0").val(taskId); } //保存领料单修改的数据 function save1(){ var taskId = $("#taskId0").val(); var taskRemark0 = $(".taskRemark0 input").val(); var remarkMachine = $(".remarkMachine"); var wmaId = $(".wmaId"); var remarkMachines = new Array(); var remarkMachineString = ""; var isCounts = new Array(); var isCountString = ""; var wmaIds = new Array(); var wmaIdString = ""; for(i = 0; i < remarkMachine.length; i++){ remarkMachines[i] = $(remarkMachine[i]).val(); remarkMachineString += remarkMachines[i] + ","; $(remarkMachine[i]).attr("value",remarkMachines[i]); wmaIds[i] = $(wmaId[i]).val(); wmaIdString += wmaIds[i] + ","; } $(".taskRemark0 input").attr("value",taskRemark0); $.ajax({ type: "POST", url: bonuspath + '/backstage/machineReceive/saveMaterialRequisition', data: { taskId : taskId, taskRemark : taskRemark0, remarkMachine : remarkMachineString, isCount : isCountString, id : wmaIdString }, dataType: 'json', success: function(data) { JY.Model.info(data.res,function(){ search(); }); }, error: function(msg) { } }); } function check(taskId){ JY.Ajax.doRequest(null, bonuspath + '/backstage/machineReceive/findCheckSheet', { taskId : taskId }, function(data) { console.log("data=",data); setCheckForm(data); JY.Model.check("auCheckDiv"); }); } function cleanForm(){ $("#addForm input[id$='taskId']").val(""); $("#addForm input[id$='unitName']").val(""); $("#addForm input[id$='unitId']").val(""); $("#addForm input[id$='projectName']").val(""); $("#addForm input[id$='projectId']").val(""); $("#addForm input[id$='agreementCode']").val(""); $("#addForm input[id$='applyNumber']").val(""); $("#addForm input[id$='leaseMan']").val(""); $("#addForm input[id$='phone']").val(""); $("#addForm input[id$='remark']").val(""); } function edit(taskId){ cleanForm(); JY.Ajax.doRequest(null, bonuspath + '/backstage/machineReceive/find', { taskId : taskId }, function(data) { setAddForm(data); JY.Model.edit("addDiv","修改",function(){ if(JY.Validate.form("addForm")){ var that =$(this); JY.Ajax.doRequest("addForm",bonuspath +'/backstage/machineReceive/update',null,function(data){ that.dialog("close"); JY.Model.info(data.resMsg,function(){search();}); }); } }); }); } function del(taskId){ JY.Model.confirm("确认删除吗?",function(){ JY.Ajax.doRequest(null,bonuspath +'/backstage/machineReceive/del',{ taskId : taskId },function(data){ JY.Model.info(data.resMsg,function(){search();}); }); }); } function setAddForm(data){ var l = data.obj.list; $("#addForm input[id$='taskId']").val(JY.Object.notEmpty(l.taskId)); $("#addForm input[id$='unitName']").val(JY.Object.notEmpty(l.leaseCompany)); $("#addForm input[id$='unitId']").val(JY.Object.notEmpty(l.leaseCompanyId)); $("#addForm input[id$='projectName']").val(JY.Object.notEmpty(l.projectName)); $("#addForm input[id$='projectId']").val(JY.Object.notEmpty(l.projectId)); $("#addForm input[id$='agreementCode']").val(JY.Object.notEmpty(l.agreementCode)); $("#addForm input[id$='applyNumber']").val(JY.Object.notEmpty(l.applyNumber)); $("#addForm input[id$='leaseMan']").val(JY.Object.notEmpty(l.leaseMan)); $("#addForm input[id$='phone']").val(JY.Object.notEmpty(l.phone)); $("#addForm input[id$='remark']").val(JY.Object.notEmpty(l.remark)); } var results={} function setForm(data) { results = data.obj.list; var html = ""; $(".basic").html(""); $(".add").remove(); if(results.length != 0){ if(results[0].typeId != null){ $("#dd").show(); $("#morePage").hide(); for(var i = 0;i < results.length;i++){ var remarkMachine; if(i < 5){ var wmaId = $(".wmaId"); if(results[i].id != null && results[i].id != ""){ $(wmaId[i]).attr("value",results[i].id); }else{ $(wmaId[i]).attr("value","-1"); } $("#number"+i).html(i+1); $("#id"+i).html(results[i].deviceCode); $("#machinesType"+i).html(results[i].machineType); $("#machinesModel"+i).html(results[i].machineName); $("#unit"+i).html(results[i].machineModel); $("#isFixedAssets"+i).html(results[i].isFixedAssets); $("#machinesNum"+i).html(results[i].machineUnit); $("#weight"+i).html(results[i].thisOutNum); if(results[i].remark != "" && results[i].remark != "null" && results[i].remark != null){ $("#remarkMachine"+i).html(results[i].remark); }else{ $("#remarkMachine"+i).html(""); } var taskId = results[i].taskId; var modelId = results[i].typeId; if(results[i].remarkMachine != null && results[i].remarkMachine != ""){ remarkMachine = results[i].remarkMachine; }else{ remarkMachine = ""; } if(results[i].isCount == 0 || results[i].isCount == '0'){ $("#remark"+i).html(''); }else{ $("#remark"+i).html(''); } }else{ if(results[i].remarkMachine != null && results[i].remarkMachine != ""){ remarkMachine = results[i].remarkMachine; }else{ remarkMachine = ""; } var wmaId; if(results[i].id != null && results[i].id != ""){ wmaId = results[i].id; }else{ wmaId = "-1"; } var temp = ""; html += ''; html += ''; html += ''+(i+1)+''; if(results[i].deviceCode != null) { html += ''+results[i].deviceCode+''; } else { html += ''+temp+''; } html += ''+results[i].machineType+''; html += ''+results[i].machineName+''; html += ''+results[i].machineModel+''; html += ''+results[i].isFixedAssets+''; html += ''+results[i].machineUnit+''; html += ''+results[i].thisOutNum+''; if(results[i].remark != "" && results[i].remark != "null" && results[i].remark != null){ html += ''+results[i].remark+''; }else{ html += ''; } html += ''; html += ''; } } $("#five").after(html); } } if(results.length > 0){ $(".subcontractors").html(results[0].subcontractors);//分包商 $(".leaseCompany").html(results[0].leaseCompany); $(".projectName").html(results[0].leaseProject); $(".applyTime").html(results[0].applyTime); $(".applyNumber").html(results[0].applyNumber); // 修改为使用新的印章样式 let sealHtml = ''; if (results[0].isConfirm != null && results[0].isConfirm === 1) { sealHtml = `
已确认出库
`; } else { sealHtml = `
待确认出库
`; } $("#leaseFormTrDom").html(sealHtml); var taskRemark; if(results[0].taskRemark == "" || results[0].taskRemark == null){ taskRemark = ""; }else{ taskRemark = results[0].taskRemark; } $(".taskRemark0").html('备注:'); $(".examineUrl").html(""); $(".approvalUrl").html(""); $(".opeatorUrl").html(""); if(results[0].examineUrl != null && results[0].examineUrl != ""){ var html1 = ""; var picUrl = results[0].examineUrl.replaceAll(/\\/g,"@"); var s = picUrl.replaceAll("@","/"); var l =bonuspath + '/backstage/user/downFile?headerUrl='+s; var path = l; html1 += ''; } if(results[0].approvalUrl != null && results[0].approvalUrl != ""){ var html2 = ""; var picUrl = results[0].approvalUrl.replaceAll(/\\/g,"@"); var s = picUrl.replaceAll("@","/"); var l =bonuspath + '/backstage/user/downFile?headerUrl='+s; var path = l; html2 += ''; } if(results[0].opeatorUrl != null && results[0].opeatorUrl != ""){ var html3 = ""; var html1 = ""; var picUrl = results[0].opeatorUrl.replaceAll(/\\/g,"@"); var s = picUrl.replaceAll("@","/"); var l =bonuspath + '/backstage/user/downFile?headerUrl='+s; var path = l; html3 += ''; } } } function jqprinting1() { var pageRows = 20; var page = 1; var pages = Math.ceil(results.length / pageRows); console.log("pages:", pages); console.log('results+++', results); var html = ""; $("#dd").hide(); $("#morePage").show(); $("#morePage").empty(); for (var i = 0; i < results.length; i++) { if (results[i].remarkMachine != null && results[i].remarkMachine != "") { var remarkMachine = results[i].remarkMachine; } else { var remarkMachine = ""; } var wmaId; if (results[i].id != null && results[i].id != "") { wmaId = results[i].id; } else { wmaId = "-1"; } var temp = ""; html += ''; html += ''; html += '' + (i + 1) + ''; if (results[i].deviceCode != null) { html += '' + results[i].deviceCode + ''; } else { html += '' + temp + ''; } html += '' + results[i].machineType + ''; html += '' + results[i].machineName + ''; html += '' + results[i].machineModel + ''; html += '' + results[i].isFixedAssets + ''; html += '' + results[i].machineUnit + ''; html += '' + results[i].thisOutNum + ''; if (results[i].remark != "" && results[i].remark != "null" && results[i].remark != null) { html += '' + results[i].remark + ''; } else { html += ''; } html += ''; html += ''; if (i == (page * pageRows - 1) || i == (results.length - 1)) { let HTML = ` ` + html + `
贵州送变电有限责任公司
`; // 针对打印优化的印章样式 if (results[0].isConfirm != null && results[0].isConfirm === 1) { HTML += `
已确认
出库
`; } else { HTML += `
待确认
出库
`; } HTML += `
领 料 单
单据编号: 制单日期:
工程名称: 租赁单位: 领料方:
 备注:
序号 资产编号 资产类别 设备名称 规格型号 资产 单位 数量 设备编号 备注
备注:以上货物完好无损,质量无缺陷,确认无误后由领用人签字。
制单: 领用人:
库工: 出库确认:
`; page = page + 1; $("#morePage").append(HTML); HTML = ''; html = ''; } } // 设置表格数据 if (results.length > 0) { $("#morePage .subcontractors").html(results[0].subcontractors || ""); $("#morePage .leaseCompany").html(results[0].leaseCompany || ""); $("#morePage .projectName").html(results[0].leaseProject || ""); $("#morePage .applyTime").html(results[0].applyTime || ""); $("#morePage .applyNumber").html(results[0].applyNumber || ""); var taskRemark = results[0].taskRemark || ""; $("#morePage .taskRemark0").each(function() { $(this).html('备注:'); }); // 设置签名图片 if (results[0].examineUrl != null && results[0].examineUrl != "") { var picUrl = results[0].examineUrl.replaceAll(/\\/g, "@"); var s = picUrl.replaceAll("@", "/"); var path = bonuspath + '/backstage/user/downFile?headerUrl=' + s; $("#morePage .examineUrl").html(''); } if (results[0].approvalUrl != null && results[0].approvalUrl != "") { var picUrl = results[0].approvalUrl.replaceAll(/\\/g, "@"); var s = picUrl.replaceAll("@", "/"); var path = bonuspath + '/backstage/user/downFile?headerUrl=' + s; $("#morePage .approvalUrl").html(''); } if (results[0].opeatorUrl != null && results[0].opeatorUrl != "") { var picUrl = results[0].opeatorUrl.replaceAll(/\\/g, "@"); var s = picUrl.replaceAll("@", "/"); var path = bonuspath + '/backstage/user/downFile?headerUrl=' + s; $("#morePage .opeatorUrl").html(''); } } // 确保印章样式应用到打印页面 ensurePrintStyles(); // 打印 setTimeout(() => { $("#morePage").jqprint({ operaSupport: false, importCSS: true, printContainer: true }); // 打印后恢复显示 setTimeout(() => { $("#dd").show(); $("#morePage").hide(); }, 500); }, 100); } // 确保打印页面有正确的样式 function ensurePrintStyles() { // 动态添加打印样式 if (!$('#print-styles').length) { var printCSS = ` `; $('head').append(printCSS); } } function setCheckForm(data) { var results = data.obj.list; var html = ""; $(".basic").html(""); $(".add").remove(); if(results.length > 0){ $("#leaseCompanyName").html(results[0].leaseCompany); $("#leaseProject").html(results[0].projectName); if(results[0].machinesType != null){ createSeal('canvas','安徽送变电工程有限公司机具设备分公司','检验专用章'); for(var i = 0;i < results.length;i++){ if(i < 10){ $(".typeName"+i).html(results[i].machinesType); $(".modelName"+i).html(results[i].machinesModel); $(".unit"+i).html(results[i].unit); $(".machinesNum"+i).html(results[i].actualNum); $(".deviceCode"+i).html(results[i].deviceCode); $(".ratedLoad"+i).html(results[i].ratedLoad); $(".testLoad"+i).html(results[i].testLoad); $(".holdingTime"+i).html(results[i].holdingTime); $(".testTime"+i).html(results[i].testTime); $(".nextTestTime"+i).html(results[i].nextTestTime); $(".checkResults"+i).html("合格"); }else{ html += ''; html += ''+results[i].machinesType+''; html += ''+results[i].machinesModel+''; html += ''+results[i].unit+''; html += ''+results[i].actualNum+''; html += ''+results[i].deviceCode+''; html += ''+results[i].ratedLoad+''; html += ''+results[i].testLoad+''; html += ''+results[i].holdingTime+''; html += ''+results[i].testTime+''; html += ''+results[i].nextTestTime+''; html += '合格'; html += ''; html += ''; } } } $(".ten").after(html); } } function findDeviceNumDetils(taskId,modelId){ JY.Ajax.doRequest(null, bonuspath + '/backstage/machineReceive/findDeviceNumDetils', { taskId : taskId, modelId:modelId }, function(data) { setDetilsForm(data); }); } function setDetilsForm(data) { var list = data.obj.list; if(list.length > 0){ JY.Model.check("auDetailDiv"); var html=""; $(".addDetails").remove(); for(var i = 0;i < list.length;i++){ html+=''; html+=''+(i+1)+''; html+=''+list[i].type+''; html+=''+list[i].model+''; html+=''+list[i].deviceCode+''; html+=''; } $("#header").after(html); }else{ //墨绿深蓝风 layer.alert('目前机具尚未领取', { skin: 'layui-layer-molv' //样式类名 ,closeBtn: 0 }); } } function search() { $("#searchBtn").trigger("click"); } function codeEnable(){ var agreementCode = $("#agreementCode ").val(); $.ajax({ type: "post", url: bonuspath + '/backstage/agreement/findAgreeCodeId', data: { code : agreementCode }, dataType: "json", success: function(data) { var agreementCodeId = data.obj.list.id; if(agreementCodeId != null || agreementCodeId != ''){ insert(); }else{ //墨绿深蓝风 layer.alert('协议号不存在!', { skin: 'layui-layer-molv' //样式类名 ,closeBtn: 0 }); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("未连接到服务器,请检查网络!"); } }); } function insert(){ JY.Model.edit("addDiv", "新增", function() { if (JY.Validate.form("addForm")) { var that = $(this); var agreementCode = $("#agreementCode ").val(); $.ajax({ type: "post", url: bonuspath + '/backstage/agreement/findAgreeCodeId', data: { code : agreementCode }, dataType: "json", success: function(data) { var res = data.obj; if(res != null && res != "null"){ var remark = $("#remark").val(); JY.Ajax.doRequest("addForm", bonuspath + '/backstage/task/add', { name:'领料申请', type:'2', status:'1', remark : remark }, function(data) { var id = data.obj.id; var creator = data.obj.creator; var createTime = data.obj.createTime; var remark = data.obj.remark; findAgreeCodeId(id,creator,createTime,remark); that.dialog("close"); JY.Model.info(data.resMsg, function() { search(); }); }); }else{ //墨绿深蓝风 layer.alert('协议号不存在!', { skin: 'layui-layer-molv' //样式类名 ,closeBtn: 0 }); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("未连接到服务器,请检查网络!"); } }); } }); } function findAgreeCodeId(id,creator,createTime,remark){ var agreementCode = $("#agreementCode").val(); $.ajax({ type: "post", url: bonuspath + '/backstage/agreement/findAgreeCodeId', data: { code : agreementCode }, dataType: "json", success: function(data) { var agreementCodeId = data.obj.list.id; addAgreementTask(id,creator,createTime,remark,agreementCodeId); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("未连接到服务器,请检查网络!"); } }); } function addAgreementTask(id,creator,createTime,remark,agreementCodeId){ $.ajax({ type: "post", url: bonuspath + '/backstage/agreeTask/add', data: { taskId : id, agreementId : agreementCodeId }, dataType: "json", success: function(data) { addCollar(id,creator,createTime,remark); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("未连接到服务器,请检查网络!"); } }); } // 确认发货 function onclickConfirm(){ $.ajax({ type: "post", url: bonuspath + '/backstage/machineReceive/updateConfirmStatus', data: { taskId : $("#taskId0").val() }, dataType: "json", success: function(data) { alert(data.resMsg + ",请重新打开后查看"); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("未连接到服务器,请检查网络!"); } }); } function addCollar(id,creator,createTime,remark){ var applyNumber = $("#applyNumber").val(); var leaseMan = $("#leaseMan ").val(); var phone = $("#phone ").val(); $.ajax({ type: "post", url: bonuspath + '/backstage/machineReceive/add', data: { taskId : id, applyMan : creator, createTime : createTime, remark : remark, applyNumber : applyNumber, leaseMan : leaseMan, phone : phone, remark : remark }, dataType: "json", success: function(data) {}, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("未连接到服务器,请检查网络!"); } }); } function findApplyNumber(){ $("#baseForm").attr("onsubmit","return false;"); $("#unitId").val(''); $("#projectId").val(''); $("#unitName").val(''); $("#projectName").val(''); $("#agreementCode").val(''); $("#leaseMan").val(''); $("#phone").val(''); $("#remark").val(''); localStorage.setItem("unitId",""); localStorage.setItem("unitName",""); localStorage.setItem("projectId",""); localStorage.setItem("projectName",""); JY.Ajax.doRequest(null,bonuspath +'/backstage/machineReceive/findApplyNumber',{},function(data){ var applyNumber = data.resMsg; if(applyNumber != null && applyNumber != ''){ $("#applyNumber").val(applyNumber); insert(); }else{ alert("请联系相关人员!"); } }); } function details(taskId, applyTime, leaseProjectId, planOutId){ localStorage.setItem("taskId",taskId); localStorage.setItem("applyTime",applyTime); localStorage.setItem("leaseProjectId",leaseProjectId); localStorage.setItem("leasePlanOutId",planOutId); //iframe层-父子操作 layer.open({ type: 2, title:['领取机具','background-color: #27A3D9;color:#fff'], shadeClose:true, shade:false, maxmin: true, area: ['1000px', '600px'], content:bonuspath + '/backstage/receiveDetails/list' }); } function getAgreementNum(){ $(".leaseMan").val(""); var unitId = $("#unitId").val(); var projectId = $("#projectId").val(); JY.Ajax.doRequest(null, bonuspath + '/backstage/machineReceive/findAgreeCode', {leaseCompany:unitId,projectName:projectId}, function(data) { var l = data.resMsg; if(l == null){ $("#agreementCode").val("尚未签订协议"); }else{ $("#agreementCode").val(l); } } ); } function setUnitForm(){ var unitId = localStorage.getItem("unitId"); var unitName = localStorage.getItem("unitName"); $("#unitId").val(unitId); $("#unitName").val(unitName); } function setProjectForm(){ var projectId = localStorage.getItem("projectId"); var projectName = localStorage.getItem("projectName"); $("#projectId").val(projectId); $("#projectName").val(projectName); getAgreementNum(); } function unitTree(){ localStorage.setItem("unitId",""); localStorage.setItem("unitName",""); localStorage.setItem("unitTreeName",$("#unitName").val()); layer.open({ type: 2, title:['租赁单位','background-color: #438EB9;color:#fff'], shadeClose:true, shade:false, maxmin: true, area: ['400px', '400px'], content: bonuspath+'/backstage/company/unitTree' }); } function projectTree(){ var unitId = $("#unitId").val(); if(unitId == 0){ JY.Model.info("请选择租赁单位"); }else{ localStorage.setItem("unitId",unitId); localStorage.setItem("projectId",""); localStorage.setItem("projectName",""); localStorage.setItem("projectTreeName",$("#projectName").val()); layer.open({ type: 2, title:['工程名称','background-color: #438EB9;color:#fff'], shadeClose:true, shade:false, maxmin: true, area: ['400px', '400px'], content: bonuspath+'/backstage/project/projectTree' }); } } function createSeal(id, company, name) { $("#"+id).html(""); $("#img").css("display","none"); var canvas = document.getElementById(id); var context = canvas.getContext('2d'); canvas.height=canvas.height; // 绘制印章边框 var width = canvas.width / 2; var height = canvas.height / 2; context.lineWidth = 3; context.strokeStyle = "#f00"; context.beginPath(); context.arc(width, height, 70, 0, Math.PI * 2); context.stroke(); //画五角星 create5star(context, width, height, 20, "#f00", 0); // 绘制印章名称 context.font = '18px Helvetica'; context.textBaseline = 'middle'; //设置文本的垂直对齐方式 context.textAlign = 'center'; //设置文本的水平对对齐方式 context.lineWidth = 1; context.fillStyle = '#f00'; context.fillText(name, width, height + 45); // 绘制印章单位 context.translate(width, height); // 平移到此位置, context.font = '15px Helvetica' var count = company.length; // 字数 var angle = 4 * Math.PI / (3 * (count - 1)); // 字间角度 var chars = company.split(""); var c; for(var i = 0; i < count; i++) { c = chars[i]; // 需要绘制的字符 if(i == 0) context.rotate(5 * Math.PI / 6); else context.rotate(angle); context.save(); context.translate(60, 0); // 平移到此位置,此时字和x轴垂直 context.rotate(Math.PI / 2); // 旋转90度,让字平行于x轴 context.fillText(c, 0, 5); // 此点为字的中心点 context.restore(); } //绘制五角星 /** * 创建一个五角星形状. 该五角星的中心坐标为(sx,sy),中心到顶点的距离为radius,rotate=0时一个顶点在对称轴上 * rotate:绕对称轴旋转rotate弧度 */ function create5star(context, sx, sy, radius, color, rotato) { context.save(); context.fillStyle = color; context.translate(sx, sy); //移动坐标原点 context.rotate(Math.PI + rotato); //旋转 context.beginPath(); //创建路径 var x = Math.sin(0); var y = Math.cos(0); var dig = Math.PI / 5 * 4; for(var i = 0; i < 5; i++) { //画五角星的五条边 var x = Math.sin(i * dig); var y = Math.cos(i * dig); context.lineTo(x * radius, y * radius); } context.closePath(); context.stroke(); context.fill(); context.restore(); } }