微信小程序
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. // pages/apply/approval/approval.js
  2. import * as UTIL from '../../../utils/util.js';
  3. import * as API from '../../../utils/API.js';
  4. const app = getApp();
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. isIPX: app.globalData.isIPX,
  11. steps: [
  12. {
  13. assigneeName: '同意',
  14. activityName: '测试测试',
  15. durationInMillis: '描述信息',
  16. endTime: '2022-01-02',
  17. comment: '同意',
  18. type: '1'
  19. },
  20. {
  21. assigneeName: '申请中',
  22. activityName: '测试测试',
  23. durationInMillis: '描述信息',
  24. endTime: '2022-01-02',
  25. comment: '同意',
  26. type: '2'
  27. },
  28. {
  29. assigneeName: '驳回',
  30. activityName: '测试测试',
  31. durationInMillis: '描述信息',
  32. endTime: '2022-01-02',
  33. comment: '同意',
  34. type: '3'
  35. },
  36. {
  37. assigneeName: '步骤四',
  38. activityName: '测试测试',
  39. durationInMillis: '描述信息',
  40. endTime: '2022-01-02',
  41. comment: '同意'
  42. },
  43. ],
  44. //事务总表对象
  45. item:{},
  46. itemId:13,
  47. active:0,
  48. result:[],
  49. show:false,
  50. showPopup:false,
  51. templateList:[],
  52. templateDetailList:[],
  53. groups:[],
  54. villages:[],
  55. towns:[],
  56. temName:"",
  57. temId:""
  58. },
  59. /**
  60. * 生命周期函数--监听页面加载
  61. */
  62. onLoad(options) {
  63. this.setData({itemId:options.id});
  64. //this.getApprovalItemList();
  65. this.groupList();
  66. this.townList();
  67. this.villageList();
  68. this.getApprovalItemsById();
  69. },
  70. getApprovalItemsById(){
  71. let _this = this
  72. let url = API.URL_GET_APPROVALITEMSBYID+this.data.itemId
  73. wx.request({
  74. url,
  75. method:"GET",
  76. timeout: 60000,
  77. header: {
  78. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  79. },
  80. success: function (response) {
  81. _this.setData({item:response.data.data})
  82. if(_this.data.item.templateId!=""&&_this.data.item.templateId!=null){
  83. _this.setData({item:response.data.data,temId:_this.data.itemId})
  84. let d = {
  85. templateId : _this.data.item.templateId,
  86. orderByColumn:"id",
  87. isAsc:"asc"
  88. }
  89. UTIL.httpRequest(API.URL_GET_TEMPLATEDETAIL, d, {
  90. success: (r) => {
  91. if (r.code == API.SUCCESS_CODE) {
  92. _this.setData({templateDetailList:r.rows});
  93. let list = []
  94. r.rows.map(rr => {
  95. list.push(rr.userId+"")
  96. })
  97. _this.setData({result:list})
  98. }
  99. }
  100. })
  101. }else {
  102. _this.getApprovalItemList()
  103. }
  104. }
  105. })
  106. },
  107. inputTem:function(e){
  108. this.setData({temName:e.detail.value})
  109. },
  110. confirmTem:function(e){
  111. let data={
  112. approvalTemplate:{
  113. name:this.data.temName,
  114. type:1,
  115. dataType:0
  116. },
  117. approvalTemplateDetailList:this.data.templateDetailList,
  118. method:"POST"
  119. }
  120. UTIL.httpRequest(API.URL_POST_MOBILEADD,data,{
  121. success: (res) => {
  122. if (res.code == API.SUCCESS_CODE) {
  123. let list = this.data.templateList
  124. list.push(res.data)
  125. this.setData({
  126. temId:res.data.id,
  127. templateList:list,
  128. temName:"",
  129. showPopup:false
  130. });
  131. }
  132. }
  133. })
  134. },
  135. cancelTem:function(e){
  136. this.setData({temName:"",showPopup:false});
  137. },
  138. upItem:function(e){
  139. let index = e.currentTarget.dataset.id
  140. let item = this.data.templateDetailList[index]
  141. let list = this.data.templateDetailList
  142. if(index>0&&index<=list.length){
  143. list.splice(index,1)
  144. list.splice(index-1,0,item)
  145. for(let i = 0;i< list.length;i++){
  146. list[i].name = i+1
  147. }
  148. this.setData({templateDetailList:list});
  149. }
  150. },
  151. downItem:function(e){
  152. let index = e.currentTarget.dataset.id
  153. let item = this.data.templateDetailList[index]
  154. let list = this.data.templateDetailList
  155. if(index>=0&&index<list.length){
  156. list.splice(index,1)
  157. list.splice(index+1,0,item)
  158. for(let i = 0;i< list.length;i++){
  159. list[i].name = i+1
  160. }
  161. this.setData({templateDetailList:list});
  162. }
  163. },
  164. getApprovalItemList:function(){
  165. let data={
  166. dataType:0,
  167. pageNum:1,
  168. pageSize:50
  169. }
  170. UTIL.httpRequest(API.URL_GET_TEMPLATELIST, data, {
  171. success: (res) => {
  172. if (res.code == API.SUCCESS_CODE) {
  173. this.setData({templateList:res.rows});
  174. if(res.total>0){
  175. let d = {
  176. templateId : res.rows[0].id,
  177. orderByColumn:"id",
  178. isAsc:"asc"
  179. }
  180. UTIL.httpRequest(API.URL_GET_TEMPLATEDETAIL, d, {
  181. success: (r) => {
  182. if (r.code == API.SUCCESS_CODE) {
  183. this.setData({templateDetailList:r.rows});
  184. let list = []
  185. r.rows.map(rr => {
  186. list.push(rr.userId+"")
  187. })
  188. this.setData({result:list})
  189. }
  190. }
  191. })
  192. }
  193. }
  194. }
  195. })
  196. },
  197. chooseTemplate:function(e){
  198. let data = {
  199. templateId : e.currentTarget.dataset.id,
  200. orderByColumn:"id",
  201. isAsc:"asc"
  202. }
  203. UTIL.httpRequest(API.URL_GET_TEMPLATEDETAIL, data, {
  204. success: (res) => {
  205. if (res.code == API.SUCCESS_CODE) {
  206. this.setData({templateDetailList:res.rows});
  207. this.closeBox();
  208. }
  209. }
  210. })
  211. },
  212. deleteTemplate:function(e){
  213. let ids = [e.currentTarget.dataset.id]
  214. let url = API.URL_GET_MOBILEREMOVE+ids
  215. let _this = this
  216. wx.request({
  217. url,
  218. method:"GET",
  219. timeout: 60000,
  220. header: {
  221. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  222. },
  223. success: function (response) {
  224. _this.getApprovalItemList()
  225. }
  226. })
  227. },
  228. townList:function(){
  229. let _this = this
  230. let url = API.URL_GET_TOWNINFOBYDEPTID+0
  231. wx.request({
  232. url,
  233. method:"GET",
  234. timeout: 60000,
  235. header: {
  236. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  237. },
  238. success: function (response) {
  239. let d = {
  240. deptId:response.data.data.deptId,
  241. deptLevel:3
  242. }
  243. UTIL.httpRequest(API.URL_GET_USERLIST,d,{
  244. success: (res) => {
  245. if (res.code == API.SUCCESS_CODE) {
  246. console.log(res);
  247. _this.setData({towns:res.rows});
  248. }
  249. }
  250. })
  251. }
  252. })
  253. },
  254. groupList:function(){
  255. let data = {
  256. deptId : 187,
  257. deptLevel:1
  258. }
  259. UTIL.httpRequest(API.URL_GET_USERLIST,data ,{
  260. success: (res) => {
  261. if (res.code == API.SUCCESS_CODE) {
  262. this.setData({groups:res.rows});
  263. }
  264. }
  265. })
  266. },
  267. villageList:function(){
  268. let data = {
  269. deptId : 187,
  270. deptLevel:2
  271. }
  272. UTIL.httpRequest(API.URL_GET_USERLIST,data ,{
  273. success: (res) => {
  274. if (res.code == API.SUCCESS_CODE) {
  275. this.setData({villages:res.rows});
  276. }
  277. }
  278. })
  279. },
  280. onChange(event) {
  281. let _this = this
  282. this.setData({result:event.detail})
  283. this.setData({templateDetailList:[]})
  284. let list = _this.data.templateDetailList
  285. for (let j in event.detail){
  286. let str = event.detail[j]
  287. for(let i in _this.data.groups){
  288. if(_this.data.groups[i].userId == str){
  289. let sin = _this.data.groups[i]
  290. list.push(sin)
  291. _this.setData({templateDetailList:list})
  292. }
  293. }
  294. for(let i in _this.data.villages){
  295. if(_this.data.villages[i].userId == str){
  296. let sin = _this.data.villages[i]
  297. list.push(sin)
  298. _this.setData({templateDetailList:list})
  299. }
  300. }
  301. for(let i in _this.data.towns){
  302. if(_this.data.towns[i].userId == str){
  303. let sin = _this.data.towns[i]
  304. list.push(sin)
  305. _this.setData({templateDetailList:list})
  306. }
  307. }
  308. }
  309. let li = this.data.templateDetailList
  310. li = li.filter(function(e,i,s){
  311. s[i].name = i+1
  312. return true
  313. })
  314. this.setData({templateDetailList:li})
  315. },
  316. back:function(){
  317. wx.navigateBack({
  318. delta: 1
  319. })
  320. },
  321. save:function(){
  322. let _this = this
  323. let list = this.data.templateDetailList
  324. list = list.filter(function(e,i,s){
  325. s[i].name = i+1
  326. return true
  327. })
  328. if(this.data.temId==""||this.data.temId==null){
  329. let data={
  330. approvalTemplate:{
  331. name:this.data.temName,
  332. type:1,
  333. dataType:1
  334. },
  335. approvalTemplateDetailList:list,
  336. method:"POST"
  337. }
  338. UTIL.httpRequest(API.URL_POST_MOBILEADD,data,{
  339. success: (res) => {
  340. if (res.code == API.SUCCESS_CODE) {
  341. let list = this.data.templateList
  342. list.push(res.data)
  343. this.setData({
  344. temId:res.data.id,
  345. templateList:list,
  346. temName:""
  347. });
  348. let item_ = this.data.item
  349. item_.templateId = res.data.id
  350. item_.method = "POST"
  351. UTIL.httpRequest(API.URL_POST_APPROVALITEMSEDIT,item_,{
  352. success: (res) => {
  353. if (res.code == API.SUCCESS_CODE) {
  354. wx.showToast({
  355. title: "暂存成功!",
  356. duration: 2000,
  357. icon:"success"
  358. })
  359. }
  360. }
  361. })
  362. }
  363. }
  364. })
  365. }else{
  366. let url = API.URL_POST_TEMPLATEEDIT
  367. wx.request({
  368. url,
  369. data: list,
  370. method:"POST",
  371. timeout: 60000,
  372. header: {
  373. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  374. },
  375. success: function (response) {
  376. wx.showToast({
  377. title: "暂存成功!",
  378. duration: 2000,
  379. icon:"success"
  380. })
  381. },
  382. })
  383. }
  384. },
  385. submit:function(){
  386. let _this = this
  387. if(this.data.temId==""||this.data.temId==null){
  388. let data={
  389. approvalTemplate:{
  390. name:this.data.temName,
  391. type:1,
  392. dataType:1
  393. },
  394. approvalTemplateDetailList:this.data.templateDetailList,
  395. method:"POST"
  396. }
  397. UTIL.httpRequest(API.URL_POST_MOBILEADD,data,{
  398. success: (res) => {
  399. if (res.code == API.SUCCESS_CODE) {
  400. let list = this.data.templateList
  401. list.push(res.data)
  402. this.setData({
  403. temId:res.data.id,
  404. templateList:list,
  405. temName:""
  406. });
  407. let item_ = this.data.item
  408. item_.templateId = res.data.id
  409. item_.method = "POST"
  410. UTIL.httpRequest(API.URL_POST_APPROVALITEMSEDIT,item_,{
  411. success: (res) => {
  412. if (res.code == API.SUCCESS_CODE) {
  413. _this.requestSubmit()
  414. }
  415. }
  416. })
  417. }
  418. }
  419. })
  420. }else{
  421. let url = API.URL_POST_TEMPLATEEDIT
  422. wx.request({
  423. url,
  424. data: _this.data.templateDetailList,
  425. method:"POST",
  426. timeout: 60000,
  427. header: {
  428. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  429. },
  430. success: function (response) {
  431. _this.requestSubmit()
  432. },
  433. })
  434. }
  435. },
  436. requestSubmit:function(){
  437. let url = API.URL_POST_APPROVALITEMSSUBMIT+this.data.item.id+"/"+this.data.item.templateId
  438. wx.request({
  439. url,
  440. method:"POST",
  441. timeout: 60000,
  442. header: {
  443. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  444. },
  445. success: function (r) {
  446. wx.showToast({
  447. title: "提交成功!",
  448. duration: 2000,
  449. icon:"success"
  450. })
  451. },
  452. })
  453. },
  454. openBox:function(){
  455. var that = this ;
  456. that.setData({
  457. show: true,
  458. })
  459. },
  460. closeBox:function(){
  461. var that = this ;
  462. that.setData({
  463. show: false
  464. })
  465. },
  466. showPopup() {
  467. this.setData({
  468. showPopup: true,
  469. temName:""
  470. });
  471. },
  472. onClose() {
  473. this.setData({ showPopup: false});
  474. },
  475. /**
  476. * 生命周期函数--监听页面初次渲染完成
  477. */
  478. onReady() {
  479. },
  480. /**
  481. * 生命周期函数--监听页面显示
  482. */
  483. onShow() {
  484. },
  485. /**
  486. * 生命周期函数--监听页面隐藏
  487. */
  488. onHide() {
  489. },
  490. /**
  491. * 生命周期函数--监听页面卸载
  492. */
  493. onUnload() {
  494. },
  495. /**
  496. * 页面相关事件处理函数--监听用户下拉动作
  497. */
  498. onPullDownRefresh() {
  499. },
  500. /**
  501. * 页面上拉触底事件的处理函数
  502. */
  503. onReachBottom() {
  504. },
  505. /**
  506. * 用户点击右上角分享
  507. */
  508. onShareAppMessage() {
  509. }
  510. })