index_app.html 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>APP升级</title>
  8. <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  10. <style>
  11. .w-padding {
  12. padding: 9px 0px;
  13. }
  14. .menuContent {
  15. display: none;
  16. position: absolute;
  17. top: 33px;
  18. /*left: 15px;*/
  19. background-color: #fff;
  20. z-index: 2000;
  21. border: 1px solid #ccc;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <!-- 页面加载loading -->
  27. <div class="page-loading">
  28. <div class="ball-loader">
  29. <span></span><span></span><span></span><span></span>
  30. </div>
  31. </div>
  32. <!-- 正文开始 -->
  33. <div class="layui-fluid">
  34. <div class="layui-card">
  35. <div class="layui-card-body">
  36. <div class="layui-form toolbar">
  37. <div class="layui-form-item">
  38. <div class="layui-inline pull-right" id="addOpenUploader">
  39. <button id="openUploader" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>上传</button>
  40. </div>
  41. </div>
  42. </div>
  43. <div class="row">
  44. <div style="background:url('../../../assets/images/pad-bgc.png') no-repeat center/cover;width: 920px;height: 655px;position: relative;margin: 80px auto;">
  45. <div id="qrimg" style="position: absolute;bottom: 215px;left: 382px;width: 148px; height: 148px;border: 1px solid #ccc;"></div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. <!-- 上传地图表单弹窗 -->
  52. <script type="text/html" id="uploadAppWin">
  53. <form id="modelForm" lay-filter="modelForm" class="layui-form model-form">
  54. <input type="hidden" id="android_url" name="android_url"/>
  55. <div class="layui-form-item">
  56. <label class="layui-form-label">版本标题</label>
  57. <div class="layui-input-block">
  58. <input name="android_title" placeholder="版本标题" type="text" class="layui-input" maxlength="20"
  59. lay-verType="tips" lay-verify="required" required/>
  60. </div>
  61. </div>
  62. <div class="layui-form-item">
  63. <label class="layui-form-label">当前版本</label>
  64. <div class="layui-input-block">
  65. <input name="cur_android_version" type="text" class="layui-input"
  66. lay-verType="tips" disabled/>
  67. </div>
  68. </div>
  69. <div class="layui-form-item">
  70. <label class="layui-form-label">新版本</label>
  71. <div class="layui-input-block">
  72. <input name="android_version" placeholder="新版本" type="text" class="layui-input" maxlength="20"
  73. lay-verType="tips" lay-verify="required|number" required/>
  74. </div>
  75. </div>
  76. <div class="layui-form-item">
  77. <label class="layui-form-label">版本描述</label>
  78. <div class="layui-input-block">
  79. <input name="android_desc" placeholder="版本描述" type="text" class="layui-input" maxlength="20"
  80. lay-verType="tips" lay-verify="required" required/>
  81. </div>
  82. </div>
  83. <div class="layui-form-item">
  84. <label class="layui-form-label">选择文件</label>
  85. <div class="layui-input-block text-left">
  86. <button type="button" class="layui-btn" id="appUploader">
  87. <i class="layui-icon">&#xe67c;</i>上传APP
  88. </button>
  89. <!--<div id="mapShow" style="background-color: lightgray;margin-top: 10px;height: 24px;display: none;">-->
  90. <!--<img src="" style="width: 20px;height: 20px;margin-top: 3px;margin-left: 10px;"/>-->
  91. <!--<a style="margin-top: 3px;margin-right: 10px;float: right;cursor: pointer;">删除</a>-->
  92. <!--</div>-->
  93. <div class="layui-progress" lay-filter="upoloadProgress"
  94. style="margin-top: 20px;">
  95. <div class="layui-progress-bar" lay-percent="0%"></div>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="layui-form-item text-right">
  100. <button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
  101. <button class="layui-btn" lay-filter="saveAppBtn" lay-submit id="saveAppBtn" disabled>保存</button>
  102. </div>
  103. </form>
  104. </script>
  105. <!-- js部分 -->
  106. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  107. <script type="text/javascript" src="../../../assets/js/common.js?v=312"></script>
  108. <script>
  109. var curV;
  110. layui.use(['layer', 'form', 'admin', 'util', 'uParas', 'upload', 'element'], function () {
  111. var $ = layui.jquery;
  112. var layer = layui.layer;
  113. var form = layui.form;
  114. var admin = layui.admin;
  115. var uParas = layui.uParas;
  116. var upload = layui.upload;
  117. var element = layui.element;
  118. uParas.noRootHide("addOpenUploader");
  119. // var data = layui.data(uParas.tableName);
  120. // if (!data.user.root) {
  121. // $("#addOpenUploader").hide();
  122. // }
  123. // 初始化上传组件
  124. function initUploader() {
  125. upload.render({
  126. elem: '#appUploader',
  127. url: uParas.baseUrl + '/admin/uploadApk',
  128. // accept: 'file',
  129. exts: 'apk',
  130. progress: function (n) {
  131. var percent = n + '%'; // 获取进度百分比
  132. element.progress('upoloadProgress', percent); // 可配合 layui 进度条元素使用,依赖element
  133. },
  134. done: function (resp) {
  135. if (resp.data.path) {
  136. layer.msg('上传成功!');
  137. $('#modelForm #android_url').val(resp.data.path);
  138. $('#saveAppBtn').prop('disabled', false);
  139. }
  140. },
  141. error: function () {
  142. layer.msg('上传失败!');
  143. }
  144. });
  145. }
  146. // 查询当前版本号
  147. function getCurAndroidVersion() {
  148. var url = uParas.baseUrl + '/ent/appUpg/getVer';
  149. $.getJSON(url, {}, function (resp) {
  150. if (resp.data) {
  151. curV = resp.data;
  152. $('#qrimg').css('background', "url('" + uParas.baseUrl + "/upload/androidAPK.png" + "') no-repeat center/cover");
  153. }
  154. });
  155. }
  156. getCurAndroidVersion();
  157. // 点击上传按钮,打开app上传窗口
  158. $('#openUploader').on('click', function () {
  159. admin.open({
  160. title: 'App上传',
  161. type: 1,
  162. content: $('#uploadAppWin').html(),
  163. area: '600px',
  164. success: function (layerObject, index) {
  165. if (curV) {
  166. $('#modelForm input[name="cur_android_version"]').val(curV.curVersion);
  167. }
  168. initUploader();
  169. // 保存app信息
  170. var url = uParas.baseUrl + '/ent/appUpg/save';
  171. form.on('submit(saveAppBtn)', function (data) {
  172. admin.req(url, data.field, function (response) {
  173. var index = layer.load();
  174. if (response.code == 1) {
  175. layer.closeAll();
  176. layer.msg(response.msg);
  177. curV = response.data;
  178. $('#qrimg').css('background', "url('" + uParas.baseUrl + "/upload/androidAPK.png" + "') no-repeat center/cover");
  179. } else {
  180. // console.info(response.data);
  181. layer.close(index);
  182. layer.msg(response.msg);
  183. }
  184. }, 'post');
  185. return false;
  186. });
  187. }
  188. });
  189. });
  190. // 自定义表单验证
  191. // var reg = /^\d+\.\d+\.\d+$/;
  192. // form.verify({
  193. // android_version: function(value, item) {
  194. // if (!reg.test(value)) {
  195. // return '版本号格式不正确,请重新输入!\n版本号格式为:数字.数字.数字,例如:1.0.10';
  196. // }
  197. // 当前版本号
  198. // var curVer = $('#modelForm #android_url').val();
  199. // if (curVer != '') {
  200. // var curs = curVer.split('.');
  201. // var news = value.split('.');
  202. //
  203. // return '请输入。。。。';
  204. // }
  205. // }
  206. // });
  207. });
  208. </script>
  209. </body>
  210. </html>