consumablesCtrl.js 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707
  1. 'use strict';
  2. app.controller('hc_consumablesCtrl', ["$scope", "$http", "i18nService", "$rootScope", "$state", "$timeout", "moment", "$interval", "$modal", "$stateParams", "SweetAlert", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_domain", "api_text", "api_bpm_data", "api_user_data", "api_cmdb", "api_cmdb2", "api_cmdb3", "api_cmdb4", function($scope, $http, i18nService, $rootScope, $state, $timeout, moment, $interval, $modal, $stateParams, SweetAlert, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_domain, api_text, api_bpm_data, api_user_data, api_cmdb, api_cmdb2, api_cmdb3, api_cmdb4) {
  3. $scope.ceshi = "耗材系统";
  4. $scope.langs = i18nService.getAllLangs();
  5. $scope.lang = 'zh-cn';
  6. i18nService.setCurrentLang($scope.lang);
  7. $scope.myData = [];
  8. var loginUser = $rootScope.user;
  9. // 监听编辑在库数量
  10. $scope.$watch('hc_eject_inventoryNum', function(val, oldval) {
  11. var zhengze = /^\w{0,5}$/;
  12. if (!zhengze.exec(val)) {
  13. $scope.hc_eject_inventoryNum = oldval;
  14. }
  15. });
  16. // 监听下拉框搜索
  17. $scope.$watch('select_val.search_data', function(val) {
  18. if (val == undefined) {
  19. $scope.wt_data_display = true;
  20. } else if (val.name == '全部') {
  21. wt_data = { consumable: {} };
  22. $scope.wt_data_display = false;
  23. if ($scope.fenye == undefined) {
  24. $scope.fenye = 0
  25. };
  26. $scope.memoryfilterData = {
  27. idx: $scope.fenye,
  28. sum: 10
  29. }
  30. //获取列表数据
  31. $scope.refreshData = function(style, filterData) {
  32. // var data1={idx: 0, sum: 10};
  33. var pdKey = "consumable";
  34. $scope.myData = [];
  35. api_cmdb3.fetchDataList(pdKey, filterData).then(function(data) {
  36. // console.log(data.list);
  37. if (data.list) {
  38. var myData = Restangular.stripRestangular(data);
  39. var list = [];
  40. $scope.gridOptions['totalItems'] = myData.totalNum;
  41. $scope.myData = myData.list;
  42. for (var i = 0; i < $scope.myData.length; i++) {
  43. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  44. }
  45. } else {
  46. SweetAlert.swal({
  47. title: "系统错误",
  48. text: "请稍后再试!",
  49. type: "error"
  50. });
  51. }
  52. $scope.ldloading[style.replace('-', '_')] = false;
  53. }, function() {
  54. $scope.ldloading[style.replace('-', '_')] = false;
  55. });
  56. };
  57. $scope.refreshData('expand-right', $scope.memoryfilterData);
  58. } else {
  59. wt_data = { consumable: { "name": val.name } };
  60. $scope.wt_data_display = false;
  61. if ($scope.fenye == undefined) {
  62. $scope.fenye = 0
  63. };
  64. $scope.memoryfilterData = {
  65. idx: $scope.fenye,
  66. sum: 10,
  67. consumable: { "name": val.name }
  68. }
  69. //获取列表数据
  70. $scope.refreshData = function(style, filterData) {
  71. var pdKey = "consumable";
  72. $scope.myData = [];
  73. // $scope.gridOptions['sum'] = filterData.sum;
  74. api_cmdb3.fetchDataList(pdKey, filterData).then(function(data) {
  75. // console.log(data.list);
  76. if (data.list) {
  77. var myData = Restangular.stripRestangular(data);
  78. var list = [];
  79. $scope.gridOptions['totalItems'] = myData.totalNum;
  80. $scope.myData = myData.list;
  81. for (var i = 0; i < $scope.myData.length; i++) {
  82. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  83. }
  84. } else {
  85. SweetAlert.swal({
  86. title: "系统错误",
  87. text: "请稍后再试!",
  88. type: "error"
  89. });
  90. }
  91. $scope.ldloading[style.replace('-', '_')] = false;
  92. }, function() {
  93. $scope.ldloading[style.replace('-', '_')] = false;
  94. });
  95. };
  96. $scope.refreshData('expand-right', $scope.memoryfilterData);
  97. }
  98. })
  99. $scope.new_data = function() {
  100. $scope.myData = [];
  101. $scope.refreshData('expand-right', $scope.memoryfilterData);
  102. }
  103. var pdKey = $state.current.pdKey;
  104. $rootScope.hc_eject_big = false; //编辑弹出框
  105. $rootScope.hc_eject_sma = false; //编辑弹出框
  106. $rootScope.hc_toedit = "new_top";
  107. // 关闭编辑弹出框
  108. $scope.close = function() {
  109. $rootScope.hc_eject_big = false; //编辑弹出框
  110. $rootScope.hc_eject_sma = false; //编辑弹出框
  111. $rootScope.hc_toedit = "new_top";
  112. $scope.select_updata_name = {}; //编辑下拉框名称
  113. $scope.select_updata_guige = {}; //编辑下拉框规格
  114. $scope.select_updata_pinpai = {}; //编辑下拉框品牌
  115. }
  116. $scope.select_updata_name = {}; //编辑下拉框名称
  117. $scope.select_updata_guige = {}; //编辑下拉框规格
  118. $scope.select_updata_pinpai = {}; //编辑下拉框品牌
  119. // 名称
  120. $scope.$watch('hc_eject_name_caozuo', function(val) {
  121. if (val != undefined) {
  122. // console.log(val);
  123. $scope.hc_eject_name = val;
  124. }
  125. })
  126. // 下拉框名称
  127. $scope.$watch('select_updata_name.updata_name', function(val) {
  128. // console.log(val);
  129. if (val == undefined) {
  130. } else {
  131. $scope.hc_eject_name = val.name;
  132. // 耗材查询品牌
  133. $scope.refreshDat_pinpai = function() {
  134. var dat = {
  135. "key": "pinpai",
  136. parent: val.id
  137. }
  138. api_cmdb4.fetchDataList(dat).then(function(data) {
  139. $scope.updata_pinpai = data;
  140. });
  141. }
  142. $scope.refreshDat_pinpai();
  143. // 耗材查询规格
  144. $scope.refreshDat_guige = function() {
  145. var dat = {
  146. "key": "guige",
  147. parent: val.id
  148. }
  149. api_cmdb4.fetchDataList(dat).then(function(data) {
  150. $scope.updata_guige = data;
  151. });
  152. }
  153. $scope.refreshDat_guige();
  154. }
  155. })
  156. // 规格
  157. $scope.$watch('hc_eject_specification_caozuo', function(val) {
  158. $scope.hc_eject_specification = val;
  159. })
  160. // 下拉框规格
  161. $scope.$watch('select_updata_guige.updata_guige', function(val) {
  162. // console.log(val);
  163. if (val == undefined) {
  164. } else {
  165. $scope.hc_eject_specification = val.name;
  166. }
  167. })
  168. // 品牌
  169. $scope.$watch('hc_eject_brandModel_caozuo', function(val) {
  170. $scope.hc_eject_brandModel = val;
  171. })
  172. // 下拉框品牌
  173. $scope.$watch('select_updata_pinpai.updata_pinpai', function(val) {
  174. // console.log(val);
  175. if (val == undefined) {
  176. } else {
  177. $scope.hc_eject_brandModel = val.name;
  178. }
  179. })
  180. // 在库数量
  181. $scope.$watch('hc_eject_inventoryNum_caozuo', function(val) {
  182. $scope.hc_eject_inventoryNum = val;
  183. })
  184. // 入库数量
  185. $scope.$watch('hc_eject_inventorySum_caozuo', function(val) {
  186. $scope.hc_eject_inventorySum = val;
  187. })
  188. // 编辑保存按钮
  189. $scope.preservation = function() {
  190. if ($scope.add_virtualMachinesNum == '') {
  191. SweetAlert.swal({
  192. title: "保存失败",
  193. text: "必填数据不能为空!",
  194. type: "error"
  195. });
  196. } else {
  197. var pdKey = "consumable";
  198. var edit_data = {
  199. "consumable": {
  200. "name": $scope.hc_eject_name,
  201. "brandModel": $scope.hc_eject_brandModel,
  202. "specification": $scope.hc_eject_specification,
  203. "inventoryNum": $scope.hc_eject_inventoryNum,
  204. "inventorySum": $scope.hc_eject_inventorySum,
  205. "id": $rootScope.hc_eject_id_caozuo
  206. }
  207. };
  208. api_cmdb3.preservation(pdKey, edit_data).then(function(data) {
  209. if (data.status == 200) {
  210. $scope.refreshData = function(style, filterData) {
  211. var pdKey = "consumable";
  212. $scope.myData = [];
  213. $scope.gridOptions['sum'] = filterData.sum;
  214. api_cmdb3.fetchDataList(pdKey, filterData).then(function(data) {
  215. // console.log(data.list);
  216. if (data.list) {
  217. var myData = Restangular.stripRestangular(data);
  218. var list = [];
  219. $scope.gridOptions['totalItems'] = myData.totalNum;
  220. $scope.myData = myData.list;
  221. for (var i = 0; i < $scope.myData.length; i++) {
  222. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  223. }
  224. } else {
  225. SweetAlert.swal({
  226. title: "系统错误",
  227. text: "请稍后再试!",
  228. type: "error"
  229. });
  230. }
  231. $scope.ldloading[style.replace('-', '_')] = false;
  232. }, function() {
  233. $scope.ldloading[style.replace('-', '_')] = false;
  234. });
  235. };
  236. $scope.refreshData('expand-right', defaultFilterData);
  237. SweetAlert.swal({
  238. title: "修改成功",
  239. confirmButtonColor: "#007AFF",
  240. type: "success"
  241. });
  242. $rootScope.hc_eject_big = false; //编辑弹出框
  243. $rootScope.hc_eject_sma = false; //编辑弹出框
  244. $rootScope.hc_toedit = "new_top";
  245. $scope.select_updata_name = {}; //编辑下拉框名称
  246. $scope.select_updata_guige = {}; //编辑下拉框规格
  247. $scope.select_updata_pinpai = {}; //编辑下拉框品牌
  248. }
  249. })
  250. }
  251. }
  252. $scope.gridOptions = {};
  253. $scope.gridOptions.data = 'myData';
  254. $scope.gridOptions.enableColumnResizing = true;
  255. $scope.gridOptions.enableFiltering = false;
  256. $scope.gridOptions.enableGridMenu = false;
  257. $scope.gridOptions.enableSelectAll = true;
  258. $scope.gridOptions.enableRowSelection = true;
  259. $scope.gridOptions.showGridFooter = true;
  260. $scope.gridOptions.showColumnFooter = false;
  261. $scope.gridOptions.fastWatch = true;
  262. $scope.gridOptions.enableSorting = true;
  263. $scope.gridOptions.useExternalSorting = true;
  264. $scope.gridOptions.useExternalFiltering = false;
  265. $scope.gridOptions.useExternalPagination = true;
  266. $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
  267. $scope.gridOptions.paginationPageSize = 10;
  268. $scope.gridOptions.multiSelect = true;
  269. var mun = $scope.gridOptions.paginationPageSize;
  270. $scope.gridOptions.rowTemplate = "<div ng-click=\"onDblClick(row)\" ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell></div>";
  271. $scope.gridOptions.rowIdentity = function(row) {
  272. return row.id;
  273. };
  274. $scope.gridOptions.getRowIdentity = function(row) {
  275. return row.id;
  276. };
  277. $scope.transferColor = function(item) {
  278. var color = "icon iconfont icon-zhengchang greenfont";
  279. if (item.colourInfo) {
  280. if (item.colourInfo.id == 1) {
  281. color = "icon iconfont icon-yiyuqi redfont";
  282. } else if (item.colourInfo.id == 2) {
  283. color = "iconfont icon-yuqixinxiu yellofont";
  284. }
  285. } else {
  286. // color = "white";
  287. }
  288. return color;
  289. }
  290. $scope.transfertip = function(item) {
  291. var tip = "正常";
  292. if (item.colourInfo) {
  293. if (item.colourInfo.id == 1) {
  294. tip = "逾期";
  295. } else if (item.colourInfo.id == 2) {
  296. tip = "即将逾期";
  297. }
  298. } else {
  299. // color = "white";
  300. }
  301. return tip;
  302. }
  303. $scope.transferstatus = function(item) {
  304. var statecolor = "#fc4c58";
  305. if (item.id == 2) { //待处理
  306. statecolor = "#fc4c58";
  307. } else if (item.id == 7) { //待审核
  308. statecolor = "#fcb44c";
  309. } else if (item.id == 3) { //请求重新指派
  310. statecolor = "#ebf902";
  311. } else if (item.id == 4) { //处理中
  312. statecolor = "#0aa5f5";
  313. } else if (item.id == 5) { //已解决
  314. statecolor = "#2edbb8";
  315. } else if (item.id == 6) { //已关闭
  316. statecolor = "#bbbbbb";
  317. }
  318. return statecolor;
  319. }
  320. // 双击查看
  321. $scope.onDblClick=function(row){
  322. $state.go('app.means.consumables_see', { idd: row.entity.id })
  323. }
  324. $scope.gridOptions.columnDefs = [{
  325. name: 'item',
  326. displayName: '序号',
  327. width: 49,
  328. cellTemplate: '<div>' +
  329. '<div class="ui-grid-cell-contents">{{row.entity.item}}</div>' +
  330. '</div>'
  331. },
  332. {
  333. name: 'name',
  334. displayName: '耗材分类',
  335. width: 144,
  336. cellTemplate: '<div>' +
  337. '<div class="ui-grid-cell-contents">{{row.entity.name}}</div>' +
  338. '</div>'
  339. },
  340. {
  341. name: 'brandModel',
  342. displayName: '品牌型号',
  343. width: 250,
  344. cellTemplate: '<div>' +
  345. '<div class="ui-grid-cell-contents">{{row.entity.brandModel}}</div>' +
  346. '</div>'
  347. },
  348. {
  349. name: 'specification',
  350. displayName: '规格',
  351. width: 100,
  352. cellTemplate: '<div>' +
  353. '<div class="ui-grid-cell-contents">{{row.entity.specification}}</div>' +
  354. '</div>'
  355. },
  356. {
  357. name: 'inventoryNum',
  358. displayName: '在库数量',
  359. width: 150,
  360. cellTemplate: '<div>' +
  361. '<div class="ui-grid-cell-contents">{{row.entity.inventoryNum}}</div>' +
  362. '</div>'
  363. },
  364. {
  365. name: 'inventorySum',
  366. displayName: '入库总数量',
  367. width: 150,
  368. cellTemplate: '<div>' +
  369. '<div class="ui-grid-cell-contents">{{row.entity.inventorySum}}</div>' +
  370. '</div>'
  371. },
  372. {
  373. name: 'updateTime',
  374. displayName: '最后更新时间',
  375. width: 255,
  376. cellTemplate: '<div>' +
  377. '<div class="ui-grid-cell-contents">{{row.entity.updateTime}}</div>' +
  378. '</div>'
  379. },
  380. {
  381. name: '操作',
  382. enableSorting: false,
  383. width: 172,
  384. cellTemplate: '<wtt style="background-color:{{row.entity.colourInfo.rgb}}" item="row.entity" colobject="col">',
  385. enableFiltering: false
  386. },
  387. ];
  388. $scope.value = 10;
  389. $scope.decrement = function() {
  390. $scope.value = $scope.value - 1;
  391. };
  392. $scope.record = function() {
  393. api_text.record($rootScope.takes).then(function(data) {
  394. if (data.errno == 0) {
  395. $scope.busy = false;
  396. }
  397. })
  398. };
  399. $scope.parameters = null;
  400. $scope.open = function($event) {
  401. $event.preventDefault();
  402. $event.stopPropagation();
  403. $scope.opened = !$scope.opened;
  404. };
  405. $scope.endOpen = function($event) {
  406. $event.preventDefault();
  407. $event.stopPropagation();
  408. $scope.startOpened = false;
  409. $scope.endOpened = !$scope.endOpened;
  410. };
  411. $scope.startOpen = function($event) {
  412. $event.preventDefault();
  413. $event.stopPropagation();
  414. $scope.endOpened = false;
  415. $scope.startOpened = !$scope.startOpened;
  416. };
  417. $scope.othcode = {};
  418. var items = [];
  419. $scope.selected = {
  420. items: []
  421. };
  422. $scope.select_val = {}; //下拉框查询
  423. //列表排序
  424. $scope.gridOptions.onRegisterApi = function(gridApi) {
  425. $scope.gridApi = gridApi;
  426. var index = 0;
  427. var oldheader = {};
  428. gridApi.grid.sortColumn = function(gridApi) {
  429. if (oldheader.field) {
  430. if (oldheader.field == gridApi.field) {
  431. // index = 0;
  432. } else {
  433. index = 0;
  434. }
  435. }
  436. index++;
  437. oldheader = gridApi;
  438. var fildata = $scope.memoryfilterData;
  439. if (index % 3 == 0) {
  440. delete $scope.memoryfilterData.incident;
  441. fildata = $scope.memoryfilterData;
  442. } else if (index % 3 == 1) {
  443. if (fildata.incident) {
  444. if (gridApi.field == "acceptDate") {
  445. angular.extend(fildata.incident, { "sort": gridApi.field });
  446. } else {
  447. angular.extend(fildata.incident, { "sort": gridApi.field + " desc , _incident.acceptDate" });
  448. }
  449. } else {
  450. if (gridApi.field == "acceptDate") {
  451. angular.extend(fildata, { 'incident': { "sort": gridApi.field } });
  452. } else {
  453. angular.extend(fildata, { 'incident': { "sort": gridApi.field + " desc , _incident.acceptDate" } });
  454. }
  455. }
  456. } else if (index % 3 == 2) {
  457. if (fildata.incident) {
  458. if (gridApi.field == "acceptDate") {
  459. angular.extend(fildata.incident, { "sort": gridApi.field, "order": "asc" });
  460. } else {
  461. angular.extend(fildata.incident, { "sort": gridApi.field + " asc , _incident.acceptDate" });
  462. }
  463. } else {
  464. if (gridApi.field == "acceptDate") {
  465. angular.extend(fildata, { 'incident': { "sort": gridApi.field, "order": "asc" } });
  466. } else {
  467. angular.extend(fildata.incident, { "sort": gridApi.field + " asc , _incident.acceptDate" });
  468. }
  469. }
  470. }
  471. $scope.refreshData('expand-right', fildata);
  472. }
  473. gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) {
  474. var filtersData = $scope.memoryfilterData;
  475. $scope.fenye = newPage - 1;
  476. filtersData.idx = newPage - 1;
  477. filtersData.sum = pageSize;
  478. $scope.refreshData('expand-right', filtersData);
  479. });
  480. gridApi.core.on.filterChanged($scope, function() {
  481. var grid = this.grid;
  482. if ($rootScope.user.group) {
  483. var filtersData = {
  484. idx: 0,
  485. sum: mun
  486. };
  487. } else {
  488. var filtersData = {
  489. idx: 0,
  490. sum: mun
  491. };
  492. }
  493. angular.forEach(grid.columns, function(item) {
  494. if (item.enableFiltering) {
  495. if (angular.isDefined(item.filters[0].term) && item.filters[0].term != '') {
  496. filtersData = $scope.memoryfilterData
  497. if (angular.isUndefined(filtersData['incident'])) {
  498. filtersData['incident'] = {};
  499. }
  500. if (item.field == 'requester.name') {
  501. filtersData['incident']['requester'] = {};
  502. filtersData.incident.requester['accountName'] = item.filters[0].term;
  503. } else if (item.field == 'handlingPersonnelUser.name') {
  504. filtersData['incident']['handlingPersonnelUser'] = {};
  505. filtersData.incident.handlingPersonnelUser['name'] = item.filters[0].term;
  506. } else if (item.field == 'requester.account') {
  507. filtersData['incident']['requester'] = {};
  508. filtersData.incident.requester['account'] = item.filters[0].term;
  509. } else if (item.field == 'acceptUser.name') {
  510. filtersData['incident']['acceptUser'] = {};
  511. filtersData.incident.acceptUser['name'] = item.filters[0].term;
  512. } else {
  513. filtersData['incident'][item.field] = item.filters[0].term;
  514. }
  515. }
  516. }
  517. });
  518. filtersData.idx = 0;
  519. $scope.memoryfilterData = filtersData;
  520. $scope.refreshData('expand-right', filtersData);
  521. });
  522. };
  523. var items = [];
  524. //当前人是否分组
  525. if ($rootScope.user.group) {
  526. if ($rootScope.user.group.length == 0) {
  527. SweetAlert.swal("访问失败!", "当前登录人未分配工作组,无权限访问,请添加工作组后重试。", "error");
  528. } else {
  529. $scope.memoryfilterData = defaultFilterData = {
  530. "idx": 0,
  531. "sum": mun
  532. };
  533. }
  534. } else {
  535. $scope.memoryfilterData = defaultFilterData = {
  536. "idx": 0,
  537. "sum": mun
  538. };
  539. }
  540. var wt_data = {};
  541. //导出
  542. $scope.hc_export = function() {
  543. if ($scope.wt_data_display == true) {
  544. SweetAlert.swal({
  545. title: "导出失败",
  546. text: "请选择分类!",
  547. type: "error"
  548. });
  549. } else {
  550. var filadata = angular.copy($scope.memoryfilterData);
  551. filadata.sum = 10000;
  552. var wt_url = api_cmdb3.exportData("downDataModel/consumable/1", wt_data).getRequestedUrl()
  553. $http({
  554. url: wt_url,
  555. method: 'POST',
  556. data: JSON.stringify(wt_data),
  557. headers: {
  558. 'Accept': '*/*'
  559. },
  560. responseType: 'arraybuffer'
  561. }).success(function(data, status, headers, config) {
  562. // $scope.ldloading.zoom_in = false;
  563. var file = new Blob([data], {
  564. type: 'application/vnd.ms-excel'
  565. });
  566. var fileURL = URL.createObjectURL(file);
  567. var a = document.createElement('a');
  568. a.href = fileURL;
  569. a.target = '_blank';
  570. a.download = '耗材列表.xls';
  571. document.body.appendChild(a);
  572. a.click();
  573. }).error(function(data, status, headers, config) {
  574. // $scope.ldloading.zoom_in = false;
  575. console.log(data);
  576. });
  577. }
  578. };
  579. if ($stateParams.model) {
  580. if (JSON.parse($stateParams.model).searchType && JSON.parse($stateParams.model).searchType != null) {
  581. $scope.searchTypes = JSON.parse($stateParams.model).searchType;
  582. } else {
  583. $scope.searchTypes = "todo";
  584. }
  585. } else {
  586. $scope.searchTypes = "todo";
  587. }
  588. if ($rootScope.user.group) {
  589. var defaultFilterData = {
  590. "idx": 0,
  591. "sum": mun
  592. };
  593. } else {
  594. var defaultFilterData = {
  595. "idx": 0,
  596. "sum": mun
  597. };
  598. }
  599. if (angular.isDefined($rootScope.search) && angular.isDefined($rootScope.search.incident)) {
  600. defaultFilterData['searchType'] = $rootScope.search.incident;
  601. $scope.searchTypes = $rootScope.search.incident;
  602. }
  603. if ($rootScope['cmdbs'] != 'incident') { $rootScope.idx = 1 }
  604. if (angular.isDefined($rootScope.idx) && $rootScope.cmdbs != "false") {
  605. $rootScope['cmdbs'] = 'incident';
  606. defaultFilterData.idx = $rootScope.idx - 1;
  607. } else { $rootScope.cmdbs = ""; }
  608. $scope.ldloading = {};
  609. //获取列表数据
  610. var pdKey = "consumable";
  611. $scope.refreshData = function(style, filterData) {
  612. // var pdKey = "consumable";
  613. $scope.myData = [];
  614. $scope.gridOptions['sum'] = filterData.sum;
  615. api_cmdb3.fetchDataList(pdKey, filterData).then(function(data) {
  616. // console.log(data.list);
  617. if (data.list) {
  618. var myData = Restangular.stripRestangular(data);
  619. var list = [];
  620. $scope.gridOptions['totalItems'] = myData.totalNum;
  621. $scope.myData = myData.list;
  622. for (var i = 0; i < $scope.myData.length; i++) {
  623. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  624. }
  625. } else {
  626. SweetAlert.swal({
  627. title: "系统错误",
  628. text: "请稍后再试!",
  629. type: "error"
  630. });
  631. }
  632. $scope.ldloading[style.replace('-', '_')] = false;
  633. }, function() {
  634. $scope.ldloading[style.replace('-', '_')] = false;
  635. });
  636. };
  637. // 耗材查询分类
  638. $scope.refreshDat_name = function() {
  639. var dat = {
  640. "key": "haocaifenlei"
  641. }
  642. api_cmdb4.fetchDataList(dat).then(function(data) {
  643. $scope.search_data = data;
  644. $scope.search_data.unshift({ 'name': '全部' });
  645. });
  646. };
  647. // 耗材查询分类修改
  648. $scope.refreshDat_name_updata = function() {
  649. var dat = {
  650. "key": "haocaifenlei"
  651. }
  652. api_cmdb4.fetchDataList(dat).then(function(data) {
  653. $scope.updata_name = data;
  654. });
  655. };
  656. $scope.refreshDat_name();
  657. $scope.refreshDat_name_updata();
  658. // $scope.refreshDat_pinpai();
  659. // $scope.refreshDat_guige();
  660. $scope.refreshData('expand-right', defaultFilterData);
  661. }]);
  662. //操作按钮权限控制
  663. app.controller('hc_caozuoCtrl', ['$rootScope', '$http', '$scope', '$modal', '$state', function($rootScope, $http, $scope, $modal, $state) {
  664. // 编辑按钮
  665. $scope.edit = function() {
  666. $rootScope.hc_eject_name_caozuo = $scope.item.name; //耗材名称
  667. $rootScope.hc_eject_brandModel_caozuo = $scope.item.brandModel; //耗材品牌型号
  668. $rootScope.hc_eject_specification_caozuo = $scope.item.specification; //耗材规格
  669. $rootScope.hc_eject_inventoryNum_caozuo = $scope.item.inventoryNum; //耗材在库数量
  670. $rootScope.hc_eject_inventorySum_caozuo = $scope.item.inventorySum; //耗材入库数量
  671. $rootScope.hc_eject_id_caozuo = $scope.item.id; //耗材id
  672. $rootScope.hc_eject_big = true; //编辑弹出框
  673. $rootScope.hc_eject_sma = true; //编辑弹出框
  674. $rootScope.hc_toedit = "new_after";
  675. };
  676. //查看按钮
  677. $scope.see = function() {
  678. // console.log($scope.item.id);
  679. // idd=$scope.item.id;
  680. $state.go('app.means.consumables_see', { idd: $scope.item.id })
  681. }
  682. }]);
  683. //操作
  684. app.directive('wtt', function() {
  685. return {
  686. restrict: 'E',
  687. scope: {
  688. item: '=',
  689. colobject: '='
  690. },
  691. controller: 'hc_caozuoCtrl',
  692. template: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" >' +
  693. // '<a class="handlefont" ng-click="see()">查看</a>' +
  694. '<a class="handlefont" ng-click="edit()">编辑</a>' +
  695. '</div></div>'
  696. };
  697. });