网站
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.
 
 
 

516 line
23 KiB

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