微信小程序
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

add.js 15 KiB

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. })