carmap.cshtml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. 
  2. @{
  3. ViewBag.Title = "岗位管理";
  4. Layout = "~/Views/Shared/_Lymap.cshtml";
  5. }
  6. @using MES.Production.Service;
  7. @using Central.Control.Domain;
  8. @using Ant.Service.Common;
  9. @using Ant.Service.Common.Enums;
  10. @using MES.Production.Entity;
  11. @using CommonToolHelper;
  12. @model UserCarMapModel
  13. <!-- 重点参数:infoTitle, infoBody -->
  14. <!doctype html>
  15. <html lang="zh-CN">
  16. <head>
  17. <!-- 原始地址://webapi.amap.com/ui/1.0/ui/overlay/SimpleInfoWindow/examples/index.html -->
  18. <base href="http://webapi.amap.com/ui/1.0/ui/overlay/SimpleInfoWindow/examples/" />
  19. <meta charset="utf-8">
  20. <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  21. <link href="http://@HttpContext.Current.Request.Url.Host:@Request.Url.Port/Content/uploadone/CSS/webuploader.css" rel="stylesheet" />
  22. <link href="http://@HttpContext.Current.Request.Url.Host:@Request.Url.Port/Content/uploadone/CSS/bootstrap.min.css" rel="stylesheet" />
  23. <link href="http://@HttpContext.Current.Request.Url.Host:@Request.Url.Port/Content/uploadone/CSS/uploadstyle.css" rel="stylesheet" />
  24. <link href="http://@HttpContext.Current.Request.Url.Host:@Request.Url.Port/Content/uploadone/CSS/font-awesome.css" rel="stylesheet" />
  25. <script src="http://@HttpContext.Current.Request.Url.Host:@Request.Url.Port/Content/js/jquery/jquery-1.8.2.min.js"></script>
  26. <script src="http://@HttpContext.Current.Request.Url.Host:@Request.Url.Port/Content/uploadone/Script/webuploader.js"></script>
  27. <title>地图</title>
  28. <style>
  29. html,
  30. body,
  31. #container {
  32. width: 100%;
  33. height: 500px;
  34. margin: 0px;
  35. }
  36. p.my-desc {
  37. margin: 5px 0;
  38. line-height: 150%;
  39. }
  40. body {
  41. background-color: white;
  42. }
  43. #div1 {
  44. width: 100px;
  45. height: 30px;
  46. border-radius: 50px;
  47. position: relative;
  48. }
  49. #div2 {
  50. width: 30px;
  51. height: 28px;
  52. border-radius: 30px;
  53. position: absolute;
  54. background: white;
  55. box-shadow: 0px 2px 4px rgba(0,0,0,0.4);
  56. }
  57. .open1 {
  58. background: rgba(0,184,0,0.8);
  59. }
  60. .open2 {
  61. top: 2px;
  62. right: 1px;
  63. }
  64. .close1 {
  65. background: red;
  66. border: 3px solid rgba(136, 11, 11, 0);
  67. border-left: transparent;
  68. }
  69. .close2 {
  70. left: 0px;
  71. top: 0px;
  72. border: 2px solid rgba(0,0,0,0.1);
  73. }
  74. .changeicon {
  75. float: right;
  76. margin-right: -15px;
  77. position: absolute;
  78. right: -7px;
  79. top: 0px;
  80. border: none;
  81. background-color: #18a689;
  82. color: #FFFFFF;
  83. line-height: 33px;
  84. height: 33px;
  85. }
  86. </style>
  87. </head>
  88. <body>
  89. <div id="container"></div>
  90. @Html.Hidden("hidfilename", "")
  91. @Html.Hidden("hidfileid", "")
  92. <div class="row white-bg animated fadeInRight">
  93. <div class="wrapper-content">
  94. <div class="panel-body">
  95. <div class="tab-content">
  96. <div id="tab-1" class="tab-pane active">
  97. <div class="clearfix f-hafl">
  98. <div class="col-hafl">
  99. <div class="form-group">
  100. <label class="col-lg-3 control-label">农机名称:</label>
  101. <div class="col-lg-8" style="width:45% !important">
  102. <label style="margin-top:7px;">@Model.carName</label>
  103. </div>
  104. </div>
  105. </div>
  106. <div class="col-hafl">
  107. <div class="form-group">
  108. <label class="col-lg-3 control-label" style="width:29% !important; padding-left:5px; padding-right:5px;">农机状态:</label>
  109. <div class="col-lg-8">
  110. <label style="margin-top:7px;">@Model.carNote</label>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. <div class="clearfix f-hafl">
  116. <div class="col-hafl">
  117. <div class="form-group">
  118. <label class="col-lg-3 control-label">农机IMEI号:</label>
  119. <div class="col-lg-8" style="width:45% !important">
  120. <label style="margin-top:7px;">@Model.carId</label>
  121. </div>
  122. </div>
  123. </div>
  124. <div class="col-hafl">
  125. <div class="form-group">
  126. <label class="col-lg-3 control-label" style="width:29% !important; padding-left:5px; padding-right:5px;">车架号:</label>
  127. <div class="col-lg-8">
  128. <label style="margin-top:7px;">@Model.barCode</label>
  129. </div>
  130. </div>
  131. </div>
  132. </div>
  133. <div class="clearfix f-hafl">
  134. <div class="col-hafl">
  135. <div class="form-group">
  136. <label class="col-lg-3 control-label">农机型号:</label>
  137. <div class="col-lg-8" style="width:45% !important">
  138. <label style="margin-top:7px;">@Model.CarModel</label>
  139. </div>
  140. </div>
  141. </div>
  142. <div class="col-hafl">
  143. <div class="form-group">
  144. <label class="col-lg-3 control-label" style="width:29% !important; padding-left:5px; padding-right:5px;">出厂编号:</label>
  145. <div class="col-lg-8">
  146. <label style="margin-top:7px;">@Model.FactoryNumber</label>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. <div class="clearfix f-hafl">
  152. <div class="col-hafl">
  153. <div class="form-group">
  154. <label class="col-lg-3 control-label">是否在线:</label>
  155. <div class="col-lg-8" style="width:45% !important">
  156. <label style="margin-top:7px;">@(Model.isOnLine == 0 ? "不在线" : "在线")</label>
  157. </div>
  158. </div>
  159. </div>
  160. <div class="col-hafl">
  161. <div class="form-group">
  162. <label class="col-lg-3 control-label" style="width:29% !important; padding-left:5px; padding-right:5px;">所属经销商:</label>
  163. <div class="col-lg-8">
  164. <label style="margin-top:7px;">@Model.distributorsName</label>
  165. </div>
  166. </div>
  167. </div>
  168. </div>
  169. @{
  170. if (Model.carType.ToInt32() != 4)
  171. {
  172. <div class="clearfix f-hafl">
  173. <div class="col-hafl">
  174. <div class="form-group">
  175. <label class="col-lg-3 control-label">农机油压:</label>
  176. <div class="col-lg-8" style="width:45% !important">
  177. <label style="margin-top:7px;">@Model.hydraulic KPa</label>
  178. </div>
  179. </div>
  180. </div>
  181. <div class="col-hafl">
  182. <div class="form-group">
  183. <label class="col-lg-3 control-label" style="width:29% !important; padding-left:5px; padding-right:5px;">农机水温:</label>
  184. <div class="col-lg-8">
  185. <label style="margin-top:7px;">@Model.temperature ℃</label>
  186. </div>
  187. </div>
  188. </div>
  189. </div>
  190. <div class="clearfix f-hafl">
  191. <div class="col-hafl">
  192. <div class="form-group">
  193. <label class="col-lg-3 control-label">农机转速:</label>
  194. <div class="col-lg-8" style="width:45% !important">
  195. <label style="margin-top:7px;">@Model.speed 转</label>
  196. </div>
  197. </div>
  198. </div>
  199. <div class="col-hafl">
  200. <div class="form-group">
  201. <label class="col-lg-3 control-label" style="width:29% !important; padding-left:5px; padding-right:5px;">蓄电池电压:</label>
  202. <div class="col-lg-8">
  203. <label style="margin-top:7px;">@(Model.voltage.ToDou()) V</label>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. }
  209. }
  210. @{
  211. if (Model.carState != MES.Production.Entity.Enum.CarState.Sales.GetHashCode())
  212. {
  213. <div class="form-group">
  214. <label class="col-lg-3 control-label">申请人:</label>
  215. <div class="col-lg-8">
  216. @Html.TextBoxFor(p => p.applyName, new { @class = "form-control", @placeholder = "请输入申请人", @datatype = "n15-20", @nullmsg = "请输入申请人", @errormsg = "农机条码必须是15-20位的数字!" })
  217. </div>
  218. </div>
  219. <div class="clearfix f-hafl">
  220. <div class="col-lg-3 col-sm-3 pl0">
  221. <div class="form-group">
  222. </div>
  223. </div>
  224. </div>
  225. <div class="form-group">
  226. <label class="col-lg-3 control-label">申请原因:</label>
  227. <div class="col-lg-8">
  228. @Html.TextAreaFor(p => p.applyReason, new { @class = "form-control", @placeholder = "请输入申请原因", @datatype = "n15-20", @nullmsg = "请输入申请原因", @errormsg = "农机条码必须是15-20位的数字!" })
  229. </div>
  230. </div>
  231. <div class="clearfix f-hafl">
  232. <div class="col-lg-3 col-sm-3 pl0">
  233. <div class="form-group">
  234. </div>
  235. </div>
  236. </div>
  237. <div class="form-group">
  238. <label class="col-lg-3 control-label">申请附件图片:</label>
  239. <div class="col-lg-8">
  240. <div id="fileNameList">
  241. </div>
  242. <div class="cp_img_jia" id="fileNamePicker"></div>
  243. </div>
  244. </div>
  245. <div class="clearfix f-hafl">
  246. <div class="col-lg-3 col-sm-3 pl0">
  247. <div class="form-group">
  248. </div>
  249. </div>
  250. </div>
  251. <div class="form-group">
  252. <label class="col-lg-3 control-label">密码:</label>
  253. <div class="col-lg-8">
  254. @Html.PasswordFor(p => p.applyPwd, new { @class = "form-control", @placeholder = "请输入密码", @datatype = "n15-20", @nullmsg = "请输入密码", @errormsg = "必须是15-20位的数字!" })
  255. </div>
  256. </div>
  257. <div class="clearfix f-hafl">
  258. <div class="col-lg-3 col-sm-3 pl0">
  259. <div class="form-group">
  260. </div>
  261. </div>
  262. </div>
  263. <div class="clearfix f-hafl">
  264. <div class="col-hafl">
  265. <div class="form-group">
  266. <label class="col-lg-3 control-label">锁车解锁:</label>
  267. <div class="col-lg-8">
  268. <label class="radio-inline">
  269. <div id="div1" class="open1">
  270. <div id="div2" class="open2" onclick="SendLockCarCmd()"></div>
  271. </div>
  272. </label>
  273. @*<label class="radio-inline">
  274. <input type="radio" name="sexcode" id="a1" onchange="SendLockCarCmd()" @(Model.LockState == true ? "checked" : "") value="1">锁车
  275. </label>
  276. <label class="radio-inline">
  277. <input type="radio" name="sexcode" id="a2" onchange="SendUnLockCarCmd()" @(Model.LockState == false ? "checked" : "") value="2">解锁
  278. </label>*@
  279. </div>
  280. </div>
  281. </div>
  282. </div>
  283. }
  284. }
  285. </div>
  286. </div>
  287. </div>
  288. </div>
  289. </div>
  290. <script type="text/javascript" src='http://webapi.amap.com/maps?v=1.4.2&key=fa36ec6323075f37020083ceffe8eb24'></script>
  291. <!-- UI组件库 1.0 -->
  292. <script src="http://webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
  293. <script type="text/javascript">
  294. //创建地图
  295. var applicationPath = "http://" + window.location.host;
  296. $(function(){var filename=document.getElementById("hidfilename").value;if(filename!=null&&filename!=""){var headstr='<div id="WU_FILE_0" class="cpup_img upload-state-done"><img src="';var footstr='"><div class="upcp_img_jian"></div><p class="progress hide"><span style="width: 100%;"></span></p></div>';document.getElementById("fileNameList").innerHTML=headstr+filename+footstr}var $=jQuery,fileId,$list=$("#fileNameList"),ratio=window.devicePixelRatio||1,thumbnailWidth=90*ratio,thumbnailHeight=90*ratio,uploader;uploader=WebUploader.create({auto:true,disableGlobalDnd:true,swf:applicationPath+"/Script/Uploader.swf",server:applicationPath+"/Sys/Home/UpLoadProcess",pick:"#fileNamePicker",accept:{title:"Images",extensions:"gif,jpg,jpeg,bmp,png",mimeTypes:"image/*"}});uploader.on("fileQueued",function(file){var $li=$('<div id="'+file.id+'" class="cpup_img">'+'<img id="jjgimg">'+'<div class="upcp_img_jian"></div></div>'),$img=$li.find("img");$list.children().remove();if(fileId!=file.id&&fileId!=null){uploader.removeFile(uploader.getFile(fileId,true))}fileId=file.id;$list.append($li);uploader.makeThumb(file,function(error,src){if(error){$img.replaceWith("<span>不能预览</span>");return}$img.attr("src",src)},thumbnailWidth,thumbnailHeight)});uploader.option("compress",{width:700});uploader.on("uploadProgress",function(file,percentage){var $li=$("#"+file.id),$percent=$li.find(".progress span");if(!$percent.length){$percent=$('<p class="progress"><span></span></p>').appendTo($li).find("span")}$percent.css("width",percentage*100+"%")});uploader.on("uploadSuccess",function(file,response){var imgurl=response.filePath;var fileid=response.fileid;console.log(response.id);console.log(imgurl);$("#"+file.id).addClass("upload-state-done");$("#hidfilename").val(imgurl);$("#jjgimg").attr("src",imgurl);$("#hidfileid").val(fileid)});uploader.on("uploadError",function(file){var $li=$("#"+file.id),$error=$li.find("div.error");if(!$error.length){$error=$('<div class="error"></div>').appendTo($li)}$error.text("上传失败")});uploader.on("uploadComplete",function(file){$("#"+file.id).find(".progress").remove()});uploader.on("uploadFinished",function(){});$("#ctlUpBtn").click(function(){uploader.upload()});$(".cpup_img").on("mouseover",function(){$(this).children(".upcp_img_jian").css("display","block")});$(".cpup_img").on("mouseout",function(){$(this).children(".upcp_img_jian").css("display","none")});$list.on("click",".upcp_img_jian",function(){var Id=$(this).parent().attr("id");try{uploader.removeFile(uploader.getFile(Id,true))}catch(ex){}$(this).parent().remove()});$(".form-horizontal").initValidform();$(".select2").select2();var div2=document.getElementById("div2");var div1=document.getElementById("div1");var lock="@Model.LockState.ToString()";if(lock=="True"){div1.className="close1";div2.className="close2"}else{div1.className="open1";div2.className="open2"}});
  297. function SendLockCarCmd(){var urlstr="http://"+window.location.host+"/";var apply1=$("#applyName").val();var apply2=$("#applyReason").val();var apply3=$("#applyPwd").val();if(apply1==""){dig.msg("申请人不能为空!");$("#applyName").focus();return}if(apply2==""){dig.msg("申请原因不能为空!");$("#applyReason").focus();return}if(apply3==""){dig.msg("申请密码不能为空!");$("#applyPwd").focus();return}var div2=document.getElementById("div2");var div1=document.getElementById("div1");if(div1.className=="close1"){div1.className="open1"}else{div1.className="close1"}if(div2.className=="close2"){div2.className="open2"}else{div2.className="close2"}if(div1.className=="close1"){$.ajax({url:urlstr+"Sys/Car/SendLockCarCmd?carid="+@Model.carId+"&applyName="+apply1+"&applyReason="+apply2+"&applyPwd="+apply3,data:null,type:"get",dataType:"json",async:false,cache:false,success:function(res){if(res.Status=="y"){dig.msg("锁车发送成功!")}else{dig.msg(res.Msg)}}})}else{$.ajax({url:urlstr+"Sys/Car/SendUnlockCarCmd?carid="+@Model.carId+"&applyName="+apply1+"&applyReason="+apply2+"&applyPwd="+apply3,data:null,type:"get",dataType:"json",async:false,cache:false,success:function(res){if(res.Status=="y"){dig.msg("解锁发送成功!")}else{dig.msg(res.Msg)}}})}};
  298. //解锁
  299. function SendUnLockCarCmd(){var item=$(":radio:checked");var urlstr="http://"+window.location.host+"/";var apply1=$("#applyName").val();var apply2=$("#applyReason").val();var apply3=$("#applyPwd").val();if(apply1==""){dig.msg("申请人不能为空!");$("#applyName").focus();return}if(apply2==""){dig.msg("申请原因不能为空!");$("#applyReason").focus();return}if(apply3==""){dig.msg("申请密码不能为空!");$("#applyPwd").focus();return}var len=item.length;if(len>0){if($(":radio:checked").val()==2){$.ajax({url:urlstr+"Sys/Car/SendUnlockCarCmd?carid="+@Model.carId+"&applyName="+apply1+"&applyReason="+apply2+"&applyPwd="+apply3,data:null,type:"get",dataType:"json",async:false,cache:false,success:function(res){if(res.Status=="y"){alert("解锁发送成功!")}}})}else{}}};
  300. var map = new AMap.Map('container', {
  301. resizeEnable: true,
  302. zoom: 16,
  303. center: [@Model.lng, @Model.lat]
  304. });
  305. map.plugin(["AMap.ToolBar"], function () {
  306. toolBar = new AMap.ToolBar();
  307. map.addControl(toolBar);
  308. });
  309. AMapUI.loadUI(["overlay/SimpleInfoWindow"],function(SimpleInfoWindow){var marker=new AMap.Marker({map:map,zIndex:99999,offset:new AMap.Pixel(-14,-34),icon:new AMap.Icon({size:new AMap.Size(34,49),image:"@Model.imageUrl",})});var infoWindow=new SimpleInfoWindow({infoTitle:"<strong>@Model.carName</strong>",infoBody:'<p class="my-desc"><strong>@Model.Note<br/>@Model.onlineDate<br/>@Model.workHours<br/>@Model.address</strong></p>',offset:new AMap.Pixel(0,-31)});function openInfoWin(){infoWindow.open(map,marker.getPosition())}AMap.event.addListener(marker,"click",function(){openInfoWin()})});
  310. </script>
  311. </body>
  312. </html>