notificationCtrl.js 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. 'use strict';
  2. /**
  3. * controller for User Profile Example
  4. */
  5. app.controller('notificationCtr', ["$rootScope", "$scope", "$state", "$timeout", "$interval", "$modal", "SweetAlert", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_user_data", "api_login", "api_configure_data", "api_wechatfile", "api_notification_data", function ($rootScope, $scope, $state, $timeout, $interval, $modal, SweetAlert, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_user_data, api_login, api_configure_data, api_wechatfile, api_notification_data) {
  6. //侧边栏索引
  7. $scope.leftListIdx = 0;
  8. //标题
  9. $scope.tableName = "消息通知设置";
  10. //侧边栏名称
  11. $scope.listData = [
  12. // { "name": "报修流程" },
  13. { "name": "事件流程" }
  14. // { "name": "上下班管理" }
  15. ];
  16. //转换通知规则
  17. $scope.computedRule = function (noticeRule, noticeCode) {
  18. if (noticeRule === undefined) {
  19. return '进入本步骤时';
  20. } else if (noticeCode == 'user_receive_overresp' || noticeCode == 'manager_receive_overresp') {
  21. return '【逾期响应时间】' + noticeRule + '分钟';
  22. } else if (noticeCode == 'user_doing_overresp' || noticeCode == 'manager_doing_overresp') {
  23. return '【解决时间】剩余 ' + noticeRule + '%';
  24. }
  25. };
  26. /**
  27. *
  28. * 侧边栏点击切换tab
  29. * @param {number} idx 当前点击的索引
  30. * @param {object} value 当前点击的对象
  31. */
  32. $scope.leftListClick = function (idx, value) {
  33. $scope.leftListIdx = idx;
  34. $scope.tableName = value.name;
  35. }
  36. //请求获取报修流程列表
  37. //process: '通知流程',processNode:'流程节点',processStatus:'状态',notifiedPerson:'被通知人'
  38. $scope.bxList = [
  39. { processName: '报修流程', processNode: '申请', processStatus: '未受理', notifiedPerson: '报修人', noticeCode:'req_start' },
  40. { processName: '报修流程', processNode: '申请', processStatus: '未受理', notifiedPerson: '服务台人员', noticeCode:'service_start' },
  41. { processName: '报修流程', processNode: '申请', processStatus: '不受理', notifiedPerson: '报修人', noticeCode:'req_reject' },
  42. { processName: '报修流程', processNode: '受理', processStatus: '已受理', notifiedPerson: '报修人', noticeCode:'req_accept' }
  43. ];
  44. $scope.getBxList = function () {
  45. api_notification_data.fetchDataList({
  46. "idx": 0,
  47. "sum": 20,
  48. "messageManager": {
  49. "noticeProcess": 1
  50. }
  51. }).then(function (res) {
  52. if (res.status == 200) {
  53. angular.forEach($scope.bxList, function (v, i) {
  54. angular.extend(v, res.list[i]);//合并对象
  55. })
  56. }
  57. })
  58. }
  59. // $scope.getBxList();
  60. //请求获取事件流程列表
  61. //process: '通知流程',processNode:'流程节点',processStatus:'状态',notifiedPerson:'被通知人'
  62. $scope.sjList = [
  63. // { processName: '事件流程', processNode: '接单', processStatus: '待接单', notifiedPerson: '运维工程师', noticeCode:'user_receive' },
  64. // { processName: '事件流程', processNode: '接单', processStatus: '待接单', notifiedPerson: '运维工程师', noticeCode:'user_receive_overresp' },
  65. // { processName: '事件流程', processNode: '接单', processStatus: '待接单', notifiedPerson: '分类管理员', noticeCode:'cm_receive_overresp' },
  66. // { processName: '事件流程', processNode: '接单', processStatus: '待接单', notifiedPerson: '事件经理', noticeCode:'manager_receive_overresp' },
  67. // { processName: '事件流程', processNode: '重新指派', processStatus: '重新指派', notifiedPerson: '服务台人员', noticeCode:'service_reassign' },
  68. // { processName: '事件流程', processNode: '重新指派', processStatus: '重新指派', notifiedPerson: '运维工程师', noticeCode:'user_reassign' },
  69. // { processName: '事件流程', processNode: '处理', processStatus: '处理中', notifiedPerson: '报修人', noticeCode:'req_doing' },
  70. // { processName: '事件流程', processNode: '处理', processStatus: '处理中', notifiedPerson: '运维工程师', noticeCode:'user_doing' },
  71. // { processName: '事件流程', processNode: '处理', processStatus: '处理中', notifiedPerson: '分类管理员', noticeCode:'cm_doing' },
  72. // { processName: '事件流程', processNode: '处理', processStatus: '指派', notifiedPerson: '运维工程师', noticeCode:'user_doing_assign' },
  73. // { processName: '事件流程', processNode: '处理', processStatus: '转派', notifiedPerson: '运维工程师', noticeCode:'user_doing_redeploy' },
  74. // { processName: '事件流程', processNode: '处理', processStatus: '升级', notifiedPerson: '运维工程师', noticeCode:'user_doing_upgrade' },
  75. // { processName: '事件流程', processNode: '评价', processStatus: '已解决', notifiedPerson: '报修人', noticeCode:'req_resolve' },
  76. // { processName: '事件流程', processNode: '关单', processStatus: '已解决', notifiedPerson: '服务台人员', noticeCode:'service_resolve' },
  77. // { processName: '事件流程', processNode: '完成', processStatus: '已关闭', notifiedPerson: '报修人', noticeCode:'req_close' }
  78. ];
  79. $scope.getSjList = function () {
  80. api_notification_data.fetchDataList({
  81. "idx": 0,
  82. "sum": 20,
  83. "messageManager": {
  84. "noticeProcess": 1
  85. }
  86. }).then(function (res) {
  87. if (res.status == 200) {
  88. // angular.forEach($scope.sjList, function (v, i) {
  89. // angular.extend(v, res.list[i]);//合并对象
  90. // })
  91. $scope.sjList = res.list.map(v => ({...v, ...{processName: '事件流程'}}));
  92. console.log($scope.sjList)
  93. }
  94. })
  95. }
  96. $scope.getSjList();
  97. //设置
  98. $scope.editClick = function (data) {
  99. var modalInstance = $modal.open({
  100. backdrop: false,
  101. templateUrl: 'assets/views/system/tpl/notificationBj.html',
  102. controller: function ($scope, $modalInstance) {
  103. $scope.data = data;
  104. $scope.editData = {
  105. id: data.id,//id
  106. noticeCode: data.noticeCode,
  107. noticeRule: data.noticeRule === undefined ? 'no' : data.noticeRule,//通知规则,数字
  108. noticeNode: data.noticeNode,//流程节点
  109. processName: data.processName,//报修流程或者事件流程
  110. noticeState: data.noticeState,//状态
  111. noticeDetails: data.noticeDetails,//被通知人
  112. noticeProcess: data.noticeProcess,//1为报修流程、2为事件流程
  113. messageStationContent: data.messageStationContent,//站内消息通知内容
  114. shortMessageContent: data.shortMessageContent,//短信通知内容
  115. wechatMessageContent: data.wechatMessageContent,//微信通知内容
  116. messageStationFlag: data.messageStationFlag == 1 ? true : false,//站内消息是否开启
  117. shortMessageFlag: data.shortMessageFlag == 1 ? true : false,//短信是否开启
  118. wechatMessageFlag: data.wechatMessageFlag == 1 ? true : false,//微信是否开启
  119. messageStationTitle: data.messageStationTitle,//站内消息标题
  120. wechatMessageTitle: data.wechatMessageTitle,//微信标题
  121. flag: data.flag == 1 ? true : false//总开关是否开启,0为关闭,1为开启
  122. };
  123. //当前选中
  124. $scope.currentIndex = 0;
  125. //tab页面数据
  126. //tabName: 名称,processTitle:标题, processContent: 内容, checkboxFlag: checkbox是否选中,,disable:遮罩是否显示
  127. $scope.tabs = [
  128. {
  129. tabName: "站内消息",
  130. processTitle: $scope.editData.messageStationTitle,
  131. processContent: $scope.editData.messageStationContent,
  132. checkboxFlag: $scope.editData.messageStationFlag,
  133. disable: !$scope.editData.messageStationFlag
  134. },
  135. {
  136. tabName: "短信",
  137. processTitle: '',
  138. processContent: $scope.editData.shortMessageContent,
  139. checkboxFlag: $scope.editData.shortMessageFlag,
  140. disable: !$scope.editData.shortMessageFlag
  141. },
  142. {
  143. tabName: "微信",
  144. processTitle: $scope.editData.wechatMessageTitle,
  145. processContent: $scope.editData.wechatMessageContent,
  146. checkboxFlag: $scope.editData.wechatMessageFlag,
  147. disable: !$scope.editData.wechatMessageFlag
  148. }
  149. ];
  150. //tab页面切换
  151. $scope.selectTab = function (index) {
  152. $scope.currentIndex = index;
  153. };
  154. //checkbox选中或者取消
  155. $scope.selectThis = function (index) {
  156. $scope.tabs[index].checkboxFlag = !$scope.tabs[index].checkboxFlag;
  157. //遮罩切换
  158. $scope.tabs[index].disable = !$scope.tabs[index].checkboxFlag;
  159. //所有checkbox有一个选中,总开关开启
  160. $scope.editData.flag = $scope.tabs.some(function (v) {
  161. return v.checkboxFlag;
  162. });
  163. };
  164. //切换总开关
  165. $scope.changeIcon = function (index) {
  166. $scope.editData.flag = !$scope.editData.flag;
  167. };
  168. //当前jquery对象
  169. $scope.curElement = null;
  170. //textarea失去焦点,允许插入的表单元素
  171. $scope.textBlur = function ($event) {
  172. $scope.curElement = $($event.target);
  173. };
  174. //插入值
  175. $scope.insertClick = function ($event) {
  176. var $_this = $($event.target);
  177. var str = "";
  178. if ($scope.curElement != null) {
  179. //获取插入的字符串
  180. str = $_this.text();
  181. //插入进去
  182. $scope.insertAtCaret($scope.curElement, str);
  183. }
  184. };
  185. //插入进去seimin
  186. $scope.insertAtCaret = function ($element, myValue) {
  187. var element = $element.get(0);
  188. if (document.selection) {//IE
  189. $element.focus();
  190. //在选中区域创建一个文本区域
  191. sel = document.selection.createRange();
  192. // sel.text = myValue;
  193. $scope.tabs[$scope.currentIndex].processContent = myValue;
  194. $element.focus();
  195. } else {
  196. if (element.selectionStart || element.selectionStart == '0') {
  197. var startPos = element.selectionStart;
  198. var endPos = element.selectionEnd;
  199. // element.value = element.value.substring(0, startPos) + myValue + element.value.substring(endPos);
  200. $scope.tabs[$scope.currentIndex].processContent = element.value.substring(0, startPos) + myValue + element.value.substring(endPos);
  201. $element.focus();
  202. } else {
  203. var val = $element.html() + myValue;
  204. // $element.html(val);
  205. $scope.tabs[$scope.currentIndex].processContent = val;
  206. $element.focus();
  207. }
  208. }
  209. };
  210. //百分比不能为负数
  211. $scope.$watch('editData.noticeRule', function (newVal) {
  212. if (newVal === undefined) {//负号
  213. $scope.editData.noticeRule = 0;
  214. } else {
  215. if ($scope.editData.noticeCode == 'user_receive') {//百分比
  216. $scope.editData.noticeRule = newVal < 0 ? 0 : newVal;
  217. }
  218. }
  219. });
  220. //变量参数
  221. $scope.varArr = [
  222. "[$报修单号$]",
  223. "[$报修科室$]",
  224. "[$报修时间$]",
  225. "[$报修人$]",
  226. "[$详细地址$]",
  227. "[$不受理时间$]",
  228. "[$不受理原因$]",
  229. "[$故障描述$]",
  230. "[$服务台人员$]",
  231. "[$受理时间$]",
  232. "[$事件单号$]",
  233. "[$工单登记时间$]",
  234. "[$地点$]",
  235. "[$区域$]",
  236. // "[$联系人$]",
  237. "[$学工号$]",
  238. "[$联系人电话$]",
  239. "[$受理人$]",
  240. "[$受理人电话$]",
  241. "[$处理人$]",
  242. "[$处理人电话$]",
  243. // "[$故障地点$]",
  244. "[$指派人$]",
  245. "[$转派人$]",
  246. "[$延期原因$]",
  247. "[$进入系统$]",
  248. ];
  249. $scope.varPlaceholder = '';
  250. // switch ($scope.editData.noticeCode) {
  251. // case 'req_start':
  252. // $scope.varArr = ['[$事件单号$]', '[$报修时间$]', '[$报修人$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]','[$报修科室$]','[$进入系统$]'];
  253. // $scope.varPlaceholder = '您于${报修时间}申请的${区域}${地点}${详细地址}${事件单号}报修已提交,请等待服务台处理,如有疑问,可(咨询电话"123456")。';
  254. // break;
  255. // case 'service_start':
  256. // $scope.varArr = ['[$事件单号$]', '[$报修时间$]', '[$报修人$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]','[$报修科室$]','[$进入系统$]'];
  257. // $scope.varPlaceholder = '${事件单号}报修待受理,请及时处理。';
  258. // break;
  259. // case 'req_reject':
  260. // $scope.varArr = ['[$事件单号$]', '[$报修时间$]', '[$报修人$]', '[$服务台人员$]', '[$不受理时间$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$不受理原因$]','[$报修科室$]','[$进入系统$]'];
  261. // $scope.varPlaceholder = '您于${报修时间}${区域}${地点}${详细地址}的${事件单号}报修,${服务台人员}已于${不受理时间}不予受理,如有如有疑问请拨打(服务电话“123456”)。';
  262. // break;
  263. // case 'req_accept':
  264. // $scope.varArr = ['[$事件单号$]', '[$报修时间$]', '[$报修人$]', '[$服务台人员$]', '[$受理时间$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]','[$报修科室$]','[$进入系统$]'];
  265. // $scope.varPlaceholder = '您于${报修时间}${区域}${地点}${详细地址}的${事件单号}报修,${服务台人员}已于${受理时间}受理,待接单。';
  266. // break;
  267. // case 'user_receive':
  268. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  269. // $scope.varPlaceholder = '${ 联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单待接单,请尽快处理。';
  270. // break;
  271. // case 'user_receive_overresp':
  272. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  273. // $scope.varPlaceholder = '${联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单待接单,已逾期响应5分钟,请尽快处理。';
  274. // break;
  275. // case 'cm_receive_overresp':
  276. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  277. // $scope.varPlaceholder = '${联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单待接单,已逾期响应60分钟,${处理人}${处理人电话}请尽快处理。';
  278. // break;
  279. // case 'manager_receive_overresp':
  280. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  281. // $scope.varPlaceholder = '${联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单待接单,已逾期响应60分钟,${处理人}${处理人电话}请尽快处理。';
  282. // break;
  283. // case 'service_reassign':
  284. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  285. // $scope.varPlaceholder = '${ 联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单,${处理人}${处理人电话}已请求重新指派,请尽快处理。';
  286. // break;
  287. // case 'user_reassign':
  288. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  289. // $scope.varPlaceholder = '${联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单,已退回服务台,请重新指派。';
  290. // break;
  291. // case 'req_doing':
  292. // $scope.varArr = ['[$事件单号$]','[$报修时间$]','[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  293. // $scope.varPlaceholder = '${联系人}${联系人电话}于${报修时间}${事件单号}的报修,${处理人}${处理人电话}已接单,正在处理中。';
  294. // break;
  295. // case 'req_overtime':
  296. // $scope.varArr = ['[$事件单号$]','[$报修时间$]','[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  297. // $scope.varPlaceholder = '${联系人}${联系人电话}于${报修时间}${事件单号}的报修,${处理人}${处理人电话}已接单,正在处理中。';
  298. // break;
  299. // case 'user_doing':
  300. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  301. // $scope.varPlaceholder = '${联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单,即将解决逾期,请尽快处理。';
  302. // break;
  303. // case 'cm_doing':
  304. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  305. // $scope.varPlaceholder = '${联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单,即将解决逾期,请尽快处理。';
  306. // break;
  307. // case 'user_doing_assign':
  308. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$指派人$]','[$进入系统$]'];
  309. // $scope.varPlaceholder = '[$联系人$][$联系人电话$]于[$工单登记时间$][$事件单号$]的事件工单,已指派给您,请尽快处理。';
  310. // break;
  311. // case 'user_doing_redeploy':
  312. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$转派人$]','[$进入系统$]'];
  313. // $scope.varPlaceholder = '[$联系人$][$联系人电话$]于[$工单登记时间$][$事件单号$]的事件工单,已转派给您,请尽快处理。';
  314. // break;
  315. // case 'user_doing_upgrade':
  316. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  317. // $scope.varPlaceholder = '[$联系人$][$联系人电话$]于[$工单登记时间$][$事件单号$]的事件工单,已升级给您,请尽快处理。';
  318. // break;
  319. // case 'req_resolve':
  320. // $scope.varArr = ['[$事件单号$]','[$报修时间$]','[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  321. // $scope.varPlaceholder = '您于${报修时间}提交的${事件单号}报修,已处理,您可对本次服务进行评价,如有疑问,可(咨询电话“123456”)。';
  322. // break;
  323. // case 'service_resolve':
  324. // $scope.varArr = ['[$事件单号$]', '[$工单登记时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  325. // $scope.varPlaceholder = '${联系人}${联系人电话}于${工单登记时间}${事件单号}的事件工单已解决,请回访并关闭该工单。';
  326. // break;
  327. // case 'req_close':
  328. // $scope.varArr = ['[$事件单号$]', '[$报修时间$]', '[$故障地点$]', '[$联系人$]', '[$联系人电话$]', '[$受理人$]', '[$受理人电话$]', '[$处理人$]', '[$处理人电话$]', '[$故障描述$]', '[$区域$]', '[$地点$]', '[$详细地址$]', '[$学工号$]','[$报修科室$]','[$进入系统$]'];
  329. // $scope.varPlaceholder = '您于${报修时间}提交的${事件单号}报修,已完成,如有疑问,请拔打(服务电话“123456”)。';
  330. // break;
  331. // }
  332. //取消
  333. $scope.cancel = function () {
  334. $modalInstance.dismiss('cancel');
  335. };
  336. //确定seimin
  337. $scope.savercode = function () {
  338. var filterArr = $scope.tabs.filter(item => {
  339. return item.checkboxFlag;
  340. });
  341. for (var i = 0; i < filterArr.length; i++) {
  342. if (filterArr[i].processContent == '') {
  343. alert("通知内容【" + filterArr[i].tabName + "】不能为空!");
  344. return;
  345. } else {
  346. var nowArr = [...new Set([...(filterArr[i].processContent.match(/\[\$[^\$\[\]]*?\$\]/g) || []), ...$scope.varArr])];
  347. if (nowArr.length !== $scope.varArr.length) {
  348. alert("【" + filterArr[i].tabName + "】请填写有效的变量名称!");
  349. return;
  350. }
  351. }
  352. }
  353. //请求参数处理(是否有输入数字控件)
  354. if ($scope.editData.noticeRule !== 'no') {
  355. var data = {
  356. "messageManager": {
  357. "id": $scope.editData.id,
  358. "noticeRule": $scope.editData.noticeRule,
  359. "messageStationFlag": $scope.tabs[0].checkboxFlag ? 1 : 0,
  360. "messageStationTitle": $scope.tabs[0].processTitle,
  361. "messageStationContent": $scope.tabs[0].processContent,
  362. "shortMessageFlag": $scope.tabs[1].checkboxFlag ? 1 : 0,
  363. "shortMessageContent": $scope.tabs[1].processContent,
  364. "wechatMessageFlag": $scope.tabs[2].checkboxFlag ? 1 : 0,
  365. "wechatMessageTitle": $scope.tabs[2].processTitle,
  366. "wechatMessageContent": $scope.tabs[2].processContent,
  367. "flag": $scope.editData.flag ? 1 : 0
  368. }
  369. };
  370. } else {
  371. var data = {
  372. "messageManager": {
  373. "id": $scope.editData.id,
  374. "messageStationFlag": $scope.tabs[0].checkboxFlag ? 1 : 0,
  375. "messageStationTitle": $scope.tabs[0].processTitle,
  376. "messageStationContent": $scope.tabs[0].processContent,
  377. "shortMessageFlag": $scope.tabs[1].checkboxFlag ? 1 : 0,
  378. "shortMessageContent": $scope.tabs[1].processContent,
  379. "wechatMessageFlag": $scope.tabs[2].checkboxFlag ? 1 : 0,
  380. "wechatMessageTitle": $scope.tabs[2].processTitle,
  381. "wechatMessageContent": $scope.tabs[2].processContent,
  382. "flag": $scope.editData.flag ? 1 : 0
  383. }
  384. };
  385. }
  386. // 关闭模态窗口并传递一个结果
  387. data = Object.assign({}, $scope.data, data);
  388. $modalInstance.close(data);
  389. };
  390. }
  391. });
  392. modalInstance.result.then(function (data) {
  393. api_notification_data.updData(data).then(function (res) {
  394. if (res.status == 200) {
  395. SweetAlert.swal({
  396. title: "修改成功!",
  397. type: "success",
  398. confirmButtonColor: "#007AFF"
  399. }, function () {
  400. // $scope.getBxList();
  401. $scope.getSjList();
  402. });
  403. }
  404. })
  405. });
  406. }
  407. }]);