queryApp.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. define(function (require) {
  2. return function () {
  3. var $grid1, $grid2, $form;
  4. // 输入搜索文本后点击回车按钮查询列表
  5. function enterQueryGrid1(e) {
  6. if (e.keyCode === 13) {
  7. //如果按下回车键,就发出确认
  8. var tmp = $(this).val();
  9. $form.formSet({queryProperties: tmp});
  10. queryGrid1();
  11. }
  12. }
  13. function queryGrid1() {
  14. $grid1.reload({
  15. url: api('/sys/sysApp/query'),
  16. mtype: 'POST',
  17. queryParams: $form.formGet()
  18. }, true);
  19. if ($grid2 != undefined) {
  20. $grid2.jqGrid("clearGridData");
  21. }
  22. }
  23. function queryGrid2(rowid) {
  24. var row = $grid1.rowData(rowid);
  25. if (!row) {
  26. $.yvan.msg('请先选择一行数据');
  27. return;
  28. }
  29. var queryData = {appId: row.appId};// 多个参数自行新增
  30. $grid2.reload({
  31. mtype: 'POST',
  32. url: api('/sys/sysAppVer/query'),
  33. queryParams: queryData
  34. });
  35. }
  36. //删除
  37. function deleteRow1() {
  38. var row = $grid1.rowData();
  39. if (!row) {
  40. $.yvan.msg('请先选择一行数据');
  41. return;
  42. }
  43. $.yvan.confirm('确定删除 [' + row.appName + "] ?", {
  44. yes: function (index) {
  45. $.yvan.ajax({
  46. url: api('/sys/sysApp/delete'),
  47. data: {
  48. appId: row.appId,
  49. },
  50. method: 'post',
  51. success: function (data) {
  52. $.yvan.msg(data.msg);
  53. $grid1.reload();
  54. $grid2.reload();
  55. }
  56. });
  57. }
  58. });
  59. }
  60. //删除
  61. function deleteRow2() {
  62. var row = $grid2.rowData();
  63. if (!row) {
  64. $.yvan.msg('请先选择一行数据');
  65. return;
  66. }
  67. $.yvan.confirm('确定删除 [' + row.verCode + "] ?", {
  68. yes: function (index) {
  69. $.yvan.ajax({
  70. url: api('/sys/sysAppVer/delete'),
  71. data: {
  72. verId: row.verId,
  73. },
  74. method: 'post',
  75. success: function (data) {
  76. $.yvan.msg(data.msg);
  77. $grid2.reload();
  78. }
  79. });
  80. }
  81. });
  82. }
  83. // 更新启停用状态
  84. function updateStatus() {
  85. var row = $grid1.rowData();
  86. if (!row) {
  87. $.yvan.msg('请先选择一行数据');
  88. return;
  89. }
  90. var obj = {};
  91. obj.name = row.appName; //自行替换此参数
  92. obj.status = row.status;
  93. obj = setStatusMsg(obj); //返回rtnStatus
  94. $.yvan.confirm(obj.msg, {
  95. yes: function (index) {
  96. $.yvan.ajax({
  97. method: 'post',
  98. url: api("/sys/sysApp/updateStatus"), //自行替换此参数
  99. data: {
  100. appId: row.appId, //自行替换此参数
  101. },
  102. success: function (data) {
  103. $.yvan.msg(data.msg);
  104. $grid1.reload();
  105. }
  106. });
  107. }
  108. });
  109. }
  110. function updateStatusVer() {
  111. var row = $grid2.rowData();
  112. if (!row) {
  113. $.yvan.msg('请先选择一行数据');
  114. return;
  115. }
  116. // TODO:发布和停用功能
  117. alert('此功能暂未实现');
  118. }
  119. //获取平台列表
  120. function getSysList() {
  121. var _datas = [];
  122. _datas.push({
  123. "id": "",
  124. "text": "全部",
  125. "selected": true
  126. });
  127. $.yvan.ajax({
  128. url: api('/sys/system/query'),
  129. data: {status: 1},
  130. method: 'post',
  131. async: false,
  132. success: function (data) {
  133. if (data.data != null && data.data != undefined) {
  134. for (var i = 0; i < data.data.length; i++) {
  135. _datas.push({
  136. "id": data.data[i].sysId,
  137. "text": data.data[i].sysName
  138. })
  139. }
  140. }
  141. }
  142. });
  143. return _datas;
  144. }
  145. // 搜索按钮
  146. var queryToolbarTitle = '应用程序管理';// 自行替换此参数
  147. var queryToolbar = {
  148. xtype: 'toolbar', title: queryToolbarTitle, items: [
  149. {
  150. text: '查询', iconCls: 'fa fa-search', onClick: function () {
  151. queryGrid1();
  152. }
  153. }, {
  154. text: '重置', iconCls: 'fa fa-refresh', onClick: function () {
  155. $form.formClear();
  156. queryGrid1();
  157. }
  158. }, {
  159. text: '关闭', iconCls: 'fa fa-times-circle', onClick: function () {
  160. App.closeMe(this);
  161. }
  162. }
  163. ]
  164. };
  165. // 搜索条件
  166. var queryForm = {
  167. onRender: function () {
  168. $form = $(this);
  169. },
  170. xtype: 'form',
  171. items: [[
  172. {
  173. xtype: 'textbox',
  174. label: '检索条件',
  175. name: 'queryProperties',
  176. prompt: '程序名称/文件名称/描述',
  177. labelWidth: 'auto',
  178. events: {keydown: enterQueryGrid1}
  179. }, {
  180. xtype: 'yvselect',
  181. label: '所属平台',
  182. name: 'sysId',
  183. labelWidth: 'auto',
  184. width: 280,
  185. data: getSysList(),
  186. onChange: function () {
  187. queryGrid1();
  188. }
  189. }, {
  190. xtype: 'yvselect', label: '程序类型', name: 'appType', labelWidth: 'auto', width: 200, value: '',
  191. data: $.yvan.sysDict('appType').combowithAll(),
  192. onChange: function () {
  193. queryGrid1();
  194. }
  195. },
  196. {
  197. xtype: 'yvselect',
  198. label: '启用状态',
  199. name: 'status',
  200. labelWidth: 'auto',
  201. width: 180,
  202. data: $.yvan.sysDict('status').combowithAll(),
  203. onChange: function () {
  204. queryGrid1();
  205. }
  206. }
  207. ]]
  208. };
  209. // 列表1增删改查按钮
  210. var gridToolbarTitle1 = '应用程序列表';// 自行替换此参数
  211. var gridToolbar1 = {
  212. xtype: 'toolbar', title: gridToolbarTitle1, items: [
  213. {
  214. text: '新增', iconCls: 'fa fa-plus-circle', onClick: function () {
  215. var dlg = require('/app/sys/app/dialogApp.js')({
  216. isEdit: false,
  217. confirm: function () {
  218. $grid1.reload();
  219. },
  220. sysId: $form.formGet().sysId
  221. });
  222. $.yvan.showDialog(this, dlg);
  223. }
  224. }, {
  225. text: '编辑', iconCls: 'fa fa-pencil-square-o', onClick: function () {
  226. var row = $grid1.rowData();
  227. if (!row) {
  228. $.yvan.msg('选择一行数据');
  229. return;
  230. }
  231. var dlg = require('/app/sys/app/dialogApp.js')({
  232. isEdit: true,
  233. appId: row.appId,
  234. confirm: function () {
  235. $grid1.reload();
  236. }
  237. });
  238. $.yvan.showDialog(this, dlg);
  239. }
  240. }, {
  241. text: '启用/停用', iconCls: 'fa fa-circle-o-notch', onClick: function () {
  242. updateStatus();
  243. }
  244. }
  245. ]
  246. };
  247. // 列表2增删改查按钮
  248. var gridToolbarTitle2 = '版本信息';// 自行替换此参数
  249. var gridToolbar2 = {
  250. xtype: 'toolbar', title: gridToolbarTitle2, items: [
  251. {
  252. text: '新增', iconCls: 'fa fa-plus-circle', onClick: function () {
  253. var row = $grid1.rowData();
  254. if (!row) {
  255. $.yvan.msg('选择一行数据');
  256. return;
  257. }
  258. var dlg = require('/app/sys/app/dialogAppVer.js')({
  259. isEdit: false,
  260. appId: row.appId,
  261. confirm: function () {
  262. $grid2.reload();
  263. }
  264. });
  265. $.yvan.showDialog(this, dlg);
  266. }
  267. }, {
  268. text: '编辑', iconCls: 'fa fa-pencil-square-o', onClick: function () {
  269. var row = $grid2.rowData();
  270. if (!row) {
  271. $.yvan.msg('选择一行数据');
  272. return;
  273. }
  274. var dlg = require('/app/sys/app/dialogAppVer.js')({
  275. isEdit: true,
  276. verId: row.verId,
  277. confirm: function () {
  278. $grid2.reload();
  279. }
  280. });
  281. $.yvan.showDialog(this, dlg);
  282. }
  283. }, {
  284. text: '发布/停用', iconCls: 'fa fa-circle-o-notch', onClick: function () {
  285. updateStatusVer();
  286. }
  287. }, {
  288. text: '文件管理', iconCls: 'fa fa-circle-o-notch', onClick: function () {
  289. var row = $grid2.rowData();
  290. if (!row) {
  291. $.yvan.msg('选择一行数据');
  292. return;
  293. }
  294. var dlg = require('/app/sys/app/dialogAppFile.js')({
  295. //isEdit: true,
  296. verId: row.verId,
  297. appId: row.appId,
  298. confirm: function () {
  299. $grid2.reload();
  300. }
  301. });
  302. $.yvan.showDialog(this, dlg);
  303. }
  304. }, {
  305. text: '删除', iconCls: 'fa fa-trash-o fa-lg', onClick: function () {
  306. deleteRow2();
  307. }
  308. }
  309. ]
  310. };
  311. //界面
  312. return {
  313. north: {
  314. height: 90,
  315. split: true,
  316. border: false,
  317. items: [
  318. queryToolbar,
  319. queryForm
  320. ]
  321. },
  322. west: {
  323. width: "50%",
  324. border: false,
  325. split: true,
  326. items: {
  327. onRender: function () {
  328. $grid1 = $(this);
  329. queryGrid1();
  330. },
  331. xtype: 'grid',
  332. toolbar: gridToolbar1,
  333. pagination: false,
  334. autoSizeColumns: true,
  335. idField: 'appId',
  336. title: '应用程序列表',
  337. columns: [[
  338. {field: 'appId', hidden: true},
  339. {field: 'sysId', hidden: true},
  340. {field: 'appCode', hidden: true},
  341. {field: 'status', hidden: true},
  342. {field: 'appName', title: '程序名称', width: 120},
  343. {field: 'appType', title: '程序类型', align: 'center', width: 60, formatter: $.fn.fmatter.appType},
  344. {field: 'appExe', title: '文件名', width: 80},
  345. {field: 'sysName', title: '所属平台', width: 120},
  346. {field: 'statusView', title: '启用状态', align: 'center', width: 50, formatter: $.fn.fmatter.statusView},
  347. {field: 'verNum', title: '版本数', align: 'center', width: 60},
  348. {field: 'timeUpdate', title: '更新时间', formatter: 'ts', hidden: true}
  349. ]],
  350. onSelectRow: function (rowid) {
  351. queryGrid2(rowid);
  352. }
  353. }
  354. },
  355. center: {
  356. width: '50%',
  357. items: {
  358. onRender: function () {
  359. $grid2 = $(this);
  360. },
  361. xtype: 'grid',
  362. toolbar: gridToolbar2,
  363. pagination: false,
  364. idField: 'verId',
  365. title: '版本信息列表',
  366. columns: [[
  367. {field: 'verId', hidden: true},
  368. {field: 'appId', hidden: true},
  369. {field: 'guid', title: 'GUID', hidden: true},
  370. {field: 'verCode', title: '版本编码'},
  371. {field: 'verNo', title: '版本号', align: 'center'},
  372. {field: 'verType', title: '版本类型', align: 'center'},
  373. {field: 'status', title: '发布状态', align: 'center', formatter: $.fn.fmatter.status},
  374. {field: 'fileNum', title: '文件数', align: 'center'},
  375. {field: 'timeTest', title: '内测时间', formatter: $.fn.fmatter.ts, hidden: true},
  376. {field: 'timePublish', title: '发布时间', formatter: $.fn.fmatter.ts, hidden: true}
  377. ]]
  378. }
  379. }
  380. };
  381. };
  382. });