addGoods.jsp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. <%@ page language="java" contentType="text/html; charset=utf-8"
  2. pageEncoding="utf-8"%>
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  4. <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
  5. <!DOCTYPE HTML>
  6. <html>
  7. <head>
  8. <meta charset="utf-8">
  9. <meta name="renderer" content="webkit|ie-comp|ie-stand">
  10. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  11. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
  12. <meta http-equiv="Cache-Control" content="no-siteapp" />
  13. <link href="${pageContext.request.contextPath }/common/admin/css/H-ui.min.css" rel="stylesheet" type="text/css" />
  14. <link href="${pageContext.request.contextPath }/common/admin/css/H-ui.login.css" rel="stylesheet" type="text/css" />
  15. <link href="${pageContext.request.contextPath }/common/admin/css/style.css" rel="stylesheet" type="text/css" />
  16. <link href="${pageContext.request.contextPath }/common/admin/lib/Hui-iconfont/1.0.1/iconfont.css" rel="stylesheet" type="text/css" />
  17. <title>添加商品</title>
  18. </head>
  19. <body>
  20. <div class="pd-20">
  21. <form action="${pageContext.request.contextPath }/admin/goods/addGoodsUI" class="form form-horizontal" id="form-addGoods" method="POST" enctype="multipart/form-data">
  22. <div class="row cl">
  23. <label class="form-label col-2"><span class="c-red">*</span>商品名称:</label>
  24. <div class="formControls col-10">
  25. <input id="goodsInfoGoodname" name="goodsInfoGoodname" type="text" class="input-text" value="" placeholder="" >
  26. </div>
  27. </div>
  28. <div class="row cl">
  29. <label class="form-label col-2"><span class="c-red">*</span>商品简称:</label>
  30. <div class="formControls col-10">
  31. <input id="goodsInfoDescname" name="goodsInfoDescname" type="text" class="input-text" value="" placeholder="">
  32. </div>
  33. </div>
  34. <div class="row cl">
  35. <label class="form-label col-2"><span class="c-red">*</span>商品类型:</label>
  36. <div class="formControls col-2"> <span class="select-box">
  37. <select id="goodstype" name="goodsInfoType" class="select" onchange="showHidden();">
  38. <option value="1">销售产品</option>
  39. <option value="2">积分产品</option>
  40. </select>
  41. </span>
  42. </div>
  43. <label id="integralLabel" class="form-label col-2" style="display: none">所需积分:</label>
  44. <div id="integralDiv" class="formControls col-2" style="display: none">
  45. <input id="integral" name="goodsInfoIntegralNum" type="text" class="input-text" value="" placeholder="" >
  46. </div>
  47. </div>
  48. <div class="row cl">
  49. <label class="form-label col-2"><span class="c-red">*</span>所属分类:</label>
  50. <div class="formControls col-2"> <span class="select-box">
  51. <select id="goodsInfoTId" name="goodsInfoTId" class="select" >
  52. <c:forEach items="${typeNameList }" var="infolist">
  53. <option value="${infolist.goodTypeId }">${infolist.goodTypename }</option>
  54. </c:forEach>
  55. </select>
  56. </span>
  57. </div>
  58. <label class="form-label col-2"><span class="c-red">*</span>商品重量:</label>
  59. <div class="formControls col-4">
  60. <input id="goodsInfoWeight" type="text" name="goodsInfoWeight" placeholder="" value="" class="input-text" style="width:90%">kg</div>
  61. </div>
  62. <div class="row cl">
  63. <label class="form-label col-2"><span class="c-red">*</span>商品原价:</label>
  64. <div class="formControls col-2">
  65. <input id="goodsInfoPrice" type="text" name="goodsInfoPrice" id="" placeholder="" value="" class="input-text" style="width:90%">元</div>
  66. <label class="form-label col-2"><span class="c-red">*</span>商品优惠价:</label>
  67. <div class="formControls col-2">
  68. <input id="goodsInfoDiscount" type="text" name="goodsInfoDiscount" id="" placeholder="" value="" class="input-text" style="width:90%">元</div>
  69. </div>
  70. <div class="row cl">
  71. <label id="integralLabel" class="form-label col-2"><span class="c-red">*</span>品牌:</label>
  72. <div id="integralDiv" class="formControls col-2">
  73. <input id="goodsInfoBrand" name="goodsInfoBrand" type="text" class="input-text" value="水时代" placeholder="">
  74. </div>
  75. <label id="integralLabel" class="form-label col-2"><span class="c-red">*</span>商品原料:</label>
  76. <div id="integralDiv" class="formControls col-2">
  77. <input id="goodsInfoIngredients" name="goodsInfoIngredients" type="text" class="input-text" value="" placeholder="">
  78. </div>
  79. </div>
  80. <div class="row cl">
  81. <!-- <label id="integralLabel" class="form-label col-2">是否推荐上首页:</label>
  82. <div class="formControls col-2"> <span class="select-box">
  83. <select id="goodsInfoIndex" name="goodsInfoIndex" class="select">
  84. <option value="1">推荐到首页</option>
  85. <option value="2">不推荐到首页</option>
  86. </select>
  87. </span>
  88. </div> -->
  89. <label class="form-label col-2"><span class="c-red">*</span>产地:</label>
  90. <div class="formControls col-2">
  91. <input id="goodsInfoOrigin" name="goodsInfoOrigin" type="text" class="input-text" value="" placeholder="">
  92. </div>
  93. </div>
  94. <div class="row cl">
  95. <label id="integralLabel" class="form-label col-2"><span class="c-red">*</span>安装方式:</label>
  96. <div class="formControls col-2">
  97. <input id="goodsInfoInstallation" name="goodsInfoInstallation" type="text" class="input-text" value="" placeholder="">
  98. </div>
  99. <label class="form-label col-2"><span class="c-red">*</span>寿命:</label>
  100. <div class="formControls col-2">
  101. <input id="goodsInfoLife" name="goodsInfoLife" type="text" class="input-text" value="" placeholder="">
  102. </div>
  103. </div>
  104. <div class="row cl">
  105. <label id="integralLabel" class="form-label col-2"><span class="c-red">*</span>是否属于净水机:</label>
  106. <div class="formControls col-2"> <span class="select-box">
  107. <select id="goodsInfoIs" name="goodsInfoIs" class="select">
  108. <option value="1">属于净水机</option>
  109. <option value="2">滤芯</option>
  110. <option value="3">其他</option>
  111. </select>
  112. </span>
  113. </div>
  114. </div>
  115. <div class="row cl">
  116. <label id="integralLabel" class="form-label col-2"><span class="c-red">*</span>保质期:</label>
  117. <div id="integralDiv" class="formControls col-2">
  118. <input id="goodsInfoShelf" name="goodsInfoShelf" type="text" class="input-text" value="" placeholder="" style="width:90%">天</div>
  119. <label id="integralLabel" class="form-label col-2">备注:</label>
  120. <div id="integralDiv" class="formControls col-2">
  121. <textarea id="" name="goodsInfoNote" class="textarea-text" placeholder="" style="width:200px;height:60px;"></textarea>
  122. </div>
  123. </div>
  124. <div class="row cl">
  125. <label class="form-label col-2"><span class="c-red">*</span>包装类型:</label>
  126. <div id="integralDiv" class="formControls col-2">
  127. <input id="goodsInfoPackagingType" name="goodsInfoPackagingType" type="text" class="input-text" value="" placeholder="">
  128. </div>
  129. </div>
  130. <div class="row cl">
  131. <label class="form-label col-2"><span class="c-red">*</span>商品介绍:</label>
  132. <div class="formControls col-5">
  133. <textarea id="goodsInfoGooddesc" name="goodsInfoGooddesc" cols="" rows="" class="textarea"></textarea>
  134. </div>
  135. </div>
  136. <div class="row cl">
  137. <label class="form-label col-2"><span class="c-red">*</span>商品封面图:</label>
  138. <div class="col-10 ">
  139. <input type="file" name="file" size="50">
  140. </div>
  141. </div>
  142. <div class="row cl">
  143. </div>
  144. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  145. <div id="introductionFigure" class="row cl">
  146. <label class="form-label col-2"><span class="c-red">*</span>商品介绍图:</label>
  147. <input name="goodsimages" class="urlClass1" type="text" id="url1" value="" /> <i class="Hui-iconfont">&#xe642;</i> <input type="button" class="addImagesClass btn btn-primary radius upload-btn" id="imageFile1" value="选择图片" />&nbsp;&nbsp;&nbsp;<input type="button" class="addImagesClass btn btn-primary radius upload-btn" onclick="preview();" id="previewFigure" value="预览介绍图" />
  148. </div>
  149. <div id="spots" class="row cl">
  150. <label class="form-label col-2"></label>
  151. <input id="addimages" class="btn btn-primary radius upload-btn" type="button" value="新增介绍图" />
  152. </div>
  153. <div class="row cl">
  154. <div class="col-10 col-offset-2">
  155. <button onClick="return admin_addGoods();" class="btn btn-primary radius" type="submit"><i class="Hui-iconfont">&#xe632;</i> 保存</button>
  156. </div>
  157. </div>
  158. <!-- 已售数量 -->
  159. <input type="hidden" name="goodsInfoSalesnum" value="0">
  160. <!-- 浏览量 -->
  161. <input type="hidden" name="goodsInfoAccessnum" value="0">
  162. </form>
  163. </div>
  164. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/jquery/1.9.1/jquery.min.js"></script>
  165. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/layer/1.9.3/layer.js"></script>
  166. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/js/H-ui.js"></script>
  167. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/js/H-ui.admin.js"></script>
  168. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/js/tips.js"></script>
  169. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/js/ueditor.all.min.js"></script>
  170. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/js/ueditor.config.js"></script>
  171. <script type="text/javascript" src="${pageContext.request.contextPath }/common/js/utils/tools.js"></script>
  172. <script type="text/javascript" src="${pageContext.request.contextPath }/common/js/utils/jquery-1.9.1.min.js"></script>
  173. <script charset="utf-8" src="/ratfw/common/other/kingedit/kindeditor-min.js"></script>
  174. <script charset="utf-8" src="/ratfw/common/other/kingedit/lang/zh_CN.js"></script>
  175. <!-- 注册文本编辑器 -->
  176. <script type="text/javascript">
  177. KindEditor.ready(function(K) {
  178. window.editor = K.create('#goodsInfoGooddesc',{
  179. fileManagerJson : '/ratfw/common/other/kingedit/jsp/file_manager_json.jsp',
  180. uploadJson : '/ratfw/common/other/kingedit/jsp/upload_json.jsp',
  181. allowFileManager : true,
  182. afterBlur: function(){this.sync();},
  183. /*items:[], */
  184. width : '920px'
  185. });
  186. });
  187. </script>
  188. <script type="text/javascript">
  189. //鼠标经过放大介绍图
  190. function bigger(obj){
  191. obj.style.width = '70px';
  192. obj.style.height = '70px';
  193. }
  194. function smaller(obj){
  195. obj.style.width = '50px';
  196. obj.style.height = '50px';
  197. }
  198. //预览介绍图
  199. function preview(){
  200. var url = $("input[name='goodsimages']");
  201. var previewName = $("img[name='previewName']");
  202. //清空预览图片
  203. for (var i=0;i<previewName.length;i++)
  204. {
  205. previewName[i].remove();
  206. }
  207. //显示已上传图片
  208. for (var i=0;i<url.length;i++)
  209. {
  210. if(url[i].value != ""){
  211. $('div#introductionFigure').before(
  212. '<img name="previewName" onmouseover="bigger(this)" onmouseout="smaller(this)" style="border:2px solid #0A6999;width:50px;height:50px" src='+url[i].value+'></img>'
  213. );
  214. }
  215. }
  216. $("#previewFigure").val("刷新预览");
  217. }
  218. $(document).ready(function(){
  219. showHidden();
  220. addBtnEvent(1);
  221. var spotMax = 10;
  222. var ids = document.getElementsByName('goodsimages').length;
  223. if(ids >= spotMax) {
  224. ("#addimages").hide();
  225. }
  226. $("input#addimages").click(function(){
  227. addSpot(this, spotMax);
  228. });
  229. });
  230. function addSpot(obj, sm) {
  231. var goodsimagess = document.getElementsByName('goodsimages').length;
  232. var ids = "imageFile"+(goodsimagess+1);
  233. var urls = "url"+(goodsimagess+1);
  234. var imagesClass = "urlClass"+(goodsimagess+1);
  235. $('div#spots').before(
  236. '<div class="row cl">'+
  237. '<label class="form-label col-2"></label>'+
  238. '<input name="goodsimages" class='+imagesClass+' type="text" id='+urls+'/>'+
  239. '&nbsp;<i class="Hui-iconfont">&#xe642;</i>&nbsp;'+
  240. '<input type="button" class="addImagesClass btn btn-primary radius upload-btn" id='+ids+' value="选择图片" />' +
  241. '&nbsp;<input type="button" class="remove btn btn-primary radius upload-btn" onclick="removes(this)" value="删除" /></div>')
  242. if((goodsimagess-1) >= sm) {
  243. $("#addimages").hide();
  244. }
  245. //给新增的按钮绑定事件
  246. addBtnEvent((goodsimagess+1));
  247. };
  248. //删除新增的上传组件
  249. function removes(obj){
  250. $(obj).parent().remove();
  251. $("#addimages").show();
  252. preview();
  253. }
  254. //
  255. function addBtnEvent(goodsimagess){
  256. KindEditor.ready(function(K) {
  257. var editor = K.editor({
  258. fileManagerJson : '/ratfw/common/other/kingedit/jsp/file_manager_json.jsp',
  259. uploadJson : '/ratfw/common/other/kingedit/jsp/upload_json.jsp',
  260. allowFileManager : true
  261. });
  262. K('#imageFile'+goodsimagess).click(function() {
  263. var imgid = $(this).attr("id");//获取当前ID
  264. var imagesClass = "urlClass"+imgid.substr(imgid.length-1,1);
  265. editor.loadPlugin('image', function() {
  266. editor.plugin.imageDialog({
  267. showRemote : false,
  268. imageUrl : K('.'+imagesClass).val(),
  269. clickFn : function(url, title, width, height, border, align) {
  270. K('.'+imagesClass).val(url);
  271. editor.hideDialog();
  272. return false;
  273. }
  274. });
  275. });
  276. });
  277. });
  278. }
  279. //控制所需积分显示或隐藏
  280. function showHidden(){
  281. var showhidden = $("#goodstype").val();
  282. if(showhidden == "2"){
  283. document.getElementById("integralDiv").style.display="";//隐藏
  284. document.getElementById("integralLabel").style.display="";//隐藏
  285. $("#integral").val("");//清空所需积分的值
  286. }else if((showhidden == "1")){
  287. document.getElementById("integralDiv").style.display="none";//显示
  288. document.getElementById("integralLabel").style.display="none";//显示
  289. }
  290. }
  291. function admin_addGoods(){
  292. //商品名称数据验证
  293. if(!commonLengthJdg('goodsInfoGoodname',1,60,null,true)){
  294. layer.msg("商品名称长度为1-30位",{icon: 2,time:2000});
  295. return false;
  296. }
  297. //商品简称数据验证
  298. if(!commonLengthJdg('goodsInfoDescname',1,20,null,true)){
  299. layer.msg("商品简称长度为1-10位",{icon: 2,time:2000});
  300. return false;
  301. }
  302. if($("#goodstype").val() == 2){
  303. //所需积分数据验证
  304. if(!commonLengthJdg('integral',1,9,null,true)){
  305. layer.msg("所需积分长度为1-9位",{icon: 2,time:2000});
  306. return false;
  307. }
  308. if(!commonTypeJdg('integral','money',null,true)){
  309. layer.msg("积分不能为空或格式错误",{icon: 2,time:2000});
  310. return false;
  311. }
  312. }
  313. //商品重量数据验证
  314. if(!commonLengthJdg('goodsInfoWeight',1,100,null,true)){
  315. layer.msg("商品重量长度为1-100位",{icon: 2,time:2000});
  316. return false;
  317. }
  318. //商品原价数据验证
  319. if(!commonTypeJdg('goodsInfoPrice','money',null,true)){
  320. layer.msg("商品原价须为金钱格式",{icon: 2,time:2000});
  321. return false;
  322. }
  323. if(!commonLengthJdg('goodsInfoPrice',1,9,null,true)){
  324. layer.msg("商品原价长度为1-9位",{icon: 2,time:2000});
  325. return false;
  326. }
  327. //商品优惠价数据验证
  328. if(!commonTypeJdg('goodsInfoDiscount','money',null,true)){
  329. layer.msg("商品优惠价须为金钱格式",{icon: 2,time:2000});
  330. return false;
  331. }
  332. if(!commonLengthJdg('goodsInfoDiscount',1,9,null,true)){
  333. layer.msg("商品优惠价长度为1-9位",{icon: 2,time:2000});
  334. return false;
  335. }
  336. //品牌数据验证
  337. if(!commonLengthJdg('goodsInfoBrand',1,100,null,true)){
  338. layer.msg("品牌长度为1-50位",{icon: 2,time:2000});
  339. return false;
  340. }
  341. //商品原料数据验证
  342. if(!commonLengthJdg('goodsInfoIngredients',1,500,null,true)){
  343. layer.msg("商品原料长度为1-250位",{icon: 2,time:2000});
  344. return false;
  345. }
  346. //保质期数据验证
  347. if(!commonLengthJdg('goodsInfoShelf',1,10,null,true)){
  348. layer.msg("保质期长度为1-5位",{icon: 2,time:2000});
  349. return false;
  350. }
  351. //商品包装数据验证
  352. if(!commonLengthJdg('goodsInfoPackagingType',1,10,null,true)){
  353. layer.msg("商品包装长度为1-5位",{icon: 2,time:2000});
  354. return false;
  355. }
  356. //场地数据验证
  357. if(!commonLengthJdg('goodsInfoOrigin',1,10,null,true)){
  358. layer.msg("场地长度为1-5位",{icon: 2,time:2000});
  359. return false;
  360. }
  361. //安装方式数据验证
  362. if(!commonLengthJdg('goodsInfoInstallation',1,10,null,true)){
  363. layer.msg("安装方式长度为1-5位",{icon: 2,time:2000});
  364. return false;
  365. }
  366. //寿命数据验证
  367. if(!commonLengthJdg('goodsInfoLife',1,10,null,true)){
  368. layer.msg("寿命长度为1-5位",{icon: 2,time:2000});
  369. return false;
  370. }
  371. }
  372. </script>
  373. </body>
  374. </html>