You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

281 lines
13 KiB

  1. /* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
  2. * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  3. * 创建人:超级管理员
  4. * 日 期:2021-06-21 15:49
  5. * 描 述:项目管理
  6. */
  7. var refreshGirdData;
  8. var PTId;
  9. var bootstrap = function ($, learun) {
  10. "use strict";
  11. var page = {
  12. init: function () {
  13. page.inittree();
  14. page.initGird();
  15. page.bind();
  16. },
  17. bind: function () {
  18. $('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
  19. page.search(queryJson);
  20. }, 220, 400);
  21. $('#DepartmentId').lrDepartmentSelect();
  22. $('#ManagerId').lrUserSelect(0);
  23. // 刷新
  24. $('#lr_refresh').on('click', function () {
  25. location.reload();
  26. });
  27. // 新增
  28. $('#lr_add').on('click', function () {
  29. if (!PTId) {
  30. learun.alert.warning('请选择类型!');
  31. return false;
  32. }
  33. learun.layerForm({
  34. id: 'form',
  35. title: '新增',
  36. url: top.$.rootUrl + '/LogisticsManagement/ProjectManage/Form?PTId=' + PTId,
  37. width: 800,
  38. height: 600,
  39. callBack: function (id) {
  40. return top[id].acceptClick(refreshGirdData);
  41. }
  42. });
  43. });
  44. // 编辑
  45. $('#lr_edit').on('click', function () {
  46. var keyValue = $('#gridtable').jfGridValue('Id');
  47. if (learun.checkrow(keyValue)) {
  48. var Status = $('#gridtable').jfGridValue('Status');
  49. if (Status != '0') {
  50. return learun.alert.warning('选中项目已审核,不可编辑!');
  51. }
  52. learun.layerForm({
  53. id: 'form',
  54. title: '编辑',
  55. url: top.$.rootUrl + '/LogisticsManagement/ProjectManage/Form?keyValue=' + keyValue,
  56. width: 800,
  57. height: 600,
  58. callBack: function (id) {
  59. return top[id].acceptClick(refreshGirdData);
  60. }
  61. });
  62. }
  63. });
  64. // 删除
  65. $('#lr_delete').on('click', function () {
  66. var keyValue = $('#gridtable').jfGridValue('Id');
  67. if (learun.checkrow(keyValue)) {
  68. var Status = $('#gridtable').jfGridValue('Status');
  69. if (Status != '0') {
  70. return learun.alert.warning('选中项目已审核,不可删除!');
  71. }
  72. learun.layerConfirm('是否确认删除该项!', function (res) {
  73. if (res) {
  74. learun.deleteForm(top.$.rootUrl + '/LogisticsManagement/ProjectManage/DeleteForm', { keyValue: keyValue }, function () {
  75. refreshGirdData();
  76. });
  77. }
  78. });
  79. }
  80. });
  81. // 审核
  82. $('#lr_submit').on('click', function () {
  83. var keyValue = $('#gridtable').jfGridValue('Id');
  84. if (learun.checkrow(keyValue)) {
  85. learun.layerConfirm('是否确认审核该项!', function (res) {
  86. if (res) {
  87. learun.postForm(top.$.rootUrl + '/LogisticsManagement/ProjectManage/UpdateStatus', { keyValue: keyValue, Status: 1 }, function () {
  88. refreshGirdData();
  89. });
  90. }
  91. });
  92. }
  93. });
  94. // 去审
  95. $('#lr_nosubmit').on('click', function () {
  96. var keyValue = $('#gridtable').jfGridValue('Id');
  97. if (learun.checkrow(keyValue)) {
  98. learun.layerConfirm('是否确认去审该项!', function (res) {
  99. if (res) {
  100. learun.postForm(top.$.rootUrl + '/LogisticsManagement/ProjectManage/UpdateStatus', { keyValue: keyValue, Status: 0 }, function () {
  101. refreshGirdData();
  102. });
  103. }
  104. });
  105. }
  106. });
  107. // 归档,将状态改为2
  108. $('#lr_file').on('click', function () {
  109. var keyValue = $('#gridtable').jfGridValue('Id');
  110. if (learun.checkrow(keyValue)) {
  111. learun.layerConfirm('是否确认归档该项!', function (res) {
  112. if (res) {
  113. learun.postForm(top.$.rootUrl + '/LogisticsManagement/ProjectManage/UpdateStatus', { keyValue: keyValue, Status: 2 }, function () {
  114. refreshGirdData();
  115. });
  116. }
  117. });
  118. }
  119. });
  120. //设置上传项目资料
  121. $('#lr_data').on('click', function () {
  122. var keyValue = $('#gridtable').jfGridValue('Id');
  123. if (learun.checkrow(keyValue)) {
  124. var Status = $('#gridtable').jfGridValue('Status');
  125. if (Status != '0') {
  126. return learun.alert.warning('选中项目已审核,不可设置!');
  127. }
  128. learun.layerForm({
  129. id: 'ProjectDataManageIndex',
  130. title: '项目资料管理',
  131. url: top.$.rootUrl + '/LogisticsManagement/ProjectDataManage/Index?PId=' + keyValue,
  132. width: 1000,
  133. height: 800,
  134. btn: null
  135. });
  136. }
  137. });
  138. },
  139. inittree: function () {
  140. // 初始化左侧树形数据
  141. $('#dataTree').lrtree({
  142. url: top.$.rootUrl + '/LogisticsManagement/ProjectTypeManage/GetTree',
  143. nodeClick: page.treeNodeClick
  144. });
  145. },
  146. treeNodeClick: function (item) {
  147. PTId = item.id;
  148. $('#titleinfo').text(item.text);
  149. page.search();
  150. },
  151. // 初始化列表
  152. initGird: function () {
  153. $('#gridtable').jfGrid({
  154. url: top.$.rootUrl + '/LogisticsManagement/ProjectManage/GetPageList',
  155. headData: [
  156. { label: "项目名称", name: "Name", width: 200, align: "left" },
  157. { label: "项目周期", name: "Period", width: 100, align: "left" },
  158. { label: "项目金额", name: "ItemAmount", width: 100, align: "left" },
  159. {
  160. label: "负责部门", name: "DepartmentId", width: 100, align: "left",
  161. formatterAsync: function (callback, value, row, op, $cell) {
  162. learun.clientdata.getAsync('custmerData', {
  163. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'classdata',
  164. key: value,
  165. keyId: 'id',
  166. callback: function (_data) {
  167. callback(_data['name']);
  168. }
  169. });
  170. }
  171. },
  172. {
  173. label: "负责人", name: "ManagerId", width: 100, align: "left",
  174. formatterAsync: function (callback, value, row, op, $cell) {
  175. learun.clientdata.getAsync('user', {
  176. key: value,
  177. callback: function (_data) {
  178. callback(_data.name);
  179. }
  180. });
  181. }
  182. },
  183. {
  184. label: "项目状态", name: "Status", width: 100, align: "left",
  185. formatter: function (value) {
  186. if (value == 0) {
  187. return '<span class=\"label label-default\">草稿</span>';
  188. } else if (value == 1) {
  189. return '<span class=\"label label-warning\">进行中</span>';
  190. } else if (value == 2) {
  191. return '<span class=\"label label-success\">已完成</span>';
  192. }
  193. }
  194. },
  195. { label: "备注", name: "Remark", width: 100, align: "left" },
  196. ],
  197. mainId: 'Id',
  198. isPage: true,
  199. sidx: 'CreateTime desc',
  200. isSubGrid: true, // 是否有子表单
  201. subGridExpanded: function (subContentId, rowItem) {
  202. var PId = rowItem.Id;
  203. $('#' + subContentId).jfGrid({
  204. url: top.$.rootUrl + '/LogisticsManagement/ProjectPhaseManage/GetList',
  205. headData: [
  206. { name: "Name", width: 150, align: "left" }
  207. ],
  208. mainId: 'Id',
  209. isPage: false,
  210. sidx: 'Sort',
  211. sord: 'ASC',
  212. isSubGrid: true, // 是否有子表单
  213. subGridExpanded: function (subContentId, rowItem) {
  214. $('#' + subContentId).jfGrid({
  215. url: top.$.rootUrl + '/LogisticsManagement/ProjectDataManage/GetList',
  216. headData: [
  217. { label: "项目资料名称", name: "Name", width: 200, align: "left" },
  218. {
  219. label: "负责部门", name: "DepartmentId", width: 100, align: "left",
  220. formatterAsync: function (callback, value, row, op, $cell) {
  221. learun.clientdata.getAsync('custmerData', {
  222. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'classdata',
  223. key: value,
  224. keyId: 'id',
  225. callback: function (_data) {
  226. callback(_data['name']);
  227. }
  228. });
  229. }
  230. },
  231. {
  232. label: "负责人", name: "ManagerId", width: 100, align: "left",
  233. formatterAsync: function (callback, value, row, op, $cell) {
  234. learun.clientdata.getAsync('user', {
  235. key: value,
  236. callback: function (_data) {
  237. callback(_data.name);
  238. }
  239. });
  240. }
  241. },
  242. {
  243. label: "是否上传", name: "FileStatus", width: 130, align: "left",
  244. formatter: function (value) {
  245. return value == '1' ? '<span class=\"label label-success\">是</span>' : '<span class=\"label label-warning\">否</span>';
  246. }
  247. },
  248. { label: "上传时间", name: "FileTime", width: 130, align: "left" },
  249. { label: "备注", name: "Remark", width: 100, align: "left" },
  250. ],
  251. mainId: 'Id',
  252. isPage: false,
  253. });
  254. var param;
  255. param = param || {};
  256. param.PPId = rowItem.Id;
  257. param.PId = PId;
  258. $('#' + subContentId).jfGridSet('reload', { queryJson: JSON.stringify(param) });
  259. }
  260. });
  261. var param;
  262. param = param || {};
  263. //param.BId = rowItem.Id;
  264. $('#' + subContentId).jfGridSet('reload', { queryJson: JSON.stringify(param) });
  265. }
  266. });
  267. page.search();
  268. },
  269. search: function (param) {
  270. param = param || {};
  271. param.PTId = PTId;
  272. $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
  273. }
  274. };
  275. refreshGirdData = function () {
  276. $('#gridtable').jfGridSet('reload');
  277. };
  278. page.init();
  279. }