ptras_update.ftl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. <!--_meta 作为公共模版分离出去-->
  2. <!DOCTYPE HTML>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="renderer" content="webkit|ie-comp|ie-stand">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
  9. <meta http-equiv="Cache-Control" content="no-siteapp" />
  10. <link rel="Bookmark" href="/favicon.ico" >
  11. <link rel="Shortcut Icon" href="/favicon.ico" />
  12. <#include "/base/add_base.ftl">
  13. <link href="${path }/common/kingedit/themes/default/default.css" rel="stylesheet" type="text/css" />
  14. <title>修改机器零件</title>
  15. </head>
  16. <body>
  17. <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
  18. <span class="c-gray en">/</span> 零件管理
  19. <span class="c-gray en">/</span> 修改零件
  20. <a class="btn radius r"
  21. href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
  22. </nav>
  23. <article class="page-container" style="padding: 10px;width: 600px;margin: 0 auto;">
  24. <form action="" method="post" class="form form-horizontal" id="form-parts-update">
  25. <#--<div class="row cl">
  26. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>所属机器:</label>
  27. <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
  28. <select class="select" size="1" name="produceId" id="produceId">
  29. <#if (produceList ?size > 0)>
  30. <#list produceList as list>
  31. <option value ="${list.produceId}" <#if ptsComponents.produceId == list.produceId>selected</#if>>${list.produceName}</option>
  32. </#list>
  33. <#else >
  34. <option value ="">暂无产品,请到生产产品列表添加产品</option>
  35. </#if>
  36. </select>
  37. </span> </div>
  38. </div>-->
  39. <input type="hidden" value="${ptsComponents.produceId!''}" name="produceId" id="produceId">
  40. <input type="hidden" value="${ptsComponents.produceId!''}" name="oldProduceId" id="oldProduceId">
  41. <div class="row cl">
  42. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>材料类型:</label>
  43. <div class="formControls col-xs-8 col-sm-9">
  44. <select class="select" size="1" name="componentsType" id="componentsType">
  45. <option value ="1"<#if ptsComponents.componentsType == 1>selected</#if>>塑胶件</option>
  46. <option value ="2"<#if ptsComponents.componentsType == 2>selected</#if>>五金件</option>
  47. <option value ="4"<#if ptsComponents.componentsType == 4>selected</#if>>电子类</option>
  48. <option value ="5"<#if ptsComponents.componentsType == 5>selected</#if>>线材</option>
  49. <option value ="6"<#if ptsComponents.componentsType == 6>selected</#if>>包装</option>
  50. <option value ="3"<#if ptsComponents.componentsType == 3>selected</#if>>其他</option>
  51. </select>
  52. </div>
  53. </div>
  54. <div class="row cl">
  55. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件编号:</label>
  56. <div class="formControls col-xs-8 col-sm-9">
  57. <span style="height: 30px; width: 10%;float: left;line-height: 30px;">
  58. <span id="comType"><#if ptsComponents.componentsType == 1>110</#if><#if ptsComponents.componentsType == 2>220</#if><#if ptsComponents.componentsType == 4>330</#if><#if ptsComponents.componentsType == 5>440</#if><#if ptsComponents.componentsType == 6>550</#if><#if ptsComponents.componentsType == 3>660</#if></span>
  59. <span>&nbsp;-&nbsp;</span>
  60. </span>
  61. <input type="text" class="input-text" style="float: left;width: 90%;" value="${ptsComponents.componentsNo!''}" id="comPontNo" name="comPontNo" placeholder="请输入零件编号,支持数字、字母组合" onkeyup="this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')">
  62. <input type="hidden" class="input-text" style="" value="" id="componentsNo" name="componentsNo" >
  63. <input type="hidden" class="input-text" style="" value="${ptsComponents.serialNumber!''}" id="serialNumber" name="serialNumber" >
  64. <span style="display: block;padding-top: 35px;color: #e00;">零件编号后四位流水号,系统自动生成</span>
  65. </div>
  66. </div>
  67. <div class="row cl">
  68. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件名称:</label>
  69. <div class="formControls col-xs-8 col-sm-9">
  70. <input type="text" class="input-text" value="${ptsComponents.componentsName!''}" id="componentsName" name="componentsName" placeholder="请输入1-30位的名称,支持中文、字母、数字">
  71. </div>
  72. </div>
  73. <div class="row cl">
  74. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>供应商:</label>
  75. <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
  76. <select class="select" size="1" name="supplierId" id="supplierId">
  77. <#if (listSupplier ?size > 0)>
  78. <#list listSupplier as list>
  79. <option value ="${list.supplierId}"<#if ptsComponents.supplierId == list.supplierId>selected</#if>>${list.supplierName}</option>
  80. </#list>
  81. <#else >
  82. <option value ="">暂无供应商,请到供应商列表添加供应商</option>
  83. </#if>
  84. </select>
  85. </span> </div>
  86. </div>
  87. <#--<div class="row cl">
  88. <label class="form-label col-xs-4 col-sm-3">零件图片:</label>
  89. <div class="formControls col-xs-8 col-sm-9">
  90. <img alt="介绍图" src="${ptsComponents.componentsImg!''}" id="partsImg" width="90" height="80">
  91. <input type="hidden" id="componentsImg" name="componentsImg" value="${ptsComponents.componentsImg!''}"/>
  92. </div>
  93. </div>-->
  94. <div class="row cl">
  95. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件图片:</label>
  96. <div class="formControls col-xs-8 col-sm-9" id="fileDiv">
  97. <input type="file" name="file" id="fileid" style="opacity: 0; position: absolute; width: 90px;height: 80px;">
  98. <img alt="介绍图" src="${path}${ptsComponents.componentsImg!''}" id="partsImg" width="90" height="80">
  99. <input type="hidden" id="componentsImg" name="componentsImg" value=""/>
  100. </div>
  101. </div>
  102. <div class="row cl">
  103. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件状态:</label>
  104. <div class="formControls col-xs-8 col-sm-9 skin-minimal">
  105. <div class="radio-box">
  106. <input type="radio" id="sex-2" value="1" name="componentsStatus" <#if ptsComponents.componentsStatus == 1>checked</#if>>
  107. <label for="sex-2">正常使用</label>
  108. </div>
  109. <div class="radio-box">
  110. <input name="componentsStatus" type="radio" value="0" id="sex-1" <#if ptsComponents.componentsStatus == 0>checked</#if>>
  111. <label for="sex-1">停止使用</label>
  112. </div>
  113. </div>
  114. <input type="hidden" value="${ptsComponents.componentsStatus!''}" name="oldComponentsStatus" id="oldComponentsStatus">
  115. </div>
  116. <div class="row cl">
  117. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件成本(元):</label>
  118. <div class="formControls col-xs-8 col-sm-9">
  119. <input type="text" class="input-text" value="${ptsComponents.componentsCost/100!''}" id="componentsCost" name="componentsCost" placeholder="请输入零件成本,单位为元" onkeyup="value=value.replace(/[^\d.]/g,'')">
  120. </div>
  121. </div>
  122. <div class="row cl">
  123. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件重量(g):</label>
  124. <div class="formControls col-xs-8 col-sm-9">
  125. <input type="text" class="input-text" value="${ptsComponents.componentsWeight!''}" id="componentsWeight" name="componentsWeight" placeholder="请输入零件重量,单位为克" onkeyup="value=value.replace(/[^\d.]/g,'')">
  126. </div>
  127. </div>
  128. <div class="row cl">
  129. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件材料:</label>
  130. <div class="formControls col-xs-8 col-sm-9">
  131. <input type="text" class="input-text" value="${ptsComponents.componentsMaterial!''}" id="componentsMaterial" name="componentsMaterial" placeholder="请输入零件材料,支持1-30位字符">
  132. </div>
  133. </div>
  134. <div class="row cl">
  135. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>MBSC:</label>
  136. <div class="formControls col-xs-8 col-sm-9">
  137. <input type="text" class="input-text" value="${ptsComponents.componentsMbsc!''}" id="componentsMbsc" name="componentsMbsc" placeholder="请输入MBSC">
  138. </div>
  139. </div>
  140. <div class="row cl">
  141. <label class="form-label col-xs-4 col-sm-3">规格:</label>
  142. <div class="formControls col-xs-8 col-sm-9">
  143. <input type="text" class="input-text" value="${ptsComponents.componentsSpecification!''}" id="componentsSpecification" name="componentsSpecification" placeholder="请输入材料规格(允许为空)">
  144. </div>
  145. </div>
  146. <div class="row cl">
  147. <label class="form-label col-xs-4 col-sm-3">备注:</label>
  148. <div class="formControls col-xs-8 col-sm-9">
  149. <textarea name="componentsDesc" id="componentsDesc" cols="" rows="" class="textarea" placeholder="请输入零件的备注(允许为空)" onKeyUp="$.Huitextarealength(this,100)">${ptsComponents.componentsDesc!''}</textarea>
  150. <p class="textarea-numberbar"><em class="textarea-length"><#if ptsComponents.componentsDesc??>${ptsComponents.componentsDesc?length} <#else>0</#if></em>/100</p>
  151. </div>
  152. </div>
  153. <div class="row cl">
  154. <label class="form-label col-xs-4 col-sm-3"></label>
  155. <span class="c-red">*提示</span><span>:新增的零件,如果在机器生产有使用,请更新Bom单。</span>
  156. </div>
  157. <div class="row cl">
  158. <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
  159. <input type="hidden" value="${ptsComponents.componentsId!''}" name="componentsId">
  160. <input class="btn btn-primary radius" type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
  161. </div>
  162. </div>
  163. </form>
  164. </article>
  165. <script type="text/javascript" src="${path}/common/kingedit/kindeditor.js"></script>
  166. <script type="text/javascript" src="${path}/common/kingedit/lang/zh_CN.js"></script>
  167. <script type="text/javascript" src="${path}/common/lib/webuploader/0.1.5/webuploader.min.js"></script>
  168. <script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/ajaxfileupload.js"></script>
  169. <script type="text/javascript">
  170. $(function(){
  171. $("#componentsType").change(function () {
  172. var val = parseInt($(this).val());
  173. var typeHtml = '';
  174. switch (val){
  175. case 1:
  176. typeHtml = 110;
  177. break;
  178. case 2:
  179. typeHtml = 220;
  180. break;
  181. case 4:
  182. typeHtml = 330;
  183. break;
  184. case 5:
  185. typeHtml = 440;
  186. break;
  187. case 6:
  188. typeHtml = 550;
  189. break;
  190. case 3:
  191. typeHtml = 660;
  192. break;
  193. default:
  194. break;
  195. }
  196. $("#comType").html(typeHtml);
  197. })
  198. })
  199. /*KindEditor.ready(function(K) {
  200. var editor = K.editor({
  201. fileManagerJson : '${path}/common/kingedit/jsp/file_manager_json.jsp',
  202. uploadJson : '${path}/common/kingedit/jsp/upload_json.jsp',
  203. allowFileManager : true
  204. });
  205. K('#partsImg').click(function() {
  206. var imgid = $(this).attr("id");//获取当前ID
  207. editor.loadPlugin('image', function() {
  208. editor.plugin.imageDialog({
  209. showRemote : false,
  210. imageUrl : K('#componentsImg').val(),
  211. clickFn : function(url, title, width, height, border, align) {
  212. K('#partsImg').attr("src",url);
  213. K('#componentsImg').val(url);
  214. editor.hideDialog();
  215. return false;
  216. }
  217. });
  218. });
  219. });
  220. });*/
  221. $(function(){
  222. $('.skin-minimal input').iCheck({
  223. checkboxClass: 'icheckbox-blue',
  224. radioClass: 'iradio-blue',
  225. increaseArea: '20%'
  226. });
  227. $("#form-parts-update").validate({
  228. rules:{
  229. produceId:{
  230. required:true
  231. },
  232. componentsNo:{
  233. required:true,
  234. minlength:2,
  235. maxlength:11
  236. },
  237. componentsName:{
  238. required:true,
  239. minlength:2,
  240. maxlength:30
  241. },
  242. componentsCost:{
  243. required:true,
  244. minlength:1,
  245. maxlength:11
  246. },
  247. componentsWeight:{
  248. required:true,
  249. minlength:1,
  250. maxlength:11
  251. },
  252. componentsMaterial:{
  253. required:true,
  254. minlength:1,
  255. maxlength:30
  256. },
  257. componentsMbsc:{
  258. required:true,
  259. minlength:1,
  260. maxlength:1
  261. },
  262. componentsSpecification:{
  263. minlength:1,
  264. maxlength:50
  265. },
  266. componentsImg:{
  267. required:true,
  268. minlength:1,
  269. maxlength:100
  270. },
  271. componentsDesc:{
  272. minlength:1,
  273. maxlength:100
  274. }
  275. },
  276. onkeyup:false,
  277. focusCleanup:true,
  278. success:"valid",
  279. submitHandler:function(form){
  280. if($("#componentsCost").val() < 0.1){
  281. layer.msg('零件成本不能小于0.1元!', {icon: 2, time: 2000});
  282. return;
  283. }
  284. var comPontNoOld = $("#comPontNo").val();
  285. if(comPontNoOld.length > 5){
  286. layer.msg('零件编号不能超过五位!', {icon: 2, time: 2000});
  287. return;
  288. }
  289. var types = $("#comType").html();
  290. var serialNumber = $("#serialNumber").val();
  291. var comPontNo = types + '-' + $("#comPontNo").val();
  292. if(serialNumber != null && serialNumber != "" && typeof(serialNumber) != "undefined"){
  293. comPontNo += "-" + serialNumber;
  294. }
  295. $("#componentsNo").val(comPontNo);
  296. var produceId = $("#produceId").val();
  297. var oldProduceId = $("#oldProduceId").val();
  298. var componentsStatus=$('input:radio[name="componentsStatus"]:checked').val();
  299. var oldComponentsStatus = $("#oldComponentsStatus").val();
  300. if(produceId != oldProduceId || componentsStatus != oldComponentsStatus){
  301. layer.confirm('修改的零件,会影响已经生产好的机器。如果修改零件的供应商、材料等信息,建议添加一次Bom,并做对应软硬件版本升级。,是否修改?',function(index){
  302. $.ajax({
  303. cache: true,
  304. type: "POST",
  305. data: $("#form-parts-update").serialize(),
  306. url: "${path}/admin/machineParts/update_machineParts",
  307. async: false,
  308. success: function(data){
  309. if (data.returnCode == 200) {
  310. layer.msg('修改成功!', {icon: 1, time: 2000});
  311. window.location.href = '${path}/admin/machineParts/_parts_list'
  312. }else if(data.returnCode == 501){
  313. layer.msg('该零件已保存,不能重复!', {icon: 2, time: 2000});
  314. }else{
  315. layer.msg('修改失败!', {icon: 2, time: 2000});
  316. }
  317. },
  318. error: function(XmlHttpRequest, textStatus, errorThrown){
  319. layer.msg('修改失败!', {icon: 2, time: 2000});
  320. }
  321. });
  322. });
  323. }else {
  324. $.ajax({
  325. cache: true,
  326. type: "POST",
  327. data: $("#form-parts-update").serialize(),
  328. url: "${path}/admin/machineParts/update_machineParts",
  329. async: false,
  330. success: function(data){
  331. if (data.returnCode == 200) {
  332. layer.msg('修改成功!', {icon: 1, time: 2000});
  333. window.location.href = '${path}/admin/machineParts/_parts_list'
  334. }else if(data.returnCode == 501){
  335. layer.msg('该零件已保存,不能重复!', {icon: 2, time: 2000});
  336. }else{
  337. layer.msg('修改失败!', {icon: 2, time: 2000});
  338. }
  339. },
  340. error: function(XmlHttpRequest, textStatus, errorThrown){
  341. layer.msg('修改失败!', {icon: 2, time: 2000});
  342. }
  343. });
  344. }
  345. }
  346. });
  347. });
  348. $('#fileid').change(function() {
  349. fileUpload();
  350. });
  351. function fileUpload() {
  352. $.ajaxFileUpload({
  353. url:"${path}/admin/machineParts/fileUpload",
  354. secureuri:false,
  355. fileElementId:"fileid",//文件选择框的id属性
  356. dataType: 'json', //json
  357. success: function (data) {
  358. if(data.returnCode == 200){
  359. $('#componentsImg').val(data.returnMsg.imgUrl);
  360. $('#partsImg').attr("src",root_path+data.returnMsg.imgUrl);
  361. $("#fileid").remove();
  362. /*<input type="file" name="file" id="fileid" style="opacity: 0; position: absolute; width: 90px;height: 80px;">*/
  363. $("#fileDiv").prepend('<input type="file" name="file" id="fileid" style="opacity: 0; position: absolute; width: 90px;height: 80px;" onchange="fileUpload()">');
  364. }else{
  365. layer.msg('上传失败,请重试!',{icon: 5,time:2000});
  366. }
  367. }
  368. });
  369. }
  370. </script>
  371. <!--/请在上方写此页面业务相关的脚本-->
  372. </body>
  373. </html>