jry_fileCtrl.js 81 KB

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