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

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