网站
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

955 regels
44 KiB

  1. /**
  2. * Created by Administrator on 2021/4/5.
  3. */
  4. define(['jquery', "template", "Tools", 'swiper', 'itemsApi', 'swiper'], function ($, template, Tools ,Swiper) {
  5. //数据存储
  6. var module = {
  7. data: {
  8. //焦点图数据
  9. focusListTop: [],
  10. showImgInformationDetail:'',
  11. loginNow:'',
  12. isFirst:'',
  13. timer:null,
  14. timer2:null,
  15. biddinglistInformationDetailLength:-1,
  16. biddingTimeType:0,
  17. biddinglistInformationDetail:[],
  18. timeConfig:0.00
  19. },
  20. };
  21. var tools = new Tools();
  22. module.init = function (page) {
  23. //获取焦点图信息
  24. tools.doGet(websitePicture, {picType:1,status:0,orderByColumn:'picSort',isAsc:'desc'}, module.focusNewsTop , true);
  25. //底部友情链接
  26. tools.doGet(friendsLinks, {}, module.bottomFriendsLinks, true);
  27. //网站配置信息(网站名称 底部联系方式 公安备案号 网站备案号)
  28. tools.getWebConfig();
  29. module.data.loginNow = tools.getCookie('Admin-Token');
  30. //浏览次数
  31. tools.doGet(outProject, {id:getQueryVariable('id')}, module.projectNum,true);
  32. setTimeout(function(){//项目基本信息
  33. tools.doGet(outProject + '/id/'+getQueryVariable('id'), {}, module.outProjectInformation,true);
  34. },100)
  35. //焦点图
  36. setTimeout(function () {
  37. module.swiperBanner();
  38. },5000)
  39. setTimeout(function(){//项目基本信息
  40. tools.doGet(showImg + '/'+getQueryVariable('id'), {}, module.showImgInformation,true);
  41. },100)
  42. tools.doGet(webConfig, {}, module.webConfigInformation, true)
  43. };
  44. //焦点图数据
  45. module.focusNewsTop = function (data) {
  46. if (data.code == 200) {
  47. let focusArray = [];
  48. if(data.data.length<1){
  49. focusArray.push({
  50. picUrl:'../../../static/images/banner1.png'
  51. },{
  52. picUrl:'../../../static/images/banner2.png'
  53. },{
  54. picUrl:'../../../static/images/banner3.png'
  55. })
  56. }else{
  57. data.data.forEach(res=>{
  58. focusArray.push({
  59. picUrl:'/api'+res.picUrl
  60. })
  61. })
  62. }
  63. module.data.focusListTop = focusArray;
  64. var bannerFocusDataTop = template('bannerFocusDataTop', module.data);
  65. $("#bannerFocusTopContent").html(bannerFocusDataTop);
  66. new Swiper('#bannerFocusWrapTop', {
  67. paginationClickable: true,
  68. autoplay : 4000,
  69. loop:true
  70. })
  71. }
  72. }
  73. //获取地址栏参数
  74. function getQueryVariable(variable){
  75. var query = window.location.search.substring(1);
  76. var vars = query.split("&");
  77. for (var i=0;i<vars.length;i++) {
  78. var pair = vars[i].split("=");
  79. if(pair[0] == variable){return pair[1];}
  80. }
  81. return(false);
  82. }
  83. //网站配置信息
  84. module.webConfigInformation = function (data) {
  85. if (data.code == 200) {
  86. var content = data.data;
  87. console.log(content)
  88. //document.getElementById('time').innerHTML = '延时周期:'+content[8].configValue+content[8].remark+'<i class="wh">?</i>'
  89. module.data.timeConfig = parseFloat(content[8].configValue);
  90. module.data.titleConfig = content[9].configValue;
  91. module.data.importantTitle = content[7].configName+':'+ content[7].configValue.substr(3).substr(0,(content[7].configValue.substr(3).length-4));
  92. module.data.know = content[6].configValue;
  93. $("#know").html(content[6].configValue);
  94. // + '<span style="margin-left: 10px;"></span>' + content[6].configValue
  95. }
  96. }
  97. //底部友情链接
  98. module.bottomFriendsLinks = function (data) {
  99. if (data.code == 200) {
  100. var content = data.data;
  101. console.log(content)
  102. module.data.friendsLinksList = content;
  103. var friendsLinksData = template('friendsLinksData', module.data);
  104. $("#friendsLinksContent").html(friendsLinksData);
  105. }
  106. }
  107. module.dataCompare = function(signupStartTime,signupStopTime,biddingStartTime,biddingStopTime){
  108. // console.log('aaaaaaaaaaa')
  109. var signupStartTime = signupStartTime;
  110. var signupStopTime = signupStopTime;
  111. var biddingStartTime = biddingStartTime;
  112. var biddingStopTime = biddingStopTime;
  113. var nowTime = Date.parse(new Date($.ajax({type:'HEAD',async:false,data:{i: Date.parse(new Date())}}).getResponseHeader("Date")));
  114. // console.log(new Date($.ajax({type:'HEAD',async:false,data:{i: Date.parse(new Date())}}).getResponseHeader("Date")))
  115. var beginTimes=signupStartTime.substring(0,10).split('-');
  116. var endTimes=signupStopTime.substring(0,10).split('-');
  117. var biddingBeginTimes=biddingStartTime.substring(0,10).split('-');
  118. var biddingEndTimes=biddingStopTime.substring(0,10).split('-');
  119. signupStartTime=beginTimes[1]+'/'+beginTimes[2]+'/'+beginTimes[0]+' '+signupStartTime.substring(10,19);
  120. signupStopTime=endTimes[1]+'/'+endTimes[2]+'/'+endTimes[0]+' '+signupStopTime.substring(10,19);
  121. biddingStartTime=biddingBeginTimes[1]+'/'+biddingBeginTimes[2]+'/'+biddingBeginTimes[0]+' '+biddingStartTime.substring(10,19);
  122. biddingStopTime=biddingEndTimes[1]+'/'+biddingEndTimes[2]+'/'+biddingEndTimes[0]+' '+biddingStopTime.substring(10,19);
  123. //时间差
  124. var leftTime = Date.parse(biddingStopTime)-nowTime;
  125. //报名开始时间差
  126. var signupLeftTime = Date.parse(signupStartTime)-nowTime;
  127. //报名结束时间差
  128. var signDownLeftTime = Date.parse(signupStopTime)-nowTime;
  129. //定义变量 d,h,m,s保存倒计时的时间
  130. var d,h,m,s;
  131. if(Date.parse(biddingStartTime)<nowTime&&nowTime<Date.parse(biddingStopTime)){
  132. //正在竞价
  133. // console.log('正在竞价')
  134. module.data.biddingTimeType = 1;
  135. if(module.data.outProjectInformationDetail.biddingType == '自由竞价'){
  136. document.getElementById('biddingTable').style.display = 'none';
  137. document.getElementById('biddingTitle').style.display = 'block';
  138. document.getElementById('biddingTitle').innerHTML = '竞价进行中...';
  139. }
  140. document.getElementById('swiperType').style.display = 'block';
  141. d = Math.floor(leftTime/1000/60/60/24);
  142. h = Math.floor(leftTime/1000/60/60%24);
  143. m = Math.floor(leftTime/1000/60%60);
  144. s = Math.floor(leftTime/1000%60);
  145. // console.log('<span>距竞价结束还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  146. $('#countType').html('竞价中')
  147. $('#countDown').html('<span>距竞价结束还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  148. }else if (nowTime>Date.parse(biddingStopTime)){
  149. //竞价结束
  150. $('#countType').html('')
  151. $('#countDown').html('竞价结束')
  152. document.getElementById('swiperType').style.display = 'none';
  153. document.getElementById('biddingTable').style.display = 'table-block';
  154. document.getElementById('biddingTitle').style.display = 'none';
  155. module.data.biddingTimeType = 2;
  156. }else if (nowTime<Date.parse(biddingStartTime)){
  157. leftTime = Date.parse(biddingStartTime)-nowTime;
  158. d = Math.floor(leftTime/1000/60/60/24);
  159. h = Math.floor(leftTime/1000/60/60%24);
  160. m = Math.floor(leftTime/1000/60%60);
  161. s = Math.floor(leftTime/1000%60);
  162. $('#countType').html('未开始')
  163. $('#countDown').html('<span>距竞价开始还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  164. //竞价暂未开始
  165. document.getElementById('biddingTitle').innerHTML = '竞价暂未开始...';
  166. module.data.biddingTimeType = 3;
  167. }
  168. if(Date.parse(signupStartTime)<nowTime&&nowTime<Date.parse(signupStopTime)){
  169. //正在报名
  170. module.data.signupTimeType = 1;
  171. document.getElementById('swiperType').style.display = 'block';
  172. d = Math.floor(signDownLeftTime/1000/60/60/24);
  173. h = Math.floor(signDownLeftTime/1000/60/60%24);
  174. m = Math.floor(signDownLeftTime/1000/60%60);
  175. s = Math.floor(signDownLeftTime/1000%60);
  176. $('#countType').html('报名中')
  177. $('#countDown').html('<span>距报名结束还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  178. }else if (nowTime>Date.parse(signupStopTime)){
  179. //报名结束
  180. module.data.signupTimeType = 2;
  181. }else if (nowTime<Date.parse(signupStartTime)){
  182. //报名暂未开始
  183. module.data.signupTimeType = 3;
  184. d = Math.floor(signupLeftTime/1000/60/60/24);
  185. h = Math.floor(signupLeftTime/1000/60/60%24);
  186. m = Math.floor(signupLeftTime/1000/60%60);
  187. s = Math.floor(signupLeftTime/1000%60);
  188. $('#countType').html('未开始')
  189. $('#countDown').html('<span>距报名开始还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  190. }
  191. if(module.data.outProjectInformationDetail.biddingType != '自由竞价' && module.data.biddingTimeType != 2){
  192. document.getElementById('biddingTable').style.display = 'table-block';
  193. document.getElementById('biddingTitle').style.display = 'none';
  194. }
  195. }
  196. module.projectNum = function(data){
  197. console.log(data)
  198. }
  199. module.signup = function(data){
  200. console.log(data)
  201. module.data.signup = data.data;
  202. module.data.isFirst = data.signup.isFirst;
  203. var outProjectInformationData = template('outProjectInformationData', module.data);
  204. $("#outProjectInformationContent").html(outProjectInformationData);
  205. }
  206. goBond = function(){
  207. var nowTime = Date.parse(new Date());
  208. var signupStopTime = Date.parse(module.data.outProjectInformationDetail.signupStopTime)
  209. if (nowTime>signupStopTime){
  210. tools.initError('报名已结束!');
  211. return;
  212. }
  213. if (module.data.signHistory == 1){
  214. tools.initError('已报名,请耐心等待审核结果!');
  215. return;
  216. }
  217. tools.doGet(userData, {}, module.userData);
  218. }
  219. module.userData = function(data){
  220. if (data.code == 200) {
  221. var content = data.user;
  222. //console.log(content)
  223. module.data.userId = content.userId;
  224. tools.doGet(userMember + '/' + content.userId, {}, module.userMember);//memberType 1个人 2单位
  225. }
  226. }
  227. module.userMember = function(data){
  228. if (data.code == 200) {
  229. var content = data.data;
  230. if (content.auditStatus == 'Y'){
  231. tools.skip('bond.html?id='+getQueryVariable('id'))
  232. }else{
  233. tools.initError("交易中心审核注册信息后方可进行报名!");
  234. }
  235. }
  236. }
  237. //项目基本信息
  238. module.outProjectInformation = function (data) {
  239. if (data.code == 200) {
  240. var content = data.data;
  241. module.data.biddingStopTime = content.biddingStopTime;
  242. for(var i = 0 ; i < content.fileUrlList.length ; i++){
  243. content.fileUrlList[i].fileUrl = serverApi+content.fileUrlList[i].fileUrl;
  244. }
  245. module.data.outProjectInformationDetail = content;
  246. setTimeout(function(){
  247. var outProjectInformationData = template('outProjectInformationData', module.data);
  248. $("#outProjectInformationContent").html(outProjectInformationData);
  249. var timName = document.getElementById('timeDown');
  250. if(timName){
  251. var t = 10;
  252. module.data.timeDown = setInterval(function(){
  253. // console.log($('#countType').html())
  254. if ($('#countType').html()!='竞价中'){
  255. clearInterval(module.data.timeDown)
  256. document.getElementById('timeDown').style.display = 'none';
  257. return;
  258. }
  259. timName.innerHTML = t+'<b style="color: #666666">秒后自动刷新</b>';
  260. t--;
  261. document.getElementById('timeDown').style.display = 'inline-block';
  262. if(t<0){
  263. t = 10;
  264. let biddingStartTime = content.biddingStartTime;
  265. let biddingStopTime = content.biddingStopTime;
  266. var nowTime = Date.parse(new Date());
  267. if(Date.parse(biddingStartTime)<nowTime&&nowTime<Date.parse(biddingStopTime)){
  268. //正在竞价
  269. //交易项目竞价记录
  270. tools.doGet(biddinglist, {projectId:getQueryVariable('id')}, module.biddinglistInformation,true);
  271. }
  272. }
  273. }, 1000)
  274. }
  275. },2000)
  276. $("#know").html(module.data.know);
  277. //挂牌价格字典
  278. tools.doGet(Dictionaries+'/price_unit', {}, module.unitDictionaries,true);
  279. //经济类型字典
  280. tools.doGet(Dictionaries+'/economic_type', {}, module.economicTypeDictionaries,true);
  281. //项目类型字典
  282. tools.doGet(Dictionaries+'/project_type', {}, module.projectNumberDictionaries,true);
  283. //农地性质字典
  284. // tools.doGet(Dictionaries+'/sub_object_type', {}, module.projectTypeDictionaries,true);
  285. //前次转出方式
  286. tools.doGet(Dictionaries+'/rollout_type', {}, module.oneoutDictionaries,true);
  287. //面积单位字典
  288. tools.doGet(Dictionaries+'/area_unit', {}, module.areaDictionaries,true);
  289. //支付方式字典
  290. tools.doGet(Dictionaries+'/payment_type', {}, module.paymentTypeDictionaries,true);
  291. //缴纳形式字典
  292. tools.doGet(Dictionaries+'/deposit_payment_type', {}, module.depositPaymentTypeDictionaries,true);
  293. //交易方式字典
  294. tools.doGet(Dictionaries+'/deal_type', {}, module.transactionDictionaries,true);
  295. //竞价方式字典
  296. tools.doGet(Dictionaries+'/bidding_type', {}, module.biddingTypeDictionaries,true);
  297. //期满处理字典
  298. tools.doGet(Dictionaries+'/expire_type', {}, module.expireTypeDictionaries,true);
  299. //期满处理字典
  300. tools.doGet(Dictionaries+'/bidding_direct', {}, module.biddingDirectDictionaries,true);
  301. //交易项目竞价记录
  302. tools.doGet(biddinglist, {projectId:getQueryVariable('id')}, module.biddinglistInformation,true);
  303. //倒计时
  304. module.data.timer = setInterval(function(){
  305. // '2023-05-17 14:56:00'
  306. let signupStartTime = module.data.outProjectInformationDetail.signupStartTime;
  307. let signupStopTime = module.data.outProjectInformationDetail.signupStopTime;
  308. let biddingStartTime = module.data.outProjectInformationDetail.biddingStartTime;
  309. let biddingStopTime = module.data.outProjectInformationDetail.biddingStopTime;
  310. var nowTime = Date.parse(new Date($.ajax({type:'HEAD',async:false,data:{i: Date.parse(new Date())}}).getResponseHeader("Date")));
  311. var difference = Date.parse(biddingStopTime)-nowTime;
  312. // var centerTime = module.data.timeConfig * 60 * 1000
  313. var centerTime = content.delayPeriod * 1000
  314. if ( 0 <= difference&&difference <= centerTime){
  315. // console.log("竞价最后两分钟")
  316. //正在竞价
  317. var m,s;
  318. if(module.data.outProjectInformationDetail.biddingType == '自由竞价'){
  319. document.getElementById('biddingTable').style.display = 'none';
  320. document.getElementById('biddingTitle').style.display = 'block';
  321. document.getElementById('biddingTitle').innerHTML = '竞价进行中...';
  322. }
  323. document.getElementById('swiperType').style.display = 'block';
  324. module.data.biddingTimeType = 1;
  325. m = Math.floor(difference/1000/60%60);
  326. s = Math.floor(difference/1000%60);
  327. $('#countType').html('竞价中')
  328. $('#countDown').html('<span>距竞价结束还有:0</span>天<span>0</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  329. console.log(s+'-------------'+m)
  330. if (s < 1 && m < 1){
  331. console.log("竞价结束22222222222")
  332. tools.doGet(getBiddingStopTime+getQueryVariable('id'), {}, function(data){
  333. if (data.code == 200) {
  334. var nowDate = Date.parse(new Date($.ajax({type:'HEAD',async:false,data:{i: Date.parse(new Date())}}).getResponseHeader("Date")));
  335. module.data.outProjectInformationDetail.biddingStopTime = data.data
  336. let timeNew = Date.parse(data.data) + 0 - nowDate;
  337. if (timeNew > 0) {
  338. module.data.outProjectInformationDetail.biddingStopTime = data.data;
  339. // module.dataCompare(signupStartTime,signupStopTime,biddingStartTime,data.data);
  340. }else{
  341. $('#countType').html('')
  342. $('#countDown').html('竞价结束')
  343. document.getElementById('swiperType').style.display = 'none';
  344. document.getElementById('biddingTable').style.display = 'table-block';
  345. document.getElementById('biddingTitle').style.display = 'none';
  346. module.data.biddingTimeType = 2;
  347. return;
  348. }
  349. }
  350. },true);
  351. }else{
  352. tools.doGet(getBiddingStopTime+getQueryVariable('id'), {}, module.getBiddingStopTime,true);
  353. }
  354. }else{
  355. if (!signupStartTime){console.log('缺失报名开始时间');return;}
  356. if (!signupStopTime){console.log('缺失报名结束时间');return;}
  357. if (!biddingStartTime){console.log('缺失竞价开始时间');return;}
  358. if (!biddingStopTime){console.log('缺失竞价结束时间');return;}
  359. module.dataCompare(signupStartTime,signupStopTime,biddingStartTime,biddingStopTime);
  360. }
  361. if(module.data.outProjectInformationDetail.biddingType == '自由竞价' && module.data.biddingTimeType != 2){
  362. document.getElementById('biddingTable').style.display = 'none';
  363. document.getElementById('biddingTitle').style.display = 'block';
  364. }
  365. },1000)
  366. //倒计时
  367. // module.data.timer2 = setInterval(function(){
  368. // //交易项目竞价记录
  369. // tools.doGet(biddinglist, {projectId:getQueryVariable('id')}, module.biddinglistInformationNew,true);
  370. //
  371. // },10000)
  372. if(module.data.loginNow){
  373. //判断是否报名
  374. tools.doGet(signup, {projectId:getQueryVariable('id'),depositStatus:'1',memberId:tools.getCookie('memberId')}, module.signup);
  375. tools.doGet(signup, {projectId:getQueryVariable('id'),memberId:tools.getCookie('memberId')}, module.signup2);
  376. }
  377. }
  378. }
  379. module.getBiddingStopTime = function(data){
  380. if (data.code == 200) {
  381. $('#stopTime').html(data.data)
  382. module.data.outProjectInformationDetail.biddingStopTime = data.data
  383. }
  384. }
  385. module.signup2 = function(data){
  386. if (data.code == 200) {
  387. module.data.signHistory = data.data
  388. }
  389. }
  390. //标的物图片
  391. module.showImgInformation = function (data) {
  392. if (data.code == 200) {
  393. var content = data.data;
  394. console.log(content)
  395. var contentList = [];
  396. for(var i = 0 ; i < content.length ; i++){
  397. contentList[i] = serverApi+content[i].fileUrl;
  398. }
  399. module.data.showImgInformationDetail = contentList;
  400. console.log(contentList)
  401. var showImgInformationData = template('showImgInformationData', module.data);
  402. $("#tabDetail2").html(showImgInformationData);
  403. }
  404. }
  405. //竞价记录
  406. module.biddinglistInformation = function (data) {
  407. if (data.code == 200) {
  408. var content = data.rows;
  409. if(module.data.biddinglistInformationDetailLength == content.length){
  410. return;
  411. }
  412. console.log(module.data.outProjectInformationDetail.biddingDirect)
  413. setTimeout(function(){
  414. if(module.data.outProjectInformationDetail.biddingType != '自由竞价'){
  415. if (module.data.outProjectInformationDetail.biddingDirect == '反向竞价'||module.data.outProjectInformationDetail.biddingDirect == '2'){
  416. if (content.length>0){
  417. document.getElementById('money').value = parseFloat(parseFloat(content[0].money) - parseFloat(module.data.outProjectInformationDetail.ladderPrice)).toFixed(2);
  418. }else{
  419. document.getElementById('money').value = parseFloat(parseFloat(module.data.outProjectInformationDetail.price)).toFixed(2);
  420. // + parseFloat(module.data.outProjectInformationDetail.ladderPrice)
  421. }
  422. }else{
  423. if (content.length>0){
  424. document.getElementById('money').value = parseFloat(parseFloat(content[0].money) + parseFloat(module.data.outProjectInformationDetail.ladderPrice)).toFixed(2);
  425. }else{
  426. document.getElementById('money').value = parseFloat(parseFloat(module.data.outProjectInformationDetail.price)).toFixed(2);
  427. // + parseFloat(module.data.outProjectInformationDetail.ladderPrice)
  428. }
  429. }
  430. }
  431. },2000)
  432. module.data.biddinglistInformationDetail = content;
  433. module.data.biddinglistInformationDetailLength = content.length;
  434. var biddinglistInformationData = template('biddinglistInformationData', module.data);
  435. $("#tabDetail4").html(biddinglistInformationData);
  436. if (content.length>0){$("#nowMoney").html(content[0].money);}
  437. }
  438. }
  439. //竞价记录
  440. module.biddinglistInformationNew = function (data) {
  441. if (data.code == 200) {
  442. var content = data.rows;
  443. console.log(module.data.biddinglistInformationDetail.length+'----------------------'+content.length)
  444. if (module.data.biddinglistInformationDetailLength<content.length){
  445. let time = new Date(Date.parse(new Date())+(2 * 60 * 1000));
  446. const Y = time.getFullYear()
  447. const M = time.getMonth() + 1 < 10 ? '0'+(time.getMonth()+1) : time.getMonth()+1
  448. const D = time.getDate()
  449. const H = time.getHours() // 小时
  450. const m = time.getMinutes() // 分钟
  451. const S = time.getSeconds() // 秒
  452. module.data.biddingStopTime = Y+'-'+M+'-'+D+' '+H+':'+m+':'+S;
  453. module.data.biddinglistInformationDetailLength = content.length;
  454. }
  455. }
  456. }
  457. //焦点图滚动
  458. module.swiperBanner = function (type) {
  459. console.log('aaaa')
  460. var viewSwiper = new Swiper('.view .swiper-container', {
  461. onSlideChangeStart: function() {
  462. updateNavPosition()
  463. }
  464. })
  465. $('.view .arrow-left,.preview .arrow-left').on('click', function(e) {
  466. console.log('abc')
  467. e.preventDefault()
  468. if (viewSwiper.activeIndex == 0) {
  469. viewSwiper.swipeTo(viewSwiper.slides.length - 1, 1000);
  470. return
  471. }
  472. viewSwiper.swipePrev()
  473. })
  474. $('.view .arrow-right,.preview .arrow-right').on('click', function(e) {
  475. console.log('abc')
  476. e.preventDefault()
  477. if (viewSwiper.activeIndex == viewSwiper.slides.length - 1) {
  478. viewSwiper.swipeTo(0, 1000);
  479. return
  480. }
  481. viewSwiper.swipeNext()
  482. })
  483. var previewSwiper = new Swiper('.preview .swiper-container', {
  484. visibilityFullFit: true,
  485. slidesPerView: 'auto',
  486. onlyExternal: true,
  487. onSlideClick: function() {
  488. viewSwiper.swipeTo(previewSwiper.clickedSlideIndex)
  489. }
  490. })
  491. function updateNavPosition() {
  492. $('.preview .active-nav').removeClass('active-nav')
  493. var activeNav = $('.preview .swiper-slide').eq(viewSwiper.activeIndex).addClass('active-nav')
  494. if (!activeNav.hasClass('swiper-slide-visible')) {
  495. if (activeNav.index() > previewSwiper.activeIndex) {
  496. var thumbsPerNav = Math.floor(previewSwiper.width / activeNav.width()) - 1
  497. previewSwiper.swipeTo(activeNav.index() - thumbsPerNav)
  498. } else {
  499. previewSwiper.swipeTo(activeNav.index())
  500. }
  501. }
  502. }
  503. }
  504. //切换
  505. tabClick = function(type){
  506. //标的物介绍
  507. for (var i = 0 ; i < 4 ; i++){
  508. document.getElementById('tabDetail'+(i+1)).style.display = 'none';
  509. document.getElementById('tab'+(i+1)).classList = '';
  510. }
  511. document.getElementById('tabDetail'+type).style.display = 'block';
  512. document.getElementById('tab'+type).classList = 'active';
  513. }
  514. //挂牌价格
  515. module.unitDictionaries = function (data) {
  516. if (data.code == 200) {
  517. var content = data.data;
  518. var unit = content[(module.data.outProjectInformationDetail.unit-1)].dictLabel;
  519. module.data.outProjectInformationDetail.unit = unit;
  520. var outProjectInformationData = template('outProjectInformationData', module.data);
  521. $("#outProjectInformationContent").html(outProjectInformationData);
  522. }
  523. }
  524. //出价
  525. module.biddingSubmitMethod = function (data2) {
  526. let newMoney;
  527. if (data2.data&&data2.code==200){
  528. console.log(data2)
  529. newMoney = data2.data;
  530. }else{
  531. newMoney = module.data.outProjectInformationDetail.price;
  532. }
  533. if ($('#money').val()<=0){
  534. tools.initError('请正常出价!');
  535. return;
  536. }
  537. if (module.data.outProjectInformationDetail.biddingDirect == '反向竞价'){
  538. //判断用户出价不能高于挂牌价
  539. if(module.data.outProjectInformationDetail.price<$('#money').val()){
  540. tools.initError('出价不能高于挂牌价');
  541. return;
  542. }else{
  543. //判断当前竞价方式
  544. if (module.data.outProjectInformationDetail.biddingType=='阶梯竞价' || module.data.outProjectInformationDetail.biddingType=='公开竞价'){
  545. //判断当前是否有人出价
  546. if (data2.data){
  547. //判断用户出价不能高于当前出价最低价格
  548. if(newMoney < $('#money').val()){
  549. tools.initError('不能高于当前最低价格!');
  550. return;
  551. }
  552. }
  553. }
  554. }
  555. }else{
  556. if(module.data.outProjectInformationDetail.price>$('#money').val()){
  557. tools.initError('出价不能低于挂牌价');
  558. return;
  559. }else{
  560. //判断当前竞价方式
  561. if (module.data.outProjectInformationDetail.biddingType=='阶梯竞价' || module.data.outProjectInformationDetail.biddingType=='公开竞价'){
  562. //判断当前是否有人出价
  563. if (data2.data){
  564. //判断用户出价不能低于当前出价最高价格
  565. if(newMoney >= $('#money').val()){
  566. tools.initError('不能低于当前最高价格!');
  567. return;
  568. }
  569. }
  570. }
  571. }
  572. }
  573. var data = {};
  574. var projectId = getQueryVariable('id');
  575. var memberId = tools.getCookie('memberId');
  576. var userId = tools.getCookie('userId');
  577. var userAccount = tools.getCookie('phone');
  578. var userName = tools.getCookie('userName');
  579. var money = parseFloat($('#money').val());
  580. // var loginTime = tools.getNowFormatDate();
  581. data['projectId'] = projectId;
  582. data['memberId'] = memberId;
  583. data['userId'] = userId;
  584. data['userAccount'] = userAccount;
  585. data['userName'] = userName;
  586. data['money'] = money;
  587. // data['loginTime'] = loginTime;
  588. tools.doPost(biddingSubmit, data, module.biddingSubmitOpen);
  589. }
  590. module.biddingSubmitOpen = function(){
  591. tools.doGet(getBiddingStopTime+getQueryVariable('id'), {}, function(data){
  592. if (data.code == 200) {
  593. var nowDate = Date.parse(new Date($.ajax({type:'HEAD',async:false,data:{i: Date.parse(new Date())}}).getResponseHeader("Date")));
  594. module.data.outProjectInformationDetail.biddingStopTime = data.data
  595. let timeNew = Date.parse(data.data) + 0 - nowDate;
  596. if (timeNew > 0) {
  597. module.data.outProjectInformationDetail.biddingStopTime = data.data;
  598. module.dataCompare(
  599. module.data.outProjectInformationDetail.signupStartTime,
  600. module.data.outProjectInformationDetail.signupStopTime,
  601. module.data.outProjectInformationDetail.biddingStartTime,data.data);
  602. }else{
  603. $('#countType').html('')
  604. $('#countDown').html('竞价结束')
  605. document.getElementById('swiperType').style.display = 'none';
  606. document.getElementById('biddingTable').style.display = 'table-block';
  607. document.getElementById('biddingTitle').style.display = 'none';
  608. module.data.biddingTimeType = 2;
  609. return;
  610. }
  611. }
  612. },true);
  613. tools.initError('出价成功');
  614. // $('#money').val(0)
  615. }
  616. //经济类型
  617. module.economicTypeDictionaries = function (data) {
  618. if (data.code == 200 && module.data.outProjectInformationDetail.economicType!='') {
  619. var content = data.data;
  620. if(content[(module.data.outProjectInformationDetail.economicType-1)] != undefined){
  621. var economicType = content[(module.data.outProjectInformationDetail.economicType-1)].dictLabel;
  622. module.data.outProjectInformationDetail.economicType = economicType;
  623. var outProjectInformationData = template('outProjectInformationData', module.data);
  624. $("#outProjectInformationContent").html(outProjectInformationData);
  625. }
  626. }
  627. }
  628. //项目类型
  629. module.projectNumberDictionaries = function (data) {
  630. if (data.code == 200 && module.data.outProjectInformationDetail.projectNumber!='') {
  631. var content = data.data;
  632. var projectNumber = content.filter(function (e) { return e.dictValue == module.data.outProjectInformationDetail.projectNumber; })[0].dictLabel;
  633. module.data.outProjectInformationDetail.projectNumber = projectNumber;
  634. var outProjectInformationData = template('outProjectInformationData', module.data);
  635. $("#outProjectInformationContent").html(outProjectInformationData);
  636. }
  637. }
  638. //农地性质
  639. module.projectTypeDictionaries = function (data) {
  640. if (data.code == 200 && module.data.outProjectInformationDetail.projectType!='') {
  641. var content = data.data;
  642. console.log(content)
  643. console.log((module.data.outProjectInformationDetail.projectType-1))
  644. var projectType = content[(module.data.outProjectInformationDetail.projectType-1)].dictLabel;
  645. module.data.outProjectInformationDetail.projectType = projectType;
  646. var outProjectInformationData = template('outProjectInformationData', module.data);
  647. $("#outProjectInformationContent").html(outProjectInformationData);
  648. }
  649. }
  650. //前次转出方式
  651. module.oneoutDictionaries = function (data) {
  652. if (data.code == 200 && module.data.outProjectInformationDetail.oneout!='') {
  653. var content = data.data;
  654. if(module.data.outProjectInformationDetail.oneout == 0){
  655. module.data.outProjectInformationDetail.oneout = '无';
  656. }else{
  657. var oneout = content[(module.data.outProjectInformationDetail.oneout-1)].dictLabel;
  658. module.data.outProjectInformationDetail.oneout = oneout;
  659. }
  660. var rollout = content[(module.data.outProjectInformationDetail.rollout-1)].dictLabel;
  661. module.data.outProjectInformationDetail.rollout = rollout;
  662. var outProjectInformationData = template('outProjectInformationData', module.data);
  663. $("#outProjectInformationContent").html(outProjectInformationData);
  664. }
  665. }
  666. //面积单位
  667. module.areaDictionaries = function (data) {
  668. if (data.code == 200 && module.data.outProjectInformationDetail.allCountUnit!='') {
  669. var content = data.data;
  670. var allCountUnit = content[(module.data.outProjectInformationDetail.allCountUnit-1)].dictLabel;
  671. module.data.outProjectInformationDetail.allCountUnit = allCountUnit;
  672. if(module.data.outProjectInformationDetail.subjectList.length>0){
  673. for(var i = 0 ; i < module.data.outProjectInformationDetail.subjectList.length ; i++){
  674. module.data.outProjectInformationDetail.subjectList[i].areaUnit = content[(module.data.outProjectInformationDetail.subjectList[i].areaUnit-1)].dictLabel;
  675. }
  676. }
  677. var outProjectInformationData = template('outProjectInformationData', module.data);
  678. $("#outProjectInformationContent").html(outProjectInformationData);
  679. }
  680. }
  681. //支付方式
  682. module.paymentTypeDictionaries = function (data) {
  683. if (data.code == 200 && module.data.outProjectInformationDetail.paymentType!='') {
  684. var content = data.data;
  685. var paymentType = content[(module.data.outProjectInformationDetail.paymentType-1)].dictLabel;
  686. module.data.outProjectInformationDetail.paymentType = paymentType;
  687. var outProjectInformationData = template('outProjectInformationData', module.data);
  688. $("#outProjectInformationContent").html(outProjectInformationData);
  689. }
  690. }
  691. //缴纳形式
  692. module.depositPaymentTypeDictionaries = function (data) {
  693. if (data.code == 200 && module.data.outProjectInformationDetail.depositPaymentType!='') {
  694. var content = data.data;
  695. var depositPaymentType = content[(module.data.outProjectInformationDetail.depositPaymentType-1)].dictLabel;
  696. module.data.outProjectInformationDetail.depositPaymentType = depositPaymentType;
  697. var outProjectInformationData = template('outProjectInformationData', module.data);
  698. $("#outProjectInformationContent").html(outProjectInformationData);
  699. }
  700. }
  701. //交易方式
  702. module.transactionDictionaries = function (data) {
  703. if (data.code == 200 && module.data.outProjectInformationDetail.dealType!='') {
  704. var content = data.data;
  705. var dealType = content[(module.data.outProjectInformationDetail.dealType-1)].dictLabel;
  706. module.data.outProjectInformationDetail.dealType = dealType;
  707. var outProjectInformationData = template('outProjectInformationData', module.data);
  708. $("#outProjectInformationContent").html(outProjectInformationData);
  709. }
  710. }
  711. //竞价方式
  712. module.biddingTypeDictionaries = function (data) {
  713. if (data.code == 200 && module.data.outProjectInformationDetail.biddingType!='') {
  714. var content = data.data;
  715. var biddingType = content[(module.data.outProjectInformationDetail.biddingType-1)].dictLabel;
  716. module.data.outProjectInformationDetail.biddingType = biddingType;
  717. var outProjectInformationData = template('outProjectInformationData', module.data);
  718. $("#outProjectInformationContent").html(outProjectInformationData);
  719. }
  720. }
  721. //系统是否
  722. module.expireTypeDictionaries = function (data) {
  723. if (data.code == 200 && module.data.outProjectInformationDetail.expire!='') {
  724. var content = data.data;
  725. var expire = content[(module.data.outProjectInformationDetail.expire-1)].dictLabel;
  726. module.data.outProjectInformationDetail.expire = expire;
  727. var outProjectInformationData = template('outProjectInformationData', module.data);
  728. $("#outProjectInformationContent").html(outProjectInformationData);
  729. }
  730. }
  731. //系统是否
  732. module.biddingDirectDictionaries = function (data) {
  733. if (data.code == 200 && module.data.outProjectInformationDetail.biddingDirect!='') {
  734. var content = data.data;
  735. var biddingDirect = content[(module.data.outProjectInformationDetail.biddingDirect-1)].dictLabel;
  736. module.data.outProjectInformationDetail.biddingDirect = biddingDirect;
  737. var outProjectInformationData = template('outProjectInformationData', module.data);
  738. $("#outProjectInformationContent").html(outProjectInformationData);
  739. }
  740. }
  741. changeProMoney = function(){
  742. tools.doGet(projectNewBidMoney+getQueryVariable('id'), {}, module.biddingSubmitMethod);
  743. }
  744. changeProMoneyFirst = function(){
  745. tools.doGet(projectNewBidMoney+getQueryVariable('id'), {}, module.biddingSubmitMethodFirst);
  746. }
  747. module.biddingSubmitMethodFirst = function (data) {
  748. if (data.code == 200) {
  749. let newMoney;
  750. if (data.data){
  751. newMoney = data.data;
  752. }else{
  753. newMoney = module.data.outProjectInformationDetail.price;
  754. }
  755. console.log(newMoney);
  756. var data = {};
  757. var projectId = getQueryVariable('id');
  758. var memberId = tools.getCookie('memberId');
  759. var userId = tools.getCookie('userId');
  760. var userAccount = tools.getCookie('phone');
  761. var userName = tools.getCookie('userName');
  762. var money = parseFloat(newMoney);
  763. // var loginTime = tools.getNowFormatDate();
  764. data['projectId'] = projectId;
  765. data['memberId'] = memberId;
  766. data['userId'] = userId;
  767. data['userAccount'] = userAccount;
  768. data['userName'] = userName;
  769. data['money'] = money;
  770. // data['loginTime'] = loginTime;
  771. tools.doPost(biddingSubmit, data, module.biddingSubmitOpen);
  772. }
  773. }
  774. //向上加价
  775. upMoney = function(){
  776. if (module.data.outProjectInformationDetail.biddingDirect == '反向竞价'){
  777. if (module.data.biddinglistInformationDetail.length<1){
  778. if(module.data.outProjectInformationDetail.price <= $('#money').val()){
  779. tools.initError('出价不能高于挂牌价格');
  780. return;
  781. }
  782. }else{
  783. if(module.data.biddinglistInformationDetail[0].money <= (parseFloat($('#money').val())+parseFloat(module.data.outProjectInformationDetail.ladderPrice)).toFixed(2)){
  784. tools.initError('出价不能高于当前出价最低价格');
  785. return;
  786. }
  787. }
  788. }else{
  789. if (module.data.biddinglistInformationDetail.length<1){
  790. if(module.data.outProjectInformationDetail.price>$('#money').val()){
  791. tools.initError('出价不能低于挂牌价格');
  792. return;
  793. }
  794. }else{
  795. if(module.data.biddinglistInformationDetail[0].money>=$('#money').val()){
  796. tools.initError('出价不能低于当前出价最高价格');
  797. return;
  798. }
  799. }
  800. }
  801. $('#money').val() == null||$('#money').val() == ''?$('#money').val(0):'';
  802. console.log($('#money').val())
  803. module.data.outProjectInformationDetail.ladderPrice?$('#money').val((parseFloat($('#money').val())+parseFloat(module.data.outProjectInformationDetail.ladderPrice)).toFixed(2)):document.getElementById('money').value += 1
  804. }
  805. //向下降价
  806. downMoney = function(){
  807. if (module.data.outProjectInformationDetail.biddingDirect == '反向竞价'){
  808. if (module.data.biddinglistInformationDetail.length<1){
  809. if(module.data.outProjectInformationDetail.price<$('#money').val()){
  810. tools.initError('出价不能高于挂牌价格');
  811. return;
  812. }
  813. }else{
  814. if(module.data.biddinglistInformationDetail[0].money<$('#money').val()){
  815. tools.initError('出价不能高于当前出价最低价格');
  816. return;
  817. }
  818. }
  819. }else{
  820. if (module.data.biddinglistInformationDetail.length<1){
  821. if(module.data.outProjectInformationDetail.price>=$('#money').val()){
  822. tools.initError('出价不能低于挂牌价格');
  823. return;
  824. }
  825. }else{
  826. if(module.data.biddinglistInformationDetail[0].money>=(parseFloat($('#money').val())-parseFloat(module.data.outProjectInformationDetail.ladderPrice)).toFixed(2)){
  827. tools.initError('出价不能低于当前出价最高价格');
  828. return;
  829. }
  830. }
  831. }
  832. $('#money').val() == null?$('#money').val(0):'';
  833. if ($('#money').val() == 0)return;
  834. module.data.outProjectInformationDetail.ladderPrice?$('#money').val((parseFloat($('#money').val())-parseFloat(module.data.outProjectInformationDetail.ladderPrice)).toFixed(2)):document.getElementById('money').value -= 1
  835. }
  836. moneyChange = function(){
  837. if (module.data.outProjectInformationDetail.biddingDirect == '反向竞价'){
  838. if(module.data.outProjectInformationDetail.price<$('#money').val()){
  839. $('#money').val(module.data.outProjectInformationDetail.price-1);
  840. }
  841. }
  842. }
  843. //登陆跳转
  844. goLogin = function(){
  845. tools.initDialog('登陆提示', '登陆后可参与竞价,是否登录?', function () {
  846. tools.skip('../login/login.html')
  847. }, '登录', function () { }, "取消")
  848. }
  849. return module;
  850. });