微信小程序
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

263 líneas
6.8 KiB

  1. // pages/project/add/add.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. showStartTime:false,
  12. showEndTime:false,
  13. ynProjcetStatusOptions:[],
  14. form:{
  15. },
  16. id:"",
  17. ynProjcetStatusindex:0,
  18. status:0,
  19. },
  20. /**
  21. * 生命周期函数--监听页面加载
  22. */
  23. onLoad(options) {
  24. if(options.id!=null&&options.id!=""){
  25. let that = this
  26. this.setData({id:options.id})
  27. UTIL.httpRequest(API.URL_GET_PROJECTGET + this.data.id, {method:'GET'}, {
  28. success: (res) => {
  29. this.setData({'form':res.data})
  30. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'yn_projcet_status', {method:'GET'}, {
  31. success: (r) => {
  32. if(r.data.length>0){
  33. that.setData({
  34. ynProjcetStatusOptions:r.data,
  35. })
  36. r.data.map((rr,ind) => {
  37. if(rr.dictValue == res.data.ynProjcetStatus){
  38. that.setData({'ynProjcetStatusindex':ind})
  39. }
  40. })
  41. }
  42. }
  43. })
  44. }
  45. })
  46. }else{
  47. let that = this
  48. this.setData({
  49. 'form.startTime':this.getNewDate(new Date()),
  50. 'form.endTime':this.getNewDate(new Date())
  51. });
  52. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'yn_projcet_status', {method:'GET'}, {
  53. success: (r) => {
  54. if(r.data.length>0){
  55. that.setData({
  56. ynProjcetStatusOptions:r.data,
  57. 'form.ynProjcetStatus':r.data[0].dictValue
  58. })
  59. }
  60. }
  61. })
  62. }
  63. },
  64. onConfirmStartTime(e){
  65. let data = this.getNewDate(new Date(e.detail.value));
  66. this.setData({'form.startTime':data});
  67. },
  68. onConfirmEndTime(e){
  69. let data = this.getNewDate(new Date(e.detail.value));
  70. this.setData({'form.endTime':data});
  71. },
  72. onConfirmynProjcetStatus (e) {
  73. let obj = e.detail.value;
  74. this.setData({
  75. 'form.ynProjcetStatus':this.data.ynProjcetStatusOptions[obj].dictValue,
  76. 'ynProjcetStatusindex':obj
  77. })
  78. },
  79. getNewDate(date){
  80. //date是传过来的时间戳,注意需为13位,10位需*1000
  81. //也可以不传,获取的就是当前时间
  82. var time
  83. if(date){
  84. time = new Date(date);
  85. }else{
  86. time = new Date();
  87. }
  88. var year= time.getFullYear() //年
  89. var month = ("0" + (time.getMonth() + 1)).slice(-2); //月
  90. var day = ("0" + time.getDate()).slice(-2); //日
  91. var mydate = year + "-" + month + "-" + day;
  92. return mydate
  93. },
  94. back:function(){
  95. wx.navigateBack({
  96. delta: 1
  97. })
  98. },
  99. closeBox(even){
  100. this.setData({
  101. [even.currentTarget.dataset.name]:false
  102. })
  103. },
  104. openBox(even){
  105. this.setData({
  106. [even.currentTarget.dataset.name]:true
  107. })
  108. },
  109. onConfirmTime(event){
  110. this.setData({
  111. [event.currentTarget.dataset.name]: false,
  112. [event.currentTarget.dataset.value]: UTIL.formatDate(event.detail),
  113. });
  114. },
  115. onConfirmYn(event) {
  116. this.setData({
  117. [event.currentTarget.dataset.name]: false,
  118. [event.currentTarget.dataset.value]: event.detail.value.dictValue,
  119. [event.currentTarget.dataset.value+'Text']: event.detail.value.dictLabel,
  120. });
  121. },
  122. goSubmit(){
  123. if(this.data.form.projectName===''||this.data.form.projectName==null){ //项目名称
  124. UTIL.showToastNoneIcon('请填写项目名称!');
  125. return false;
  126. }else if(this.data.form.projectContractor===''||this.data.form.projectContractor==null){ //合同承建方
  127. UTIL.showToastNoneIcon('请输入合同承建方!');
  128. return false;
  129. }else if(this.data.form.startTime===''||this.data.form.startTime==null){ //开工日期
  130. UTIL.showToastNoneIcon('请选择开工日期!');
  131. return false;
  132. }else if(this.data.form.endTime===''||this.data.form.endTime==null){ //竣工日期
  133. UTIL.showToastNoneIcon('请输入竣工日期!');
  134. return false;
  135. }else if(this.data.form.projectAmount === ''||this.data.form.projectAmount==null){//合共价款
  136. UTIL.showToastNoneIcon('请输入合共价款!');
  137. return false;
  138. }else if(this.data.form.ynProjcetStatus === ''||this.data.form.ynProjcetStatus==null){//工程状态
  139. UTIL.showToastNoneIcon('工程状态不能为空!');
  140. return false;
  141. }else if(this.data.status=='0'){
  142. this.setData({'status':1})
  143. var that = this ;
  144. let data = that.data.form;
  145. data.method = 'POST';
  146. if(that.data.form.id==""||that.data.form.id==null){
  147. UTIL.httpRequest(API.URL_GET_PROJECTADD, data, {
  148. success: (res) => {
  149. this.setData({'status':0})
  150. if(res.code == 200){
  151. UTIL.showToastNoneIcon('新增成功');
  152. setTimeout(function(){
  153. wx.navigateBack({
  154. delta:1
  155. })
  156. },2000)
  157. }else{
  158. UTIL.showToastNoneIcon('新增失败:'+res.msg);
  159. }
  160. },
  161. fail: function (response) {
  162. if (typeof fail === FUNCTION_TEXT) {
  163. fail(handleFail(response));
  164. } else {
  165. showToastNoneIcon(API.MSG_FAIL_HTTP);
  166. }
  167. that.setData({'status':0})
  168. },
  169. complete: function (response) {
  170. wx.hideNavigationBarLoading();
  171. }
  172. })
  173. }else{
  174. UTIL.httpRequest(API.URL_POST_PROJECTUPDATE, data, {
  175. success: (res) => {
  176. this.setData({'status':0})
  177. if(res.code == 200){
  178. UTIL.showToastNoneIcon('修改成功');
  179. setTimeout(function(){
  180. wx.navigateBack({
  181. delta:1
  182. })
  183. },2000)
  184. }else{
  185. UTIL.showToastNoneIcon('修改失败:'+res.msg);
  186. }
  187. },
  188. fail: function (response) {
  189. if (typeof fail === FUNCTION_TEXT) {
  190. fail(handleFail(response));
  191. } else {
  192. showToastNoneIcon(API.MSG_FAIL_HTTP);
  193. }
  194. this.setData({'status':0})
  195. },
  196. complete: function (response) {
  197. wx.hideNavigationBarLoading();
  198. }
  199. })
  200. }
  201. }
  202. },
  203. onChange(event){
  204. this.setData({
  205. [event.currentTarget.dataset.value]: event.detail,
  206. })
  207. },
  208. /**
  209. * 生命周期函数--监听页面初次渲染完成
  210. */
  211. onReady() {
  212. },
  213. /**
  214. * 生命周期函数--监听页面显示
  215. */
  216. onShow() {
  217. },
  218. /**
  219. * 生命周期函数--监听页面隐藏
  220. */
  221. onHide() {
  222. },
  223. /**
  224. * 生命周期函数--监听页面卸载
  225. */
  226. onUnload() {
  227. },
  228. /**
  229. * 页面相关事件处理函数--监听用户下拉动作
  230. */
  231. onPullDownRefresh() {
  232. },
  233. /**
  234. * 页面上拉触底事件的处理函数
  235. */
  236. onReachBottom() {
  237. },
  238. /**
  239. * 用户点击右上角分享
  240. */
  241. onShareAppMessage() {
  242. }
  243. })