网站
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

535 satır
23 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. },
  13. };
  14. var tools = new Tools();
  15. module.init = function (page) {
  16. //获取焦点图信息
  17. tools.doGet(websitePicture, {picType:1,status:0,orderByColumn:'picSort',isAsc:'desc'}, module.focusNewsTop , true);
  18. //底部友情链接
  19. tools.doGet(friendsLinks, {}, module.bottomFriendsLinks, true);
  20. //网站配置信息(网站名称 底部联系方式 公安备案号 网站备案号)
  21. tools.getWebConfig();
  22. module.data.loginNow = tools.getCookie('Admin-Token');
  23. //浏览次数
  24. tools.doGet(outProject, {id:getQueryVariable('id')}, module.projectNum,true);
  25. setTimeout(function(){//项目基本信息
  26. tools.doGet(outProject + '/id/'+getQueryVariable('id'), {}, module.outProjectInformation,true);
  27. },100)
  28. //焦点图
  29. setTimeout(function () {
  30. module.swiperBanner();
  31. },2000)
  32. setTimeout(function(){//项目基本信息
  33. tools.doGet(showImg + '/'+getQueryVariable('id'), {}, module.showImgInformation,true);
  34. },100)
  35. tools.doGet(webConfig, {}, module.webConfigInformation, true)
  36. };
  37. //焦点图数据
  38. module.focusNewsTop = function (data) {
  39. if (data.code == 200) {
  40. module.data.focusListTop = data.data;
  41. var bannerFocusDataTop = template('bannerFocusDataTop', module.data);
  42. $("#bannerFocusTopContent").html(bannerFocusDataTop);
  43. new Swiper('#bannerFocusWrapTop', {
  44. paginationClickable: true,
  45. autoplay : 4000,
  46. loop:true
  47. })
  48. }
  49. }
  50. //获取地址栏参数
  51. function getQueryVariable(variable){
  52. var query = window.location.search.substring(1);
  53. var vars = query.split("&");
  54. for (var i=0;i<vars.length;i++) {
  55. var pair = vars[i].split("=");
  56. if(pair[0] == variable){return pair[1];}
  57. }
  58. return(false);
  59. }
  60. //网站配置信息
  61. module.webConfigInformation = function (data) {
  62. if (data.code == 200) {
  63. var content = data.data;
  64. console.log(content)
  65. //document.getElementById('time').innerHTML = '延时周期:'+content[8].configValue+content[8].remark+'<i class="wh">?</i>'
  66. module.data.timeConfig = content[8].configValue;
  67. module.data.titleConfig = content[9].configValue;
  68. module.data.importantTitle = content[7].configName+':'+ content[7].configValue.substr(3).substr(0,(content[7].configValue.substr(3).length-4));
  69. module.data.know = content[6].configValue;
  70. $("#know").html(content[6].configValue + '<span style="margin-left: 10px;"></span>' + content[6].configValue);
  71. }
  72. }
  73. //底部友情链接
  74. module.bottomFriendsLinks = function (data) {
  75. if (data.code == 200) {
  76. var content = data.data;
  77. console.log(content)
  78. module.data.friendsLinksList = content;
  79. var friendsLinksData = template('friendsLinksData', module.data);
  80. $("#friendsLinksContent").html(friendsLinksData);
  81. }
  82. }
  83. module.dataCompare = function(signupStartTime,signupStopTime,biddingStartTime,biddingStopTime){
  84. var signupStartTime = signupStartTime;
  85. var signupStopTime = signupStopTime;
  86. var biddingStartTime = biddingStartTime;
  87. var biddingStopTime = biddingStopTime;
  88. var nowTime = Date.parse(new Date());
  89. var beginTimes=signupStartTime.substring(0,10).split('-');
  90. var endTimes=signupStopTime.substring(0,10).split('-');
  91. var biddingBeginTimes=biddingStartTime.substring(0,10).split('-');
  92. var biddingEndTimes=biddingStopTime.substring(0,10).split('-');
  93. signupStartTime=beginTimes[1]+'/'+beginTimes[2]+'/'+beginTimes[0]+' '+signupStartTime.substring(10,19);
  94. signupStopTime=endTimes[1]+'/'+endTimes[2]+'/'+endTimes[0]+' '+signupStopTime.substring(10,19);
  95. biddingStartTime=biddingBeginTimes[1]+'/'+biddingBeginTimes[2]+'/'+biddingBeginTimes[0]+' '+biddingStartTime.substring(10,19);
  96. biddingStopTime=biddingEndTimes[1]+'/'+biddingEndTimes[2]+'/'+biddingEndTimes[0]+' '+biddingStopTime.substring(10,19);
  97. //时间差
  98. var leftTime = Date.parse(biddingStopTime)-nowTime;
  99. //报名开始时间差
  100. var signupLeftTime = Date.parse(signupStartTime)-nowTime;
  101. //报名结束时间差
  102. var signDownLeftTime = Date.parse(signupStopTime)-nowTime;
  103. //定义变量 d,h,m,s保存倒计时的时间
  104. var d,h,m,s;
  105. if(Date.parse(biddingStartTime)<nowTime&&nowTime<Date.parse(biddingStopTime)){
  106. //正在竞价
  107. module.data.biddingTimeType = 1;
  108. document.getElementById('biddingTitle').innerHTML = '竞价进行中...';
  109. document.getElementById('swiperType').style.display = 'block';
  110. d = Math.floor(leftTime/1000/60/60/24);
  111. h = Math.floor(leftTime/1000/60/60%24);
  112. m = Math.floor(leftTime/1000/60%60);
  113. s = Math.floor(leftTime/1000%60);
  114. $('#countType').html('竞价中')
  115. $('#countDown').html('<span>距竞价结束还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  116. }else if (nowTime>Date.parse(biddingStopTime)){
  117. //竞价结束
  118. $('#countDown').html('竞价结束')
  119. module.data.biddingTimeType = 2;
  120. }else if (nowTime<Date.parse(biddingStartTime)){
  121. //竞价暂未开始
  122. document.getElementById('biddingTitle').innerHTML = '竞价暂未开始...';
  123. $('#countDown').html('暂未开始')
  124. module.data.biddingTimeType = 3;
  125. }
  126. if(Date.parse(signupStartTime)<nowTime&&nowTime<Date.parse(signupStopTime)){
  127. //正在报名
  128. module.data.signupTimeType = 1;
  129. document.getElementById('swiperType').style.display = 'block';
  130. d = Math.floor(signDownLeftTime/1000/60/60/24);
  131. h = Math.floor(signDownLeftTime/1000/60/60%24);
  132. m = Math.floor(signDownLeftTime/1000/60%60);
  133. s = Math.floor(signDownLeftTime/1000%60);
  134. $('#countType').html('报名中')
  135. $('#countDown').html('<span>距报名结束还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  136. }else if (nowTime>Date.parse(signupStopTime)){
  137. //报名结束
  138. module.data.signupTimeType = 2;
  139. }else if (nowTime<Date.parse(signupStartTime)){
  140. //报名暂未开始
  141. module.data.signupTimeType = 3;
  142. d = Math.floor(signupLeftTime/1000/60/60/24);
  143. h = Math.floor(signupLeftTime/1000/60/60%24);
  144. m = Math.floor(signupLeftTime/1000/60%60);
  145. s = Math.floor(signupLeftTime/1000%60);
  146. $('#countType').html('未开始')
  147. $('#countDown').html('<span>距报名开始还有:'+d+'</span>天<span>'+h+'</span>时<span>'+m+'</span>分<span>'+s+'</span>秒')
  148. }
  149. if(module.data.outProjectInformationDetail.biddingType != '拍卖' && module.data.biddingTimeType != 2){
  150. document.getElementById('biddingTable').style.display = 'none';
  151. document.getElementById('biddingTitle').style.display = 'block';
  152. }
  153. }
  154. module.projectNum = function(data){
  155. console.log(data)
  156. }
  157. module.signup = function(data){
  158. console.log(data)
  159. module.data.signup = data.data;
  160. var outProjectInformationData = template('outProjectInformationData', module.data);
  161. $("#outProjectInformationContent").html(outProjectInformationData);
  162. }
  163. goBond = function(){
  164. tools.skip('bond.html?id='+getQueryVariable('id'))
  165. }
  166. //项目基本信息
  167. module.outProjectInformation = function (data) {
  168. if (data.code == 200) {
  169. console.log(serverApi)
  170. var content = data.data;
  171. //倒计时
  172. var timer = setInterval(function(){
  173. module.dataCompare(content.signupStartTime,content.signupStopTime,content.biddingStartTime,content.biddingStopTime);
  174. },1000)
  175. for(var i = 0 ; i < content.fileUrlList.length ; i++){
  176. content.fileUrlList[i].fileUrl = serverApi+content.fileUrlList[i].fileUrl;
  177. }
  178. module.data.outProjectInformationDetail = content;
  179. var outProjectInformationData = template('outProjectInformationData', module.data);
  180. $("#outProjectInformationContent").html(outProjectInformationData);
  181. $("#know").html(module.data.know);
  182. //挂牌项目竞价记录
  183. tools.doGet(biddinglist, {projectId:getQueryVariable('id')}, module.biddinglistInformation,true);
  184. //挂牌价格字典
  185. tools.doGet(Dictionaries+'/price_unit', {}, module.unitDictionaries,true);
  186. //经济类型字典
  187. tools.doGet(Dictionaries+'/economic_type', {}, module.economicTypeDictionaries,true);
  188. //项目类型字典
  189. tools.doGet(Dictionaries+'/project_type', {}, module.projectNumberDictionaries,true);
  190. //农地性质字典
  191. tools.doGet(Dictionaries+'/sub_object_type', {}, module.projectTypeDictionaries,true);
  192. //前次转出方式
  193. tools.doGet(Dictionaries+'/rollout_type', {}, module.oneoutDictionaries,true);
  194. //面积单位字典
  195. tools.doGet(Dictionaries+'/area_unit', {}, module.areaDictionaries,true);
  196. //支付方式字典
  197. tools.doGet(Dictionaries+'/payment_type', {}, module.paymentTypeDictionaries,true);
  198. //缴纳形式字典
  199. tools.doGet(Dictionaries+'/deposit_payment_type', {}, module.depositPaymentTypeDictionaries,true);
  200. //交易方式字典
  201. tools.doGet(Dictionaries+'/deal_type', {}, module.transactionDictionaries,true);
  202. //竞价方式字典
  203. tools.doGet(Dictionaries+'/bidding_type', {}, module.biddingTypeDictionaries,true);
  204. //期满处理字典
  205. tools.doGet(Dictionaries+'/expire_type', {}, module.expireTypeDictionaries,true);
  206. if(module.data.loginNow){
  207. //判断是否报名
  208. tools.doGet(signup, {projectId:getQueryVariable('id'),depositStatus:'1',memberId:tools.getCookie('memberId')}, module.signup);
  209. }
  210. }
  211. }
  212. //标的物图片
  213. module.showImgInformation = function (data) {
  214. if (data.code == 200) {
  215. var content = data.data;
  216. console.log(content)
  217. var contentList = [];
  218. for(var i = 0 ; i < content.length ; i++){
  219. contentList[i] = serverApi+content[i].fileUrl;
  220. }
  221. module.data.showImgInformationDetail = contentList;
  222. console.log(contentList)
  223. var showImgInformationData = template('showImgInformationData', module.data);
  224. $("#tabDetail2").html(showImgInformationData);
  225. }
  226. }
  227. //竞价记录
  228. module.biddinglistInformation = function (data) {
  229. if (data.code == 200) {
  230. console.log(data)
  231. var content = data.rows;
  232. for (var i = 0; i < content.length-1; i++) {
  233. for (var j = 0; j < content.length - 1 - i; j++) {
  234. // 相邻元素两两对比,元素交换,大的元素交换到后面
  235. if (content[j].money < content[j + 1].money) {
  236. var temp = content[j];
  237. content[j] = content[j+1];
  238. content[j+1] = temp;
  239. }
  240. }
  241. }
  242. console.log(content)
  243. module.data.biddinglistInformationDetail = content;
  244. var biddinglistInformationData = template('biddinglistInformationData', module.data);
  245. $("#tabDetail4").html(biddinglistInformationData);
  246. console.log(module.data.biddingTimeType)
  247. }
  248. }
  249. //焦点图滚动
  250. module.swiperBanner = function (type) {
  251. console.log('aaaa')
  252. var viewSwiper = new Swiper('.view .swiper-container', {
  253. onSlideChangeStart: function() {
  254. updateNavPosition()
  255. }
  256. })
  257. $('.view .arrow-left,.preview .arrow-left').on('click', function(e) {
  258. e.preventDefault()
  259. if (viewSwiper.activeIndex == 0) {
  260. viewSwiper.swipeTo(viewSwiper.slides.length - 1, 1000);
  261. return
  262. }
  263. viewSwiper.swipePrev()
  264. })
  265. $('.view .arrow-right,.preview .arrow-right').on('click', function(e) {
  266. e.preventDefault()
  267. if (viewSwiper.activeIndex == viewSwiper.slides.length - 1) {
  268. viewSwiper.swipeTo(0, 1000);
  269. return
  270. }
  271. viewSwiper.swipeNext()
  272. })
  273. var previewSwiper = new Swiper('.preview .swiper-container', {
  274. visibilityFullFit: true,
  275. slidesPerView: 'auto',
  276. onlyExternal: true,
  277. onSlideClick: function() {
  278. viewSwiper.swipeTo(previewSwiper.clickedSlideIndex)
  279. }
  280. })
  281. function updateNavPosition() {
  282. $('.preview .active-nav').removeClass('active-nav')
  283. var activeNav = $('.preview .swiper-slide').eq(viewSwiper.activeIndex).addClass('active-nav')
  284. if (!activeNav.hasClass('swiper-slide-visible')) {
  285. if (activeNav.index() > previewSwiper.activeIndex) {
  286. var thumbsPerNav = Math.floor(previewSwiper.width / activeNav.width()) - 1
  287. previewSwiper.swipeTo(activeNav.index() - thumbsPerNav)
  288. } else {
  289. previewSwiper.swipeTo(activeNav.index())
  290. }
  291. }
  292. }
  293. }
  294. //切换
  295. tabClick = function(type){
  296. //标的物介绍
  297. for (var i = 0 ; i < 4 ; i++){
  298. document.getElementById('tabDetail'+(i+1)).style.display = 'none';
  299. document.getElementById('tab'+(i+1)).classList = '';
  300. }
  301. document.getElementById('tabDetail'+type).style.display = 'block';
  302. document.getElementById('tab'+type).classList = 'active';
  303. }
  304. //挂牌价格
  305. module.unitDictionaries = function (data) {
  306. if (data.code == 200) {
  307. var content = data.data;
  308. var unit = content[(module.data.outProjectInformationDetail.unit-1)].dictLabel;
  309. module.data.outProjectInformationDetail.unit = unit;
  310. var outProjectInformationData = template('outProjectInformationData', module.data);
  311. $("#outProjectInformationContent").html(outProjectInformationData);
  312. }
  313. }
  314. //出价
  315. biddingSubmitMethod = function (data) {
  316. var data = {};
  317. var projectId = getQueryVariable('id');
  318. var memberId = tools.getCookie('memberId');
  319. var userId = tools.getCookie('userId');
  320. var userAccount = tools.getCookie('phone');
  321. var userName = tools.getCookie('userName');
  322. var money = $('#money').val();
  323. var loginTime = tools.getNowFormatDate();
  324. data['projectId'] = projectId;
  325. data['memberId'] = memberId;
  326. data['userId'] = userId;
  327. data['userAccount'] = userAccount;
  328. data['userName'] = userName;
  329. data['money'] = money;
  330. data['loginTime'] = loginTime;
  331. tools.doPost(biddingSubmit, data, module.biddingSubmitOpen);
  332. }
  333. module.biddingSubmitOpen = function(){
  334. tools.initError('出价成功');
  335. }
  336. //经济类型
  337. module.economicTypeDictionaries = function (data) {
  338. if (data.code == 200 && module.data.outProjectInformationDetail.economicType!='') {
  339. var content = data.data;
  340. if(content[(module.data.outProjectInformationDetail.economicType-1)] != undefined){
  341. var economicType = content[(module.data.outProjectInformationDetail.economicType-1)].dictLabel;
  342. module.data.outProjectInformationDetail.economicType = economicType;
  343. var outProjectInformationData = template('outProjectInformationData', module.data);
  344. $("#outProjectInformationContent").html(outProjectInformationData);
  345. }
  346. }
  347. }
  348. //项目类型
  349. module.projectNumberDictionaries = function (data) {
  350. if (data.code == 200 && module.data.outProjectInformationDetail.projectNumber!='') {
  351. var content = data.data;
  352. var projectNumber = content[(module.data.outProjectInformationDetail.projectNumber-1)].dictLabel;
  353. module.data.outProjectInformationDetail.projectNumber = projectNumber;
  354. var outProjectInformationData = template('outProjectInformationData', module.data);
  355. $("#outProjectInformationContent").html(outProjectInformationData);
  356. }
  357. }
  358. //农地性质
  359. module.projectTypeDictionaries = function (data) {
  360. if (data.code == 200 && module.data.outProjectInformationDetail.projectType!='') {
  361. var content = data.data;
  362. var projectType = content[(module.data.outProjectInformationDetail.projectType-1)].dictLabel;
  363. module.data.outProjectInformationDetail.projectType = projectType;
  364. var outProjectInformationData = template('outProjectInformationData', module.data);
  365. $("#outProjectInformationContent").html(outProjectInformationData);
  366. }
  367. }
  368. //前次转出方式
  369. module.oneoutDictionaries = function (data) {
  370. if (data.code == 200 && module.data.outProjectInformationDetail.oneout!='') {
  371. var content = data.data;
  372. if(module.data.outProjectInformationDetail.oneout == 0){
  373. module.data.outProjectInformationDetail.oneout = '无';
  374. }else{
  375. var oneout = content[(module.data.outProjectInformationDetail.oneout-1)].dictLabel;
  376. module.data.outProjectInformationDetail.oneout = oneout;
  377. }
  378. var rollout = content[(module.data.outProjectInformationDetail.rollout-1)].dictLabel;
  379. module.data.outProjectInformationDetail.rollout = rollout;
  380. var outProjectInformationData = template('outProjectInformationData', module.data);
  381. $("#outProjectInformationContent").html(outProjectInformationData);
  382. }
  383. }
  384. //面积单位
  385. module.areaDictionaries = function (data) {
  386. if (data.code == 200 && module.data.outProjectInformationDetail.allCountUnit!='') {
  387. var content = data.data;
  388. var allCountUnit = content[(module.data.outProjectInformationDetail.allCountUnit-1)].dictLabel;
  389. module.data.outProjectInformationDetail.allCountUnit = allCountUnit;
  390. if(module.data.outProjectInformationDetail.subjectList.length>0){
  391. for(var i = 0 ; i < module.data.outProjectInformationDetail.subjectList.length ; i++){
  392. module.data.outProjectInformationDetail.subjectList[i].areaUnit = content[(module.data.outProjectInformationDetail.subjectList[i].areaUnit-1)].dictLabel;
  393. }
  394. }
  395. var outProjectInformationData = template('outProjectInformationData', module.data);
  396. $("#outProjectInformationContent").html(outProjectInformationData);
  397. }
  398. }
  399. //支付方式
  400. module.paymentTypeDictionaries = function (data) {
  401. if (data.code == 200 && module.data.outProjectInformationDetail.paymentType!='') {
  402. var content = data.data;
  403. var paymentType = content[(module.data.outProjectInformationDetail.paymentType-1)].dictLabel;
  404. module.data.outProjectInformationDetail.paymentType = paymentType;
  405. var outProjectInformationData = template('outProjectInformationData', module.data);
  406. $("#outProjectInformationContent").html(outProjectInformationData);
  407. }
  408. }
  409. //缴纳形式
  410. module.depositPaymentTypeDictionaries = function (data) {
  411. if (data.code == 200 && module.data.outProjectInformationDetail.depositPaymentType!='') {
  412. var content = data.data;
  413. var depositPaymentType = content[(module.data.outProjectInformationDetail.depositPaymentType-1)].dictLabel;
  414. module.data.outProjectInformationDetail.depositPaymentType = depositPaymentType;
  415. var outProjectInformationData = template('outProjectInformationData', module.data);
  416. $("#outProjectInformationContent").html(outProjectInformationData);
  417. }
  418. }
  419. //交易方式
  420. module.transactionDictionaries = function (data) {
  421. if (data.code == 200 && module.data.outProjectInformationDetail.dealType!='') {
  422. var content = data.data;
  423. var dealType = content[(module.data.outProjectInformationDetail.dealType-1)].dictLabel;
  424. module.data.outProjectInformationDetail.dealType = dealType;
  425. var outProjectInformationData = template('outProjectInformationData', module.data);
  426. $("#outProjectInformationContent").html(outProjectInformationData);
  427. }
  428. }
  429. //竞价方式
  430. module.biddingTypeDictionaries = function (data) {
  431. if (data.code == 200 && module.data.outProjectInformationDetail.biddingType!='') {
  432. var content = data.data;
  433. var biddingType = content[(module.data.outProjectInformationDetail.biddingType-1)].dictLabel;
  434. module.data.outProjectInformationDetail.biddingType = biddingType;
  435. var outProjectInformationData = template('outProjectInformationData', module.data);
  436. $("#outProjectInformationContent").html(outProjectInformationData);
  437. }
  438. }
  439. //系统是否
  440. module.expireTypeDictionaries = function (data) {
  441. if (data.code == 200 && module.data.outProjectInformationDetail.expire!='') {
  442. var content = data.data;
  443. var expire = content[(module.data.outProjectInformationDetail.expire-1)].dictLabel;
  444. module.data.outProjectInformationDetail.expire = expire;
  445. var outProjectInformationData = template('outProjectInformationData', module.data);
  446. $("#outProjectInformationContent").html(outProjectInformationData);
  447. }
  448. }
  449. //向上加价
  450. upMoney = function(){
  451. if(module.data.outProjectInformationDetail.money < module.data.outProjectInformationDetail.price){
  452. module.data.outProjectInformationDetail.money = module.data.outProjectInformationDetail.price;
  453. }
  454. module.data.outProjectInformationDetail.money += module.data.outProjectInformationDetail.ladderPrice ;
  455. document.getElementById('money').value = module.data.outProjectInformationDetail.money;
  456. }
  457. //向下降价
  458. downMoney = function(){
  459. if(module.data.outProjectInformationDetail.money <= (module.data.outProjectInformationDetail.price+module.data.outProjectInformationDetail.ladderPrice)){
  460. return;
  461. }
  462. module.data.outProjectInformationDetail.money -= module.data.outProjectInformationDetail.ladderPrice ;
  463. document.getElementById('money').value = module.data.outProjectInformationDetail.money;
  464. }
  465. //登陆跳转
  466. goLogin = function(){
  467. tools.initDialog('登陆提示', '登陆后可参与竞价,是否登录?', function () {
  468. tools.skip('../login/login.html')
  469. }, '登录', function () { }, "取消")
  470. }
  471. return module;
  472. });