jry_fileCtrl.js 82 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821
  1. 'use strict';
  2. /**
  3. * controller for User Profile Example
  4. */
  5. app.controller('fileListCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$interval", "$modal", "SweetAlert", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_schedule", "api_bpm_data","api_doc_data","api_user_data","api_wechatfile","FileUploader","api_bpm_domain","$http", function($rootScope, $scope, $state, $timeout, $interval, $modal, SweetAlert, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_schedule, api_bpm_data,api_doc_data,api_user_data,api_wechatfile,FileUploader,api_bpm_domain,$http) {
  6. $scope.langs = i18nService.getAllLangs();
  7. $scope.lang = 'zh-cn';
  8. i18nService.setCurrentLang($scope.lang);
  9. var loginUser = $rootScope.user;
  10. // 判断是否是文档管理员
  11. for(var i=0;i<loginUser.role.length;i++){
  12. if(loginUser.role[i].role=="文档管理员"){
  13. $scope.file_manage="ok"
  14. }
  15. }
  16. var defaultFilterData = {
  17. "assignee": loginUser.id,
  18. // "assignee": "1",
  19. "idx": 0,
  20. "sum": 10,
  21. "status": '',
  22. "searchType": "todo"
  23. };
  24. var inspectListParameter = {
  25. "assignee": loginUser.id,
  26. // "assignee": "1",
  27. "idx": 0,
  28. "sum": 10,
  29. "status": ''
  30. };
  31. //ui-grid设置
  32. $scope.gridOptions = {};
  33. $scope.gridOptions.data = 'myData';
  34. $scope.gridOptions.enableColumnResizing = true;
  35. $scope.gridOptions.enableFiltering = true;
  36. $scope.gridOptions.enableGridMenu = false;
  37. $scope.gridOptions.enableSelectAll = false;
  38. $scope.gridOptions.enableRowSelection = true;
  39. $scope.gridOptions.showGridFooter = true;
  40. $scope.gridOptions.showColumnFooter = false;
  41. $scope.gridOptions.fastWatch = true;
  42. $scope.gridOptions.useExternalFiltering = true;
  43. $scope.gridOptions.useExternalPagination = true;
  44. $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
  45. $scope.gridOptions.paginationPageSize = 10;
  46. $scope.gridOptions.multiSelect = true;
  47. // $scope.gridOptions.rowTemplate = '<div style="background: red"><a>123</a></div';
  48. // $scope.gridOptions.rowTemplate = "<div ng-dblclick=\"grid.appScope.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>";
  49. $scope.gridOptions.rowIdentity = function(row) {
  50. return row.id;
  51. };
  52. $scope.gridOptions.getRowIdentity = function(row) {
  53. return row.id;
  54. };
  55. $scope.transferColor = function(item) {
  56. var color = "icon iconfont icon-zhengchang greenfont";
  57. if (item && item.colourInfo) {
  58. if (item.colourInfo.id == 1) {
  59. color = "icon iconfont icon-yiyuqi redfont";
  60. } else if (item.colourInfo.id == 2) {
  61. color = "iconfont icon-yuqixinxiu yellofont";
  62. }
  63. } else {
  64. // color = "white";
  65. }
  66. return color;
  67. }
  68. $scope.transfertip = function(item) {
  69. var tip = "正常";
  70. if (item && item.colourInfo) {
  71. if (item.colourInfo.id == 1) {
  72. tip = "逾期";
  73. } else if (item.colourInfo.id == 2) {
  74. tip = "即将逾期";
  75. }
  76. } else {
  77. // color = "white";
  78. }
  79. return tip;
  80. }
  81. $scope.gridOptions.columnDefs = [
  82. {
  83. name: 'item',
  84. displayName: '序号',
  85. width: '5%',
  86. cellTemplate: '<div>' +
  87. '<div class="ui-grid-cell-contents">{{row.entity.item}}</div>' +
  88. '</div>',
  89. enableFiltering: false
  90. },
  91. {
  92. name: 'fileName',
  93. displayName: '文档名称',
  94. width: '20%',
  95. enableFiltering: false
  96. },
  97. {
  98. name: 'fileType',
  99. displayName: '文档格式',
  100. width: '10%',
  101. enableFiltering: false
  102. },
  103. {
  104. name: 'fileSize',
  105. displayName: '大小',
  106. width: '10%',
  107. enableFiltering: false,
  108. cellTemplate: '<div>' +
  109. '<div class="ui-grid-cell-contents">{{row.entity.fileSize/1024/1024|number:2}}MB</div>' +
  110. '</div>',
  111. },
  112. {
  113. name: 'createUser.name',
  114. displayName: '上传者',
  115. width: '10%',
  116. enableFiltering: false,
  117. cellTemplate: '<div>' +
  118. '<div class="ui-grid-cell-contents">{{row.entity.createUser.name}}</div>' +
  119. '</div>',
  120. },
  121. {
  122. name: 'strUpdateTime',
  123. displayName: '更新时间',
  124. width: '15%',
  125. enableFiltering: false
  126. },
  127. {
  128. name: 'fileVersion',
  129. displayName: '版本号',
  130. width: '8%',
  131. enableFiltering: false
  132. },
  133. {
  134. name: '操作',
  135. width: '32%',
  136. enableFiltering: false,
  137. cellTemplate: '<div class="cl-effect-1 ui-grid-cell-contents pull-left">' +
  138. '<a ng-click="grid.appScope.list_delete(row.entity)" tooltip="删除" tooltip-placement="left">删除</a>' +
  139. '<a ng-click="grid.appScope.doc_down(row.entity)" tooltip="下载" tooltip-placement="left" class="bianjifont">下载</a>' +
  140. // '<a ng-click="grid.appScope.new_file_add(row.entity)" tooltip="更新" tooltip-placement="left" class="bianjifont new_file">更新<input name="uploadedFile" type="file" nv-file-select="" uploader="grid.appScope.newUploader"/></a>' +
  141. '<div class="new_file" tooltip="更新" tooltip-placement="left" ng-click="grid.appScope.new_file_add(row.entity)">更新<input name="uploadedFile" type="file" nv-file-select="" uploader="grid.appScope.newUploader"/></div>' +
  142. // '<div class="new_file" ng-click="grid.appScope.new_file_add(row.entity)"><input name="uploadedFile" type="file" nv-file-select="" uploader="grid.appScope.importUploader"/></div>' +
  143. '<a ng-click="grid.appScope.seeHistory(row.entity)" tooltip="查看历史" tooltip-placement="left" class="bianjifont">查看历史</a>' +
  144. // '<a ng-show="{{!row.entity.state==1}}" ng-click="grid.appScope.selectRowFunction(row.entity)" tooltip="编辑" tooltip-placement="left"><i class="fa fa-pencil-square-o"/></a>' +
  145. '</div>'
  146. },
  147. ];
  148. $scope.gengxin="更新";
  149. // 查看历史
  150. $scope.seeHistory=function(getData){
  151. var modalInstance = $modal.open({
  152. backdrop: false,
  153. templateUrl: 'assets/views/customform/tpl/ui-jry_file_history.html',
  154. controller: function($scope, scope, $modalInstance,api_doc_data,SweetAlert) {
  155. var loginUser = $rootScope.user;
  156. $scope.langs = i18nService.getAllLangs();
  157. $scope.lang = 'zh-cn';
  158. i18nService.setCurrentLang($scope.lang);
  159. $scope.gridOptions = {};
  160. $scope.gridOptions.data = 'myData';
  161. $scope.gridOptions.enableColumnResizing = true;
  162. $scope.gridOptions.enableGridMenu = false;
  163. $scope.gridOptions.enableRowSelection = true;
  164. $scope.gridOptions.showGridFooter = true;
  165. $scope.gridOptions.showColumnFooter = false;
  166. $scope.gridOptions.fastWatch = true;
  167. $scope.gridOptions.useExternalFiltering = true;
  168. $scope.gridOptions.useExternalPagination = true;
  169. $scope.gridOptions.paginationPageSizes = [50];
  170. $scope.gridOptions.paginationPageSize = 50;
  171. $scope.gridOptions.multiSelect = true;
  172. $scope.gridOptions.rowIdentity = function (row) {
  173. return row.id;
  174. };
  175. $scope.gridOptions.getRowIdentity = function (row) {
  176. return row.id;
  177. };
  178. $scope.gridOptions.columnDefs = [
  179. {
  180. name: 'item',
  181. displayName: '序号',
  182. width: "10%",
  183. cellTemplate: '<div>' +
  184. '<div class="ui-grid-cell-contents">{{row.entity.item}}</div>' +
  185. '</div>'
  186. },
  187. {
  188. name: 'fileName',
  189. displayName: '文档名称',
  190. width: "27%",
  191. enableFiltering: false ,
  192. cellTemplate: '<div>' +
  193. '<div class="ui-grid-cell-contents">{{row.entity.fileName}}</div>' +
  194. '</div>'
  195. },
  196. {
  197. name: 'createUser.name',
  198. displayName: '上传者',
  199. width: "8%",
  200. enableFiltering: false ,
  201. cellTemplate: '<div>' +
  202. '<div class="ui-grid-cell-contents">{{row.entity.createUser.name}}</div>' +
  203. '</div>'
  204. },
  205. {
  206. name: 'fileVersion',
  207. displayName: '文档历史版本',
  208. width: "8%",
  209. enableFiltering: false ,
  210. cellTemplate: '<div>' +
  211. '<div class="ui-grid-cell-contents">{{row.entity.fileVersion}}</div>' +
  212. '</div>'
  213. },
  214. {
  215. name: 'fileSize',
  216. displayName: '大小',
  217. width: '10%',
  218. enableFiltering: false,
  219. cellTemplate: '<div>' +
  220. '<div class="ui-grid-cell-contents">{{row.entity.fileSize/1024/1024|number:2}}MB</div>' +
  221. '</div>'
  222. },
  223. {
  224. name: 'strUpdateTime', displayName: '修改时间', width: "18%", enableFiltering: false ,
  225. cellTemplate: '<div>' +
  226. '<div class="ui-grid-cell-contents">{{row.entity.strUpdateTime}}</div>' +
  227. '</div>'
  228. },
  229. {
  230. name: '编辑',
  231. cellTemplate: '<div><div class="cl-effect-1 ui-grid-cell-contents caozuo">' +
  232. '<a ng-click="grid.appScope.down(row.entity)">下载</a>' +
  233. '<a ng-click="grid.appScope.remove(row.entity)">删除</a>' +
  234. '</div></div>',
  235. enableFiltering: false
  236. }
  237. ];
  238. scope.delete_version_password="";
  239. // 删除
  240. $scope.remove=function(listData){
  241. console.log(listData);
  242. $scope.versionId=listData.id;
  243. if($scope.myData.length==1){
  244. SweetAlert.swal({
  245. title: "删除失败",
  246. text: "只有一个历史版本,无法删除!",
  247. type: "error",
  248. confirmButtonColor: "#DD6B55"
  249. });
  250. }else{
  251. if(scope.file_manage=="ok"){
  252. SweetAlert.swal({
  253. title: "提示!",
  254. text: "该文件是"+listData.createUser.name+"上传的名为"+listData.fileName+"文件,请确认继续删除!",
  255. type: "warning",
  256. showCancelButton: true,
  257. confirmButtonColor: "#DD6B55",
  258. confirmButtonText: "继续删除",
  259. cancelButtonText: "取消操作",
  260. closeOnConfirm: true,
  261. closeOnCancel: false
  262. }, function (isConfirm) {
  263. if (isConfirm) {
  264. SweetAlert.swal({
  265. title: "提示!",
  266. text: "删除的数据不可恢复,请确认继续操作!",
  267. type: "warning",
  268. showCancelButton: true,
  269. confirmButtonColor: "#DD6B55",
  270. confirmButtonText: "继续删除",
  271. cancelButtonText: "取消操作",
  272. closeOnConfirm: true,
  273. closeOnCancel: false
  274. }, function (isConfirm) {
  275. if (isConfirm) {
  276. scope.delete_version_password="";
  277. scope.big_back=true;
  278. $('.deleteVersion_box').fadeIn();
  279. } else {
  280. SweetAlert.swal("操作取消", "数据安全", "error");
  281. }
  282. });
  283. } else {
  284. SweetAlert.swal("操作取消", "数据安全", "error");
  285. }
  286. });
  287. }else{
  288. if(listData.createUser.id==loginUser.id){
  289. SweetAlert.swal({
  290. title: "提示!",
  291. text: "该历史版本是"+listData.createUser.name+"上传的历史版本,请确认继续删除!",
  292. type: "warning",
  293. showCancelButton: true,
  294. confirmButtonColor: "#DD6B55",
  295. confirmButtonText: "继续删除",
  296. cancelButtonText: "取消操作",
  297. closeOnConfirm: true,
  298. closeOnCancel: false
  299. }, function (isConfirm) {
  300. if (isConfirm) {
  301. SweetAlert.swal({
  302. title: "提示!",
  303. text: "删除的数据不可恢复,请确认继续操作!",
  304. type: "warning",
  305. showCancelButton: true,
  306. confirmButtonColor: "#DD6B55",
  307. confirmButtonText: "继续删除",
  308. cancelButtonText: "取消操作",
  309. closeOnConfirm: true,
  310. closeOnCancel: false
  311. }, function (isConfirm) {
  312. if (isConfirm) {
  313. scope.delete_version_password="";
  314. scope.big_back=true;
  315. $('.deleteVersion_box').fadeIn();
  316. } else {
  317. SweetAlert.swal("操作取消", "数据安全", "error");
  318. }
  319. });
  320. } else {
  321. SweetAlert.swal("操作取消", "数据安全", "error");
  322. }
  323. });
  324. }else{
  325. SweetAlert.swal("操作失败", "你不是文档管理员,只能删除自己上传的文件!", "error");
  326. }
  327. }
  328. }
  329. }
  330. // 删除历史版本确定
  331. scope.delete_version_sure=function(){
  332. console.log(scope.delete_version_password);
  333. if(scope.delete_version_password==loginUser.pwd){
  334. var data={"userId":loginUser.id,"versionId":$scope.versionId};
  335. api_doc_data.delileVersion(data).then(function (response) {
  336. if (response.status == 200) {
  337. SweetAlert.swal("操作成功!", "数据已经被删除.", "success");
  338. scope.delete_version_password="";
  339. scope.big_back=false;
  340. $('.deleteVersion_box').fadeOut();
  341. $scope.getListData();
  342. } else {
  343. scope.delete_version_password="";
  344. scope.big_back=false;
  345. $('.deleteVersion_box').fadeOut();
  346. SweetAlert.swal("操作失败!", "数据暂时无法被删除,请稍候重试", "error");
  347. }
  348. });
  349. }else{
  350. SweetAlert.swal("删除失败!", "密码错误", "error");
  351. }
  352. }
  353. // 删除历史版本取消
  354. scope.close_version_delete_box=function(){
  355. scope.delete_version_password="";
  356. scope.big_back=false;
  357. $('.deleteVersion_box').fadeOut();
  358. SweetAlert.swal("操作取消", "数据安全", "error");
  359. }
  360. // 下载
  361. $scope.down=function(listData){
  362. console.log(listData);
  363. var data={
  364. fileVersion:listData.fileVersion,
  365. fileId:getData.id
  366. };
  367. var filename=listData.fileName+"."+getData.fileType;
  368. var wt_url_down = api_doc_data.download().getRequestedUrl()
  369. $http({
  370. url: wt_url_down,
  371. method: 'POST',
  372. data:data,
  373. headers: {
  374. 'Accept': '*/*'
  375. },
  376. responseType: 'arraybuffer'
  377. }).success(function (res) {
  378. // console.log(res);
  379. var file = new Blob([res], {
  380. type: 'application/octet-stream'
  381. });
  382. var fileURL = URL.createObjectURL(file);
  383. console.log(fileURL);
  384. var a = document.createElement('a');
  385. a.href = fileURL;
  386. a.target = '_blank';
  387. a.download = filename;
  388. document.body.appendChild(a);
  389. a.click();
  390. }
  391. ).error(function (data, status, headers, config) {
  392. });
  393. }
  394. $scope.getListData=function(){
  395. $scope.myData = [];
  396. var data={
  397. fileId:getData.id
  398. }
  399. api_doc_data.fileVersion(data).then(function(res){
  400. $scope.myData=res.list;
  401. for (var i = 0; i < $scope.myData.length; i++) {
  402. $scope.myData[i]['item'] = i + 1
  403. }
  404. $scope.gridOptions['totalItems'] = $scope.myData.length;
  405. })
  406. }
  407. $scope.getListData();
  408. $scope.cancel = function() {
  409. scope.refreshData('expand-right', scope.jry_filterdata);
  410. $modalInstance.dismiss('cancel');
  411. }
  412. },
  413. size: 'lg',
  414. resolve: {
  415. scope: function() {
  416. return $scope;
  417. },
  418. },
  419. backdrop:true
  420. });
  421. }
  422. // 文件下载
  423. $scope.doc_down=function(getData){
  424. var data={
  425. fileVersion:getData.fileVersion,
  426. fileId:getData.id
  427. };
  428. var filename=getData.fileName+"."+getData.fileType;
  429. var wt_url_down = api_doc_data.download().getRequestedUrl()
  430. $http({
  431. url: wt_url_down,
  432. method: 'POST',
  433. data:data,
  434. headers: {
  435. 'Accept': '*/*'
  436. },
  437. responseType: 'arraybuffer'
  438. }).success(function (res) {
  439. var file = new Blob([res], {
  440. type: 'application/octet-stream'
  441. });
  442. var fileURL = URL.createObjectURL(file);
  443. console.log(fileURL);
  444. var a = document.createElement('a');
  445. a.href = fileURL;
  446. a.target = '_blank';
  447. a.download = filename;
  448. document.body.appendChild(a);
  449. a.click();
  450. }
  451. ).error(function (data, status, headers, config) {
  452. });
  453. }
  454. //获取需更新文件的id
  455. $scope.new_file_add=function(data){
  456. $scope.new_file_id=data.id;
  457. }
  458. // 列表删除
  459. $scope.list_delete=function(data){
  460. console.log(data);
  461. $scope.list_doc_id=data.id;
  462. $scope.list_doc_name=data.fileName;
  463. $scope.list_doc_version=data.fileVersion;
  464. if($scope.file_manage=="ok"){
  465. SweetAlert.swal({
  466. title: "提示!",
  467. text: "该文件下有"+data.fileVersion+"条历史版本,删除的数据不可恢复,请确认继续操作!",
  468. type: "warning",
  469. showCancelButton: true,
  470. confirmButtonColor: "#DD6B55",
  471. confirmButtonText: "继续删除",
  472. cancelButtonText: "取消操作",
  473. closeOnConfirm: true,
  474. closeOnCancel: false
  475. }, function (isConfirm) {
  476. if (isConfirm) {
  477. SweetAlert.swal({
  478. title: "提示!",
  479. text: "删除的数据不可恢复,请确认继续操作!",
  480. type: "warning",
  481. showCancelButton: true,
  482. confirmButtonColor: "#DD6B55",
  483. confirmButtonText: "继续删除",
  484. cancelButtonText: "取消操作",
  485. closeOnConfirm: true,
  486. closeOnCancel: false
  487. }, function (isConfirm) {
  488. if (isConfirm) {
  489. $scope.delete_doc_password="";
  490. $scope.big_back=true;
  491. $('.deleteDoc_box').fadeIn();
  492. } else {
  493. SweetAlert.swal("操作取消", "数据安全", "error");
  494. }
  495. });
  496. } else {
  497. SweetAlert.swal("操作取消", "数据安全", "error");
  498. }
  499. });
  500. }else{
  501. if(data.createUser&&data.createUser.id==loginUser.id){
  502. SweetAlert.swal({
  503. title: "提示!",
  504. text: "该文件下有"+data.fileVersion+"条历史版本,删除的数据不可恢复,请确认继续操作!",
  505. type: "warning",
  506. showCancelButton: true,
  507. confirmButtonColor: "#DD6B55",
  508. confirmButtonText: "继续删除",
  509. cancelButtonText: "取消操作",
  510. closeOnConfirm: true,
  511. closeOnCancel: false
  512. }, function (isConfirm) {
  513. if (isConfirm) {
  514. SweetAlert.swal({
  515. title: "提示!",
  516. text: "删除的数据不可恢复,请确认继续操作!",
  517. type: "warning",
  518. showCancelButton: true,
  519. confirmButtonColor: "#DD6B55",
  520. confirmButtonText: "继续删除",
  521. cancelButtonText: "取消操作",
  522. closeOnConfirm: true,
  523. closeOnCancel: false
  524. }, function (isConfirm) {
  525. if (isConfirm) {
  526. $scope.delete_doc_password="";
  527. $scope.big_back=true;
  528. $('.deleteDoc_box').fadeIn();
  529. } else {
  530. SweetAlert.swal("操作取消", "数据安全", "error");
  531. }
  532. });
  533. } else {
  534. SweetAlert.swal("操作取消", "数据安全", "error");
  535. }
  536. });
  537. }else{
  538. SweetAlert.swal("操作失败", "你不是文档管理员,只能删除自己上传的文件!", "error");
  539. }
  540. }
  541. }
  542. $scope.selectRowFunction = function(data) {
  543. var filedata={
  544. model:{inspectionProcessActual:data}
  545. }
  546. $state.go('app.inspection.inspectListEditor', {
  547. "taskId": data.taskId,
  548. "processInstanceId": data.processInstanceId,
  549. "pdKey": data.processKey,
  550. "formUiEdit": data.inspection.inspectionTypeDTO.formUiEdit,
  551. "model" : JSON.stringify(filedata)
  552. });
  553. };
  554. $scope.lookFunction = function(data) {
  555. var filedata={
  556. model:{inspectionProcessActual:data}
  557. // model:data
  558. }
  559. $state.go('app.inspection.inspectListdetail', {
  560. "formKey": data.inspection.inspectionTypeDTO.formUiName,
  561. "dataId": data.id,
  562. "taskId": data.taskId,
  563. "processInstanceId": data.processInstanceId,
  564. "pdKey": data.processKey,
  565. // "formUiEdit": data.inspection.inspectionTypeDTO.formUiEdit,
  566. "formUiName": data.inspection.inspectionTypeDTO.formUiName,
  567. "model" : JSON.stringify(filedata)
  568. });
  569. };
  570. $scope.selected = {
  571. items: []
  572. }
  573. $scope.editted = {
  574. items: []
  575. }
  576. //分页控制
  577. $scope.gridOptions.onRegisterApi = function(gridApi) {
  578. gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) {
  579. var filterData = JSON.parse(sessionStorage.inspectListParameter);
  580. $scope.jry_filterdata.idx = newPage - 1;
  581. $scope.jry_filterdata.sum = pageSize;
  582. $scope.refreshData('expand-right', $scope.jry_filterdata);
  583. });
  584. // 复选框单选
  585. gridApi.selection.on.rowSelectionChanged($scope, function (data) {
  586. // console.log(data);
  587. if (data.isSelected) {
  588. data.grid.appScope.selected.items.push(data.entity);
  589. } else {
  590. for (var i = 0; i <= data.grid.appScope.selected.items.length; i++) {
  591. if (data.grid.appScope.selected.items[i].id == data.entity.id) {
  592. data.grid.appScope.selected.items.splice(i, 1);
  593. break;
  594. }
  595. }
  596. };
  597. // $scope.mySelectedRows = $scope.gridApi.selection.getSelectedRows();
  598. });
  599. // // 复选框全选
  600. // gridApi.selection.on.rowSelectionChangedBatch($scope, function(rows) {
  601. // var selectitem = [];
  602. // selectitem = angular.copy($scope.selected.items);
  603. // for (var j = 0; j < rows.length; j++) {
  604. // if (rows[j].isSelected == true) {
  605. // selectitem.push(rows[j].entity);
  606. // } else {
  607. // delete selectitem[j];
  608. // // selectitem.splice(i,1)
  609. // }
  610. // }
  611. // console.log($scope.selected.items);
  612. // $scope.selected.items = [];
  613. // for (var i = 0; i < selectitem.length; i++) {
  614. // if (selectitem[i]) {
  615. // $scope.selected.items.push(selectitem[i]);
  616. // }
  617. // }
  618. // console.log($scope.selected.items);
  619. // console.log(selectitem)
  620. // });
  621. }
  622. //本地存储
  623. sessionStorage.inspectListParameter = JSON.stringify(inspectListParameter);
  624. $scope.ldloading = {};
  625. $scope.removeFileNum=0;//删除文件夹下文件的个数
  626. $scope.refreshData = function(style, filterData) {
  627. $scope.ldloading[style.replace('-', '_')] = true;
  628. if (angular.isUndefined(filterData)) {
  629. filterData = defaultFilterData;
  630. }
  631. $scope.myData = [];
  632. $scope.memoryfilterData = filterData;
  633. api_doc_data.selectContent(filterData).then(function(data) {
  634. var myData = Restangular.stripRestangular(data);
  635. $scope.gridOptions.totalItems = myData.totalNum;
  636. if(myData.totalNum){
  637. $scope.removeFileNum=myData.totalNum;
  638. }else{
  639. $scope.removeFileNum=0
  640. }
  641. if (angular.isArray(myData.list)) {
  642. $scope.myData = myData.list;
  643. for (var i = 0; i < $scope.myData.length; i++) {
  644. //添加序号
  645. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum;
  646. }
  647. $scope.ldloading[style.replace('-', '_')] = false;
  648. }
  649. }, function() {
  650. $scope.ldloading[style.replace('-', '_')] = false;
  651. });
  652. };
  653. // 新增弹框
  654. $scope.new_file_id="";//更新文件的id
  655. $scope.add_file_name="";//新增文件夹名称
  656. $scope.add_parent="";//新增所选父名称
  657. $scope.edit_parent="";//修改所选父名称
  658. $scope.left_tree_select="";//左边树选择
  659. $scope.modify_data="";//修改树
  660. $scope.search_tree_ipt="";//左侧下拉树搜索框
  661. $scope.search_tree_data="";//左侧下拉树搜出来数据
  662. $scope.modify_file_name="";//修改内容
  663. $scope.big_back=false;//大蒙版
  664. $scope.addparent=false;//新增父类开关
  665. $scope.add_duoci=false;//防止新增保存多次
  666. $scope.delete_password="";//删除树确认删除密码
  667. $scope.delete_doc_password="";//删除文件确认密码
  668. // $scope.file_manage="";//文档管理员
  669. $scope.modify_open_file_name="";//修改导入文件夹名称
  670. $scope.isPersonal=1;//默认公共文档树
  671. $scope.ifPersonalListType="folder";//默认公共文档文件列表
  672. // $scope.add_box=false;//新增弹框
  673. //新增保存
  674. $scope.add_save=function(){
  675. // console.log($scope.add_file_parent)
  676. if($scope.addparent==false){
  677. var data={
  678. documentFolder:{
  679. name:$scope.add_file_name,
  680. "personal":$scope.isPersonal,
  681. createUser:{id:loginUser.id}
  682. }
  683. };
  684. if($scope.add_file_name==""){
  685. SweetAlert.swal({
  686. title: "操作失败!",
  687. text: "必填项不能为空",
  688. type: "error"
  689. })
  690. }else{
  691. $scope.add_duoci=true;
  692. if($scope.add_duoci==true){
  693. api_user_data.addData("documentFolder",data).then(function(res){
  694. // console.log(res);
  695. if(res.status==200){
  696. if(res.data.error){
  697. $scope.big_back=false;//大蒙版
  698. $scope.addparent=false;
  699. $scope.add_file_name="";
  700. $scope.add_parent="";
  701. $scope.modify_data="";
  702. $(".add_new_box").fadeOut();
  703. $(".parent_bring_box").fadeOut();
  704. $scope.try_async_load();
  705. SweetAlert.swal({
  706. title: "新增失败!",
  707. text: res.data.error,
  708. type: "error"
  709. })
  710. $scope.add_duoci=false;
  711. }else{
  712. $scope.big_back=false;//大蒙版
  713. $scope.addparent=false;
  714. $scope.add_file_name="";
  715. $scope.modify_data="";
  716. $(".add_new_box").fadeOut();
  717. $(".parent_bring_box").fadeOut();
  718. $scope.try_async_load();
  719. $scope.add_parent="";
  720. SweetAlert.swal({
  721. title: "新增成功!",
  722. type: "success",
  723. confirmButtonColor: "#007AFF"
  724. })
  725. $scope.add_duoci=false;
  726. }
  727. }else{
  728. $scope.big_back=false;//大蒙版
  729. $scope.addparent=false;
  730. $scope.add_file_name="";
  731. $scope.add_parent="";
  732. $scope.modify_data="";
  733. $(".add_new_box").fadeOut();
  734. $(".parent_bring_box").fadeOut();
  735. $scope.try_async_load();
  736. SweetAlert.swal({
  737. title: "新增失败!",
  738. text: "系统错误",
  739. type: "error"
  740. })
  741. $scope.add_duoci=false;
  742. }
  743. })
  744. }
  745. }
  746. }else if($scope.addparent==true){
  747. var data={
  748. documentFolder:{
  749. name:$scope.add_file_name,
  750. parent:{id:$scope.add_parent.id},
  751. "personal":$scope.isPersonal,
  752. createUser:{id:loginUser.id}
  753. }
  754. };
  755. if($scope.add_file_name==""||$scope.add_parent==""||$scope.add_parent==undefined){
  756. SweetAlert.swal({
  757. title: "操作失败!",
  758. text: "必填项不能为空",
  759. type: "error"
  760. })
  761. }else{
  762. $scope.add_duoci=true;
  763. if($scope.add_duoci==true){
  764. api_user_data.addData("documentFolder",data).then(function(res){
  765. if(res.status==200){
  766. if(res.data.error){
  767. $scope.big_back=false;//大蒙版
  768. $scope.addparent=false;
  769. $scope.add_file_name="";
  770. $scope.add_parent="";
  771. $scope.modify_data="";
  772. $(".add_new_box").fadeOut();
  773. $(".parent_bring_box").fadeOut();
  774. $scope.try_async_load();
  775. SweetAlert.swal({
  776. title: "新增失败!",
  777. text: res.data.error,
  778. type: "error"
  779. })
  780. $scope.add_duoci=false;
  781. }else{
  782. $scope.big_back=false;//大蒙版
  783. $scope.addparent=false;
  784. $scope.add_file_name="";
  785. $(".add_new_box").fadeOut();
  786. $(".parent_bring_box").fadeOut();
  787. $scope.try_async_load();
  788. $scope.add_parent="";
  789. $scope.modify_data="";
  790. SweetAlert.swal({
  791. title: "新增成功!",
  792. type: "success",
  793. confirmButtonColor: "#007AFF"
  794. })
  795. $scope.add_duoci=false;
  796. }
  797. }else{
  798. $scope.big_back=false;//大蒙版
  799. $scope.addparent=false;
  800. $scope.add_file_name="";
  801. $scope.add_parent="";
  802. $scope.modify_data="";
  803. $(".add_new_box").fadeOut();
  804. $(".parent_bring_box").fadeOut();
  805. $scope.try_async_load();
  806. SweetAlert.swal({
  807. title: "新增失败!",
  808. text: "系统错误",
  809. type: "error"
  810. })
  811. $scope.add_duoci=false;
  812. }
  813. })
  814. }
  815. }
  816. }
  817. }
  818. // 关闭新增弹框
  819. $scope.close_add_box=function(){
  820. $scope.big_back=false;//大蒙版
  821. // $scope.add_box=false;//新增弹框
  822. $(".add_new_box").fadeOut();
  823. $(".parent_bring_box").fadeOut();
  824. $scope.add_file_name="";
  825. $scope.addparent=false;
  826. }
  827. // 打开新增弹框
  828. $scope.open_add_box=function(){
  829. // console.log($scope.modify_data);
  830. $scope.big_back=true;//大蒙版
  831. // $scope.add_box=true;//新增弹框
  832. if($scope.modify_data){
  833. $scope.addparent=true;
  834. $scope.add_parent=$scope.modify_data;
  835. $(".parent_bring_box").fadeIn();
  836. }
  837. $(".add_new_box").fadeIn();
  838. }
  839. $scope.parent_bring_box_hide=function(){
  840. $(".parent_bring_box").fadeOut();
  841. $scope.add_parent=""
  842. }
  843. // 编辑
  844. // 打开编辑弹框
  845. $scope.open_modify_box=function(){
  846. if($scope.modify_data==""){
  847. SweetAlert.swal({
  848. title: "操作失败!",
  849. text: "请先选择某一项",
  850. type: "error"
  851. })
  852. }else{
  853. $scope.big_back=true;//大蒙版
  854. $(".modify_box").fadeIn();
  855. console.log($scope.modify_data);
  856. $scope.modify_file_name=$scope.modify_data.label;
  857. }
  858. }
  859. // console.log($scope);
  860. //编辑保存
  861. $scope.modify_save=function(){
  862. if($scope.modify_data.id==$scope.edit_parent.id){
  863. SweetAlert.swal({
  864. title: "修改失败!",
  865. text: "更换的父类不能为自己",
  866. type: "error"
  867. })
  868. }else{
  869. if($scope.editparent){
  870. var data={
  871. documentFolder:{
  872. name:$scope.modify_file_name,
  873. id:$scope.modify_data.id,
  874. "personal":$scope.isPersonal,
  875. parent:{"id":$scope.edit_parent.id}
  876. }
  877. }
  878. }else if($scope.modify_data.parent&&!$scope.editparent){
  879. var data={
  880. documentFolder:{
  881. name:$scope.modify_file_name,
  882. id:$scope.modify_data.id,
  883. parent:{"id":$scope.modify_data.parent.id},
  884. "personal":$scope.isPersonal
  885. }
  886. }
  887. }else{
  888. var data={
  889. documentFolder:{
  890. name:$scope.modify_file_name,
  891. id:$scope.modify_data.id,
  892. "personal":$scope.isPersonal
  893. }
  894. }
  895. }
  896. if($scope.modify_file_name==""){
  897. SweetAlert.swal({
  898. title: "修改失败!",
  899. text: "修改值不能为空",
  900. type: "error"
  901. })
  902. }else if($scope.editparent&&!$scope.edit_parent){
  903. SweetAlert.swal({
  904. title: "修改失败!",
  905. text: "父类名称不能为空",
  906. type: "error"
  907. })
  908. }else{
  909. api_user_data.updData("documentFolder",data).then(function(res){
  910. if(res.status==200){
  911. if(res.data.error){
  912. $scope.big_back=false;//大蒙版
  913. $scope.modify_data="";
  914. $(".modify_box").fadeOut();
  915. $scope.try_async_load();
  916. $scope.search_tree_ipt="";
  917. SweetAlert.swal({
  918. title: "修改失败!",
  919. text: res.data.error,
  920. type: "error"
  921. })
  922. }else{
  923. $scope.big_back=false;//大蒙版
  924. $scope.modify_data="";
  925. $(".modify_box").fadeOut();
  926. $scope.try_async_load();
  927. $scope.search_tree_ipt="";
  928. SweetAlert.swal({
  929. title: "修改成功!",
  930. type: "success",
  931. confirmButtonColor: "#007AFF"
  932. })
  933. }
  934. $scope.edit_parent="";//修改父类名称
  935. $scope.editparent=false; //修改父类按钮
  936. }else{
  937. $scope.big_back=false;//大蒙版
  938. $scope.edit_parent="";//修改父类名称
  939. $scope.editparent=false; //修改父类按钮
  940. $(".modify_box").fadeOut();
  941. SweetAlert.swal({
  942. title: "修改失败!",
  943. text: "系统错误",
  944. type: "error"
  945. })
  946. }
  947. })
  948. }
  949. }
  950. }
  951. // 公共文档tab点击
  952. $scope.public_file=function(){
  953. $scope.isPersonal=1;
  954. $scope.modify_data="";
  955. $scope.jry_filterdata={
  956. "idx":$scope.fenye,
  957. "sum":10,
  958. "userId":loginUser.id,
  959. "type":"folder"
  960. };
  961. $scope.refreshData('expand-right', $scope.jry_filterdata);
  962. $scope.try_async_load();
  963. }
  964. // 个人文档tab点击
  965. $scope.personal_file=function(){
  966. $scope.isPersonal=0;
  967. $scope.modify_data="";
  968. $scope.jry_filterdata={
  969. "idx":$scope.fenye,
  970. "sum":10,
  971. "userId":loginUser.id,
  972. "type":"personal"
  973. };
  974. $scope.refreshData('expand-right', $scope.jry_filterdata);
  975. $scope.try_async_load();
  976. }
  977. //关闭编辑弹框
  978. $scope.close_modify_box=function(){
  979. $scope.big_back=false;//大蒙版
  980. $scope.edit_parent="";//修改父类名称
  981. $scope.editparent=false;//修改父类按钮
  982. $(".modify_box").fadeOut()
  983. }
  984. //左侧下拉树搜索
  985. $scope.search_tree_fn=function(){
  986. var data = { "idx": 0, "sum": 1000 ,createUser:{id:loginUser.id},documentFolder:{"name":$scope.search_tree_ipt,createUser:{id:loginUser.id},"personal":$scope.isPersonal}};
  987. api_doc_data.fetchDataList('documentFolder', data).then(function(res){
  988. $scope.search_tree_data=res.list
  989. })
  990. }
  991. //左侧搜出来的树点击
  992. $scope.left_search_tree_cli=function(idx,val){
  993. $scope.left_search_index=idx;
  994. $scope.left_tree_select=val;
  995. $scope.modify_data=val;
  996. $scope.modify_data["label"]=val.name;
  997. $scope.jry_filterdata["folderId"]=val.id;
  998. $scope.refreshData('expand-right', $scope.jry_filterdata);
  999. $scope.selected.items=[];//复选框清空
  1000. // console.log($scope.modify_data)
  1001. }
  1002. //删除树
  1003. $scope.rmvData_tree=function(){
  1004. if($scope.file_manage=="ok"){
  1005. if($scope.modify_data==""){
  1006. SweetAlert.swal("操作失败!", "请先选择某一项", "error");
  1007. }else{
  1008. SweetAlert.swal({
  1009. title: "提示!",
  1010. text: "该文件夹下有"+$scope.removeFileNum+"条数据,删除的数据不可恢复,请确认继续操作!",
  1011. type: "warning",
  1012. showCancelButton: true,
  1013. confirmButtonColor: "#DD6B55",
  1014. confirmButtonText: "继续删除",
  1015. cancelButtonText: "取消操作",
  1016. closeOnConfirm: true,
  1017. closeOnCancel: false
  1018. }, function (isConfirm) {
  1019. if (isConfirm) {
  1020. SweetAlert.swal({
  1021. title: "提示!",
  1022. text: "删除的数据不可恢复,请确认继续操作!",
  1023. type: "warning",
  1024. showCancelButton: true,
  1025. confirmButtonColor: "#DD6B55",
  1026. confirmButtonText: "继续删除",
  1027. cancelButtonText: "取消操作",
  1028. closeOnConfirm: true,
  1029. closeOnCancel: false
  1030. }, function (isConfirm) {
  1031. if (isConfirm) {
  1032. $scope.delete_password="";
  1033. $scope.big_back=true;
  1034. $('.deleteTree_box').fadeIn();
  1035. } else {
  1036. SweetAlert.swal("操作取消", "数据安全", "error");
  1037. }
  1038. });
  1039. } else {
  1040. SweetAlert.swal("操作取消", "数据安全", "error");
  1041. }
  1042. });
  1043. }
  1044. }else{
  1045. SweetAlert.swal("操作失败", "你不是文档管理员,无法进行删除操作!", "error");
  1046. }
  1047. }
  1048. //删除树取消
  1049. $scope.close_delete_box=function(){
  1050. // console.log($scope.modify_data);
  1051. $scope.big_back=false;
  1052. $('.deleteTree_box').fadeOut();
  1053. SweetAlert.swal("操作取消", "数据安全", "error");
  1054. }
  1055. // 删除树确定
  1056. $scope.delete_sure=function(){
  1057. if(md5($scope.delete_password).toUpperCase()==loginUser.pwd){
  1058. if($scope.modify_data.children.length>0){
  1059. SweetAlert.swal("删除失败!", "请先删除该文件夹的子级", "error");
  1060. $scope.big_back=false;
  1061. $('.deleteTree_box').fadeOut();
  1062. }else{
  1063. api_user_data.rmvData("documentFolder",[$scope.modify_data.id]).then(function (response) {
  1064. if (response.status == 200) {
  1065. SweetAlert.swal("操作成功!", "数据已经被删除.", "success");
  1066. $scope.modify_data="";
  1067. $scope.myData = [];
  1068. $scope.removeFileNum=0;
  1069. $scope.try_async_load();
  1070. $scope.big_back=false;
  1071. $('.deleteTree_box').fadeOut();
  1072. } else {
  1073. SweetAlert.swal("操作失败!", "数据暂时无法被删除,请稍候重试", "error");
  1074. $scope.big_back=false;
  1075. $('.deleteTree_box').fadeOut();
  1076. }
  1077. });
  1078. }
  1079. }else{
  1080. SweetAlert.swal("删除失败!", "密码错误", "error");
  1081. }
  1082. }
  1083. // 删除文件确定
  1084. $scope.delete_doc_sure=function(){
  1085. if($scope.delete_doc_password==loginUser.pwd){
  1086. api_user_data.rmvData("documentFile",[$scope.list_doc_id]).then(function (response) {
  1087. if (response.status == 200) {
  1088. SweetAlert.swal("操作成功!", "数据已经被删除.", "success");
  1089. $scope.delete_doc_password="";
  1090. $scope.big_back=false;
  1091. $('.deleteDoc_box').fadeOut();
  1092. $scope.refreshData('expand-right', $scope.jry_filterdata);
  1093. } else {
  1094. $scope.delete_doc_password="";
  1095. $scope.big_back=false;
  1096. $('.deleteDoc_box').fadeOut();
  1097. SweetAlert.swal("操作失败!", "数据暂时无法被删除,请稍候重试", "error");
  1098. }
  1099. });
  1100. }else{
  1101. SweetAlert.swal("删除失败!", "密码错误", "error");
  1102. }
  1103. }
  1104. //删除文件取消
  1105. $scope.close_doc_delete_box=function(){
  1106. $scope.delete_doc_password="";
  1107. $scope.big_back=false;
  1108. $('.deleteDoc_box').fadeOut();
  1109. SweetAlert.swal("操作取消", "数据安全", "error");
  1110. }
  1111. // 文档格式下拉框
  1112. $scope.get_file_format=function(){
  1113. var data={
  1114. "type":"list",
  1115. "key":"file_type"
  1116. }
  1117. api_wechatfile.getDictionary(data).then(function(res){
  1118. $scope.file_format=res
  1119. })
  1120. }
  1121. $scope.get_file_format()
  1122. //更换目录打开
  1123. $scope.open_files_change=function(){
  1124. console.log($scope.selected.items);
  1125. if($scope.selected.items.length==0){
  1126. SweetAlert.swal({
  1127. title: "操作失败!",
  1128. text: "请勾选至少一条文件",
  1129. type: "error"
  1130. })
  1131. }else{
  1132. var modalInstance = $modal.open({
  1133. backdrop: false,
  1134. templateUrl: 'assets/views/customform/tpl/ui-jry_files_change.html',
  1135. controller: function($scope, scope, $modalInstance,api_doc_data,SweetAlert) {
  1136. // console.log(scope.selected.items);
  1137. $scope.files_num=scope.selected.items.length;//文件夹的个数
  1138. $scope.search_tree_ipt="";//搜索框
  1139. $scope.change_file_name="";//更换的文件夹名称
  1140. $scope.change_file_id="";//更换的文件夹id
  1141. //下拉树搜索
  1142. $scope.search_tree_fn=function(){
  1143. var data = { "idx": 0, "sum": 1000 ,createUser:{id:loginUser.id},documentFolder:{"name":$scope.search_tree_ipt,createUser:{id:loginUser.id},"personal":scope.isPersonal}};
  1144. api_doc_data.fetchDataList('documentFolder', data).then(function(res){
  1145. $scope.search_tree_data=res.list
  1146. })
  1147. }
  1148. //搜出来的树点击
  1149. $scope.left_search_tree_cli=function(idx,val){
  1150. $scope.left_search_index=idx;
  1151. $scope.change_file_name=val.label;//更换的文件夹名称
  1152. $scope.change_file_id=val.id;//更换的文件夹id
  1153. }
  1154. // 选中的文件夹
  1155. $scope.my_tree_handler=function(data){
  1156. console.log(data);
  1157. $scope.change_file_name=data.label;//更换的文件夹名称
  1158. $scope.change_file_id=data.id;//更换的文件夹id
  1159. }
  1160. function convertListToTree(data, treeMap) {
  1161. var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
  1162. var root = null; //Initially set our loop to null
  1163. //loop over data
  1164. for (var i = 0; i < data.length; i++) {
  1165. var datum = data[i];
  1166. //each node will have children, so let's give it a "children" poperty
  1167. datum.children = [];
  1168. //add an entry for this node to the map so that any future children can
  1169. //lookup the parent
  1170. idToNodeMap[datum.id] = datum;
  1171. //Does this node have a parent?
  1172. // console.log("datum="+JSON.stringify(datum))
  1173. if (typeof datum.parent === "undefined"||datum.parent===null) {
  1174. //Doesn't look like it, so this node is the root of the tree
  1175. root = datum;
  1176. treeMap[datum.id] = root;
  1177. } else {
  1178. //This node has a parent, so let's look it up using the id
  1179. parentNode = idToNodeMap[datum.parent.id];
  1180. //We don't need this property, so let's delete it.
  1181. // delete datum.parent;
  1182. //Let's add the current node as a child of the parent node.
  1183. parentNode.children.push(datum);
  1184. }
  1185. }
  1186. return root;
  1187. }
  1188. function convertParentToChildList(data) {
  1189. var treeMap = {};
  1190. var list = [];
  1191. convertListToTree(data, treeMap);
  1192. angular.forEach(treeMap, function(item) {
  1193. list.push(item);
  1194. });
  1195. return list;
  1196. }
  1197. $scope.parentdata = {};
  1198. $scope.try_async_load = function() {
  1199. $scope.my_data = [];
  1200. $scope.doing_async = true;
  1201. var data = { "idx": 0, "sum": 1000 ,createUser:{id:loginUser.id},documentFolder:{"personal":scope.isPersonal,createUser:{id:loginUser.id}}};
  1202. api_doc_data.fetchDataList('documentFolder', data).then(function(response) {
  1203. var data = response.list;
  1204. var objects = [];
  1205. $scope.parentdata = data;
  1206. for (var i = 0; i < data.length; i++) {
  1207. var object = {};
  1208. object.id = data[i].id;
  1209. if (angular.isDefined(data[i].parent)) {
  1210. object.parent = data[i].parent;
  1211. }
  1212. if (angular.isDefined(data[i].hasArea)) {
  1213. object.hasArea = data[i].hasArea;
  1214. }
  1215. if (angular.isDefined(data[i].hasSimple)) {
  1216. object.hasSimple = data[i].hasSimple;
  1217. }
  1218. if (angular.isDefined(data[i].group)) {
  1219. object.group = data[i].group;
  1220. }
  1221. if (angular.isDefined(data[i].priority)) {
  1222. object.priority = data[i].priority;
  1223. }
  1224. object.label = data[i].name;
  1225. // object.actions = data[i][3]; //权限部分
  1226. // object.group = "1";
  1227. // object.user = "2";
  1228. object.state = {
  1229. "opened": true
  1230. };
  1231. object.typeName = "type";
  1232. // if()
  1233. // if (object.actions.indexOf("2") >= 0) { //知识库类型 具有增加权限--系统管理员
  1234. $scope.showAddSolutionType = true;
  1235. // }
  1236. // if (object.actions.indexOf("5") >= 0) { //知识库类型 具有授权权限--系统管理员
  1237. $scope.showReviewKnowledgeType = true;
  1238. // }
  1239. objects.push(object);
  1240. }
  1241. $scope.my_data = convertParentToChildList(objects);
  1242. $scope.tree_data = angular.copy($scope.my_data);
  1243. // if ($scope.my_data.length > 0) {
  1244. $scope.doing_async = false;
  1245. // }
  1246. });
  1247. };
  1248. $scope.try_async_load();
  1249. $scope.ok = function(item) {
  1250. // console.log(scope.selected.items);
  1251. if($scope.change_file_id==""){
  1252. SweetAlert.swal({
  1253. title: "操作失败!",
  1254. text: "请选择需要更换的文件夹",
  1255. type: "error"
  1256. })
  1257. }else{
  1258. var selectIdsArr=[];
  1259. for(var i=0;i<scope.selected.items.length;i++){
  1260. selectIdsArr.push(scope.selected.items[i].id)
  1261. };
  1262. api_doc_data.jry_filesChange($scope.change_file_id,selectIdsArr).then(function(res){
  1263. if(res.status==200){
  1264. SweetAlert.swal({
  1265. title: "更换成功!",
  1266. type: "success",
  1267. confirmButtonColor: "#007AFF"
  1268. }, function() {
  1269. $modalInstance.dismiss('cancel');
  1270. scope.refreshData('expand-right', scope.jry_filterdata);
  1271. });
  1272. }else{
  1273. SweetAlert.swal({
  1274. title: "更换失败!",
  1275. text: "系统错误,请稍后再试!",
  1276. type: "error"
  1277. })
  1278. }
  1279. })
  1280. }
  1281. };
  1282. $scope.cancel = function() {
  1283. $modalInstance.dismiss('cancel');
  1284. }
  1285. },
  1286. size: 'sm',
  1287. resolve: {
  1288. scope: function() {
  1289. return $scope;
  1290. },
  1291. },
  1292. backdrop:true
  1293. });
  1294. }
  1295. }
  1296. //导入文件打开
  1297. $scope.open_import=function(){
  1298. console.log($scope.modify_data);
  1299. if($scope.modify_data==""){
  1300. SweetAlert.swal({
  1301. title: "操作失败!",
  1302. text: "请选择需导入文件夹",
  1303. type: "error"
  1304. })
  1305. }else{
  1306. var modalInstance = $modal.open({
  1307. backdrop: false,
  1308. templateUrl: 'assets/views/customform/tpl/ui-jry_file_important.html',
  1309. controller: function($scope, scope, $modalInstance,api_doc_data,SweetAlert) {
  1310. var loginUser = $rootScope.user;
  1311. $scope.langs = i18nService.getAllLangs();
  1312. $scope.lang = 'zh-cn';
  1313. i18nService.setCurrentLang($scope.lang);
  1314. $scope.gridOptions = {};
  1315. $scope.gridOptions.data = 'myData';
  1316. $scope.gridOptions.enableColumnResizing = true;
  1317. $scope.gridOptions.enableGridMenu = false;
  1318. $scope.gridOptions.enableRowSelection = true;
  1319. $scope.gridOptions.showGridFooter = true;
  1320. $scope.gridOptions.showColumnFooter = false;
  1321. $scope.gridOptions.fastWatch = true;
  1322. $scope.gridOptions.useExternalFiltering = true;
  1323. $scope.gridOptions.useExternalPagination = true;
  1324. $scope.gridOptions.paginationPageSizes = [50];
  1325. $scope.gridOptions.paginationPageSize = 50;
  1326. $scope.gridOptions.multiSelect = true;
  1327. $scope.gridOptions.rowIdentity = function (row) {
  1328. return row.id;
  1329. };
  1330. $scope.gridOptions.getRowIdentity = function (row) {
  1331. return row.id;
  1332. };
  1333. $scope.gridOptions.columnDefs = [
  1334. {
  1335. name: 'file.name',
  1336. displayName: '文档名称',
  1337. width: "40%",
  1338. enableFiltering: false ,
  1339. cellTemplate: '<div>' +
  1340. '<div class="ui-grid-cell-contents">{{row.entity.file.name.split(".")[0]}}</div>' +
  1341. '</div>'
  1342. },
  1343. {
  1344. name: 'file.type',
  1345. displayName: '文档格式',
  1346. width: '10%',
  1347. enableFiltering: false,
  1348. cellTemplate: '<div>' +
  1349. '<div class="ui-grid-cell-contents">{{row.entity.file.name.split(".")[row.entity.file.name.split(".").length-1]}}</div>' +
  1350. '</div>'
  1351. },
  1352. {
  1353. name: 'file.size', displayName: '大小', width: "10%", enableFiltering: false ,
  1354. cellTemplate: '<div>' +
  1355. // '<div class="ui-grid-cell-contents">{{row.entity.file.size/1024/1024|number:2}}MB</div>' +
  1356. '<div class="ui-grid-cell-contents">{{row.entity.file.size/1024/1024|number:2}}MB</div>' +
  1357. '</div>'
  1358. },
  1359. {
  1360. name: 'file.state',
  1361. displayName: '上传状态',
  1362. width: '10%',
  1363. enableFiltering: false,
  1364. cellTemplate: '<div>' +
  1365. '<span ng-show="row.entity.serveSuccess==true"><i class="glyphicon glyphicon-ok"></i></span>' +
  1366. // '<span ng-show="row.entity.isCancel"><i class="glyphicon glyphicon-ban-circle"></i></span>' +
  1367. '<span ng-show="row.entity.serveSuccess==false"><i class="glyphicon glyphicon-remove"></i></span>' +
  1368. '</div>'
  1369. },
  1370. {
  1371. name: '编辑',
  1372. cellTemplate: '<div><div class="cl-effect-1 ui-grid-cell-contents">' +
  1373. '<a ng-click="grid.appScope.edit(row.entity)">编辑</a>' +
  1374. '<a ng-click="grid.appScope.remove(row.entity)">删除</a>' +
  1375. '</div></div>',
  1376. enableFiltering: false
  1377. }
  1378. ];
  1379. // 编辑
  1380. $scope.edit=function(data){
  1381. // console.log(data);
  1382. scope.big_back=true;//大蒙版
  1383. $(".modify_file_box").fadeIn();
  1384. $scope.idx=$scope.myData.indexOf(data);//获取索引
  1385. var fileArr=data.file.name.split(".");
  1386. $scope.importFileType=fileArr[fileArr.length-1];
  1387. // console.log($scope.importFileType);
  1388. // console.log(fileArr);
  1389. // console.log(fileArr.length);
  1390. var fileNameArr=fileArr.slice(0,fileArr.length-1);
  1391. // console.log(fileNameArr);
  1392. scope.modify_open_file_name=fileNameArr.join(".");
  1393. // console.log(scope.modify_open_file_name);
  1394. }
  1395. //关闭文件夹编辑弹框
  1396. scope.close_modify_file_box=function(){
  1397. scope.big_back=false;//大蒙版
  1398. $(".modify_file_box").fadeOut()
  1399. }
  1400. // 文件夹名称编辑保存
  1401. scope.modify_file_save=function(){
  1402. if(scope.modify_open_file_name){
  1403. $scope.myData[$scope.idx].file.name=scope.modify_open_file_name+"."+$scope.importFileType;
  1404. console.log($scope.myData);
  1405. scope.big_back=false;//大蒙版
  1406. $(".modify_file_box").fadeOut()
  1407. }else{
  1408. SweetAlert.swal({
  1409. title: "操作失败!",
  1410. text: "名称不能为空",
  1411. type: "error"
  1412. })
  1413. }
  1414. }
  1415. // 删除
  1416. $scope.remove=function(data){
  1417. $scope.myData.splice($scope.myData.indexOf(data),1);
  1418. $scope.gridOptions.totalItems=$scope.myData.length
  1419. }
  1420. $scope.myData = [];
  1421. //导入文件
  1422. console.log(loginUser.id);
  1423. var importUploader = $scope.importUploader = new FileUploader({
  1424. url:api_doc_data.jry_uploadDoc(scope.modify_data.id,loginUser.id).getRequestedUrl()
  1425. });
  1426. importUploader.filters.push({
  1427. name: 'customFilter',
  1428. fn: function(item /*{File|FileLikeObject}*/ , options) {
  1429. return this.queue.length < 50;
  1430. }
  1431. });
  1432. $scope.ceshi=function(){
  1433. console.log($scope.importUploader)
  1434. }
  1435. $scope.import = function(style) {
  1436. importUploader.onBeforeUploadItem = function(item) {
  1437. angular.extend(item.headers, $rootScope.getSession());
  1438. item.formData.push({ 'filename': item.file.name });
  1439. item.formData.push({ 'type': "dataImport" });
  1440. console.info('onBeforeUploadItem', item);
  1441. };
  1442. importUploader.uploadAll();
  1443. }
  1444. // CALLBACKS
  1445. importUploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/ , filter, options) {
  1446. console.info('onWhenAddingFileFailed', item, filter, options);
  1447. };
  1448. importUploader.onAfterAddingFile = function(fileItem) {
  1449. console.info('onAfterAddingFile', fileItem);
  1450. $scope.myData=$scope.importUploader.queue;
  1451. angular.forEach($scope.myData,function(item,index){
  1452. $scope.myData[index].id=index;
  1453. })
  1454. console.log($scope.myData);
  1455. $scope.gridOptions.totalItems=$scope.myData.length
  1456. };
  1457. importUploader.onAfterAddingAll = function(addedFileItems) {
  1458. console.info('onAfterAddingAll', addedFileItems);
  1459. };
  1460. importUploader.onBeforeUploadItem = function(item) {
  1461. console.info('onBeforeUploadItem', item);
  1462. };
  1463. importUploader.onProgressItem = function(fileItem, progress) {
  1464. console.info('onProgressItem', fileItem, progress);
  1465. };
  1466. importUploader.onProgressAll = function(progress) {
  1467. console.info('onProgressAll', progress);
  1468. };
  1469. importUploader.onSuccessItem = function(fileItem, response, status, headers) {
  1470. console.info('onSuccessItem', fileItem, response, status, headers);
  1471. if(response.status==200){
  1472. $scope.myData[$scope.myData.indexOf(fileItem)]["serveSuccess"]=true
  1473. }else{
  1474. $scope.myData[$scope.myData.indexOf(fileItem)]["serveSuccess"]=false
  1475. }
  1476. };
  1477. importUploader.onErrorItem = function(fileItem, response, status, headers) {
  1478. console.info('onErrorItem', fileItem, response, status, headers);
  1479. $scope.myData[$scope.myData.indexOf(fileItem)]["serveSuccess"]=false
  1480. };
  1481. importUploader.onCancelItem = function(fileItem, response, status, headers) {
  1482. console.info('onCancelItem', fileItem, response, status, headers);
  1483. };
  1484. $scope.file_state_ok=false;
  1485. $scope.file_state_false=false;
  1486. importUploader.onCompleteItem = function(fileItem, response, status, headers) {
  1487. console.info('onCompleteItem', fileItem, response, status, headers);
  1488. };
  1489. importUploader.onCompleteAll = function() {
  1490. console.log($scope.myData);
  1491. console.info('onCompleteAll');
  1492. scope.doc_loading=false;
  1493. $modalInstance.dismiss('cancel');
  1494. scope.refreshData('expand-right', scope.jry_filterdata);
  1495. };
  1496. $scope.file_name=scope.modify_data.label;
  1497. $scope.ok = function(item) {
  1498. if($scope.myData==0){
  1499. SweetAlert.swal({
  1500. title: "操作失败!",
  1501. text: "请导入文件",
  1502. type: "error"
  1503. })
  1504. }else{
  1505. scope.doc_loading=true;
  1506. $scope.import();
  1507. // $timeout(function(){
  1508. // },5000)
  1509. }
  1510. };
  1511. $scope.cancel = function() {
  1512. $modalInstance.dismiss('cancel');
  1513. }
  1514. },
  1515. size: 'lg',
  1516. resolve: {
  1517. scope: function() {
  1518. return $scope;
  1519. },
  1520. },
  1521. backdrop:true
  1522. });
  1523. }
  1524. }
  1525. $scope.doc_loading=false;
  1526. // 文档格式
  1527. $scope.fileTypeObj={};
  1528. // 列表搜索
  1529. $scope.list_search=function(){
  1530. if($scope.fileTypeObj.fileType1&&$scope.fileTypeObj.fileType1.name){
  1531. $scope.jry_filterdata.fileType=$scope.fileTypeObj.fileType1.name
  1532. }
  1533. $scope.refreshData('expand-right', $scope.jry_filterdata);
  1534. }
  1535. // 清空
  1536. $scope.clean=function(){
  1537. $scope.jry_filterdata.fileName="";
  1538. $scope.jry_filterdata.content="";
  1539. $scope.fileTypeObj={};
  1540. $scope.jry_filterdata.fileType="";
  1541. $scope.refreshData('expand-right', $scope.jry_filterdata);
  1542. }
  1543. // 更新
  1544. var newUploader = $scope.newUploader = new FileUploader({
  1545. url:api_doc_data.newDoc().getRequestedUrl()
  1546. });
  1547. // newUploader.filters.push({
  1548. // name: 'customFilter',
  1549. // fn: function(item /*{File|FileLikeObject}*/ , options) {
  1550. // return this.queue.length < 2;
  1551. // }
  1552. // });
  1553. $scope.newUpload = function(style) {
  1554. newUploader.onBeforeUploadItem = function(item) {
  1555. angular.extend(item.headers, $rootScope.getSession());
  1556. item.formData.push({ 'filename': item.file.name });
  1557. item.formData.push({ 'type': "dataImport" });
  1558. console.info('onBeforeUploadItem', item);
  1559. };
  1560. newUploader.uploadAll();
  1561. }
  1562. newUploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/ , filter, options) {
  1563. console.info('onWhenAddingFileFailed', item, filter, options);
  1564. };
  1565. newUploader.onAfterAddingFile = function(fileItem) {
  1566. console.info('onAfterAddingFile', fileItem);
  1567. if(fileItem.file.size/1024/1024>60){
  1568. SweetAlert.swal({
  1569. title: "添加附件失败",
  1570. text: "文件过大不能上传!",
  1571. type: "error"
  1572. });
  1573. }else{
  1574. fileItem.url=fileItem.url+"/"+$scope.new_file_id+"/"+loginUser.id;
  1575. $scope.newUpload();
  1576. $scope.doc_loading=true;
  1577. }
  1578. };
  1579. newUploader.onAfterAddingAll = function(addedFileItems) {
  1580. console.info('onAfterAddingAll', addedFileItems);
  1581. };
  1582. newUploader.onBeforeUploadItem = function(item) {
  1583. console.info('onBeforeUploadItem', item);
  1584. };
  1585. newUploader.onProgressItem = function(fileItem, progress) {
  1586. console.info('onProgressItem', fileItem, progress);
  1587. };
  1588. newUploader.onProgressAll = function(progress) {
  1589. console.info('onProgressAll', progress);
  1590. };
  1591. newUploader.onSuccessItem = function(fileItem, response, status, headers) {
  1592. console.info('onSuccessItem', fileItem, response, status, headers);
  1593. console.log(response);
  1594. if(response.status == 200){
  1595. SweetAlert.swal({
  1596. title: "文件上传成功!",
  1597. confirmButtonColor: "#007AFF",
  1598. type: "success"
  1599. })
  1600. $scope.doc_loading=false;
  1601. $scope.refreshData('expand-right', $scope.jry_filterdata);
  1602. }else{
  1603. SweetAlert.swal({
  1604. title: "文件上传失败!",
  1605. text: response.error,
  1606. type: "error"
  1607. })
  1608. $scope.doc_loading=false;
  1609. $scope.refreshData('expand-right', $scope.jry_filterdata);
  1610. }
  1611. };
  1612. newUploader.onErrorItem = function(fileItem, response, status, headers) {
  1613. $scope.doc_loading=false;
  1614. SweetAlert.swal({
  1615. title: "文件上传失败!",
  1616. text: "系统错误",
  1617. type: "error"
  1618. })
  1619. console.info('onErrorItem', fileItem, response, status, headers);
  1620. };
  1621. newUploader.onCancelItem = function(fileItem, response, status, headers) {
  1622. console.info('onCancelItem', fileItem, response, status, headers);
  1623. };
  1624. newUploader.onCompleteItem = function(fileItem, response, status, headers) {
  1625. console.info('onCompleteItem', fileItem, response, status, headers);
  1626. };
  1627. newUploader.onCompleteAll = function() {
  1628. console.info('onCompleteAll');
  1629. };
  1630. //
  1631. // 树
  1632. var apple_selected, tree, treedata_avm, my_datatreedata_geography,parentNode;
  1633. $scope.adddata = {};
  1634. // $scope.add_file_parent={};
  1635. var childdata = {};
  1636. $scope.fenye=0;
  1637. $scope.jry_filterdata={
  1638. "idx":$scope.fenye,
  1639. "sum":10,
  1640. "userId":loginUser.id,
  1641. "type":"folder"
  1642. };
  1643. //左边树
  1644. $scope.my_tree_handler = function(branch) {
  1645. $scope.left_tree_select=branch;
  1646. $scope.modify_data=$scope.left_tree_select;
  1647. $scope.jry_filterdata["folderId"]=branch.id;
  1648. $scope.refreshData('expand-right', $scope.jry_filterdata);
  1649. $scope.selected.items=[];//复选框清空
  1650. };
  1651. // 新增父类返回
  1652. $scope.onAddFilterCallback = function(item){
  1653. $(".parent_bring_box").fadeOut();
  1654. $scope.add_parent=item;
  1655. }
  1656. // 修改父类返回
  1657. $scope.onEditFilterCallback=function(item){
  1658. $scope.edit_parent=item;
  1659. }
  1660. // function convertListToTree(data, treeMap) {
  1661. // var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
  1662. // var root = null; //Initially set our loop to null
  1663. // console.log(treeMap);
  1664. // for (var i = 0; i < data.length; i++) {
  1665. // var datum = data[i];
  1666. // //each node will have children, so let's give it a "children" poperty
  1667. // datum.children = [];
  1668. // //add an entry for this node to the map so that any future children can
  1669. // //lookup the parent
  1670. // idToNodeMap[datum.id] = datum;
  1671. // //Does this node have a parent?
  1672. // // console.log("datum="+JSON.stringify(datum))
  1673. // if (typeof datum.parent === "undefined"||datum.parent===null) {
  1674. // //Doesn't look like it, so this node is the root of the tree
  1675. // root = datum;
  1676. // treeMap[datum.id] = root;
  1677. // } else {
  1678. // //This node has a parent, so let's look it up using the id
  1679. // parentNode = idToNodeMap[datum.parent.id];
  1680. // //We don't need this property, so let's delete it.
  1681. // // delete datum.parent;
  1682. // //Let's add the current node as a child of the parent node.
  1683. // parentNode.children.push(datum);
  1684. // }
  1685. // }
  1686. // console.log(root);
  1687. // console.log(treeMap);
  1688. // console.log(typeof(treeMap));
  1689. // return root;
  1690. // }
  1691. // function convertParentToChildList(data) {
  1692. // var treeMap = {};
  1693. // var list = [];
  1694. // convertListToTree(data, treeMap);
  1695. // console.log(treeMap);
  1696. // angular.forEach(treeMap, function(item) {
  1697. // list.push(item);
  1698. // });
  1699. // console.log(list);
  1700. // return list;
  1701. // }
  1702. function convertParentToChildList(data) {
  1703. var treeMap = [];
  1704. var list = [];
  1705. var idToNodeMap = {};
  1706. var root = null;
  1707. for (var i = 0; i < data.length; i++) {
  1708. var datum = data[i];
  1709. datum.children = [];
  1710. idToNodeMap[datum.id] = datum;
  1711. if (typeof datum.parent === "undefined"||datum.parent===null) {
  1712. root = datum;
  1713. treeMap.push(root);
  1714. } else {
  1715. parentNode = idToNodeMap[datum.parent.id];
  1716. parentNode.children.push(datum);
  1717. }
  1718. }
  1719. return treeMap;
  1720. }
  1721. $scope.parentdata = {};
  1722. $scope.try_async_load = function() {
  1723. $scope.my_data = [];
  1724. $scope.doing_async = true;
  1725. var data = { "idx": 0, "sum": 1000 ,createUser:{id:loginUser.id},documentFolder:{"personal":$scope.isPersonal,createUser:{id:loginUser.id}}};
  1726. api_doc_data.fetchDataList('documentFolder', data).then(function(response) {
  1727. console.log(response);
  1728. var data = response.list;
  1729. var objects = [];
  1730. $scope.parentdata = data;
  1731. for (var i = 0; i < data.length; i++) {
  1732. var object = {};
  1733. object.id = data[i].id;
  1734. if (angular.isDefined(data[i].parent)) {
  1735. object.parent = data[i].parent;
  1736. }
  1737. if (angular.isDefined(data[i].hasArea)) {
  1738. object.hasArea = data[i].hasArea;
  1739. }
  1740. if (angular.isDefined(data[i].hasSimple)) {
  1741. object.hasSimple = data[i].hasSimple;
  1742. }
  1743. if (angular.isDefined(data[i].group)) {
  1744. object.group = data[i].group;
  1745. }
  1746. if (angular.isDefined(data[i].priority)) {
  1747. object.priority = data[i].priority;
  1748. }
  1749. object.label = data[i].name;
  1750. // object.actions = data[i][3]; //权限部分
  1751. // object.group = "1";
  1752. // object.user = "2";
  1753. object.state = {
  1754. "opened": true
  1755. };
  1756. object.typeName = "type";
  1757. // if()
  1758. // if (object.actions.indexOf("2") >= 0) { //知识库类型 具有增加权限--系统管理员
  1759. $scope.showAddSolutionType = true;
  1760. // }
  1761. // if (object.actions.indexOf("5") >= 0) { //知识库类型 具有授权权限--系统管理员
  1762. $scope.showReviewKnowledgeType = true;
  1763. // }
  1764. objects.push(object);
  1765. }
  1766. $scope.my_data = convertParentToChildList(objects);
  1767. $scope.tree_data = angular.copy($scope.my_data);
  1768. console.log($scope.tree_data);
  1769. // if ($scope.my_data.length > 0) {
  1770. $scope.doing_async = false;
  1771. // }
  1772. });
  1773. };
  1774. $scope.closethis = function(formdata) {
  1775. formdata.category = "";
  1776. formdata.parent.category = "";
  1777. };
  1778. $scope.try_async_load();
  1779. $scope.refreshData('expand-right', $scope.jry_filterdata);
  1780. }]);