recordAchievementsInfoCtrl.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365
  1. angular.module('push')
  2. .controller('recordAchievementsInfoCtrl', function ($scope,$stateParams,dataToolsService,UtilService,ConstantService,
  3. $timeout,$ionicActionSheet,UserService) {
  4. // 对应的是0新增/1编辑
  5. $scope.isedit = $stateParams.isedit;
  6. if($scope.isedit == 0){
  7. $scope.pagetitle = "录入成果信息";
  8. }else
  9. if($scope.isedit == 1){
  10. $scope.pagetitle = "编辑成果信息";
  11. $timeout(function () {
  12. $("#orgname").prop("disabled", true);
  13. },300);
  14. }else
  15. // 复制并新建
  16. if($scope.isedit == 2){
  17. $scope.pagetitle = "复制并新建成果信息";
  18. $timeout(function () {
  19. $("#orgname").prop("disabled", true);
  20. },300);
  21. }
  22. //企业基本信息
  23. $scope.connEnterpriseModuleModel = {
  24. id: 0,
  25. userid: 0,
  26. usercomefrom: "",
  27. claid: 0,// 选中的文件夹id
  28. taskid: 0,// 任务id
  29. yearsetupid: 0,
  30. yearsetupname: "",
  31. templettype: $stateParams.pageid,// 模板id
  32. orgname: "",
  33. orglogo: "",// 企业logo
  34. orgtype: ConstantService.UNITTYPE_10104,//机构类型:默认企业
  35. orgcontent: "",// 企业简介
  36. orgcontact: "",
  37. orgcontactnum: "",
  38. categoryid: "",
  39. categoryname: "",
  40. orggradecode: 0,// 企业研发机构等级
  41. ishigh: 0,// 是否高企
  42. remark: "",// 备注
  43. userModel: {
  44. userid: 0 // 用户id
  45. },
  46. organizationInfo: {
  47. id: 0,
  48. orgtype: ConstantService.UNITTYPE_10104,//机构类型
  49. name: "",
  50. about: "",// 机构简介
  51. contact: "",
  52. contactnum: "",
  53. categoryid: "",
  54. categoryname: "",
  55. rdinstitutiontype: 0,// 企业研发机构等级
  56. rdinstitutiontypename: "",// 企业研发机构等级
  57. ishigh: 0,// 是否高企
  58. logo: "",// 企业logo
  59. high:true,
  60. ishighInfo:"是",
  61. images: "",// 传到后台的图片json
  62. delimages: "",// 删除的图片
  63. imagelist: []// app端图片插件进行传递的变量
  64. }
  65. };
  66. $scope.deldemandInfo = "";
  67. // 保存基本信息需要的格式
  68. $scope.requestModel= {
  69. data: {},
  70. node: ""
  71. };
  72. // 获取走访录入界面的传参
  73. $scope.rolePageModel=
  74. {
  75. //TODO
  76. id: $stateParams.pageid,// 模版id
  77. orgtype: ConstantService.UNITTYPE_10104// 走访对应的机构类型
  78. // id: 2,// 模版id
  79. // orgtype: 2,// 模版id
  80. };
  81. //成果信息
  82. $scope.achieveMentsInfoList = [{
  83. id: 0,
  84. connid: 0,
  85. companyid: 0,
  86. creator: 0,
  87. updater: 0,
  88. researchfindingname: "",// 成果名称
  89. researchdetail: "",//成果描述
  90. remark: ""// 备注
  91. }];
  92. //添加、删除更多成果信息
  93. $scope.AddOrDelProductInfo = function (ind) {
  94. if (ind == 0) {
  95. $scope.achieveMentsInfoList.push({
  96. id: 0,
  97. connid: 0,
  98. companyid: 0,
  99. creator: 0,
  100. updater: 0,
  101. researchfindingname: "",// 成果名称
  102. researchdetail: "",//成果描述
  103. remark: ""// 备注
  104. });
  105. } else {
  106. if ($scope.achieveMentsInfoList[ind].id != 0) {
  107. $scope.achieveMentsInfoList.push($scope.achieveMentsInfoList[ind].id);
  108. }
  109. $scope.achieveMentsInfoList.splice(ind, 1);
  110. }
  111. };
  112. // 清空列表中的id,置为0
  113. var clearIdinList = function (datalist) {
  114. if(UtilService.isDefined(datalist) && datalist.length > 0){
  115. angular.forEach(datalist, function (value, index) {
  116. value.id = 0;
  117. });
  118. }
  119. }
  120. // 编辑时获取走访详情
  121. var getPublicResourceList = function () {
  122. //TODO
  123. $scope.connid = $stateParams.connid;
  124. // $scope.connid = 179;
  125. dataToolsService.getConnectioninfoDetailByConnid($scope.connid).then(function (response) {
  126. console.log("============编辑时获取走访详情==================");
  127. console.log(response);
  128. // 基本信息
  129. $scope.connEnterpriseModuleModel = response.data;
  130. if($scope.connEnterpriseModuleModel.ishigh==1){
  131. $scope.connEnterpriseModuleModel.ishighInfo="是";
  132. $scope.connEnterpriseModuleModel.high=true;
  133. }else if($scope.connEnterpriseModuleModel.ishigh==0){
  134. $scope.connEnterpriseModuleModel.ishighInfo="否";
  135. $scope.connEnterpriseModuleModel.high=false;
  136. }
  137. $scope.achieveMentsInfoList = $scope.connEnterpriseModuleModel.researchfindingList;
  138. // 复制并新增时,清空所有的id
  139. if($scope.isedit == 2){
  140. $scope.connEnterpriseModuleModel.id = 0;
  141. clearIdinList($scope.achieveMentsInfoList);
  142. }
  143. }, function () {
  144. });
  145. };
  146. // 编辑时才获取
  147. if($scope.isedit == 1){
  148. getPublicResourceList();
  149. }else
  150. if($scope.isedit == 0){
  151. // 新增时 默认模版id
  152. $scope.connEnterpriseModuleModel.templettype = $stateParams.pageid;
  153. }else
  154. if($scope.isedit == 2){
  155. // 复制并新增时 默认模版id
  156. getPublicResourceList();
  157. }
  158. //关联相关企业
  159. $scope.isRelateUl = false;
  160. $scope.queryLikeName = function () {
  161. if ($scope.connEnterpriseModuleModel.orgname.length == 0) {
  162. $scope.companylist = [];
  163. $scope.isRelateUl = false;
  164. return;
  165. }
  166. // 全部置空
  167. $scope.connEnterpriseModuleModel.organizationInfo.id = 0;
  168. $scope.connEnterpriseModuleModel.orglogo = "";
  169. $scope.connEnterpriseModuleModel.orgcontact = "";
  170. $scope.connEnterpriseModuleModel.orgcontactnum = "";
  171. $scope.connEnterpriseModuleModel.categoryid = 0;
  172. $scope.connEnterpriseModuleModel.categoryname = "";
  173. $scope.connEnterpriseModuleModel.orggradecode = 0;
  174. $scope.connEnterpriseModuleModel.rdinstitutiontypename = "";
  175. $scope.connEnterpriseModuleModel.ishigh = 0;
  176. $scope.connEnterpriseModuleModel.ishighInfo="否";
  177. $scope.connEnterpriseModuleModel.high=false;
  178. $scope.connEnterpriseModuleModel.remark="";
  179. $scope.rolePageModel.orgtype = ConstantService.UNITTYPE_10104;// 默认机构类型:企业
  180. dataToolsService.getOrganizationModelByOrgname($scope.connEnterpriseModuleModel.orgname).then(function (response) {
  181. console.log(response);
  182. $scope.companylist = response.data;
  183. $scope.isRelateUl = true;
  184. }, function () {
  185. })
  186. };
  187. //选中企业
  188. $scope.setCompanyName = function (organizationInfo) {
  189. //<b style='color:red;font-weight: normal;'>亚</b>
  190. organizationInfo.name = organizationInfo.name.replace("<b style='color:red;font-weight: normal;'>", "");
  191. organizationInfo.name = organizationInfo.name.replace("</b>", "");
  192. $scope.connEnterpriseModuleModel.organizationInfo.id = organizationInfo.id;
  193. $scope.connEnterpriseModuleModel.orgname = organizationInfo.name;
  194. $scope.connEnterpriseModuleModel.orglogo = organizationInfo.logo;
  195. $scope.connEnterpriseModuleModel.orgcontact = organizationInfo.contact;
  196. $scope.connEnterpriseModuleModel.orgcontactnum = organizationInfo.contactnum;
  197. $scope.rolePageModel.orgtype = organizationInfo.orgtype;// 取得选中的机构类型
  198. $scope.connEnterpriseModuleModel.categoryid = organizationInfo.categoryid;
  199. $scope.connEnterpriseModuleModel.categoryname = organizationInfo.categoryname;
  200. $scope.connEnterpriseModuleModel.orggradecode = organizationInfo.rdinstitutiontype;
  201. $scope.connEnterpriseModuleModel.rdinstitutiontypename = organizationInfo.rdinstitutiontypename;
  202. $scope.connEnterpriseModuleModel.ishigh = organizationInfo.ishigh;
  203. if($scope.connEnterpriseModuleModel.ishigh==1){
  204. $scope.connEnterpriseModuleModel.ishighInfo="是";
  205. $scope.connEnterpriseModuleModel.high=true;
  206. }else if($scope.connEnterpriseModuleModel.ishigh==0){
  207. $scope.connEnterpriseModuleModel.ishighInfo="否";
  208. $scope.connEnterpriseModuleModel.high=false;
  209. }
  210. $scope.isRelateUl = false;
  211. };
  212. // 保存成果信息
  213. var saveCompanyResearchfinding = function (params) {
  214. };
  215. // 保存企业信息
  216. var saveInfo = function () {
  217. // 成果信息
  218. if ($scope.achieveMentsInfoList.length > 0) {
  219. angular.forEach($scope.achieveMentsInfoList, function (achieveMentsInfoList, $index) {
  220. if (!UtilService.isDefined($scope.achieveMentsInfoList[$index].researchfindingname)) {
  221. $scope.achieveMentsInfoList.splice($index, 1);
  222. }
  223. });
  224. }
  225. // 保存走访基本信息
  226. $scope.connEnterpriseModuleModel.userModel.userid = UserService.id;
  227. // 走访履历表中需记录机构信息
  228. $scope.connEnterpriseModuleModel.organizationInfo.name = $scope.connEnterpriseModuleModel.orgname;
  229. $scope.connEnterpriseModuleModel.title = $scope.connEnterpriseModuleModel.organizationInfo.name;
  230. $scope.connEnterpriseModuleModel.templettype = $scope.rolePageModel.id;
  231. $scope.connEnterpriseModuleModel.organizationInfo.logo = $scope.connEnterpriseModuleModel.orglogo;// 企业logo
  232. $scope.connEnterpriseModuleModel.organizationInfo.about = $scope.connEnterpriseModuleModel.orgcontent;// 企业logo
  233. $scope.connEnterpriseModuleModel.orgtype = $scope.rolePageModel.orgtype;// 机构类型
  234. $scope.connEnterpriseModuleModel.organizationInfo.orgtype = $scope.rolePageModel.orgtype;// 机构类型
  235. $scope.connEnterpriseModuleModel.organizationInfo.contact = $scope.connEnterpriseModuleModel.orgcontact;
  236. $scope.connEnterpriseModuleModel.organizationInfo.contactnum = $scope.connEnterpriseModuleModel.orgcontactnum;
  237. $scope.connEnterpriseModuleModel.organizationInfo.categoryid = $scope.connEnterpriseModuleModel.categoryid;
  238. $scope.connEnterpriseModuleModel.organizationInfo.categoryname = $scope.connEnterpriseModuleModel.categoryname;
  239. $scope.connEnterpriseModuleModel.organizationInfo.rdinstitutiontype = $scope.connEnterpriseModuleModel.orggradecode;// 企业研发机构等级
  240. $scope.connEnterpriseModuleModel.organizationInfo.ishigh = $scope.connEnterpriseModuleModel.ishigh;// 是否高企
  241. // 传参格式
  242. $scope.requestModel.data = $scope.connEnterpriseModuleModel;
  243. $scope.requestModel.node = UserService.node;
  244. dataToolsService.saveOrganizationInfo($scope.requestModel).then(function (response) {
  245. // console.log(response);
  246. if(response.code == ConstantService.INTERFACE_STATUS_CODE_3350){
  247. UtilService.showMess("添加成功");
  248. $timeout(function () {
  249. // 保存走访基本信息 后保存其他内容
  250. // 取得记录id
  251. var connid = response.data.id;
  252. $scope.connEnterpriseModuleModel.id = connid;
  253. // 取得机构id
  254. var orgid = response.data.organizationInfo.id;
  255. $scope.connEnterpriseModuleModel.organizationInfo.id = orgid;
  256. // 保存成果信息
  257. if ($scope.achieveMentsInfoList.length > 0) {
  258. angular.forEach($scope.achieveMentsInfoList, function (value, index) {
  259. value.connid = $scope.connEnterpriseModuleModel.id;
  260. value.companyid = $scope.connEnterpriseModuleModel.organizationInfo.id;
  261. value.creator = UserService.id;
  262. value.updater = UserService.id;
  263. });
  264. // 传参格式
  265. $scope.requestModel.data = $scope.achieveMentsInfoList;
  266. $scope.requestModel.node = UserService.node;
  267. dataToolsService.insertOrUpdateCompanyResearchfinding($scope.requestModel).then(function (response) {
  268. }, function () {
  269. UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR);
  270. });
  271. }
  272. // 添加成功后跳入我的录入
  273. $scope.go("recordInfoAccount");
  274. }, 500);
  275. } else {
  276. UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR);
  277. }
  278. $scope.hideLoadingToast();
  279. saveflg = 0;
  280. }, function () {
  281. UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR);
  282. $scope.hideLoadingToast();
  283. saveflg = 0;
  284. });
  285. };
  286. var saveflg = 0;//只允许保存触发一次,多次触发无效,默认未提交
  287. $scope.saveCompanyResearchfinding =function () {
  288. // 成果信息
  289. if (!UtilService.isDefined($scope.connEnterpriseModuleModel.orgname)) {
  290. UtilService.showMess("请填写单位名称");
  291. return;
  292. }
  293. if ($scope.connEnterpriseModuleModel.orgname.length > 50) {
  294. UtilService.showMess("单位名称不能超过50个字");
  295. return;
  296. }
  297. if (saveflg != 0) {
  298. return;
  299. }
  300. var result = 1;
  301. // 成果信息
  302. if ($scope.achieveMentsInfoList.length > 0) {
  303. angular.forEach($scope.achieveMentsInfoList, function (achieveMentsInfoList,index) {
  304. if (!UtilService.isDefined($scope.achieveMentsInfoList[index].researchfindingname)
  305. || $scope.achieveMentsInfoList[index].researchfindingname.length == 0) {
  306. result = 2;
  307. }
  308. if (result == 1 && $scope.achieveMentsInfoList[index].researchfindingname.length >100) {
  309. result = 0;
  310. }
  311. if (result == 1 && UtilService.isDefined($scope.achieveMentsInfoList[index].remark) && $scope.achieveMentsInfoList[index].remark.length > 1000) {
  312. result = 3;
  313. }
  314. });
  315. if(result == 2){
  316. UtilService.showMess("请填写成果名称");
  317. saveflg = 0;
  318. return;
  319. }
  320. else
  321. if(result == 0){
  322. UtilService.showMess("成果名称不能超过100个字");
  323. saveflg = 0;
  324. return;
  325. }
  326. else
  327. if(result == 3){
  328. UtilService.showMess("成果备注不能超过1000个字");
  329. saveflg = 0;
  330. return;
  331. }
  332. $scope.showLoadingToast();
  333. saveInfo();
  334. saveflg = 1;
  335. // console.log($scope.achieveMentsInfoList);
  336. }
  337. };
  338. //进入资源详情
  339. $scope.jumpResourceDetail = function (company) {
  340. // 先预设信息
  341. $scope.setCompanyName(company);
  342. // 再跳转到资源详情页
  343. $scope.go('resourceCommonDetailsPage', {
  344. recourceid: company.resourcelibrary.id,
  345. recourcetype: company.resourcelibrary.restype,
  346. recourcecomefrom: company.resourcelibrary.comefrom,
  347. creator: company.resourcelibrary.creator
  348. });
  349. };
  350. });