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

476 行
15 KiB

  1. // pages/contract/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. id:null,
  12. form:{
  13. reviewTime:'2022-01-01',
  14. buildingTime:'2022-01-01',
  15. startTime:'2022-01-01',
  16. endTime:'2022-01-01',
  17. biddingDate:'2022-01-01',
  18. },
  19. assetTypeindex:'0',
  20. settleTypeindex:'0',
  21. collectionPayindex:'0',
  22. contractionSourceindex:'0',
  23. contractionStatusindex:'0',
  24. biddingWayindex:'0',
  25. biddingTypeindex:'0',
  26. showBiddingDate:false,
  27. minDate: new Date(2008, 5, 1).getTime(),
  28. maxDate: new Date(2040, 0, 31).getTime(),
  29. // 合同类型字典
  30. assetTypeOptions: [],
  31. // 结款方式字典
  32. settleTypeOptions: [],
  33. // 收付款类型字典
  34. collectionPayOptions: [],
  35. // 合同来源字典
  36. contractionSourceOptions: [],
  37. // 合同状态字典
  38. contractionStatusOptions: [],
  39. // 招标方式字典
  40. biddingWayOptions: [],
  41. // 招标类型字典
  42. biddingTypeOptions: [],
  43. },
  44. back:function(){
  45. wx.navigateBack({
  46. delta: 1
  47. })
  48. },
  49. openBox(even){
  50. this.setData({
  51. [even.currentTarget.dataset.name]:true
  52. })
  53. },
  54. onChange(event){
  55. this.setData({
  56. [event.currentTarget.dataset.formname]: event.detail,
  57. })
  58. console.log(this.data.form);
  59. },
  60. closeBox(even){
  61. this.setData({
  62. [even.currentTarget.dataset.name]:false
  63. })
  64. },
  65. onConfirmBiddingDate(e){
  66. let data = this.getNewDate(new Date(e.detail.value));
  67. this.setData({'form.biddingDate':data});
  68. },
  69. onConfirmReviewTime(e){
  70. let data = this.getNewDate(new Date(e.detail.value));
  71. this.setData({'form.reviewTime':data});
  72. },
  73. onConfirmBuildingTime(e){
  74. let data = this.getNewDate(new Date(e.detail.value));
  75. this.setData({'form.buildingTime':data});
  76. },
  77. onConfirmStartTime(e){
  78. let data = this.getNewDate(new Date(e.detail.value));
  79. this.setData({'form.startTime':data});
  80. },
  81. onConfirmEndTime(e){
  82. let data = this.getNewDate(new Date(e.detail.value));
  83. this.setData({'form.endTime':data});
  84. },
  85. onConfirmbiddingType (e) {
  86. let obj = e.detail.value;
  87. this.setData({
  88. 'form.biddingType':this.data.biddingTypeOptions[obj].dictValue,
  89. 'biddingTypeindex':obj
  90. })
  91. },
  92. onConfirmShowBiddingWay (e) {
  93. let obj = e.detail.value;
  94. this.setData({
  95. 'form.biddingWay':this.data.biddingWayOptions[obj].dictValue,
  96. 'biddingWayindex':obj
  97. })
  98. },
  99. onConfirmSettleType (e) {
  100. let obj = e.detail.value;
  101. this.setData({
  102. 'form.settleType':this.data.settleTypeOptions[obj].dictValue,
  103. 'settleTypeindex':obj
  104. })
  105. },
  106. onConfirmCollectionPay (e) {
  107. let obj = e.detail.value;
  108. this.setData({
  109. 'form.collectionPay':this.data.collectionPayOptions[obj].dictValue,
  110. 'collectionPayindex':obj
  111. })
  112. },
  113. onConfirmContractionSource (e) {
  114. let obj = e.detail.value;
  115. this.setData({
  116. 'form.contractionSource':this.data.contractionSourceOptions[obj].dictValue,
  117. 'contractionSourceindex':obj
  118. })
  119. },
  120. onConfirmAssetType (e) {
  121. console.log(e);
  122. let obj = e.detail.value;
  123. this.setData({
  124. 'form.assetType':this.data.assetTypeOptions[obj].dictValue,
  125. 'assetTypeindex':obj
  126. })
  127. },
  128. onConfirmContractionStatus (e) {
  129. let obj = e.detail.value;
  130. this.setData({
  131. 'form.contractionStatus':this.data.contractionStatusOptions[obj].dictValue,
  132. 'contractionStatusindex':obj
  133. })
  134. },
  135. onConfirmBiddingWay (e) {
  136. let obj = e.detail.value;
  137. this.setData({
  138. 'form.biddingWay':this.data.biddingWayOptions[obj].dictValue,
  139. 'biddingWayindex':obj
  140. })
  141. },
  142. getNewDate(date){
  143. //date是传过来的时间戳,注意需为13位,10位需*1000
  144. //也可以不传,获取的就是当前时间
  145. var time = new Date(date);
  146. var year= time.getFullYear() //年
  147. var month = ("0" + (time.getMonth() + 1)).slice(-2); //月
  148. var day = ("0" + time.getDate()).slice(-2); //日
  149. var mydate = year + "-" + month + "-" + day;
  150. return mydate
  151. },
  152. goSubmit:function(){
  153. if(this.data.form.code==''||this.data.form.code==null){ //合同编码
  154. UTIL.showToastNoneIcon('请填写合同编码!');
  155. return false;
  156. }else if(this.data.form.name==''||this.data.form.name==null){ //合同名称
  157. UTIL.showToastNoneIcon('请输入合同名称!');
  158. return false;
  159. }else if(this.data.form.firstParty==''||this.data.form.firstParty==null){ //甲方
  160. UTIL.showToastNoneIcon('请输入单据编码!');
  161. return false;
  162. }else if(this.data.form.secondParty==''||this.data.form.secondParty==null){ //乙方
  163. UTIL.showToastNoneIcon('请输入备注说明!');
  164. return false;
  165. }else if(this.data.form.collectionPay == ''||this.data.form.collectionPay==null){//收付款类型
  166. UTIL.showToastNoneIcon('收付款类型不能为空!');
  167. return false;
  168. }else if(this.data.form.contractionSource == ''||this.data.form.contractionSource==null){//合同来源
  169. UTIL.showToastNoneIcon('合同来源不能为空!');
  170. return false;
  171. }else if(this.data.form.totalAmount == ''||this.data.form.totalAmount==null){//合同金额
  172. UTIL.showToastNoneIcon('合同金额不能为空!');
  173. return false;
  174. }else if(this.data.form.buildingTime == ''||this.data.form.buildingTime==null){//签订日期
  175. UTIL.showToastNoneIcon('合同金额不能为空!');
  176. return false;
  177. }else if(this.data.form.startTime == ''||this.data.form.startTime==null){//开始日期
  178. UTIL.showToastNoneIcon('开始日期不能为空!');
  179. return false;
  180. }else if(this.data.form.endTime == ''||this.data.form.endTime==null){//结束日期
  181. UTIL.showToastNoneIcon('结束日期不能为空!');
  182. return false;
  183. }else if(this.data.form.price == ''||this.data.form.price==null){//单价
  184. UTIL.showToastNoneIcon('单价不能为空!');
  185. return false;
  186. }else if(this.data.form.receivedAmount == ''||this.data.form.receivedAmount==null){//已结款
  187. UTIL.showToastNoneIcon('已结款不能为空!');
  188. return false;
  189. }else if(this.data.form.contractionStatus == ''||this.data.form.contractionStatus==null){//合同状态
  190. UTIL.showToastNoneIcon('单价不能为空!');
  191. return false;
  192. }else{
  193. if(this.data.form.id!=null&&this.data.form.id!=""){
  194. let data = this.data.form;
  195. data.method = "POST";
  196. UTIL.httpRequest(API.URL_POST_CONTRACTUPDATE,data,{
  197. success: (res) => {
  198. if(res.code == 200){
  199. UTIL.showToastNoneIcon('修改成功');
  200. }else{
  201. UTIL.showToastNoneIcon('修改失败');
  202. }
  203. }
  204. })
  205. }else{
  206. let data = this.data.form;
  207. data.method = "POST";
  208. UTIL.httpRequest(API.URL_POST_CONTRACTADD,data,{
  209. success: (res) => {
  210. if(res.code == 200){
  211. UTIL.showToastNoneIcon(res.msg);
  212. }else{
  213. UTIL.showToastNoneIcon(res.msg);
  214. }
  215. }
  216. })
  217. }
  218. }
  219. },
  220. bindNewInput: function (e) {
  221. this.setData({
  222. [e.currentTarget.dataset.name]: e.detail.value
  223. })
  224. },
  225. /**
  226. * 生命周期函数--监听页面加载
  227. */
  228. onLoad(options) {
  229. if(options.id!=null&&options.id!=""){
  230. this.setData({id:options.id})
  231. //获取收入合同状态
  232. UTIL.httpRequest(API.URL_GET_CONTRACTDETAIL + this.data.id, {method:'GET'}, {
  233. success: (res) => {
  234. this.setData({'form':res.data});
  235. let that = this;
  236. //获取收入合同状态
  237. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'type_of_contract', {method:'GET'}, {
  238. success: (r) => {
  239. if(r.data.length>0){
  240. that.setData({
  241. assetTypeOptions:r.data,
  242. })
  243. r.data.map((rr,ind) => {
  244. if(rr.dictValue == res.data.assetType){
  245. that.setData({'assetTypeindex':ind})
  246. }
  247. })
  248. }
  249. }
  250. })
  251. //获取收入合同来源
  252. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'contraction_source', {method:'GET'}, {
  253. success: (r) => {
  254. if(r.data.length>0){
  255. that.setData({
  256. contractionSourceOptions:r.data,
  257. })
  258. r.data.map((rr,ind) => {
  259. if(rr.dictValue == res.data.contractionSource){
  260. that.setData({'contractionSourceindex':ind})
  261. }
  262. })
  263. }
  264. }
  265. })
  266. //获取收入收付款类型
  267. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'collection_pay', {method:'GET'}, {
  268. success: (r) => {
  269. if(r.data.length>0){
  270. that.setData({
  271. collectionPayOptions:r.data,
  272. })
  273. r.data.map((rr,ind) => {
  274. if(rr.dictValue == res.data.collectionPay){
  275. that.setData({'collectionPayindex':ind})
  276. }
  277. })
  278. }
  279. }
  280. })
  281. //获取收入结款方式
  282. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'settle_type', {method:'GET'}, {
  283. success: (r) => {
  284. if(r.data.length>0){
  285. that.setData({
  286. settleTypeOptions:r.data,
  287. })
  288. r.data.map((rr,ind) => {
  289. if(rr.dictValue == res.data.settleType){
  290. that.setData({'settleTypeindex':ind})
  291. }
  292. })
  293. }
  294. }
  295. })
  296. //获取收入合同状态
  297. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'contraction_status', {method:'GET'}, {
  298. success: (r) => {
  299. if(r.data.length>0){
  300. that.setData({
  301. contractionStatusOptions:r.data,
  302. })
  303. r.data.map((rr,ind) => {
  304. if(rr.dictValue == res.data.contractionStatus){
  305. that.setData({'contractionStatusindex':ind})
  306. }
  307. })
  308. }
  309. }
  310. })
  311. //获取收入招标方式
  312. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bidding_way', {method:'GET'}, {
  313. success: (r) => {
  314. if(r.data.length>0){
  315. that.setData({
  316. biddingWayOptions:r.data,
  317. })
  318. r.data.map((rr,ind) => {
  319. if(rr.dictValue == res.data.biddingWay){
  320. that.setData({'biddingWayindex':ind})
  321. }
  322. })
  323. }
  324. }
  325. })
  326. //获取收入招标类型
  327. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bidding_types', {method:'GET'}, {
  328. success: (r) => {
  329. if(r.data.length>0){
  330. console.log(res.data,r.data);
  331. that.setData({
  332. biddingTypeOptions:r.data,
  333. })
  334. r.data.map((rr,ind) => {
  335. if(rr.dictValue == res.data.biddingType){
  336. that.setData({'biddingTypeindex':ind})
  337. }
  338. })
  339. }
  340. }
  341. })
  342. }
  343. })
  344. }else{
  345. let that = this;
  346. //获取收入合同状态
  347. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'type_of_contract', {method:'GET'}, {
  348. success: (res) => {
  349. if(res.data.length>0){
  350. that.setData({
  351. assetTypeOptions:res.data,
  352. 'form.assetType':res.data[0].dictValue
  353. })
  354. }
  355. }
  356. })
  357. //获取收入合同来源
  358. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'contraction_source', {method:'GET'}, {
  359. success: (res) => {
  360. if(res.data.length>0){
  361. that.setData({
  362. contractionSourceOptions:res.data,
  363. 'form.contractionSource':res.data[0].dictValue
  364. })
  365. }
  366. }
  367. })
  368. //获取收入收付款类型
  369. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'collection_pay', {method:'GET'}, {
  370. success: (res) => {
  371. if(res.data.length>0){
  372. that.setData({
  373. collectionPayOptions:res.data,
  374. 'form.collectionPay':res.data[0].dictValue
  375. })
  376. }
  377. }
  378. })
  379. //获取收入结款方式
  380. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'settle_type', {method:'GET'}, {
  381. success: (res) => {
  382. if(res.data.length>0){
  383. that.setData({
  384. settleTypeOptions:res.data,
  385. 'form.settleType':res.data[0].dictValue
  386. })
  387. }
  388. }
  389. })
  390. //获取收入合同状态
  391. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'contraction_status', {method:'GET'}, {
  392. success: (res) => {
  393. if(res.data.length>0){
  394. that.setData({
  395. contractionStatusOptions:res.data,
  396. 'form.contractionStatus':res.data[1].dictValue
  397. })
  398. }
  399. }
  400. })
  401. //获取收入招标方式
  402. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bidding_way', {method:'GET'}, {
  403. success: (res) => {
  404. if(res.data.length>0){
  405. that.setData({
  406. biddingWayOptions:res.data,
  407. 'form.biddingWay':res.data[0].dictValue
  408. })
  409. }
  410. }
  411. })
  412. //获取收入招标类型
  413. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bidding_types', {method:'GET'}, {
  414. success: (res) => {
  415. if(res.data.length>0){
  416. that.setData({
  417. biddingTypeOptions:res.data,
  418. 'form.biddingType':res.data[0].dictValue
  419. })
  420. }
  421. }
  422. })
  423. }
  424. },
  425. /**
  426. * 生命周期函数--监听页面初次渲染完成
  427. */
  428. onReady() {
  429. },
  430. /**
  431. * 生命周期函数--监听页面显示
  432. */
  433. onShow() {
  434. },
  435. /**
  436. * 生命周期函数--监听页面隐藏
  437. */
  438. onHide() {
  439. },
  440. /**
  441. * 生命周期函数--监听页面卸载
  442. */
  443. onUnload() {
  444. },
  445. /**
  446. * 页面相关事件处理函数--监听用户下拉动作
  447. */
  448. onPullDownRefresh() {
  449. },
  450. /**
  451. * 页面上拉触底事件的处理函数
  452. */
  453. onReachBottom() {
  454. },
  455. /**
  456. * 用户点击右上角分享
  457. */
  458. onShareAppMessage() {
  459. }
  460. })